1-WIRE總線(xiàn)詳解
1-WIRE的速度有標(biāo)準(zhǔn):1MHz(1us),高速:5MHz(0.2us).
1-WIRE有四種數(shù)據(jù)包:
1.Reset:每個(gè)通訊周期都是由Reset訊號(hào)開(kāi)始。Master會(huì)先發(fā)送Reset Pulse讓所有在1-WIRE上的Slave裝置進(jìn)入辨別狀態(tài),當(dāng)一個(gè)Slave或很多個(gè)Slave接收到Reset Pulse訊號(hào)之后,Slave會(huì)回傳一個(gè)Presence Pulse訊號(hào),用來(lái)表示接收到。
2.Write 0:發(fā)送一個(gè)“0”bit給Slave(Write 0 time slot)。
3.Write 1:發(fā)送一個(gè)“1”bit給Slave(Write 1 time slot)。
4.Read Da ta:Read Da ta Sequences很像Write 1 Time Slot,但是在Master釋放總線(xiàn)線(xiàn)并且從Slave裝置讀回?cái)?shù)據(jù)后,Master會(huì)取樣Bus的狀態(tài),透過(guò)這種方法Master可以從Slave讀回任何0或1的bit。
2.Write 0:發(fā)送一個(gè)“0”bit給Slave(Write 0 time slot)。
3.Write 1:發(fā)送一個(gè)“1”bit給Slave(Write 1 time slot)。
4.Read Da
Reset:一開(kāi)始Master要跟Slave做任何通訊時(shí),Master會(huì)先傳送一個(gè)低準(zhǔn)位的Reset Pulse(TX)of(標(biāo)準(zhǔn)速度:480us;高速:48us)的一段時(shí)間。接著Master會(huì)釋放出總線(xiàn)線(xiàn)并進(jìn)入接收模式(RX),1-WIRE Bus會(huì)透過(guò)上拉電阻將準(zhǔn)位拉回High狀態(tài)。然后Master在Da ta Line上會(huì)偵測(cè)到Rising Edge,此時(shí)任何一個(gè)Slave會(huì)等待一段時(shí)間()(標(biāo)準(zhǔn)速度:15-60us;高速:2-6us)并且傳回一個(gè)Presence Pulse()(標(biāo)準(zhǔn)速度:60-240us;高速:8-24us)給Master。最后1-Wire Bus又會(huì)透過(guò)上拉電阻將準(zhǔn)位拉回High狀態(tài)。在此同時(shí)Master可以偵測(cè)到在線(xiàn)的任何Slave。(6) 由下圖可以清楚的看到低準(zhǔn)位的Reset Pulse和Presence Pulse訊號(hào)。
Write Da ta:Write Da ta的初始化條件是當(dāng)Master將Da ta Line由高邏輯準(zhǔn)位轉(zhuǎn)換到低邏輯準(zhǔn)位時(shí)。而Write Time Slot有兩種形式:Write 1 Time Slot和Write 0 Time Slot。在一個(gè)Write Cycle所有的Write Time Tlot至少必須有60us的持續(xù)時(shí)間和1us的恢復(fù)時(shí)間。在I/O Line下垂之后,Slave裝置會(huì)在15到60us中間取樣。
Read Da ta:當(dāng)Da ta從Slave被讀取時(shí),則Master會(huì)產(chǎn)生一個(gè)Read Time Slot。Read Da ta的初始化條件是當(dāng)Master將Da ta Line由高邏輯準(zhǔn)位轉(zhuǎn)換到低邏輯準(zhǔn)位時(shí)。Da ta Line保持Low至少必須1us。Slave的Output Da ta最多只能有14us。Master為了讀取從Read Slot開(kāi)始15us的狀態(tài),因此必須停止Driving I/O。在Read Time Slot結(jié)束時(shí),I/O Pin將會(huì)透過(guò)外部的拉升電阻拉回為High的準(zhǔn)位。在一個(gè)單獨(dú)的Read Time Slot至少必須有60us的持續(xù)時(shí)間和1us的恢復(fù)時(shí)間。
評(píng)論