1-WIRE總線詳解
2022-02-23 06:20:13|
來(lái)源:網(wǎng)絡(luò) 作者:
1-WIRE總線是一種異步半雙工串行傳輸,只需要一條訊號(hào)線(OWIO)來(lái)傳輸數(shù)據(jù),典型的1-WIRE 總線傳輸架構(gòu)如圖1。1-WIRE 總線傳輸中,訊號(hào)線除了作為傳輸數(shù)據(jù)的用途之外,也同時(shí)是所有連接此1-WIRE 總線裝置電源的來(lái)源。訊號(hào)線會(huì)連接一個(gè)4.7K歐姆的Pull-High電阻,電阻再接到電源(3V到5.5V)。1-WIRE 總線傳輸使用的速度有標(biāo)準(zhǔn)速度與高速兩種。每個(gè)1-WIRE 總線有獨(dú)立的64位辨識(shí)碼以供裝置辨識(shí)用,因此最多可以連接1.8*1019個(gè)裝置,幾乎是無(wú)限制。1-WIRE常見的應(yīng)用是在EEPROM上與一些傳感器界面上。1-WIRE的速度有標(biāo)準(zhǔn):1MHz(1us),高速:5MHz(0.2us).1-WIRE有四種數(shù)據(jù)包:1.Reset:每個(gè)通訊周期都是由Reset訊號(hào)開始。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釋放總線線并且從Slave裝置讀回?cái)?shù)據(jù)后,Master會(huì)取樣Bus的狀態(tài),透過(guò)這種方法Master可以從Slave讀回任何0或1的bit。Reset:一開始Master要跟Slave做任何通訊時(shí),Master會(huì)先傳送一個(gè)低準(zhǔn)位的Reset Pulse(TX)of(標(biāo)準(zhǔn)速度:480us;高速:48us)的一段時(shí)間。接著Master會(huì)釋放出總線線并進(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è)到在線的任何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開始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í)間。
標(biāo)簽: