快速发布求购| | | | | 加微群|
关注我们
本站客户服务

线上客服更便捷

仪表网官微

扫一扫关注我们

|
客户端
仪表APP

安卓版

仪表手机版

手机访问更快捷

仪表小程序

更多流量 更易传播


您现在的位置:仪表网>温度变送器>技术列表>单总线温度传感器的EDA控制方法

单总线温度传感器的EDA控制方法

2013年05月27日 16:01:36 人气: 2110 来源:
  1、硬件接口电路
  
  DS18B20是单总线数字温度传感器,测量温度范围从-55℃到125℃,测量精度为±0.5℃,通过单总线可直接输出所测温度的二进制数据,数字量的输出位数可通过编程控制,在9位至12位(含符号位)之间选择。该器件有三个端口,分别是电源端、地端、单总线数据端,在使用时将FPGA的I/O口和DS18B20的单总线连接,通过单总线实现FPGA与DS18B20之间的数据收发,接口电路如图1所示。
  
  2、软件控制程序
  
  控制DS18B20进行温度测量和读取主要包括三个步骤:器件初始化、发送写寄存器命令和发送读寄存器命令,该功能代码写在核心控制模块中,软件流程如图2所示。其中初始化是通过FPGA向总线发送低电平复位信号,持续时间为480-600us,然后FPGA释放总线,单总线经过上拉电阻会被拉至高电平,当DS18B20检测到上升沿之后,等待15-60us后将发出60-256us的低电平存在脉冲作为响应,如果FPGA检测到响应脉冲则初始化成功。
  
  初始化成功后,FPGA通过向总线发送命令来控制传感器的温度采集,程序中用到的主要命令如下:0XCC为跳过ROM检测命令;0X44为启动温度转换命令;0XBE为从DS18B20读取温度测量数值。
  
  在顶层代码中除了核心控制模块外,还包括包括分频模块和显示模块。
  
  其中,分频模块将实验板上50MHz时钟转换为1MHz输出到核心控制模块,用于控制FPGA对单总线的读、写时序。
  
  显示模块用于将读取到的温度数据转换为十进制数据,并通过数码管进行动态显示。由于温度寄存器默认采用12位二进制数据来存储,zui高位为符号位,温度分辨率为0.0625℃,如图3所示。当温度为正数时符号位为0;当温度为负数时符号位为1,且数据位采用补码的形式。因此,将温度转换成十进制数据时,首先判断符号位,当符号位为1时,先由二进制数据求出原码,再转换为十进制,zui后乘以温度分辨率0.0625得到实测温度;当符号位为0时,直接将二进制转换为十进制,再乘以温度分辨率。
  
  3、系统顶层文件
  
  将编译好的sof程序下载到实验板中运行,能够实现环境温度的测量和显示,实际效果如图5所示。基于以上方法的温度控制系统硬件电路简单,实时性强,能够进行多路温度监控,应用范围广泛。
全年征稿/资讯合作 联系邮箱:ybzhan@qq.com
版权与免责声明
1、凡本网注明"来源:仪表网"的所有作品,版权均属于仪表网,未经本网授权不得转载、摘编或利用其它方式使用上述作品。已经本网授权使用作品的,应在授权范围内使用,并注明"来源:仪表网"。违反上述声明者,本网将追究其相关法律责任。
2、本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
3、如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
4、合作、投稿、转载授权等相关事宜,请联系本网。

企业推荐

更多
联系我们

客服热线: 0571-87759942

加盟热线: 0571-87756399

媒体合作: 0571-87759945

投诉热线: 0571-87759942

关注我们
  • 下载仪表站APP

  • Ybzhan手机版

  • Ybzhan公众号

  • Ybzhan小程序