引言
本應(yīng)用筆記適用于典型的1-Wire網(wǎng)絡(luò),該1-Wire網(wǎng)絡(luò)由帶上拉電阻的1-Wire驅(qū)動器(主控制器)和1個或多個1-Wire從機器件組成,如圖1所示。大多數(shù)1-Wire器件都是寄生供電,這就意味著1-Wire總線同時作為電源線和雙向數(shù)據(jù)線。1-Wire協(xié)議規(guī)定無通信時進入空閑狀況,1-Wire從器件恰好能從總線獲取電源。限制1-Wire從器件可用電源數(shù)目的臨界參數(shù)是恢復(fù)時間tREC。產(chǎn)品數(shù)據(jù)資料中規(guī)定了tREC的大小,并給出了只在單從機1-Wire網(wǎng)絡(luò)中有效的讀/寫波形。
圖1. 1-Wire網(wǎng)絡(luò)典型框圖

圖2. 啟動過程的時序圖:復(fù)位和應(yīng)答脈沖
圖2所示為最新1-Wire器件數(shù)據(jù)資料中給出的復(fù)位/在線應(yīng)答檢測周期?;謴?fù)時間開始于在線應(yīng)答脈沖之后,并在下一個時隙的下降沿結(jié)束。通常情況下,所選取的tRSTL和tRSTH持續(xù)時間相同。標(biāo)準(zhǔn)速率下,tRSTL為480μs。在最壞的情況下,tPDH + tPDL為300μs,tREC為180μs。高速模式下,則上述時間值較短,是標(biāo)準(zhǔn)速率下的1/10,tREC減少至18μs。與數(shù)據(jù)資料規(guī)定的tREC最小值相比,留出了一些時間余量以使寄生電源(從機內(nèi)的一個電容)再充電。因此,只要tRSTL不超過數(shù)據(jù)資料中的最大極限值,并且寄生電源在tRSTL開始之前達(dá)到充電飽和,復(fù)位/在線應(yīng)答檢測周期就不是電源設(shè)計考慮中的關(guān)鍵因素。在高速模式下,復(fù)位脈沖之前的恢復(fù)時間值延長為最小值的2.5倍,在此期間寄生電源可進行額外充電。標(biāo)準(zhǔn)速率下,復(fù)位脈沖之前的擴展恢復(fù)時間值是任意的。
下文給出的讀/寫時序框圖由三個波形組成:寫1時隙-寫邏輯1;寫0時隙-寫邏輯0;讀數(shù)據(jù)時隙-從1-Wire從機器件讀取一位。從圖3中很容易看出,寫1時隙對供電的要求并不嚴(yán)格。標(biāo)準(zhǔn)速率下供電窗口(tSLOT-tW1L)至少為50μs,高速模式下至少為6μs。而高速模式下的6μs剛剛超過tREC的最小規(guī)定值。在寫0時隙中,由于總線為低電平的時間相較恢復(fù)時間而言要長一些,因此寫0時隙對于供電的要求更為苛刻,尤其是在一行有多個0時。數(shù)據(jù)資料中給出的tREC適合用2.2kΩ上拉電阻將總線驅(qū)動至2.8V的單從機1-Wire網(wǎng)絡(luò),正確理解這一點是非常重要的。在讀數(shù)據(jù)時隙進行讀0操作時,對供電的要求也很嚴(yán)格。然而,由于通常從機拉低1-Wire總線,并至少保持60μs (標(biāo)準(zhǔn)速率)或6μs (高速模式),因而是比較有利的一個方面。
本應(yīng)用筆記闡述了如何設(shè)置寫0時隙中的tREC以及派生值tSLOT,以確保多從機1-Wire網(wǎng)絡(luò)中有足夠的電源。如果得出的數(shù)值還被用于讀數(shù)據(jù)時隙和寫1時隙,那么tSLOT決定了在特定1-Wire網(wǎng)絡(luò)中實現(xiàn)可靠通信所需的最大數(shù)據(jù)速率。
寫1時隙

寫0時隙

讀數(shù)據(jù)時隙

圖3. 讀/寫時序圖
影響參數(shù)
在分析供電時的恢復(fù)時間時,需考慮幾個主要參數(shù)和次要參數(shù)。這些參數(shù)如下:主要參數(shù)
從機數(shù) | 所需的電源能量隨從機數(shù)增加而增大。 |
上拉電壓 | 電壓越高,耗能就越多。 |
通信速率 | 在高速模式下,寫0時隙的占空比較高。 |
1-Wire驅(qū)動器類型 | “智能”驅(qū)動器需要更多的電量。 |
次要參數(shù)
工作溫度 | 低溫1-Wire器件需要較多的電量。 |
電纜長度 | 電纜電容也需要進行充電。 |
1-Wire器件類型 | 某些器件比其他器件需要更多或更少的電量。 |
我們先從數(shù)據(jù)資料給出的條件開始分析:一個帶2.2kΩ上拉電阻器(上拉至2.8V)的驅(qū)動器、最壞情況下的溫度,總線上有單個1-Wire從機器件,以及可忽略的電纜電容。本文以1-Wire從機器件的個數(shù)為主要參數(shù),并提供不同工作電壓、速率以及溫度下恢復(fù)時間的值。如果1-Wire驅(qū)動器和從機之間的電纜非常重要,那么在計算中每15米長的電纜就可等效成一個附加的從機器件。
這里得出的結(jié)果適合典型的1-Wire從機器件,可以實現(xiàn)ROM功能、通用寄存器讀功能以及SRAM寫功能。寫EEPROM、溫度轉(zhuǎn)換以及SHA-1計算有特定的供電要求(如強上拉),具體依器件而定,這不影響該計算方法的有效性。就ROM功能和存儲器讀操作而言,1-Wire EPROM器件也被視為典型器件;為了實現(xiàn)編程目的,只允許在網(wǎng)絡(luò)上掛接單個EPROM器件。
結(jié)果矩陣
用線性公式:tREC = a * N + b,計算恢復(fù)時間的大小。假設(shè)所有從機器件并聯(lián)在1-Wire線路和接地基準(zhǔn)之間,則N表示網(wǎng)絡(luò)中寄生供電的從機器件數(shù)。由VCC引腳供電的1-Wire從機器件不會明顯給1-Wire總線加載;它們應(yīng)計為器件的1/10。斜率'a'隨溫度、工作(上拉)電壓以及1-Wire速率變化而變化。本文中讓失調(diào)量'b'僅隨速率變化就足夠了。表1所列是含有斜率和失調(diào)量的公式。通過手動曲線擬合產(chǎn)生數(shù)字值;則結(jié)果近似與基于科學(xué)模型通過迭代法得到的結(jié)果吻合。N = 1時,該結(jié)果矩陣不能產(chǎn)生與器件數(shù)據(jù)資料中一樣的數(shù)據(jù)。這一數(shù)值差異是曲線擬合的偏差,不應(yīng)被視為與規(guī)范要求沖突。表1. 結(jié)果矩陣
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 |
低工作電壓和低溫下的恢復(fù)時間最長。如果應(yīng)用要求工作在極低的溫度下,則應(yīng)選用-40°C項。室溫環(huán)境下,可選用+25°C項,并且溫度更高時該項也適合,能保證安全工作。+85°C項則產(chǎn)生一個僅應(yīng)用在+85°C溫度下的結(jié)果;應(yīng)該作為一個基準(zhǔn),不作為其他溫度的設(shè)計值。
高工作電壓下的恢復(fù)時間最短。上拉電壓為4.5V或更高時應(yīng)選用4.5V項。2.8V項對應(yīng)的恢復(fù)時間也適用于更高的電壓,但不會降低數(shù)據(jù)速率。工作電壓Vx在2.8V和4.5V之間時,可通過線性插補獲得新斜率值:Slope@Vx = Slope@2.8V - (Vx - 2.8V)/1.7V * (Slope@2.8V - Slope@4.5V)。
實例
假定某應(yīng)用需要一個帶有10個1-Wire器件(N = 10)的網(wǎng)絡(luò),標(biāo)準(zhǔn)速率下tW0LMIN = 60μs,高速模式下為6μs。(這些數(shù)值來自于器件的數(shù)據(jù)資料,對于不同的器件類型,采用tW0LMIN的最大值。) 假定該網(wǎng)絡(luò)工作在0°C至70°C溫度下。工作電壓未定。適合該溫度范圍的項為-5°C,因為它是低于最小工作溫度且與之最接近的數(shù)值。由于更高溫度下的斜率比-5°C時的斜率低,因此該結(jié)果對于高于-5°C的所有溫度是有效的。表2列出該實例的tREC以及具有恢復(fù)時間的最大數(shù)據(jù)速率。在標(biāo)準(zhǔn)速率下,數(shù)據(jù)速率降至單從機網(wǎng)絡(luò)15.3kbps基準(zhǔn)的大約70%。在高速模式下,數(shù)據(jù)速率低于125kbps基準(zhǔn)的40%。如果表2中數(shù)據(jù)速率都適合應(yīng)用,則工作電壓的選擇不重要。然而,如果可提供大約5V的工作電壓,則具有較好的噪聲抑制性,應(yīng)將其做為首選。
表2. 實例計算結(jié)果(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) |
可采用的改進方法
如果該表中的恢復(fù)時間不能達(dá)到要求,還可以采用下列幾種方法提高數(shù)據(jù)速率。- 減小上拉電阻,例如,由2.2kΩ降至1kΩ。
較低的電阻可使1-Wire網(wǎng)絡(luò)再充電電流加倍,這樣可減小50%的恢復(fù)時間。采用這種方法時,在讀數(shù)據(jù)時隙拉低1-Wire總線時,確認(rèn)每個從機器件是否能處理所增加的電流VPUP/RPUP是非常重要的。 - 改變網(wǎng)絡(luò)拓?fù)洹?br>不采用一個網(wǎng)絡(luò),而是采用2個或多個更小的網(wǎng)絡(luò),或用DS2409 1-Wire耦合器將一些從機器件從網(wǎng)絡(luò)的有源部分?jǐn)嚅_。
- 考慮采用有源1-Wire驅(qū)動器
有源驅(qū)動器采用晶體管臨時旁路上拉電阻。這樣允許1-Wire網(wǎng)絡(luò)以最快的速率進行再充電,從而降低必需的恢復(fù)時間。
有源1-Wire驅(qū)動器
Dallas Semiconductor產(chǎn)品中包含三個有源1-Wire驅(qū)動器:DS2480B、DS2490和 DS2482。DS2480B和DS2490具有同樣的5V 1-Wire驅(qū)動器,但是有不同的主機接口。兩款器件的恢復(fù)時間均終止于1-Wire總線電壓超過規(guī)定門限的時候。采用DS2480B,只要1-Wire有效(例如,寫1字節(jié)),主機就能通過UART端接收一個應(yīng)答字節(jié)。采用USB兼容的DS2490,主機需要輪詢以檢測1-Wire有效性是否結(jié)束。
DS2482通過其I2C接口與主機通信。該器件的1-Wire側(cè)可工作在3.3V和5V電壓下。采用DS2482,當(dāng)1-Wire時隙結(jié)束時,恢復(fù)時間終止。如果有源上拉功能被激活,則在固定持續(xù)時間內(nèi),可在1-Wire總線的上升沿提供額外的電量。DS2482比一個單純的阻性上拉強,但是不如DS2480B或DS2490。DS2482的8通道版本有助于將一個較大的應(yīng)用分離成幾個每線具有較少1-Wire器件的更小的網(wǎng)絡(luò)。采用DS2490時,DS2482的主機需要輪詢驅(qū)動器芯片以檢測1-Wire有效性是否結(jié)束。
采用可作為智能1-Wire驅(qū)動器的微控制器可以實現(xiàn)更大的靈活性,特別是驅(qū)動一個物理的大型1-Wire網(wǎng)絡(luò)。該電路及其必需軟件所應(yīng)考慮事項的詳細(xì)描述,請參見Dallas應(yīng)用筆記244。這種驅(qū)動器工作在3.3V或5V電壓下,具體取決于微控制器特性。
結(jié)束語
計算多從機器件1-Wire應(yīng)用所需的恢復(fù)時間是一個非常簡單和直觀的過程。對于1-Wire網(wǎng)絡(luò),通常采用5V電壓是最佳選擇。對于更多的應(yīng)用來說,采用帶上拉電阻的1-Wire驅(qū)動器就足夠了。對于大型的網(wǎng)絡(luò),則需要帶有源上拉的驅(qū)動器。參考文獻(xiàn):
- DS2480B數(shù)據(jù)資料 串行、1-Wire線驅(qū)動器,帶有負(fù)荷檢測
- DS2490數(shù)據(jù)資料 USB與1-Wire橋接芯片
- DS2482-800數(shù)據(jù)資料8通道1-Wire主控制器
- DS2482-100數(shù)據(jù)資料單通道1-Wire主控制器
- 應(yīng)用筆記244 性能優(yōu)異的1-Wire網(wǎng)絡(luò)驅(qū)動器
- DS2409數(shù)據(jù)資料 MicroLAN耦合器。新設(shè)計中不推薦使用DS2409。
- 應(yīng)用筆記192 DS2480B串行接口1-Wire線驅(qū)動器的使用
- 應(yīng)用筆記3684 如何使用帶有I2C接口的DS2482 1-Wire主控制器
- 應(yīng)用筆記126 用軟件實現(xiàn)1-Wire通信
評論