1-WIRE总线详解
1-WIRE的速度有标准:1MHz(1us),高速:5MHz(0.2us).
1-WIRE有四种数据包:
1.Reset:每个通讯周期都是由Reset讯号开始。Master会先发送Reset Pulse让所有在1-WIRE上的Slave装置进入辨别状态,当一个Slave或很多个Slave接收到Reset Pulse讯号之后,Slave会回传一个Presence Pulse讯号,用来表示接收到。
2.Write 0:发送一个“0”bit给Slave(Write 0 time slot)。
3.Write 1:发送一个“1”bit给Slave(Write 1 time slot)。
4.Read Da ta:Read Da ta Sequences很像Write 1 Time Slot,但是在Master释放总线线并且从Slave装置读回数据后,Master会取样Bus的状态,透过这种方法Master可以从Slave读回任何0或1的bit。
2.Write 0:发送一个“0”bit给Slave(Write 0 time slot)。
3.Write 1:发送一个“1”bit给Slave(Write 1 time slot)。
4.Read Da
Reset:一开始Master要跟Slave做任何通讯时,Master会先传送一个低准位的Reset Pulse(TX)of(标准速度:480us;高速:48us)的一段时间。接着Master会释放出总线线并进入接收模式(RX),1-WIRE Bus会透过上拉电阻将准位拉回High状态。然后Master在Da ta Line上会侦测到Rising Edge,此时任何一个Slave会等待一段时间()(标准速度:15-60us;高速:2-6us)并且传回一个Presence Pulse()(标准速度:60-240us;高速:8-24us)给Master。最后1-Wire Bus又会透过上拉电阻将准位拉回High状态。在此同时Master可以侦测到在线的任何Slave。(6) 由下图可以清楚的看到低准位的Reset Pulse和Presence Pulse讯号。
Write Da ta:Write Da ta的初始化条件是当Master将Da ta Line由高逻辑准位转换到低逻辑准位时。而Write Time Slot有两种形式:Write 1 Time Slot和Write 0 Time Slot。在一个Write Cycle所有的Write Time Tlot至少必须有60us的持续时间和1us的恢复时间。在I/O Line下垂之后,Slave装置会在15到60us中间取样。
Read Da ta:当Da ta从Slave被读取时,则Master会产生一个Read Time Slot。Read Da ta的初始化条件是当Master将Da ta Line由高逻辑准位转换到低逻辑准位时。Da ta Line保持Low至少必须1us。Slave的Output Da ta最多只能有14us。Master为了读取从Read Slot开始15us的状态,因此必须停止Driving I/O。在Read Time Slot结束时,I/O Pin将会透过外部的拉升电阻拉回为High的准位。在一个单独的Read Time Slot至少必须有60us的持续时间和1us的恢复时间。
评论