基于单片机串口实现1-Wire总线通信的方法
2012-05-12李多,陈军
网络安全与数据管理 2012年11期
李 多,陈 军
(东南大学 自动化学院,江苏 南京 211189)
1-Wire总线是Dallas半导体公司推出的一种半双工串行总线,它采用单根信号线实现微控制器(主机)与接口器件(从机)之间的双向通信,每个从机具有唯一的工厂光刻ID作为地址。
1-Wire总线的优势在于结构简单、便于总线扩展,可以通过总线为器件供电。1-Wire器件种类丰富,典型器件包括温度传感器、存储器、实时时钟、电池管理等。在低功耗仪表、工业控制及家庭监控网络等领域,1-Wire总线获得了广泛应用。
1-Wire总线协议通常采用软件延时实现,对于实时性高且无操作系统的单片机,该方式难以提高单片机效率,同时极大地降低了系统实时性。本文提出了一种基于单片机串口的1-Wire总线协议的软硬件设计,该设计实现了1-Wire总线通信和单片机效率、实时性的兼顾。
1 1-Wire总线协议简析
1-Wire总线的单根信号线兼有地址总线、数据总线和控制总线的功能,因此,访问1-Wire器件要严格遵循总线协议以保证数据完整性。
1-Wire总线协议定义了初始化脉冲、写脉冲和读脉冲3类总线信号,其主要区别在于,总线上高低电平时间不同,下面分别对它们进行简析。
1.1 初始化脉冲
1-Wire总线协议规定任何与1-Wire器件的通信需要以初始化脉冲作为同步。初始化脉冲包括复位信号和应答信号,主机输出低电平并维持 480 μs,然后 释 放 总 线 , 完 成 复 位 。 等 待 15 μs~60 μs, 如 果 存在 1-Wire 器件, 则总线上出现维持 60 μs~240 μs低电平应答信号。初始化脉冲信号波型如图1所示。

图1 初始化脉冲信号波形
1.2 写脉冲
每个写脉冲主机可向从机传送1 bit数据,通常为从机控制命令。……
登录APP查看全文
