新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 数字温度传感器DS18B20在卫星电源系统中的应用

数字温度传感器DS18B20在卫星电源系统中的应用

作者:时间:2009-04-23来源:网络收藏

  根据的通信协议,用主机控制以完成转换必须经过三个步骤:每一次读写之前都要对进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。每一步操作必须严格按照时序规定进行。DS18B20的工作时序包括初始化时序、写时序和读时序。
  2.4 DS18B20使用注意事项
  主机控制DS18B20完成转换时,在每一次读写之前,都要对DS18B20进行复位,而且该复位要求主CPU要将数据线下拉500μs,然后释放。DS18B20收到信号后将等待16~60μs左右,之后再发出60~240μs的低脉冲。主CPU收到此信号即表示复位成功。实际上,较小的硬件开销需要相对复杂的软件进行补偿。由于DS18B20与微处理器间采用串行数据传送方式,因此,在对DS18B20进行读写编程时,必须严格地保证读写时序,否则,将无法正确读取测温结果。
  对于在单总线上所挂DS18B20的数量问题,一般人们会误认为可以挂任意多个DS18B20,而在实际中并非如此。若单总线上所挂DS18B20超过8个时,则需要解决微处理器的总线驱动问题,因此,在进行蓄电池单体多点测温设计时该问题要加以注意。
  连接DS18B20的总线电缆是有长度限制的。试验中,当采用普通信号电缆且其传输长度超过50 m时,读取的测温数据将发生错误。而将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150 m,如采用带屏蔽层且每米绞合次数更多的双绞线电缆,则正常通信距离还可以进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的,因此,在用DS18B20进行长距离测温设计时要充分考虑总线分布电容和阻抗匹配问题。
  在DS18B20测温程序设计中,当向DS18B20发出转换命令后,程序总要等待DS18B20的返同信号。这样,一旦某个DS18B20接触不好或断线,在程序读该DS18B20时就没有返回信号,从而使程序进入死循环。因此,在进行DS18B20硬件连接和软件设计时,应当给予足够的重视。
   
3 V-T曲线控制
  3.1 硬件设计

本文引用地址:http://www.eepw.com.cn/article/173773.htm

本设计选用美国Atmel公司的增强型FlashAT89S52作为主处理器来完成主要的测控任务,A999S52内嵌的8 KB Flash ROM可在软硬件上兼容AT89C52,但其最大的特点是集成了ISP接口,因而可直接在目标板上进行在
线编程。另外,设计中选用DALLAS公司的DS18B20作为温度测量单元,其单总线上挂接的DS18B20采用外接VCC方式(而未用寄生供电),进行多点测量;模数转换采用ADI公司的AD574,精度为12 bit。其系统硬件组成如图2所示。
  3.2 软件计
  本系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子程序、显示数据刷新子程序等。编程时必须严格按照DS18B20的时序规定进行。尤其需要注意的是,在多点温度测量中,由于多个DS18B20挂在一条总线上,为识别不同的器件,在系统安装之前,应将主机逐个与DS18B20挂接,以读出其序列号。具体是由主机先给DS18B20发一个复位脉冲,在DS18B20发回响应脉冲给主机后,主机再发读ROM命令(代码33H),并发一个15μs左右的脉冲,接着再读取DS18B20序列号的一位,并用同样方法读取序列号的每一位。其V-T曲线控制系统主程序和测温子程序分别如图3和图4所示。



评论


相关推荐

技术专区

关闭