4回答

0收藏

Arrow DECA评测13——温度和湿度传感器(HDC1000)应用3

其他 其他 5431 人阅读 | 4 人回复 | 2016-03-21

本帖最后由 yiqizhenshanhe 于 2016-3-21 23:06 编辑

FPGA开发不仅仅是代码编写,很大一部分是仿真。我觉得一个FPGA开发工程,百分之七十以上的时间是用在仿真的,百分之二十是在板上调试,只有百分之十是代码编写,所以,仿真在整个FPGA开发工作中是多么重要。不懂ASIC是不是也非常在意仿真。
本篇是HDC1000的IIC总线协议的功能仿真,一般而言,仿真能够成功,那板上调试已经成功了一半,我使用的是Modelsim 10.4C,

FPGA开发最常用的工具。

按照上一篇说的,在使用HDC1000时,先进行地址02寄存器的配置,然后才可以读取地址00的温度数据和地址01的湿度数据。

先是配置HDC1000的地址02,上图详细的介绍了IIC协议,其中的器件响应指的是HDC1000的响应,从图中可以知道,配置地址02的数据为1000h,

写入的数据1000h代表温度和湿度都读取,温度为14bit,湿度为14Bit.
再看看芯片手册中的读操作时序图,


第1帧是写器件地址,第2帧是pointer寄存器地址,第3帧是读器件地址,第4帧是数据的高8位,第5帧是数据的低8位。
最终实现效果如下,

图中的数据总线(SDA)和时钟总线(SDC)在2个模块中实现,最终的输出是连在一起的,
再分析图中的数据,

第1段数据代表地址FF,第2段数据代表地址FE,都是芯片出厂携带的信息,第3段是地址01,代表湿度数据。

该段是手册中读操作的另一半,读取温度和湿度。
最终实现:


图中出现蓝色线——高阻,这个是inout这个关键词带来的,因为SDA是双向接口,所以,必须使用inout这个关键词。

Modelsim仿真在FPGA开发中非常重要,如果有心学习FPGA,这个工具是必须要掌握的。
分享到:
回复

使用道具 举报

回答|共 4 个

倒序浏览

沙发

6100308094

发表于 2016-3-21 23:23:53 | 只看该作者

不错,顶一个。
加油&努力
板凳

yiqizhenshanhe

发表于 2016-3-22 21:01:07 | 只看该作者

6100308094 发表于 2016-3-21 23:23
不错,顶一个。

谢谢认可
地板

小菜儿

发表于 2016-3-28 10:20:01 | 只看该作者

不错,支持一个。
5#

yiqizhenshanhe

发表于 2016-3-28 20:47:25 | 只看该作者

小菜儿 发表于 2016-3-28 10:20
不错,支持一个。

太感动了,帖子都无人问津了
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条