引言
DS2480B是帶UART主機(jī)接口的1-Wire主機(jī)(驅(qū)動(dòng)器)。該器件針對(duì)電源傳輸進(jìn)行優(yōu)化并支持嵌入式應(yīng)用的高速模式,可以將主機(jī)從生成嚴(yán)格定時(shí)的1-Wire波形這一任務(wù)中解脫出來(lái)。DS2480B采用有源電路,縮短了時(shí)隙結(jié)束時(shí)的恢復(fù)時(shí)間。圖1給出了1-Wire驅(qū)動(dòng)器部分的簡(jiǎn)化電路圖。圖1. DS2480B 1-Wire驅(qū)動(dòng)器的簡(jiǎn)化電路
當(dāng)1-Wire總線處于空閑狀態(tài)時(shí),DS2480B驅(qū)動(dòng)器通過(guò)一個(gè)受控電流源提供上拉。該電流源可被關(guān)閉(下拉期間),可提供弱上拉電流(下拉及空閑時(shí)IWEAKPU),或者提供一個(gè)有源上拉(上升沿時(shí)IACTPU)。下拉電路(Q1)的壓擺率可以通過(guò)軟件調(diào)整。Q2表示需要大電流的1-Wire從器件功能(如EEPROM編程或溫度轉(zhuǎn)換)所采用的供電電路。Q2的功能在本應(yīng)用筆記中未討論。
為支持有效的布線配置,需要一個(gè)外部線路終端電阻RT (~100Ω)以盡量減小傳輸線路的影響,如反射、下沖和過(guò)沖。然而,加入RT后會(huì)導(dǎo)致有源上拉在1-Wire總線完全充電之前過(guò)早關(guān)閉。這是因?yàn)镈S2480B檢測(cè)的是其1-Wire引腳的電壓,而非1-Wire網(wǎng)絡(luò)從器件一側(cè)的電壓。當(dāng)1-Wire引腳電壓到達(dá)內(nèi)部門限值(典型值IACTPU × RT = 15mA × 100Ω = 1.5V)時(shí),從器件一側(cè)的電壓將低于1-Wire引腳電壓,差值為RT上的壓降。1-Wire引腳電壓超出該門限值時(shí)定時(shí)器啟動(dòng),在有源上拉關(guān)閉前定時(shí)必須結(jié)束。但由于定時(shí)器啟動(dòng)早,因此結(jié)束的也早。不過(guò),在有源上拉關(guān)閉后(關(guān)閉初期),將繼續(xù)用弱上拉電流IWEAKPU為1-Wire總線充電,直到完全充電。
臨界參數(shù)
簡(jiǎn)單來(lái)說(shuō),可將1-Wire網(wǎng)絡(luò)比作一個(gè)在通信過(guò)程中不斷充放電的有損耗電容。因此,在確定驅(qū)動(dòng)器性能時(shí),任何影響網(wǎng)絡(luò)充電和放電過(guò)程的因素都是必須考慮的參數(shù)。描述DS2480B驅(qū)動(dòng)器的硬件定義的重要參數(shù)包括:- 1-Wire弱上拉電流,IWEAKPU
- 1-Wire有源上拉電流,IACTPU
- 有源上拉開(kāi)啟門限,VIAPO
- 有源上拉定時(shí)器門限,VIAPYO
- 有源上拉開(kāi)啟時(shí)間, tAPUOT (標(biāo)準(zhǔn)速率時(shí)為2.0μs, 高速模式下為0.5μs)
1-Wire主機(jī)時(shí)序配置
DS2480B具有不同于標(biāo)準(zhǔn)速率的伸縮速率模式。這一特別伸縮速率模式允許對(duì)1-Wire時(shí)隙進(jìn)行微調(diào)。復(fù)位/在線檢測(cè)序列的時(shí)間是固定的。可以通過(guò)寫控制寄存器來(lái)設(shè)置的時(shí)序參數(shù)如下:- 寫1低電平時(shí)間(tLOW1)
- 數(shù)據(jù)采樣偏移(tDSO)
- 寫0恢復(fù)時(shí)間(tREC0)
- 下降沿壓擺率(DS2480B產(chǎn)生的下降沿)
表1. 可變參數(shù):僅針對(duì)伸縮模式
Description | Symbol | Par. Code | Parameter Value Codes and Values | Units | |||||||
000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 | ||||
Write 1 Low Time | tLOW1 | 100 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | μs |
Data Sample Offset, Write 0 Recovery Time | tDSO, tREC0 | 101 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | μs |
Pulldown Slew Rate | — | 001 | 15 | 2.2 | 1.65 | 1.37 | 1.1 | 0.83 | 0.7 | 0.55 | V/μs |
表2. 固定參數(shù):伸縮模式和高速模式
Description | Symbol | Value (μs) | Speed |
Write 1 High Time | tHIGH1 | 49 | Flexible |
8 | Overdrive | ||
Write 0 Low Time | tLOW0 | 57 | Flexible |
7 | Overdrive | ||
Active Pullup On-Time | tAPUOT | 2 | Flexible |
0.5 | Overdrive | ||
Write 1 Low Time | tLOW1 | 1 | Overdrive |
Data Sample Offset | tDSO | 1 | Overdrive |
Write 0 Recovery Time | tREC0 | 3 | Overdrive |
數(shù)據(jù)采樣偏移和寫0恢復(fù)時(shí)間參數(shù)由同一寄存器值控制。可以這樣做是因?yàn)檫@兩個(gè)參數(shù)都受1-Wire網(wǎng)絡(luò)充電速度的影響。在達(dá)到邏輯1之前不需對(duì)1-Wire采樣(tDSO功能)。反之,讀時(shí)隙期間對(duì)1-Wire線完全充電所需的等待時(shí)間即可滿足寫0時(shí)隙的恢復(fù)時(shí)間(tREC0功能)。
如圖2所示,寫1時(shí)隙和讀數(shù)據(jù)時(shí)隙由3部分組成:tLOW1, tDSO和tHIGH1。tLOW1可設(shè)為8μs至15μs。tDSO范圍為3μs至10μs,tHIGH1固定為49μs,寫1或讀數(shù)據(jù)時(shí)隙的持續(xù)時(shí)間可在60μs至74μs之間任意設(shè)置。從1-Wire總線讀數(shù)據(jù)(讀時(shí)隙)時(shí),在時(shí)隙開(kāi)始后tLOW1 + tDSO時(shí)間內(nèi)進(jìn)行采樣,即采樣從下降沿開(kāi)始后11μs至25μs之間。
圖2. 寫1時(shí)隙和讀數(shù)據(jù)時(shí)隙
寫0時(shí)隙(圖3)包括兩部分,tLOW0和tREC0。由于tLOW0固定為57μs ,tREC0介于3μs至10μs之間,因此寫0時(shí)隙的持續(xù)時(shí)間為60μs至67μs。根據(jù)DS2480B從主機(jī)UART接收到的數(shù)據(jù),各時(shí)隙之間有足夠的空閑時(shí)間。
圖3. 寫0時(shí)隙
1-Wire從器件響應(yīng)時(shí)序的時(shí)間取決于三個(gè)因素:主機(jī)下拉下降沿的壓擺率;從器件的電氣特性;主機(jī)和從器件之間的物理距離。在伸縮模式下,壓擺率可以調(diào)節(jié),上限為15V/μs,下限為0.55V/μs。但是,若壓擺率設(shè)置的較低,則當(dāng)tLOW1設(shè)置的較短時(shí)會(huì)起沖突。多次測(cè)試表明,1.37V/μs是一個(gè)較為理想的壓擺率,適合幾乎所有帶或不帶線路終端的應(yīng)用。盡量避免設(shè)置到最快壓擺率(15V/μs),除非線路連接有接適當(dāng)?shù)亩私印o(wú)端接時(shí)可能會(huì)有明顯的振鈴,特別是當(dāng)DS2480B驅(qū)動(dòng)長(zhǎng)電纜時(shí)。
怎樣更改設(shè)置
如附錄A “選擇配置參數(shù)值” 所示,采用如下配置:tLOW1 = 8μs,tDSO = 9μs,時(shí)序周期為66μs時(shí)可獲得較佳性能。可以下載(ZIP)一個(gè)可執(zhí)行的Windows應(yīng)用程序tmline.exe用于設(shè)置。必須先將該文件從ZIP文件夾中解壓縮,然后移到Windows桌面。雙擊其圖標(biāo)運(yùn)行程序,或右擊該圖標(biāo)并選擇"打開(kāi)" 。程序會(huì)打開(kāi)一個(gè)類似DOS的窗口,并執(zhí)行以下幾項(xiàng)任務(wù):自檢;檢測(cè)底層驅(qū)動(dòng)軟件版本;顯示Pulldown Slew Rate、Write 1 Low Time、Data Sample Offset/Write 0 Recovery Time的默認(rèn)設(shè)置。如果tmline程序啟動(dòng)時(shí)1-Wire應(yīng)用軟件已經(jīng)運(yùn)行,則顯示當(dāng)前設(shè)置。
Current (STANDARD) 1-Wire line settings: PDSR = 1.37 V/us W1LT = 8 us DSOW0 = 6 ustmline程序要求用戶輸入的第一個(gè)參數(shù)為Pulldown Slew Rate。輸入的數(shù)值為參數(shù)值代碼,如表A所示。輸入0至7表示選擇新的值;輸入8表示不改變?cè)O(shè)置退出程序。所有其他輸入將被忽略。
Select the PDSR (pulldown slew rate): 0) 15 V/us 1) 2.20 V/us 2) 1.65 V/us 3) 1.37 V/us 4) 1.10 V/us 5) 0.83 V/us 6) 0.70 V/us 7) 0.55 V/us 8) EXIT Enter number: 3(例如用戶輸入:3)
輸入有效數(shù)值后,下一個(gè)需要指定的參數(shù)為Write 1 Low Time。
Select the W1LT (write-1 low time): 0) 8 us 1) 9 us 2) 10 us 3) 11 us 4) 12 us 5) 13 us 6) 14 us 7) 15 us 8) EXIT Enter number: 0(例如用戶輸入:0)
輸入新的Write 1 Low Time后,用戶輸入最后一個(gè)的參數(shù)為Data Sample Offset/Write 0 Recovery Time。
Select the DSO/WOR (data sample offset/write 0 recovery): 0) 3 us 1) 4 us 2) 5 us 3) 6 us 4) 7 us 5) 8 us 6) 9 us 7) 10 us 8) EXIT Enter number: 6(例如用戶輸入:6)
輸入有效數(shù)值后,tmline向端口適配器中的DS2480B寫入一組新的參數(shù)。然后循環(huán)顯示新的設(shè)置作為當(dāng)前值,并請(qǐng)求輸入一個(gè)新的下降沿?cái)[率。輸入"8"退出程序。1-Wire應(yīng)用軟件運(yùn)行期間,新設(shè)置始終有效。
多從器件1-Wire網(wǎng)絡(luò)的恢復(fù)時(shí)間
標(biāo)準(zhǔn)速率模式
對(duì)于單從機(jī)網(wǎng)絡(luò),在標(biāo)準(zhǔn)速度模式下,1-Wire從器件數(shù)據(jù)資料中通常規(guī)定采用2.2kΩ上拉電阻和2.8V最低上拉電壓時(shí)最小恢復(fù)時(shí)間為5μs。Maxim的應(yīng)用筆記3829:確定多從機(jī)1-Wire網(wǎng)絡(luò)的恢復(fù)時(shí)間,描述了在四種不同溫度、兩種不同電壓的條件下如何確定多從器件1-Wire網(wǎng)絡(luò)的恢復(fù)時(shí)間。由于DS2480B是一個(gè)5V器件,因此可以參照應(yīng)用筆記3829中有關(guān)工作電壓等于或大于4.5V時(shí)恢復(fù)時(shí)間的相關(guān)描述。溫度高于或等于-5°C時(shí),標(biāo)準(zhǔn)速率下的恢復(fù)時(shí)間規(guī)定為2 × N + 1μs (N為從器件個(gè)數(shù))。因此,一個(gè)從器件的恢復(fù)時(shí)間為3μs,兩個(gè)從器件為5μs,3個(gè)從器件為7μs ,4個(gè)從器件為9μs。因此,根據(jù)附錄B中最差情況(1.5mA IWEAKPU,9mA IACTPU)計(jì)算,并且參考“四個(gè)從器件的9μs恢復(fù)時(shí)間”這一配置為參考,可以得知DS2480B至少可以處理31個(gè)從器件。因此,標(biāo)準(zhǔn)速度下DS2480B驅(qū)動(dòng)器的驅(qū)動(dòng)強(qiáng)度至少為2.2kΩ有源上拉電阻的8倍。
高速模式
對(duì)于單從機(jī)網(wǎng)絡(luò),在高速模式下,1-Wire從器件數(shù)據(jù)資料通常通常規(guī)定采用2.2kΩ上拉電阻和2.8V最低上拉電壓時(shí)最小恢復(fù)時(shí)間為2μs。根據(jù)上文提及的應(yīng)用筆記3829,溫度高于等于-5°C時(shí),高速模式下的恢復(fù)時(shí)間為1.37 × N + 0.5μs (N為從器件個(gè)數(shù))。因此,一個(gè)從器件的恢復(fù)時(shí)間為1.87μs,兩個(gè)從器件為3.24μs,三個(gè)從器件為4.61μs,四個(gè)從器件為5.98μs。因此,以"兩個(gè)從器件的恢復(fù)時(shí)間為3.24μs"為參考,并按比例縮減為1.8個(gè)從器件的恢復(fù)時(shí)間為3μs,然后在高速模式下,按最壞情況執(zhí)行同樣的計(jì)算,可以得出DS2480B至少可以處理9個(gè)從器件。因此,高速模式下DS2480B驅(qū)動(dòng)器的驅(qū)動(dòng)強(qiáng)度至少為2.2kΩ有源上拉電阻的5倍。
- VIAPYO通常大于按最差情況計(jì)算時(shí)的假定值。
- 只要電壓升高至足以被認(rèn)為是時(shí)隙結(jié)束,則從器件允許不完全再充電。
- DS2480B的VIH1也許低于數(shù)據(jù)資料中規(guī)定的最小值。
總結(jié)
1 - Wire網(wǎng)絡(luò)的可靠性同時(shí)取決于主機(jī)(驅(qū)動(dòng)器)和從器件。運(yùn)行于標(biāo)準(zhǔn)速度時(shí),DS2480B 1-Wire驅(qū)動(dòng)器采用伸縮速率并設(shè)置tLOW1 = 8μs、tDSO = tREC0 = 9μs時(shí),可實(shí)現(xiàn)最優(yōu)的性能。1.37V/μs的壓擺率是一個(gè)較理想的設(shè)置。此時(shí)1-Wire從器件速率范圍為15μs至54μs。只有一個(gè)從器件并且時(shí)基低于54μs時(shí),系統(tǒng)將無(wú)法工作。下降沿?cái)[率變?yōu)?.65V/μs或2.2V/μs,會(huì)增加網(wǎng)絡(luò)中“臨界”從器件正常工作的機(jī)會(huì)。為了適應(yīng)那些速度較慢的1-Wire從器件(例如,60μs),必須將tHIGH1和tLOW0延長(zhǎng)6μs,分別變?yōu)?5μs和63μs。然而,當(dāng)前版本的DS2480B尚不支持該功能。以采用1-Wire驅(qū)動(dòng)器的免費(fèi)Windows軟件OneWireViewer為例。標(biāo)準(zhǔn)速率下,OneWireViewer軟件默認(rèn)tLOW1 = 8μs、tDSO = 6μs、壓擺率1.37V/μs。如上所述,將有必要將tDSO增加至9μs,OneWireViewer 4.01和更高版本將tDSO默認(rèn)值改為9μs,從而適應(yīng)本應(yīng)用筆記的推薦值。tLOW1和壓擺率的默認(rèn)值分別保持為8μs和1.37V/μs。
DS2480B是強(qiáng)上拉1-Wire驅(qū)動(dòng)器。相比采用2.2kΩ上拉電阻的電路而言,標(biāo)準(zhǔn)速度和高速模式下DS2480B的驅(qū)動(dòng)能力至少為該電路的8倍和5倍。
附錄A
選擇配置參數(shù)值
寫1和讀數(shù)據(jù)時(shí)隙由tLOW1、tDSO和 tHIGH1三部分組成,有64種組合,如表3所示。tDSO越長(zhǎng)(寫0時(shí)隙時(shí)為tREC0),網(wǎng)絡(luò)再充電(恢復(fù))需要的時(shí)間越長(zhǎng)。然而, tLOW1和tDSO設(shè)為最大值時(shí),采樣時(shí)間點(diǎn)會(huì)推遲至?xí)r隙開(kāi)始25μs后才開(kāi)始采樣。采樣點(diǎn)也就是DS2480B讀1-Wire總線的時(shí)間點(diǎn)。表3. 時(shí)隙周期與tLOW1和tDSO的對(duì)應(yīng)關(guān)系
tLOW1 (μs) | tDSO (μs) | |||||||
3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
8 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 |
9 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 |
10 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 |
11 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 |
12 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 |
13 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 |
14 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 |
15 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 |
1-Wire從器件的內(nèi)部時(shí)基變化范圍為15μs至60μs。因此,從器件發(fā)出信號(hào)0做為響應(yīng)時(shí),可以在時(shí)隙開(kāi)始15μs后,停止總線拉低。壓擺率設(shè)為1.37V/μs (標(biāo)稱值)時(shí),從器件響應(yīng)時(shí)隙,并在電壓達(dá)到2.2V左右或tLOW1大約2μs后啟動(dòng)其定時(shí)器。為確保在這樣快的從器件時(shí)仍然可以讀到信號(hào)0,采樣時(shí)間點(diǎn)不得晚于時(shí)隙開(kāi)始后2 + 15 =17μs。所有周期不超過(guò)66μs的時(shí)序都符合這一條件。另一個(gè)從器件可能響應(yīng)時(shí)隙,并在電壓達(dá)到大約0.8V或tLOW1大約3μs后啟動(dòng)其定時(shí)器,并在60μs后停止拉低總線。在這種情況下,1-Wire總線可以在時(shí)隙開(kāi)始后63μs開(kāi)始充電。為了能將恢復(fù)時(shí)間設(shè)為最小值3μs,時(shí)序周期應(yīng)取最小值66μs。快速的壓擺率可使這一時(shí)間點(diǎn)與從器件開(kāi)啟定時(shí)器的時(shí)間點(diǎn)更加靠近。這可以稍微改善恢復(fù)時(shí)間,但若驅(qū)動(dòng)器未接線路終端,這樣做也增加了振鈴。
如果寫1和讀數(shù)據(jù)時(shí)隙周期不為66μs會(huì)發(fā)生什么?快速1-Wire從器件支持較短的時(shí)序周期。但是,時(shí)隙周期每減小1μs,最慢的從器件的響應(yīng)時(shí)間必須快1μs。在時(shí)隙周期為60μs的極限條件下,網(wǎng)絡(luò)中能正常工作的最慢的從器件不能低于54μs。慢較的1-Wire從器件允許時(shí)隙周期超過(guò)66μs。然而,時(shí)隙周期每增加1μs,速度最快的從器件必須慢1μs以保持其在網(wǎng)絡(luò)中的可讀性。在時(shí)隙周期為74μs的極限條件下,網(wǎng)絡(luò)中能正常工作的最快的從器件不能高于23μs。隨機(jī)選擇的1-Wire從器件中不滿足上述最后一個(gè)條件的概率很低。因此,時(shí)隙周期小于64μs或大于68μs時(shí)可靠性較差。多數(shù)1-Wire從器件的速度大約為15μs到60μs這一范圍的中心值,低于54μs的器件比較罕見(jiàn)。
由于選擇的tDSO值也適用于寫0時(shí)隙時(shí)再充電的tREC0,因此tREC0應(yīng)盡可能設(shè)為最大值。該值取最大值決定了tLOW1 = 8μs和tDSO = 9μs時(shí)器件性能較佳(表3中的高亮部分)。再?gòu)膹钠骷慕嵌葋?lái)分析寫0時(shí)隙,從器件在tLOW0大約3μs后啟動(dòng)定時(shí)器并在60μs后讀數(shù)據(jù)(采樣)。由于時(shí)隙開(kāi)始57μs之后tLOW0結(jié)束,因此6μs后從器件開(kāi)始采樣,此時(shí)tREC0幾乎結(jié)束。為了保證從器件不錯(cuò)過(guò)寫0時(shí)隙的最后一閣采樣點(diǎn),其時(shí)基絕不能低于54μs。該要求也保證了讀0時(shí)隙的最短恢復(fù)時(shí)間和寫0時(shí)隙一樣,即9μs。
附錄B
DS2480B可以驅(qū)動(dòng)多少個(gè)從器件?
這一問(wèn)題并不能簡(jiǎn)單的回答。1-Wire從器件與理想電容器還是有些區(qū)別。不過(guò),可以用一個(gè)電容模型來(lái)描述其工作情況,電壓低于某一固定值時(shí)該電容模型呈現(xiàn)低容值,電壓大于該值時(shí)該電容模型呈現(xiàn)高容值。大電容值相當(dāng)于寄生電源電容,用于從器件的再充電過(guò)程。為加快充電過(guò)程,DS2480B用2級(jí)電流源代替電阻。開(kāi)始時(shí)先用小電流IWEAKPU充電,然后再采用較大電流IACTPU充電。圖4中上升沿詳細(xì)描述了這一過(guò)程。
圖4. 上升沿
在t1時(shí)刻,下拉(主機(jī)或從器件)結(jié)束且弱上拉電流開(kāi)始對(duì)1-Wire總線充電。總線上的負(fù)載和DS2480B的IWEAKPU值決定了上升斜率。在t2時(shí)刻,總線電壓超過(guò)門限電壓VIAPO。此時(shí)DS2480B充電電流切換到相對(duì)較大的電流IACTPU。因此,1-Wire總線電壓開(kāi)始快速上升。當(dāng)t3時(shí)刻電壓超過(guò)門限VIAPYO時(shí),定時(shí)器開(kāi)始計(jì)時(shí),使IACTPU繼續(xù)保持2μs (tAPUOT,伸縮模式)或0.5μs (高速模式)。定時(shí)結(jié)束后,IWEAKPU繼續(xù)為1-Wire總線供電,直到DS2480B啟動(dòng)下一個(gè)時(shí)序或通訊周期。
采用恒定電流源對(duì)電容充電可以使用下面的公式進(jìn)行描述:
V(t) = ICHARGE × t / C(等式1)
設(shè)定V(t) = VIAPO,令I(lǐng)WEAKPU等于ICHARGE,可以從等式(1)中得到到達(dá)門限值VIAPO的時(shí)間t2等于:
t2 = C × VIAPO / IWEAKPU(等式2)
t2時(shí),充電電流從IWEAKPU變?yōu)镮ACTPU,并持續(xù)充電使電壓由VIAPO達(dá)到并超過(guò)VIAPYO。將等式2展開(kāi)可推導(dǎo)出充電至VIAPRO的時(shí)間t3等于:
t3 = C × [(VIAPTO - VIAPO) / IACTPU + VIAPO / IWEAKPU](等式3)
估算DS2480B可以驅(qū)動(dòng)的從器件數(shù)目時(shí),有必要將再充電過(guò)程分為三個(gè)階段,并對(duì)每階段進(jìn)行單獨(dú)分析。
Phase 1 | Recharge from 0 to 3.6V, the lowest VIAPTO. The end of this phase approximately coincides with the beginning of the slave's recharge. The slave's low capacitance applies. |
Phase 2 | Recharge continues with IACTPU until tAPUOT expires. The slave's high capacitance applies. |
Phase 3 | Recharge continues with IWEAKPU until the next time slot begins. The slave's high capacitance applies. |
估算DS2480B可以驅(qū)動(dòng)的從器件數(shù)目時(shí),有必要將再充電過(guò)程分為三個(gè)階段,并對(duì)每階段進(jìn)行單獨(dú)分析。 充電周期第1階段用等式3計(jì)算。第2階段用等式1計(jì)算,令I(lǐng)CHARGE等于IACTPU,t等于tAPUOT。這樣可以得到在剩余時(shí)間內(nèi)IACTPU繼續(xù)充電所引起的電壓增量。對(duì)于第三階段,計(jì)算充電剩余時(shí)間,并用等式1確定IWEAKPU引起的額外電壓變化。在給定從器件數(shù)目條件下,如果第2階段和第3階段時(shí)VIAPYO的電壓變化導(dǎo)致其高于或等于工作電壓,則器件完成了完全充電。能夠滿足這一條件的最大從器件數(shù)就是所期望的結(jié)果。這種算法可以用電子表格來(lái)實(shí)現(xiàn),其中從器件數(shù)目做為變量。
經(jīng)過(guò)上述計(jì)算后,可得到伸縮模式下可驅(qū)動(dòng)的從器件數(shù)目是31。注意,該數(shù)字是一個(gè)保守的估計(jì)。實(shí)際可驅(qū)動(dòng)的從器件數(shù)目要更多。表4列出了計(jì)算時(shí)用到的輸入?yún)?shù)值。
表4. 伸縮模式下計(jì)算可驅(qū)動(dòng)的從器件數(shù)目時(shí)用到的參數(shù)值
Parameter | Value | Comment |
Operating voltage | 5V | Nominal value |
Slave low capacitance | 50pF | High estimate, actual value could be lower |
Slave high capacitance | 600pF | Typical value |
VIAPO threshold | 1V | Typical value |
Phase 1 threshold | 3.6V | Lowest VIAPTO specification value |
Weak pullup current | 1.5mA | Lowest IWEAKPU specification value |
Active pullup current | 9mA | Lowest IACTPU specification value |
Active current continuation | 2μs | The continuation timer starts at VIAPTO |
Recovery time | 9μs | tRECO |
相同條件下,高速模式可算出可驅(qū)動(dòng)9個(gè)從器件。考慮電纜電容時(shí),必須確認(rèn)第1階段的持續(xù)時(shí)間不超過(guò)1μs。同樣,該數(shù)字也是一個(gè)保守的估計(jì)。實(shí)際可驅(qū)動(dòng)的從器件數(shù)目要更多。表5列出了計(jì)算時(shí)用到的參數(shù)值。
表5. 高速模式下計(jì)算可驅(qū)動(dòng)的從器件數(shù)目時(shí)用到的參數(shù)值
Parameter | Value | Comment |
Operating voltage | 5V | Nominal value |
Slave low capacitance | 50pF | High estimate, actual value could be lower |
Slave high capacitance | 600pF | Typical value |
VIAPO threshold | 1V | Typical value |
Phase 1 threshold | 3.6V | Lowest VIAPTO specification value |
Weak pullup current | 1.5mA | Lowest IWEAKPU specification value |
Active pullup current | 9mA | Lowest IACTPU specification value |
Active current continuation | 0.5μs | The continuation timer starts at VIAPTO |
Recovery time | 3μs | tRECO |
注意,為簡(jiǎn)單起見(jiàn),假定從器件開(kāi)始再充電的時(shí)間與電壓到達(dá)VIAPYO的時(shí)間重合。實(shí)際再充電可能開(kāi)始的早一些或遲一些,與數(shù)據(jù)流成動(dòng)態(tài)變化。再充電開(kāi)始的越早,到達(dá)VIAPYO越晚,以補(bǔ)償額外充電所需的能量。如果再充電開(kāi)始較晚,充電需要的能量較少;第1階段的持續(xù)時(shí)間越短,第3階段補(bǔ)償?shù)臅r(shí)間就越長(zhǎng)。
注意,這些計(jì)算不考慮連接主機(jī)和從器件的電纜的電容。如需得出采用某一特定的電纜可以支持多少?gòu)钠骷扔?jì)算出電纜電容,并在計(jì)算第1階段持續(xù)時(shí)間以及第2和第3階段電壓變化量時(shí)將其計(jì)入從器件總電容。
附錄C
網(wǎng)絡(luò)過(guò)載條件
1-Wire總線有兩種類型的過(guò)載,容性過(guò)載和直流過(guò)載。電容過(guò)載表現(xiàn)為恢復(fù)時(shí)間不足。它通常表現(xiàn)為寫0時(shí)隙末尾的一個(gè)毛刺,即再充電未完成時(shí)就開(kāi)始下一個(gè)時(shí)序。如果遵從本應(yīng)用筆記中的建議進(jìn)行設(shè)置和加載,不大可能發(fā)生電容過(guò)載。如果1-Wire和GND之間接一個(gè)阻值約為3kΩ的電阻,則會(huì)發(fā)生直流過(guò)載。額外的“漏電流”導(dǎo)致恢復(fù)時(shí)間內(nèi)1-Wire電壓跌至低于驅(qū)動(dòng)器的電源電壓。如果出現(xiàn)這種情況,將在上升沿出現(xiàn)直流過(guò)載,如圖5所示。1-Wire電壓升至VDD后,一旦IACTPU結(jié)束,1-Wire電壓將降至較低的電壓。
圖5. 上升沿DC過(guò)載
評(píng)論
查看更多