查看: 2000|回复: 0

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

[复制链接]
  • TA的每日心情

    2014-9-24 20:04
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2016-3-23 12:55:31 | 显示全部楼层 |阅读模式
    分享到:
    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 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-11-19 06:27 , Processed in 0.122783 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.