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硬件连接和软件设计时,应当给 系统抗干扰设计
为了该系统能够稳定可靠地工作,本系统还应对其进行抗干扰设计。具体应从以下几个方面人手进行设计:
(1) 电源线加粗,合理走线、接地,三总线分开。使用完全光耦隔离方法来提高抗干扰能力,减少互感振荡,光耦应选择高速器件;
(2) CPU、RAM、ROM等主芯片应在VCC和GND间接电解及瓷片电容,以去掉高低频干扰;
(3) 应采用独立系统结构,并减少接插件与连线,以提高可靠性,减少故障率;
(4) 在外部供电的输入口应加二极管桥抑制电路,以防止逆向电流的出现,同时也使得内外电路的地线隔离,从而起到抗干扰作用;
(5) 加复位电压检测电路可防止复位不充分从而CPU就工作的现象,尤其在有EEPROM器件时,复位不充分会改变EEPROM的内容;
(6) 在
单片机空单元写上00H,并在最后放跳转指令到ORG 0000H,可防止程序跑飞。
予足够的重视。
(本文引自www.mcujl.com/article.asp?conID=504)