確定多從機1-Wire網絡的恢復時間
設計1-wire網絡時,通常需要考慮的一個問題就是確定適當的恢復時間,以確保為寄生供電的1-wire從器件提供足夠的電能。本文分析了確定對供電有嚴格要求事件所需的1-wire協議,并提供了不同1-wire從機數、不同工作電壓以及溫度條件下的恢復時間計算方法。
本文引用地址:http://www.104case.com/article/21582.htm引言
本應用筆記適用于典型的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網絡典型框圖

圖2. 啟動過程的時序圖:復位和應答脈沖
影響參數
在分析供電時的恢復時間時,需考慮幾個主要參數和次要參數。這些參數如下:

主要參數

我們先從數據資料給出的條件開始分析:一個帶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時,該結果矩陣不能產生與器件數據資料中一樣的數據。這一數值差異是曲線擬合的偏差,不應被視為與規范要求沖突。

高工作電壓下的恢復時間最短。上拉電壓為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)

如果該表中的恢復時間不能達到要求,還可以采用下列幾種方法提高數據速率。
減小上拉電阻,例如,由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驅動器就足夠了。對于大型的網絡,則需要帶有源上拉的驅動器。
評論