完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 lijinqiu1 于 2016-12-14 14:13 编辑 不知不觉就已经到了结项的时候了。 书归正传!!! 项目内容: 试用microblaze软核实现web server功能,使用浏览器打开网页之后,可以在页面上实时更新当前的温度和气压。 项目硬件/软件: 硬件:Artix-7 50T FPGA开发板 软件:Vivado2014.4 项目测试环境: Chrome浏览器 流程框图 由于没有安装visio,所以找了一个在线流程图绘制网站,这里我大概简单介绍一下,通过开发板读取bmp180气压温度传感器,然后通过tcpserver发送给pc机,当在pc上打开浏览器登录开发板上的webserver就可以看到实时更新的温度和气压值,其实大家可能看到了整个系统并不复杂,但是这其中涉及到很多知识,最主要的是通过这次试用,让我熟悉了fpga的开发流程,以及学习了webserver开发的相关知识。最开始申请开发板的初衷还是想做一个可以在网页上进行温度,气压等传感器的采集,并可以在网页实时刷新出来,幸不辱命、算是完成了!!!! 1、硬件部分 使用开发板上的pmod接口,通过杜邦线连接bmp180模块,然后调用axi_i2c IP软核实现I2C驱动部分,这里不得不说,使用fpga开发进行验证真的很方便,随便那个引脚都可以使用!!!!!这部分在我之前的帖子中有介绍,其实在调试I2C的过程中也走了很多弯路,一开始移位仅仅是一个简单的I2C驱动没有好好看手册后来吃了大亏,建议大家在调试的过程中还是要看看手册,xilinx的ip核手册写的不错大家有事没事的时候可以翻开溜溜,很有帮助!!首先、展示一下fpga的ip核调用部分。 在这里与官方例程相比我添加了I2C IP核,用来驱动BMP180,同时也去掉了没有用到的gpio等外设。 2、软件部分 这部分对于我来说主要的难点还是在于网页的开发,我原来从来没有接触过这方面的知识,在实际的开发过程中,一面看官方历程,一面查找资料,一点点了解html语言和js。推荐大家一个学习语言的网站: http://www.runoob.com/非常适合零基础入门。 下面来说说前端页面的编写,这里我使用了yui工具集,这里只是用到了几个简单的函数: YAHOO.util.Event.addListener(window, 'load', webserver.init); 用来监听load事件,当网页打开时触发该事件调用webserver.init函数。 init函数代码如下:
函数里面获取了index.html主页里面我定义的两个div元素,并执行post获取温度值和压力值。 当microblaze收到post请求之后,会返回数据,这时候就会进入上面注册的回掉函数: temp_callback
pressure_callback
这两个函数的功能就是当收到返回值时修改主页的div元素内容。 主页内容如下:
大家可以看到这部分的代码并没有想象的那么多,大家可以试试自己去写写看看还是很有意思的!!!
上面这部分是数据上报的代码实现,通过查找接受到的post请求里面有没有我们关注的字段: /cmd/temp /cmd/pressure 如果有分别返回相应的数据值。当然这部分代码写的也不好,毕竟是我第一次写网页,还有很多的库函数不知道怎么用,也是现学现卖。 3、整体效果演示。 上图是气压对比图,感觉还是很准的!!还有这个冬天真是太暖和了,屋子里没开空调还有18°、19°!!! 4、总节 首先,非常感谢论坛给我提供这次使用的机会,然我可以对fpga有进一步了解,整个试用过程前前后后差不多3个月的时间,中间有一段时间工作比较忙,断了很长时间,也差一点就放弃了,还好最后还是坚持了下来,本来还能做的更好,但是由于时间有限,还有一个传感器没有添加进去,在结项之后我会继续添加。在开发的过程中有些地方还不是很了解,比如microblaze软核、以太网ip核等,这些也将成为我今后学习的重点。在这次试用的过程中也让我学会了很多新的知识,如html语言、js语言。这个平台说真的入手容易,但是想学精还是要下功夫去系统的学习fpga的相关知识。回首这三个月来的学习让我越发的喜欢fpga,也给了继续学习fpga的动力!!!
design_1.pdf
(66.02 KB, 下载次数: 5
)
|
|
相关推荐
|
|
|
|
|
|
|
|
|
|
|
|
|
|
我是Altera转过来的,纯做逻辑还好说,涉及到软核后,差别还是挺大的,项目基本得黄。本想借这次机会转向xilinx的,现在看来,还是功力不够
|
|
|
|
|
|
谢谢楼主分享, 学习了
|
|
|
|
|
|
1434 浏览 1 评论
助力AIoT应用:在米尔FPGA开发板上实现Tiny YOLO V4
1059 浏览 0 评论
2513 浏览 1 评论
2206 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
2475 浏览 0 评论
1936 浏览 53 评论
6021 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 23:34 , Processed in 0.798792 second(s), Total 58, Slave 50 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号