明德扬课件-FPGA自动读取温度并显示功能练习思路_模块划分.pdfVIP

明德扬课件-FPGA自动读取温度并显示功能练习思路_模块划分.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
明德扬科技教育有限公司 FPGA 自动读取温度并显示功能 练习思路_模块划分 官 网: 淘 宝: QQ 群 QQ 咨询:158063679 一、 练习内容及要求 参考DS18B20 的数据手册内容,实现从温度传感器读取温度值并在数码管显示的功能。具体功能如下:  每隔1 秒读取1 次温度值;  读取的温度值在数码管上显示。一共使用数码管8 个数码管,从左边至右边分别是数码管0~7 ;  数码管0 是正负指示,用“- ”表示负数,用“0 ”表示正数。  数码管1~3 是温度的整数部分;  数码管4~7 是温度的小数部分。 二、 设计思路 1. 模块划分 该练习有两大功能,1 是读取温度值,2 是数码管显示。 由温度传感器资料,可以发现,要读取温度值,必须经过复位、发送一系列命令、最后才能读取到温度。同时, 这些命令、读和写数据都是以字节为单位,而与DS18B20 连接只有1 根线。每写1 字节,都要经过8 次的写逻辑, 每读1 字节,也要经过8 次的读逻辑。 也就是说我们可以分成三个层次,最低层次处理写逻辑、读逻辑和复位;中间层次处理1 字节的读、写和复位; 最高层次负责发送命令和何时读写。 为此,我们将读取温度值分成三个模块:比特接口模块、字节接口模块和控制模块。 比特接口模块根据命令,去复位、读1 个比特或写1 个比特,即处理与DS18B20 的时序。 字节接口模块只是根据要求去复位、写1 个字节或读1 个字节。至于什么时候复位、写或读、写什么值、读的 值有什么用,完全不关心。 控制模块负责控制命令,即决定什么时候复位、写或读,读和写都是以字节为单位,它将这些命令发给字节接 口模块,等待完成即可。同时对读到温度值进行解析。 字节 比特 接口 接口 DS18B20 模块 模块 控制模块 显示模块 数码管 2. 速率匹配问题 字节接口模块的复位、读写操作都需要用到比较长的时间,而控制模块工作在 50M 时钟下,其发送命令给字 节接口模块非常快,连续发送命令,字节接口模块则处理不及时。为解决这个问题,两个模块之间增加1 个rdy 信 号,当字节接口模块空闲时,将此信号拉高,控制模块看到rdy 信号变高,就可以发送数据。 同样,字节接口模块和比特接口模块之间,也要有rdy 信号来控制速率。 3. 三态信号的处理 与温度传感器连接的 dq 是三态信号,三态信号在内部处理、连接时,容易出现冲突、混乱等现象,因此明德 扬建议在顶层模块里用一个三态门上 ,将三态信号分解成三个信号:dq_in,dq_out,dq_out_en 。 dq_in,三态管脚的输入信号,反映现在三态管脚的现在的值。 dq_out,连接到三态门并输出的值,但其值有没有输出,要看dq_out_en 。 dq_out_en,三态门输出使能,当其为1 时,将dq_out 的值经过三态门输出到外部。当其为0 ,只输出高阻。 以上三个信号,直接连接到内部模块,这样内部模块看到的只有0 和1,没有x 态和z 态,只有input 和output, 没有inout,设计时就非常方便了。 4. 显示温度值 控制模块产生用于数码管显示的值,而显示模块将值驱动数码管显示,根据前面经验,可以四比特一组,共8 组分别对应8 个数码管的值。 但控制模块如何通知显示模块显示负数“- ”呢?由于数值只用了0~9 ,a~f 都没有使用,所以可以约定控制模 块给a~f 中的某个值,来通知显示模块显示负数。 5. 各模块信号定义 比特接口模块接口信号 信号名 I/O 位宽 说明 clk

文档评论(0)

文人教参 + 关注
实名认证
文档贡献者

老师教学,学生学习备考课程、成人语言培训课程及教材等为提升学生终身学习竞争力,塑造学生综合能力素质,赋能学生而努力

版权声明书
用户编号:6103150140000005

1亿VIP精品文档

相关文档