FPGA与DS18B20型温度传感器通信的实现.docxVIP

FPGA与DS18B20型温度传感器通信的实现.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
  DS18B20 是 DALLAS 公司生产的一线式数字温度传感器,采用 3 引脚 TO-92 型小体积封装;温度测量范围为-55℃~+125℃,可编程为 9 位~12 位 A/D 转 换精度,测温分辨率可达 0.0625℃,被测温度用符号扩展的 16 位数字量方式 串行输出。   一线式(1-WIRE)串行总线是利用 1 条信号线就可以与总线上若干器件进行 通信。具体应用中可以利用微处理器的 I/O 端口对 DS18B20 直接进行通信,也 可以通过现场可编程门阵列(FPGA)等可编程逻辑器件(PLD)实现对 1-WIRE 器件 的通信。   本文介绍利用 ACTEL 公司的 ProASICplus 系列 FPGA 实现与 DS18B20 的通信 功能。FPGA 可以将读出 DS18B20 的 48 位 ID 号和 12 位温度测量结果保存在内 部寄存器中,微处理器可以随时快速地从 FPGA 寄存器中读取这些信息。   一般在使用 DS18B20 时往往采用微处理器的 I/O 端口 实现与该器件的通信, 这种方法虽然比较容易和方便,但是,因为 DS18B20 的一线式串行总线对时序 要求比较严格,因此,为了保证与 DS18B20 的通信 可靠性,微处理器与 DS18B20 通信时需要采用关闭中断的办法,以防止操作时序被中断服务破坏。   利用 FPGA 实现与 DS18B20 通信不存在被迫关闭中断的情况,可以满足对实 时性要求严格的应用要求。   2 ProASICplus 系列 FPGA 简介   ProASICplus 系列 FPGA 是 ACTEL 公司推出的基于 Flash 开关编程技术的现 场可编程门阵列,包括从 7.5 万门的 APA075 型到 100 万门的 APAl000 型,具 有高密度、低功耗、非易失、含有嵌入式 RAM 及可重复编程等特点。   因为 ProASICplus 系列 FPGA 基于 Flash 技术,利用 Flash 开关保存内部逻 辑,因此不需要另外的器件。由于不需要上电配置过程,因此具备上电就立即 工作的特点。不用配置器件,系统的保密性提高。   笔者在电力监控的产品中利用 APA150 型 FPGA 实现了逻辑控制、A/D 采样 控制和 FIFO 存储等功能,并利用剩余的资源实现了 DS18B20 的通信功能。 APA150 在整个系统中充当协处理器,使主 CPU 从繁重的实时处理中解脱出来。 3 DS18B20 简介   3.1 内部结构   DS18B20 的内部结构如图 1 所示,主要由以下几部分组成:64 位 ROM、温 度传感器、非挥发的温度报警触发器 TH(温度高)和 TL(温度低)、配置寄存器、 暂存寄存器(SCRATCHPAD)、存储器控制逻辑。DQ 为数字信号输入/输出端。 ROM 中的 64(8 位产品家族编号、48 位 ID 号、8 位 CRC)位序列号是出厂 前刻好的,这 64 位序列号具有惟一性,每个 DS18B20 的 64 位序列号均不相同。   8 位 CRC 生成器可以完成通信时的校验。   暂存寄存器有 9 个字节,包含温度测量结果、温度报警寄存器、CRC 校验 码等内容。   3.2 操作步骤   对 DS18B20 的操作分为 3 个步骤:初始化、ROM 命令和 DS18B20 功能命令。   3.2.1 初始化   FPGA 要与 DS18B20 通信,首先必须完成初始化。FPGA 产生复位信号, DS18B20 返回响应脉冲。   3.2.2ROM 命令   该步骤完成 FPGA 与总线上的某一具体 DS18B20 建立联系。ROM 命令有搜寻 ROM(SEARCH ROM)、读 ROM(READ ROM)、匹配 ROM(MATCH ROM)、忽略 ROM(SKIP ROM)、报警查找等命令(ALARM SEARCH)。   这里,FPGA 只连接 1 个 DS18B20,因此只使用读 ROM 命令,来读取 DS18B20 的 48 位 ID 号。   3.2.3 DS18B20 功能命令   FPGA 在该步骤中完成温度转换(CONVERTT)、写 暂存寄存器(WRITE SCRATCHPAD)、读暂存寄存器(READ SCRATCHPAD)、拷贝暂存寄存器 (COPYSCRATCHPAD)、装载暂存器寄存器(RECALL E2)、读供电模式命令(READ POWER SUPPLY)。   文中不用温度报警功能,因此在本步骤中只需完成温度转换,然后通过读 暂存寄存器命令完成温度转化的结果。 3.3 操作时序    2 所示。从时序图中可以看出,对 DS18B20 的操作时序要求比较严格。利用 HYPERLINK /word/35

文档评论(0)

xiaoluping2000 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档