原理
單匯流排器件內部設定有寄生供電電路(Parasite Power Circuit)。當單匯流排處於高電平時,一方面通過二極體VD向晶片供電,另方面對內部電容C(約800pF)充電;當單匯流排處於低電平時,二極體截止,內部電容c向晶片供電。由於電容c的容量有限,因此要求單匯流排能間隔地提供高電平以能不斷地向內部電容C充電、維持器件的正常工作。這就是通過網路線路“竊取”電能的“寄生電源”的工作原理。要注意的是,為了確保匯流排上的某些器件在工作時(如溫度感測器進行溫度轉換、E2PROM寫人數據時)有足夠的電流供給,除了上拉電阻之外,還需要在匯流排上使用MOSFET(場效應電晶體)提供強上拉供電。
單匯流排的數據傳輸速率一般為16.3Kbit/s,最大可達142 Kbit/s,通常情況下採用100Kbit/s以下的速率傳輸數據。主設備I/O口可直接驅動200m範圍內的從設備,經過擴展後可達1km範圍。
結構
單匯流排主機或從機設備通過一個漏極開路或三態連線埠連線至該數據線,這樣允許設備在不傳送數據時釋放數據匯流排,以允許設備在不傳送數據時能夠釋放匯流排,而讓其他設備使用匯流排,其內部等效電路如圖9—20所示。
單匯流排要求外接一個約5 k的上拉電阻.這樣,當單匯流排在閒置時,狀態為高電平。如果傳輸過程需要暫時掛起,且要求傳輸過程還能夠繼續,則匯流排必須處於空閒狀態。
傳輸之間的恢復時間沒有限制,只要匯流排在恢復期間處於空閒狀態(高電平)。如果匯流排保持低電平超過480 us,匯流排上的所有器件將復位。另外,在寄生方式供電時,為了保證單匯流排器件在某些工作狀態下(如:溫度轉換器件、EEPROM寫入等)具有足夠的電源電流,必須在匯流排上提供強上拉。
命令序列
1一wire協定定義了復位脈衝、應答脈衝、寫0、讀0和讀1時序等幾種信號類型。所有的單匯流排命令序列(初始化ROM命令,功能命令)都是由這些基本的信號類型組成。在這些信號中,除了應答脈衝外,其他均由主機發出同步信號、命令和數據,都是位元組的低位在前。典型的單匯流排命令序列如下:
第一步:初始化。
第二步:ROM命令.跟隨需要交換的數據。
第三步:功能命令,跟隨需要交換的數據。
每次訪問單匯流排器件.都必須遵守這個命令序列.如果序列出現混亂,則單匯流排器件不會回響主機。但是這個準則對於搜尋ROM命令和報警搜尋命令例外,在執行兩者中任何一條命令後,主機不能執行其他功能命令,必須返回至第一步。
(1)初始化
單匯流排上的所有傳輸都是從初始化開始的,初始化過程由主機發出的復位脈衝和從機回響的應答脈衝組成.應答脈衝使主機知道匯流排上有從機設備,且準備就緒。
(2)ROM命令
當主機檢測到應答脈衝後,就發出ROM命令,這些命令與各個從機設備的唯一64位ROM代碼相關,允許主機在單匯流排上連線多個從設備時,指定操作某個從設備。使得主機可以操作某個從機設備。這些命令能使主機檢測到匯流排上有多少個從機設備以及設備類型,或者有沒有設備處於報警狀態。從機設備支持5種ROM命令,每種命令長度為8位。豐機在發出功能命今之前.必須發出ROM命今.
(3)功能命令
主機發出ROM命令,訪問指定的從機,接著發出某個功能命令。這些命令允許主機寫入或讀出從機暫存器、啟動工作以及判斷從機的供電方式。