本應用筆記介紹了1-Wire協議在新舊器件中的電氣方面。一個特別的章節解釋了如何為由新舊1-Wire從機組成的網絡確定適當的時序參數。1-Wire母版概念部分提供了詳細討論1-Wire母版的其他文檔以及相關軟件的參考。
介紹
1994年的一篇應用筆記解釋說,1-Wire器件的串行端口接口選項只有微控制器端口引腳、UART和基于UART的COM端口。從那時起,已經開發出用于直接連接到UART、I2C總線或USB端口的特殊驅動器芯片。與此同時,1-Wire器件的數量也增長到很長的名單。這些不同的發展使得有必要更新早期的文檔。本新文檔沒有將所有相關信息的細節合并到一個文檔中,而是盡可能讓讀者參考其他應用筆記。
1-Wire器件的技術演進
首批1-Wire器件DS199x系列采用SRAM技術生產。接下來,非易失性EPROM技術問世,DS198x和DS250x系列器件問世。這些EPROM器件需要一個12V編程脈沖,并且不可擦除。下一個飛躍是EEPROM技術,它允許在5V或更低的電壓下進行編程和擦除。EEPROM技術可用于DS197x、DS243x和DS28Exx系列器件。為了確保適當的電源,EEPROM器件可能需要一個支持“強上拉”的主機,該器件可暫時繞過具有低阻抗路徑的1-Wire上拉電阻。寫入周期需要額外的功率,DS1977也需要額外的功率。除EEPROM器件外,強上拉還為1-Wire溫度傳感器和特殊功能供電,例如安全1-Wire器件中的SHA-1引擎。溫度記錄儀 i按鈕采用SRAM技術,因此沒有任何特殊的外部電源要求。?
1-Wire接口
基本信息
1-Wire是唯一一款采用數據和地兩個觸點進行半雙工雙向通信的基于電壓的數字系統。1-Wire系統由單個1-Wire主機和一個或多個1-Wire從機組成。1-Wire概念既依賴于啟動數字通信的主設備,也依賴于與主設備信號同步的自定時1-Wire從器件。主站和從站的定時邏輯必須測量并生成各種寬度的數字脈沖。空閑時,1-Wire總線和工作電壓之間的高阻抗路徑使1-Wire總線處于邏輯高電平狀態。總線上的每個器件必須能夠在適當的時間使用漏極開路輸出(有線AND)將1-Wire總線拉低。如果由于任何原因需要暫停事務,則必須使總線保持空閑狀態,以便事務可以恢復。
工作電壓
大多數1-Wire從器件的工作電壓范圍為2.8V (最小值)至5.25V (最大值)。除少數例外情況外,1-Wire器件沒有電源引腳;它們從1-Wire總線(寄生電源)或嵌入式電池(一些i按鈕)獲取能量。寄生電源使用片內電容(器件專用,800pF或更高)和與電阻串聯的二極管,在總線電壓高于電容電壓時從1-Wire總線獲取能量。為使寄生蟲電源正常工作,1-Wire器件數據手冊中規定的條件 必須滿足。恢復時間值適用于具有一個從屬設備的網絡。對于多從網絡,需要延長恢復時間;或者,可以降低上拉電阻值或改用具有有源上拉功能的1-Wire主機。
額外能量
通常,寄生電源為通信提供足夠的能量,即從1-Wire器件尋址和讀取,以及寫入基于SRAM的器件。寫入EEPROM、讀取DS1977 32KB EEPROM i按鈕以及使用溫度轉換器或運行SHA-1發動機等特殊功能都需要額外的能量。該能量將在協議中的特定時間在1-Wire總線空閑時提供。
1 線速度
早期的1-Wire器件和基于UART的主電路以高達16.3kbps的速度進行通信,現在稱為“標準速度”。為了將讀取 64K 位內存 iButton 所需的時間減少到 1 秒以內,添加了稱為“過載”的高速模式。近年來開發的幾乎所有1-Wire器件都支持過載。
1線定時
數據手冊中對1-Wire時序的描述隨時間而變化。大多數1-Wire數據手冊描述分為兩類:傳統風格(絕大多數)和新風格。
新式時序描述區分了主站和從站的視角。這種方法是與新的1-Wire前端一起推出的。新樣式規定了主機對從器件性能的要求,并考慮了上升和下降時間對1-Wire總線的影響。傳統的描述風格更強調奴隸的表現,這偶爾會被誤解。兩種描述性樣式對同一參數使用略有不同的名稱(表 1);并非一種樣式的所有參數都與另一種樣式直接匹配。在新樣式中,恢復時間包含在時隙的長度中;在舊樣式中,不包括恢復時間。除了這兩種樣式外,DS27xx和DS18xx系列的一些數據資料還使用了傳統樣式的不太詳細的版本。DS1921系列數據資料將新型號調整為沒有新型1-Wire前端的器件。
以下各節將介紹這兩種樣式的計時說明。
Symbol | Description | |
New Style | Legacy Style | |
RPUP | — | Pullup resistor (value not specified in legacy style) |
VPUP | VPULLUP | 1-Wire pullup voltage |
— | VPULLUP MIN | Minimum permissible pullup voltage |
— | VIH MIN | Minimum slave-input high voltage |
VILMAX | VIL MAX | Slave's maximum-input low voltage |
VIHMASTER | — | Minimum master-input high voltage |
VTL | — | Slave's falling-edge switching threshold (new front-end) |
VTH | — | Slave's rising-edge switching threshold (new front-end) |
VHY | — | Slave's rising-edge switching hysteresis (new front-end) |
tF | — | Duration of the falling edge of a master-initiated 1-Wire activity |
tRSTL | tRSTL | Reset low time |
ε | — | Duration of the rising edge on the 1-Wire bus from 0V to VTH (new front-end) |
— | tR | Duration of the rising edge on the 1-Wire bus from VIL MAX to VIH MIN |
tPDH | tPDH | Presence-detect high time |
tPDL | tPDL | Presence-detect low time |
tFPD | — | Presence-pulse fall time (some devices with new front-end) |
tMSP | — | Presence-detect sample time, derived from slave performance |
tREH | — | Rising-edge hold-off time (new front-end) |
— | tRSTH | Reset high time (N/A for the new front-end) |
tW1L | tLOW1 | Write-one low time |
tW0L | tLOW0 | Write-zero low time |
tREC | tREC | Recovery time |
tRL | tLOWR | Read low time, derived from slave performance |
— | tSU | Read data setup time |
— | tRDV | Minimum time for which data is valid in a read data time slot |
— | tRELEASE | Additional time for which data could be valid in a read data time slot |
tMSR | — | Read sample time, derived from slave performance |
δ | — | Duration of the rising edge on the 1-Wire bus from 0V to VIHMASTER |
tSLOT | tSLOT |
Legacy style: time to communicate one bit excluding recovery time; New style: time to communicate one bit including recovery time |
新式時序說明
復位和存在檢測
1-Wire通信從復位/存在檢測周期開始(圖1)。要從空閑變為活動,1-Wire總線上的電壓必須從V下降狗低于閾值,VTL.要從活動變為空閑,電壓需要從V上升ILMAX超過閾值,V千.電壓上升所需的時間在圖1中顯示為“ε”,其持續時間取決于上拉電阻R狗,以及所連接的1-Wire網絡的電容。電壓VILMAX在確定邏輯電平時與從站相關,而不是觸發任何事件。
如果主站對下降沿使用壓擺率控制,則主站必須下拉線路以獲得RSTL+ 噸F以補償邊緣。一 噸RSTL持續時間為 480μs 或更長時間將退出過載模式,使器件恢復到標準速度。如果從站處于超驅動模式并且RSTL不超過80μs,器件保持超驅動模式。如果從站處于超驅動模式并且RSTL在 80μs 和 480μs 之間,器件將復位,但通信速度未定。
總線主站釋放線路后,進入接收模式。現在1-Wire總線被拉至V狗通過上拉電阻。當閾值為 V 時千,被交叉,從機等待 t帕迪亞然后通過將線路拉低來傳輸存在脈沖PDL.為了檢測存在脈沖,主機必須在t處測試1-Wire線路的邏輯狀態。NS.該 tRSTH窗口必須至少為 t 的總和PDHMAX, tPDLMAX和 t雷克明.緊跟在 t 之后RSTH已過期,具有新前端的從站已準備好進行數據通信。
圖1.復位和存在脈沖。
讀/寫時隙
復位/存在檢測周期完成后,1-Wire從機即可使用時隙進行通信。每個時隙攜帶一個位。寫入時隙將數據從總線主站傳輸到從站。讀取時隙將數據從從站傳輸到主站。圖 2 說明了寫入和讀取時隙的定義。
時隙從主站將數據線拉低開始。當1-Wire線路上的電壓降至閾值以下時,VTL,從機啟動其內部時序發生器,該發生器確定在寫入時隙期間何時對數據線進行采樣以及數據在讀取時隙期間的有效時間。
主從到從
對于寫入一次時隙,數據線上的電壓必須越過V千寫入一低時間之前的閾值,tW1LMAX,已過期。對于寫零時隙,數據線上的電壓必須保持在V以下千直到寫零低時間的閾值,tW0LMIN,已過期。V之后千已超過閾值,從站需要恢復時間,t娛樂,然后才能進入下一個時隙。
圖2.讀/寫時序圖。
從到主
讀取數據時隙的開始類似于寫入一時隙。數據線上的電壓必須保持在V以下TL直到讀取時間,tRL,已過期。在 t 期間RL窗口,當響應 0 時,從機開始將數據線拉低;其內部定時發生器確定下拉何時結束,電壓何時再次開始上升。當響應1時,從機不會將數據線保持低電平,并且電壓在tRL結束了。t 的總和RL+ 一側的δ(上升時間)和另一側從機的內部定時發生器定義主采樣窗口,tMSRMIN到 TMSRMAX,其中主站必須從數據線執行讀取。從數據線讀取后,主站必須等到數據線讀取數據。槽已過期。
改進的網絡行為
在1-Wire環境中,線路端接只能在總線主機(1-Wire驅動器)控制的瞬變期間進行。因此,1-Wire網絡容易受到各種來源的噪聲的影響。根據網絡的物理大小和拓撲結構,來自端點和分支點的反射可以相加,也可以在某種程度上相互抵消。這種反射在1-Wire通信線路上可見毛刺或振鈴。從外部源耦合到1-Wire線路上的噪聲也會導致信號毛刺。時隙上升沿期間的毛刺可能導致從設備失去與主設備同步,從而導致搜索ROM命令進入死胡同或導致特定于設備的功能命令中止。
為了在網絡應用中實現更好的性能,我們開發了對噪聲不那么敏感的新型1-Wire前端。這款新型1-Wire前端實現了以下前兩個或更多功能。器件數據手冊使用參數 t雷和 t平板顯示器以指示是否實現了功能 3 和 4。
電路中還有額外的低通濾波,用于檢測時隙開始時的下降沿。此附加濾波不適用于超速。
從低到高的開關門限V處存在遲滯千.如果負毛刺越過 V千但不低于 V千, w嘿嘿,則無法識別(圖3a)。遲滯在任何1-Wire速度下都有效。
(可選)有一個由上升沿延遲時間 t 指定的時間窗口雷,在此期間,毛刺將被忽略,即使它們延伸到 V 以下千, w嘿嘿閾值(圖3b,tGL< 噸雷).越過 V 后較晚出現的深電壓下降或毛刺千閾值并超出 t雷窗口無法過濾掉;它們被理解為新時隙的開始(圖3c,tGL≥ 噸雷).
(可選)存在脈沖的下降沿具有受控的壓擺率。這提供了比數字開關晶體管更好的線路阻抗匹配。它將傳統設備中的高頻振鈴轉換為更平滑的低帶寬轉換。壓擺率控制由參數 t 指定平板顯示器,其標準速度和超速速度具有不同的值。
圖3.噪聲抑制方案。
新的1-Wire前端也稱為1-Wire擴展網絡標準。應用筆記3925(參見上文1-Wire時序部分)顯示了與早期1-Wire器件相比時序規格的差異,并附有具有新前端的器件表。
舊樣式說明
復位和存在檢測
復位脈沖提供明確的啟動條件,取代任何時隙同步。復位脈沖定義為持續時間為 t 的單個低脈沖RSTL后跟復位高電平時間 tRSTH(圖4)。發送復位脈沖后,1-Wire器件等待時間t帕迪亞然后生成持續時間為 t 的存在脈沖PDL.在1-Wire總線上不允許其他通信RSTH.
圖4.傳統復位和存在脈沖。
讀/寫時隙
命令和數據通過組合寫一和寫零時隙發送到1-Wire器件(圖5)。為了讀取數據,主機必須生成讀取數據時隙來定義每個位的開始條件。
主從到從
寫 1 的低脈沖持續時間為 t低1.要寫0,低脈沖的持續時間為t低0.在每個時隙的活動部分結束時,1-Wire器件需要一個恢復時間,t娛樂,為下一點做準備。此恢復時間是時隙的非活動部分,因為必須將其添加到活動部分的持續時間中才能獲得傳輸一位所需的時間。
從到主
從主站的角度來看,讀取數據時隙看起來與寫1時隙基本相同。從高到低轉換開始,從機發送其尋址內容的一位。如果數據位為1,則從機保持脈沖不變。如果數據位為0,則從機將數據線拉低電平以獲得tRDV(圖5)。在此時間范圍內,數據對主數據讀取有效。繼 t 之后RDV還有一個額外的時間間隔,t釋放,之后從機釋放1-Wire線路,使其電壓返回V上拉.
圖5.舊版讀/寫時序圖。
將新的前端部件與舊部件混合在一起
具有新舊前端的1-Wire器件可以共享相同的1-Wire總線。由于描述新舊前端的1-Wire時序的參數略有不同,因此如何確定主站的一組兼容時序參數并不明顯。表 2 建議如何完成此任務。使用應用筆記126的電子表格時,”通過軟件進行1線通信?,“ 這些參數需要作為輸入來計算實現1-Wire通信的各個網段的持續時間。由于最近的應用筆記使用了新前端的術語,因此表2在使用連接到UART、I2C總線或USB端口的自定時1-Wire主機時也很有幫助。
tW1L | 選擇為具有新前端的從站指定的值,該值也在具有舊前端的從站的允許范圍內。 |
tSLOT | 將從站所需的值與新的前端一起使用。 |
tW0L | 選擇為具有新前端的從站指定的值,該值也在具有舊前端的從站的允許范圍內。 |
tREC | 使用為從站指定的值與新的前端。 |
tRL | 選擇一個接近為具有新前端的從站指定的最小值的值。 |
tMSR | 選擇不超過 t 的值RDV并且不違反最大值 t星際增長具有新前端的從站規格。 |
tRSTL | 選擇兩種類型的設備允許范圍內的值。 |
tNS | 計算適用于具有傳統前端的從站的值:tMSPMIN= tPDHmax.tMSPMAX= tPDHmin+ 噸PDLmin.將計算結果與 t 進行比較NS使用新的前端規范從站,然后選擇適用于所有從站的值。如果具有新前端的從機對存在脈沖具有壓擺率控制(即參數t平板顯示器指定),則可能找不到公共值。在這種情況下,需要單獨的1-Wire總線。 |
tRSTH | 將從站所需的值與舊版前端一起使用。 |
1-Wire主控概念
早期的文檔介紹了兩種類型的主接口,現在稱為“端口引腳附件”和“UART 附件”。此后開發了特殊芯片,增加了稱為“I2C總線附件”和“USB附件”的新型主接口。軟件開發速度快于硬件。關于1-Wire軟件最全面的文檔是應用筆記155,”1-Wire軟件資源指南 器件說明?“,指的是各種應用程序接口 (API)。應用筆記155中描述的所有API都可以不受限制地免費使用,并且在大多數情況下都包含完整的源代碼。
端口引腳附件
該主接口的共同特點是使用微控制器或FPGA的一個或多個端口引腳。這些引腳可以是“通用”引腳,也可以是專用引腳(參見應用筆記1:“為嵌入式應用選擇合適的1-Wire主機”一節,標題為“內置4206-Wire主機和可合成1-Wire總線主機的微控制器”部分)。這類接口在應用筆記1的類別2、3和4206中討論。端口引腳附件可用于標準速度和超速。
UART 附件
通過UART創建1-Wire通信有兩種方法。傳統方式直接使用UART的定時功能,但必須投入一個字符來生成一個時隙或復位/存在檢測序列。應用筆記214“使用UART實現1-Wire總線主機”描述了這一概念。雖然在DOS等操作系統下是有效的,但現代操作系統使得對UART寄存器的訪問效率非常低。因此,這種類型的UART附件在1-Wire應用中不再流行。
新型UART附件采用特殊協議轉換器芯片DS2480B,產生1-Wire通信。該器件可提高效率(8個時隙為一個字符),并允許1-Wire過載速度。這種類型的接口在應用筆記4(見上文)的第4206類“串行接口協議轉換”中進行了討論。如果配置得當(參見應用筆記4104:“理解和配置DS1B的2480-Wire時序”),DS2480B可以標準速度驅動30多個從器件,以過驅速度驅動至少2480個從機。DS1B是唯一一款集成的<>-Wire主機,可以對EPROM器件進行編程。
I2C總線附件
大多數現代微控制器都包含一個I2C總線主端口。盡管1-Wire器件具有一些共同特性(半雙工通信和雙向數據引腳),但如果沒有橋接,無法連接到I2C總線。Maxim開發了三款橋接芯片:DS2482-100、DS2482-101和DS2482-800。 前兩個器件只有一個1-Wire主端口;另一個芯片驅動多達1個2480-Wire網絡。雖然強度不如DS1B,但非常適合嵌入式應用。I2C至4線電橋在應用筆記4206的類別<>“串行接口協議轉換”中討論。
USB 附件
USB端口常見于PC和便攜式電子設備上,并取代了傳統的基于UART的COM端口。為了提供與USB端口的1-Wire連接,Maxim開發了DS2490 USB轉1-Wire橋接芯片。雖然沒有DS2480B那么強大,但DS2490可以用多個從器件驅動1-Wire總線。USB轉1-Wire橋接器在應用筆記4的第4206類“串行接口協議轉換”中討論。
審核編輯:郭婷
-
微控制器
+關注
關注
48文章
7552瀏覽量
151423 -
驅動器
+關注
關注
52文章
8236瀏覽量
146365 -
uart
+關注
關注
22文章
1235瀏覽量
101395
發布評論請先 登錄
相關推薦
評論