摘要:設計1-Wire網絡時,通常需要考慮的一個問題就是確定適當的恢復時間,以確保為寄生供電的1-Wire從器件提供足夠的電能。本文分析了確定對供電有嚴格要求事件所需的1-Wire協議,并提供了不同1-Wire從機數、不同工作電壓以及溫度條件下的恢復時間計算方法。
![圖1. 1-Wire網絡典型框圖](/article/UploadPic/2009-5/2009599159656.gif)
圖1. 1-Wire網絡典型框圖
![圖2. 啟動過程的時序圖:復位和應答脈沖](/article/UploadPic/2009-5/2009599159135.gif)
圖2. 啟動過程的時序圖:復位和應答脈沖
圖2所示為最新1-Wire器件數據資料中給出的復位/在線應答檢測周期。恢復時間開始于在線應答脈沖之后,并在下一個時隙的下降沿結束。通常情況下,所選取的tRSTL和tRSTH持續時間相同。標準速率下,tRSTL為480μs。在最壞的情況下,tPDH + tPDL為300μs,tREC為180μs。高速模式下,則上述時間值較短,是標準速率下的1/10,tREC減少至18μs。與數據資料規定的tREC最小值相比,留出了一些時間余量以使寄生電源(從機內的一個電容)再充電。因此,只要tRSTL不超過數據資料中的最大極限值,并且寄生電源在tRSTL開始之前達到充電飽和,復位/在線應答檢測周期就不是電源設計考慮中的關鍵因素。在高速模式下,復位脈沖之前的恢復時間值延長為最小值的2.5倍,在此期間寄生電源可進行額外充電。標準速率下,復位脈沖之前的擴展恢復時間值是任意的。
下文給出的讀/寫時序框圖由三個波形組成:寫1時隙-寫邏輯1;寫0時隙-寫邏輯0;讀數據時隙-從1-Wire從機器件讀取一位。從圖3中很容易看出,寫1時隙對供電的要求并不嚴格。標準速率下供電窗口(tSLOT-tW1L)至少為50μs,高速模式下至少為6μs。而高速模式下的6μs剛剛超過tREC的最小規定值。在寫0時隙中,由于總線為低電平的時間相較恢復時間而言要長一些,因此寫0時隙對于供電的要求更為苛刻,尤其是在一行有多個0時。數據資料中給出的tREC適合用2.2kΩ上拉電阻將總線驅動至2.8V的單從機1-Wire網絡,正確理解這一點是非常重要的。在讀數據時隙進行讀0操作時,對供電的要求也很嚴格。然而,由于通常從機拉低1-Wire總線,并至少保持60μs (標準速率)或6μs (高速模式),因而是比較有利的一個方面。
本應用筆記闡述了如何設置寫0時隙中的tREC以及派生值tSLOT,以確保多從機1-Wire網絡中有足夠的電源。如果得出的數值還被用于讀數據時隙和寫1時隙,那么tSLOT決定了在特定1-Wire網絡中實現可靠通信所需的最大數據速率。
![](/article/UploadPic/2009-5/2009599159391.gif)
![](/article/UploadPic/2009-5/200959920714.gif)
![圖3. 讀/寫時序圖](/article/UploadPic/2009-5/200959920437.gif)
圖3. 讀/寫時序圖
主要參數
次要參數
我們先從數據資料給出的條件開始分析:一個帶2.2kΩ上拉電阻器(上拉至2.8V)的驅動器、最壞情況下的溫度,總線上有單個1-Wire從機器件,以及可忽略的電纜電容。本文以1-Wire從機器件的個數為主要參數,并提供不同工作電壓、速率以及溫度下恢復時間的值。如果1-Wire驅動器和從機之間的電纜非常重要,那么在計算中每15米長的電纜就可等效成一個附加的從機器件。
這里得出的結果適合典型的1-Wire從機器件,可以實現ROM功能、通用寄存器讀功能以及SRAM寫功能。寫EEPROM、溫度轉換以及SHA-1計算有特定的供電要求(如強上拉),具體依器件而定,這不影響該計算方法的有效性。就ROM功能和存儲器讀操作而言,1-Wire EPROM器件也被視為典型器件;為了實現編程目的,只允許在網絡上掛接單個EPROM器件。
表1. 結果矩陣
低工作電壓和低溫下的恢復時間最長。如果應用要求工作在極低的溫度下,則應選用-40°C項。室溫環境下,可選用+25°C項,并且溫度更高時該項也適合,能保證安全工作。+85°C項則產生一個僅應用在+85°C溫度下的結果;應該作為一個基準,不作為其他溫度的設計值。
高工作電壓下的恢復時間最短。上拉電壓為4.5V或更高時應選用4.5V項。2.8V項對應的恢復時間也適用于更高的電壓,但不會降低數據速率。工作電壓Vx在2.8V和4.5V之間時,可通過線性插補獲得新斜率值:Slope@Vx = Slope@2.8V - (Vx - 2.8V)/1.7V * (Slope@2.8V - Slope@4.5V)。
在標準速率下,數據速率降至單從機網絡15.3kbps基準的大約70%。在高速模式下,數據速率低于125kbps基準的40%。如果表2中數據速率都適合應用,則工作電壓的選擇不重要。然而,如果可提供大約5V的工作電壓,則具有較好的噪聲抑制性,應將其做為首選。
表2. 實例計算結果(N = 10)
DS2480B和DS2490具有同樣的5V 1-Wire驅動器,但是有不同的主機接口。兩款器件的恢復時間均終止于1-Wire總線電壓超過規定門限的時候。采用DS2480B,只要1-Wire有效(例如,寫1字節),主機就能通過UART端接收一個應答字節。采用USB兼容的DS2490,主機需要輪詢以檢測1-Wire有效性是否結束。
DS2482通過其I2C接口與主機通信。該器件的1-Wire側可工作在3.3V和5V電壓下。采用DS2482,當1-Wire時隙結束時,恢復時間終止。如果有源上拉功能被激活,則在固定持續時間內,可在1-Wire總線的上升沿提供額外的電量。DS2482比一個單純的阻性上拉強,但是不如DS2480B或DS2490。DS2482的8通道版本有助于將一個較大的應用分離成幾個每線具有較少1-Wire器件的更小的網絡。采用DS2490時,DS2482的主機需要輪詢驅動器芯片以檢測1-Wire有效性是否結束。
采用可作為智能1-Wire驅動器的微控制器可以實現更大的靈活性,特別是驅動一個物理的大型1-Wire網絡。該電路及其必需軟件所應考慮事項的詳細描述,請參見Dallas應用筆記244。這種驅動器工作在3.3V或5V電壓下,具體取決于微控制器特性。
參考文獻:
引言
本應用筆記適用于典型的1-Wire網絡,該1-Wire網絡由帶上拉電阻的1-Wire驅動器(主控制器)和1個或多個1-Wire從機器件組成,如圖1所示。大多數1-Wire器件都是寄生供電,這就意味著1-Wire總線同時作為電源線和雙向數據線。1-Wire協議規定無通信時進入空閑狀況,1-Wire從器件恰好能從總線獲取電源。限制1-Wire從器件可用電源數目的臨界參數是恢復時間tREC。產品數據資料中規定了tREC的大小,并給出了只在單從機1-Wire網絡中有效的讀/寫波形。![圖1. 1-Wire網絡典型框圖](/article/UploadPic/2009-5/2009599159656.gif)
圖1. 1-Wire網絡典型框圖
![圖2. 啟動過程的時序圖:復位和應答脈沖](/article/UploadPic/2009-5/2009599159135.gif)
圖2. 啟動過程的時序圖:復位和應答脈沖
圖2所示為最新1-Wire器件數據資料中給出的復位/在線應答檢測周期。恢復時間開始于在線應答脈沖之后,并在下一個時隙的下降沿結束。通常情況下,所選取的tRSTL和tRSTH持續時間相同。標準速率下,tRSTL為480μs。在最壞的情況下,tPDH + tPDL為300μs,tREC為180μs。高速模式下,則上述時間值較短,是標準速率下的1/10,tREC減少至18μs。與數據資料規定的tREC最小值相比,留出了一些時間余量以使寄生電源(從機內的一個電容)再充電。因此,只要tRSTL不超過數據資料中的最大極限值,并且寄生電源在tRSTL開始之前達到充電飽和,復位/在線應答檢測周期就不是電源設計考慮中的關鍵因素。在高速模式下,復位脈沖之前的恢復時間值延長為最小值的2.5倍,在此期間寄生電源可進行額外充電。標準速率下,復位脈沖之前的擴展恢復時間值是任意的。
下文給出的讀/寫時序框圖由三個波形組成:寫1時隙-寫邏輯1;寫0時隙-寫邏輯0;讀數據時隙-從1-Wire從機器件讀取一位。從圖3中很容易看出,寫1時隙對供電的要求并不嚴格。標準速率下供電窗口(tSLOT-tW1L)至少為50μs,高速模式下至少為6μs。而高速模式下的6μs剛剛超過tREC的最小規定值。在寫0時隙中,由于總線為低電平的時間相較恢復時間而言要長一些,因此寫0時隙對于供電的要求更為苛刻,尤其是在一行有多個0時。數據資料中給出的tREC適合用2.2kΩ上拉電阻將總線驅動至2.8V的單從機1-Wire網絡,正確理解這一點是非常重要的。在讀數據時隙進行讀0操作時,對供電的要求也很嚴格。然而,由于通常從機拉低1-Wire總線,并至少保持60μs (標準速率)或6μs (高速模式),因而是比較有利的一個方面。
本應用筆記闡述了如何設置寫0時隙中的tREC以及派生值tSLOT,以確保多從機1-Wire網絡中有足夠的電源。如果得出的數值還被用于讀數據時隙和寫1時隙,那么tSLOT決定了在特定1-Wire網絡中實現可靠通信所需的最大數據速率。
寫1時隙
![](/article/UploadPic/2009-5/2009599159391.gif)
寫0時隙
![](/article/UploadPic/2009-5/200959920714.gif)
讀數據時隙
![圖3. 讀/寫時序圖](/article/UploadPic/2009-5/200959920437.gif)
圖3. 讀/寫時序圖
影響參數
在分析供電時的恢復時間時,需考慮幾個主要參數和次要參數。這些參數如下:主要參數
從機數 | 所需的電源能量隨從機數增加而增大。 |
上拉電壓 | 電壓越高,耗能就越多。 |
通信速率 | 在高速模式下,寫0時隙的占空比較高。 |
1-Wire驅動器類型 | “智能”驅動器需要更多的電量。 |
次要參數
工作溫度 | 低溫1-Wire器件需要較多的電量。 |
電纜長度 | 電纜電容也需要進行充電。 |
1-Wire器件類型 | 某些器件比其他器件需要更多或更少的電量。 |
我們先從數據資料給出的條件開始分析:一個帶2.2kΩ上拉電阻器(上拉至2.8V)的驅動器、最壞情況下的溫度,總線上有單個1-Wire從機器件,以及可忽略的電纜電容。本文以1-Wire從機器件的個數為主要參數,并提供不同工作電壓、速率以及溫度下恢復時間的值。如果1-Wire驅動器和從機之間的電纜非常重要,那么在計算中每15米長的電纜就可等效成一個附加的從機器件。
這里得出的結果適合典型的1-Wire從機器件,可以實現ROM功能、通用寄存器讀功能以及SRAM寫功能。寫EEPROM、溫度轉換以及SHA-1計算有特定的供電要求(如強上拉),具體依器件而定,這不影響該計算方法的有效性。就ROM功能和存儲器讀操作而言,1-Wire EPROM器件也被視為典型器件;為了實現編程目的,只允許在網絡上掛接單個EPROM器件。
結果矩陣
用線性公式:tREC = a * N + b,計算恢復時間的大小。假設所有從機器件并聯在1-Wire線路和接地基準之間,則N表示網絡中寄生供電的從機器件數。由VCC引腳供電的1-Wire從機器件不會明顯給1-Wire總線加載;它們應計為器件的1/10。斜率'a'隨溫度、工作(上拉)電壓以及1-Wire速率變化而變化。本文中讓失調量'b'僅隨速率變化就足夠了。表1所列是含有斜率和失調量的公式。通過手動曲線擬合產生數字值;則結果近似與基于科學模型通過迭代法得到的結果吻合。N = 1時,該結果矩陣不能產生與器件數據資料中一樣的數據。這一數值差異是曲線擬合的偏差,不應被視為與規范要求沖突。表1. 結果矩陣
Operating Voltage (V) | Temperature (°C) | Standard Speed (μs) | Overdrive Speed (μs) |
4.5 and higher | -40 | tREC = 2.12 × N + 1.0 | tREC = 1.43 × N + 0.5 |
-5 | tREC = 1.99 × N + 1.0 | tREC = 1.37 × N + 0.5 | |
+25 | tREC = 1.83 × N + 1.0 | tREC = 1.30 × N + 0.5 | |
+85 | tREC = 1.54 × N + 1.0 | tREC = 1.18 × N + 0.5 | |
2.8 (minimum) | -40 | tREC = 3.52 × N + 1.0 | tREC = 1.82 × N + 0.5 |
-5 | tREC = 3.30 × N + 1.0 | tREC = 1.80 × N + 0.5 | |
+25 | tREC = 3.17 × N + 1.0 | tREC = 1.74 × N + 0.5 | |
+85 | tREC = 2.70 × N + 1.0 | tREC = 1.63 × N + 0.5 |
低工作電壓和低溫下的恢復時間最長。如果應用要求工作在極低的溫度下,則應選用-40°C項。室溫環境下,可選用+25°C項,并且溫度更高時該項也適合,能保證安全工作。+85°C項則產生一個僅應用在+85°C溫度下的結果;應該作為一個基準,不作為其他溫度的設計值。
高工作電壓下的恢復時間最短。上拉電壓為4.5V或更高時應選用4.5V項。2.8V項對應的恢復時間也適用于更高的電壓,但不會降低數據速率。工作電壓Vx在2.8V和4.5V之間時,可通過線性插補獲得新斜率值:Slope@Vx = Slope@2.8V - (Vx - 2.8V)/1.7V * (Slope@2.8V - Slope@4.5V)。
實例
假定某應用需要一個帶有10個1-Wire器件(N = 10)的網絡,標準速率下tW0LMIN = 60μs,高速模式下為6μs。(這些數值來自于器件的數據資料,對于不同的器件類型,采用tW0LMIN的最大值。) 假定該網絡工作在0°C至70°C溫度下。工作電壓未定。適合該溫度范圍的項為-5°C,因為它是低于最小工作溫度且與之最接近的數值。由于更高溫度下的斜率比-5°C時的斜率低,因此該結果對于高于-5°C的所有溫度是有效的。表2列出該實例的tREC以及具有恢復時間的最大數據速率。在標準速率下,數據速率降至單從機網絡15.3kbps基準的大約70%。在高速模式下,數據速率低于125kbps基準的40%。如果表2中數據速率都適合應用,則工作電壓的選擇不重要。然而,如果可提供大約5V的工作電壓,則具有較好的噪聲抑制性,應將其做為首選。
表2. 實例計算結果(N = 10)
Operating Voltage (V) | Standard Speed | Overdrive Speed |
4.5 and higher | tREC = (19.9 + 1)μs
data rate = 1/(60μs + 20.9μs) |
tREC = (13.7 + 0.5)μs
data rate = 1/(6μs + 14.2μs) |
2.8 (minimum) | tREC = (33.0 + 1)μs
data rate = 1/(60μs + 34μs) |
tREC = (18.0 + 0.5μs)
data rate = 1/(6μs + 18.5μs) |
可采用的改進方法
如果該表中的恢復時間不能達到要求,還可以采用下列幾種方法提高數據速率。- 減小上拉電阻,例如,由2.2kΩ降至1kΩ。
較低的電阻可使1-Wire網絡再充電電流加倍,這樣可減小50%的恢復時間。采用這種方法時,在讀數據時隙拉低1-Wire總線時,確認每個從機器件是否能處理所增加的電流VPUP/RPUP是非常重要的。 - 改變網絡拓撲。
不采用一個網絡,而是采用2個或多個更小的網絡,或用DS2409 1-Wire耦合器將一些從機器件從網絡的有源部分斷開。 - 考慮采用有源1-Wire驅動器
有源驅動器采用晶體管臨時旁路上拉電阻。這樣允許1-Wire網絡以最快的速率進行再充電,從而降低必需的恢復時間。
有源1-Wire驅動器
Dallas Semiconductor產品中包含三個有源1-Wire驅動器:DS2480B、DS2490和 DS2482。DS2480B和DS2490具有同樣的5V 1-Wire驅動器,但是有不同的主機接口。兩款器件的恢復時間均終止于1-Wire總線電壓超過規定門限的時候。采用DS2480B,只要1-Wire有效(例如,寫1字節),主機就能通過UART端接收一個應答字節。采用USB兼容的DS2490,主機需要輪詢以檢測1-Wire有效性是否結束。
DS2482通過其I2C接口與主機通信。該器件的1-Wire側可工作在3.3V和5V電壓下。采用DS2482,當1-Wire時隙結束時,恢復時間終止。如果有源上拉功能被激活,則在固定持續時間內,可在1-Wire總線的上升沿提供額外的電量。DS2482比一個單純的阻性上拉強,但是不如DS2480B或DS2490。DS2482的8通道版本有助于將一個較大的應用分離成幾個每線具有較少1-Wire器件的更小的網絡。采用DS2490時,DS2482的主機需要輪詢驅動器芯片以檢測1-Wire有效性是否結束。
采用可作為智能1-Wire驅動器的微控制器可以實現更大的靈活性,特別是驅動一個物理的大型1-Wire網絡。該電路及其必需軟件所應考慮事項的詳細描述,請參見Dallas應用筆記244。這種驅動器工作在3.3V或5V電壓下,具體取決于微控制器特性。
結束語
計算多從機器件1-Wire應用所需的恢復時間是一個非常簡單和直觀的過程。對于1-Wire網絡,通常采用5V電壓是最佳選擇。對于更多的應用來說,采用帶上拉電阻的1-Wire驅動器就足夠了。對于大型的網絡,則需要帶有源上拉的驅動器。參考文獻:
- DS2480B數據資料 串行、1-Wire線驅動器,帶有負荷檢測
- DS2490數據資料 USB與1-Wire橋接芯片
- DS2482-800數據資料8通道1-Wire主控制器
- DS2482-100數據資料單通道1-Wire主控制器
- 應用筆記244 性能優異的1-Wire網絡驅動器
- DS2409數據資料 MicroLAN耦合器。新設計中不推薦使用DS2409。
- 應用筆記192 DS2480B串行接口1-Wire線驅動器的使用
- 應用筆記3684 如何使用帶有I2C接口的DS2482 1-Wire主控制器
- 應用筆記126 用軟件實現1-Wire通信
評論