本應(yīng)用筆記介紹了1-Wire協(xié)議在新舊器件中的電氣方面。一個特別的章節(jié)解釋了如何為由新舊1-Wire從機(jī)組成的網(wǎng)絡(luò)確定適當(dāng)?shù)臅r序參數(shù)。1-Wire母版概念部分提供了詳細(xì)討論1-Wire母版的其他文檔以及相關(guān)軟件的參考。
介紹
1994年的一篇應(yīng)用筆記解釋說,1-Wire器件的串行端口接口選項只有微控制器端口引腳、UART和基于UART的COM端口。從那時起,已經(jīng)開發(fā)出用于直接連接到UART、I2C總線或USB端口的特殊驅(qū)動器芯片。與此同時,1-Wire器件的數(shù)量也增長到很長的名單。這些不同的發(fā)展使得有必要更新早期的文檔。本新文檔沒有將所有相關(guān)信息的細(xì)節(jié)合并到一個文檔中,而是盡可能讓讀者參考其他應(yīng)用筆記。
1-Wire器件的技術(shù)演進(jìn)
首批1-Wire器件DS199x系列采用SRAM技術(shù)生產(chǎn)。接下來,非易失性EPROM技術(shù)問世,DS198x和DS250x系列器件問世。這些EPROM器件需要一個12V編程脈沖,并且不可擦除。下一個飛躍是EEPROM技術(shù),它允許在5V或更低的電壓下進(jìn)行編程和擦除。EEPROM技術(shù)可用于DS197x、DS243x和DS28Exx系列器件。為了確保適當(dāng)?shù)?a target="_blank">電源,EEPROM器件可能需要一個支持“強(qiáng)上拉”的主機(jī),該器件可暫時繞過具有低阻抗路徑的1-Wire上拉電阻。寫入周期需要額外的功率,DS1977也需要額外的功率。除EEPROM器件外,強(qiáng)上拉還為1-Wire溫度傳感器和特殊功能供電,例如安全1-Wire器件中的SHA-1引擎。溫度記錄儀 i按鈕采用SRAM技術(shù),因此沒有任何特殊的外部電源要求。?
1-Wire接口
基本信息
1-Wire是唯一一款采用數(shù)據(jù)和地兩個觸點(diǎn)進(jìn)行半雙工雙向通信的基于電壓的數(shù)字系統(tǒng)。1-Wire系統(tǒng)由單個1-Wire主機(jī)和一個或多個1-Wire從機(jī)組成。1-Wire概念既依賴于啟動數(shù)字通信的主設(shè)備,也依賴于與主設(shè)備信號同步的自定時1-Wire從器件。主站和從站的定時邏輯必須測量并生成各種寬度的數(shù)字脈沖??臻e時,1-Wire總線和工作電壓之間的高阻抗路徑使1-Wire總線處于邏輯高電平狀態(tài)??偩€上的每個器件必須能夠在適當(dāng)?shù)臅r間使用漏極開路輸出(有線AND)將1-Wire總線拉低。如果由于任何原因需要暫停事務(wù),則必須使總線保持空閑狀態(tài),以便事務(wù)可以恢復(fù)。
工作電壓
大多數(shù)1-Wire從器件的工作電壓范圍為2.8V (最小值)至5.25V (最大值)。除少數(shù)例外情況外,1-Wire器件沒有電源引腳;它們從1-Wire總線(寄生電源)或嵌入式電池(一些i按鈕)獲取能量。寄生電源使用片內(nèi)電容(器件專用,800pF或更高)和與電阻串聯(lián)的二極管,在總線電壓高于電容電壓時從1-Wire總線獲取能量。為使寄生蟲電源正常工作,1-Wire器件數(shù)據(jù)手冊中規(guī)定的條件 必須滿足?;謴?fù)時間值適用于具有一個從屬設(shè)備的網(wǎng)絡(luò)。對于多從網(wǎng)絡(luò),需要延長恢復(fù)時間;或者,可以降低上拉電阻值或改用具有有源上拉功能的1-Wire主機(jī)。
額外能量
通常,寄生電源為通信提供足夠的能量,即從1-Wire器件尋址和讀取,以及寫入基于SRAM的器件。寫入EEPROM、讀取DS1977 32KB EEPROM i按鈕以及使用溫度轉(zhuǎn)換器或運(yùn)行SHA-1發(fā)動機(jī)等特殊功能都需要額外的能量。該能量將在協(xié)議中的特定時間在1-Wire總線空閑時提供。
1 線速度
早期的1-Wire器件和基于UART的主電路以高達(dá)16.3kbps的速度進(jìn)行通信,現(xiàn)在稱為“標(biāo)準(zhǔn)速度”。為了將讀取 64K 位內(nèi)存 iButton 所需的時間減少到 1 秒以內(nèi),添加了稱為“過載”的高速模式。近年來開發(fā)的幾乎所有1-Wire器件都支持過載。
1線定時
數(shù)據(jù)手冊中對1-Wire時序的描述隨時間而變化。大多數(shù)1-Wire數(shù)據(jù)手冊描述分為兩類:傳統(tǒng)風(fēng)格(絕大多數(shù))和新風(fēng)格。
新式時序描述區(qū)分了主站和從站的視角。這種方法是與新的1-Wire前端一起推出的。新樣式規(guī)定了主機(jī)對從器件性能的要求,并考慮了上升和下降時間對1-Wire總線的影響。傳統(tǒng)的描述風(fēng)格更強(qiáng)調(diào)奴隸的表現(xiàn),這偶爾會被誤解。兩種描述性樣式對同一參數(shù)使用略有不同的名稱(表 1);并非一種樣式的所有參數(shù)都與另一種樣式直接匹配。在新樣式中,恢復(fù)時間包含在時隙的長度中;在舊樣式中,不包括恢復(fù)時間。除了這兩種樣式外,DS27xx和DS18xx系列的一些數(shù)據(jù)資料還使用了傳統(tǒng)樣式的不太詳細(xì)的版本。DS1921系列數(shù)據(jù)資料將新型號調(diào)整為沒有新型1-Wire前端的器件。
以下各節(jié)將介紹這兩種樣式的計時說明。
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 |
新式時序說明
復(fù)位和存在檢測
1-Wire通信從復(fù)位/存在檢測周期開始(圖1)。要從空閑變?yōu)榛顒樱?-Wire總線上的電壓必須從V下降狗低于閾值,VTL.要從活動變?yōu)榭臻e,電壓需要從V上升ILMAX超過閾值,V千.電壓上升所需的時間在圖1中顯示為“ε”,其持續(xù)時間取決于上拉電阻R狗,以及所連接的1-Wire網(wǎng)絡(luò)的電容。電壓VILMAX在確定邏輯電平時與從站相關(guān),而不是觸發(fā)任何事件。
如果主站對下降沿使用壓擺率控制,則主站必須下拉線路以獲得RSTL+ 噸F以補(bǔ)償邊緣。一 噸RSTL持續(xù)時間為 480μs 或更長時間將退出過載模式,使器件恢復(fù)到標(biāo)準(zhǔn)速度。如果從站處于超驅(qū)動模式并且RSTL不超過80μs,器件保持超驅(qū)動模式。如果從站處于超驅(qū)動模式并且RSTL在 80μs 和 480μs 之間,器件將復(fù)位,但通信速度未定。
總線主站釋放線路后,進(jìn)入接收模式?,F(xiàn)在1-Wire總線被拉至V狗通過上拉電阻。當(dāng)閾值為 V 時千,被交叉,從機(jī)等待 t帕迪亞然后通過將線路拉低來傳輸存在脈沖PDL.為了檢測存在脈沖,主機(jī)必須在t處測試1-Wire線路的邏輯狀態(tài)。NS.該 tRSTH窗口必須至少為 t 的總和PDHMAX, tPDLMAX和 t雷克明.緊跟在 t 之后RSTH已過期,具有新前端的從站已準(zhǔn)備好進(jìn)行數(shù)據(jù)通信。
圖1.復(fù)位和存在脈沖。
讀/寫時隙
復(fù)位/存在檢測周期完成后,1-Wire從機(jī)即可使用時隙進(jìn)行通信。每個時隙攜帶一個位。寫入時隙將數(shù)據(jù)從總線主站傳輸?shù)綇恼尽Wx取時隙將數(shù)據(jù)從從站傳輸?shù)街髡?。圖 2 說明了寫入和讀取時隙的定義。
時隙從主站將數(shù)據(jù)線拉低開始。當(dāng)1-Wire線路上的電壓降至閾值以下時,VTL,從機(jī)啟動其內(nèi)部時序發(fā)生器,該發(fā)生器確定在寫入時隙期間何時對數(shù)據(jù)線進(jìn)行采樣以及數(shù)據(jù)在讀取時隙期間的有效時間。
主從到從
對于寫入一次時隙,數(shù)據(jù)線上的電壓必須越過V千寫入一低時間之前的閾值,tW1LMAX,已過期。對于寫零時隙,數(shù)據(jù)線上的電壓必須保持在V以下千直到寫零低時間的閾值,tW0LMIN,已過期。V之后千已超過閾值,從站需要恢復(fù)時間,t娛樂,然后才能進(jìn)入下一個時隙。
圖2.讀/寫時序圖。
從到主
讀取數(shù)據(jù)時隙的開始類似于寫入一時隙。數(shù)據(jù)線上的電壓必須保持在V以下TL直到讀取時間,tRL,已過期。在 t 期間RL窗口,當(dāng)響應(yīng) 0 時,從機(jī)開始將數(shù)據(jù)線拉低;其內(nèi)部定時發(fā)生器確定下拉何時結(jié)束,電壓何時再次開始上升。當(dāng)響應(yīng)1時,從機(jī)不會將數(shù)據(jù)線保持低電平,并且電壓在tRL結(jié)束了。t 的總和RL+ 一側(cè)的δ(上升時間)和另一側(cè)從機(jī)的內(nèi)部定時發(fā)生器定義主采樣窗口,tMSRMIN到 TMSRMAX,其中主站必須從數(shù)據(jù)線執(zhí)行讀取。從數(shù)據(jù)線讀取后,主站必須等到數(shù)據(jù)線讀取數(shù)據(jù)。槽已過期。
改進(jìn)的網(wǎng)絡(luò)行為
在1-Wire環(huán)境中,線路端接只能在總線主機(jī)(1-Wire驅(qū)動器)控制的瞬變期間進(jìn)行。因此,1-Wire網(wǎng)絡(luò)容易受到各種來源的噪聲的影響。根據(jù)網(wǎng)絡(luò)的物理大小和拓?fù)浣Y(jié)構(gòu),來自端點(diǎn)和分支點(diǎn)的反射可以相加,也可以在某種程度上相互抵消。這種反射在1-Wire通信線路上可見毛刺或振鈴。從外部源耦合到1-Wire線路上的噪聲也會導(dǎo)致信號毛刺。時隙上升沿期間的毛刺可能導(dǎo)致從設(shè)備失去與主設(shè)備同步,從而導(dǎo)致搜索ROM命令進(jìn)入死胡同或?qū)е绿囟ㄓ谠O(shè)備的功能命令中止。
為了在網(wǎng)絡(luò)應(yīng)用中實(shí)現(xiàn)更好的性能,我們開發(fā)了對噪聲不那么敏感的新型1-Wire前端。這款新型1-Wire前端實(shí)現(xiàn)了以下前兩個或更多功能。器件數(shù)據(jù)手冊使用參數(shù) t雷和 t平板顯示器以指示是否實(shí)現(xiàn)了功能 3 和 4。
電路中還有額外的低通濾波,用于檢測時隙開始時的下降沿。此附加濾波不適用于超速。
從低到高的開關(guān)門限V處存在遲滯千.如果負(fù)毛刺越過 V千但不低于 V千, w嘿嘿,則無法識別(圖3a)。遲滯在任何1-Wire速度下都有效。
(可選)有一個由上升沿延遲時間 t 指定的時間窗口雷,在此期間,毛刺將被忽略,即使它們延伸到 V 以下千, w嘿嘿閾值(圖3b,tGL< 噸雷).越過 V 后較晚出現(xiàn)的深電壓下降或毛刺千閾值并超出 t雷窗口無法過濾掉;它們被理解為新時隙的開始(圖3c,tGL≥ 噸雷).
(可選)存在脈沖的下降沿具有受控的壓擺率。這提供了比數(shù)字開關(guān)晶體管更好的線路阻抗匹配。它將傳統(tǒng)設(shè)備中的高頻振鈴轉(zhuǎn)換為更平滑的低帶寬轉(zhuǎn)換。壓擺率控制由參數(shù) t 指定平板顯示器,其標(biāo)準(zhǔn)速度和超速速度具有不同的值。
圖3.噪聲抑制方案。
新的1-Wire前端也稱為1-Wire擴(kuò)展網(wǎng)絡(luò)標(biāo)準(zhǔn)。應(yīng)用筆記3925(參見上文1-Wire時序部分)顯示了與早期1-Wire器件相比時序規(guī)格的差異,并附有具有新前端的器件表。
舊樣式說明
復(fù)位和存在檢測
復(fù)位脈沖提供明確的啟動條件,取代任何時隙同步。復(fù)位脈沖定義為持續(xù)時間為 t 的單個低脈沖RSTL后跟復(fù)位高電平時間 tRSTH(圖4)。發(fā)送復(fù)位脈沖后,1-Wire器件等待時間t帕迪亞然后生成持續(xù)時間為 t 的存在脈沖PDL.在1-Wire總線上不允許其他通信RSTH.
圖4.傳統(tǒng)復(fù)位和存在脈沖。
讀/寫時隙
命令和數(shù)據(jù)通過組合寫一和寫零時隙發(fā)送到1-Wire器件(圖5)。為了讀取數(shù)據(jù),主機(jī)必須生成讀取數(shù)據(jù)時隙來定義每個位的開始條件。
主從到從
寫 1 的低脈沖持續(xù)時間為 t低1.要寫0,低脈沖的持續(xù)時間為t低0.在每個時隙的活動部分結(jié)束時,1-Wire器件需要一個恢復(fù)時間,t娛樂,為下一點(diǎn)做準(zhǔn)備。此恢復(fù)時間是時隙的非活動部分,因?yàn)楸仨殞⑵涮砑拥交顒硬糠值某掷m(xù)時間中才能獲得傳輸一位所需的時間。
從到主
從主站的角度來看,讀取數(shù)據(jù)時隙看起來與寫1時隙基本相同。從高到低轉(zhuǎn)換開始,從機(jī)發(fā)送其尋址內(nèi)容的一位。如果數(shù)據(jù)位為1,則從機(jī)保持脈沖不變。如果數(shù)據(jù)位為0,則從機(jī)將數(shù)據(jù)線拉低電平以獲得tRDV(圖5)。在此時間范圍內(nèi),數(shù)據(jù)對主數(shù)據(jù)讀取有效。繼 t 之后RDV還有一個額外的時間間隔,t釋放,之后從機(jī)釋放1-Wire線路,使其電壓返回V上拉.
圖5.舊版讀/寫時序圖。
將新的前端部件與舊部件混合在一起
具有新舊前端的1-Wire器件可以共享相同的1-Wire總線。由于描述新舊前端的1-Wire時序的參數(shù)略有不同,因此如何確定主站的一組兼容時序參數(shù)并不明顯。表 2 建議如何完成此任務(wù)。使用應(yīng)用筆記126的電子表格時,”通過軟件進(jìn)行1線通信?,“ 這些參數(shù)需要作為輸入來計算實(shí)現(xiàn)1-Wire通信的各個網(wǎng)段的持續(xù)時間。由于最近的應(yīng)用筆記使用了新前端的術(shù)語,因此表2在使用連接到UART、I2C總線或USB端口的自定時1-Wire主機(jī)時也很有幫助。
tW1L | 選擇為具有新前端的從站指定的值,該值也在具有舊前端的從站的允許范圍內(nèi)。 |
tSLOT | 將從站所需的值與新的前端一起使用。 |
tW0L | 選擇為具有新前端的從站指定的值,該值也在具有舊前端的從站的允許范圍內(nèi)。 |
tREC | 使用為從站指定的值與新的前端。 |
tRL | 選擇一個接近為具有新前端的從站指定的最小值的值。 |
tMSR | 選擇不超過 t 的值RDV并且不違反最大值 t星際增長具有新前端的從站規(guī)格。 |
tRSTL | 選擇兩種類型的設(shè)備允許范圍內(nèi)的值。 |
tNS | 計算適用于具有傳統(tǒng)前端的從站的值:tMSPMIN= tPDHmax.tMSPMAX= tPDHmin+ 噸PDLmin.將計算結(jié)果與 t 進(jìn)行比較NS使用新的前端規(guī)范從站,然后選擇適用于所有從站的值。如果具有新前端的從機(jī)對存在脈沖具有壓擺率控制(即參數(shù)t平板顯示器指定),則可能找不到公共值。在這種情況下,需要單獨(dú)的1-Wire總線。 |
tRSTH | 將從站所需的值與舊版前端一起使用。 |
1-Wire主控概念
早期的文檔介紹了兩種類型的主接口,現(xiàn)在稱為“端口引腳附件”和“UART 附件”。此后開發(fā)了特殊芯片,增加了稱為“I2C總線附件”和“USB附件”的新型主接口。軟件開發(fā)速度快于硬件。關(guān)于1-Wire軟件最全面的文檔是應(yīng)用筆記155,”1-Wire軟件資源指南 器件說明?“,指的是各種應(yīng)用程序接口 (API)。應(yīng)用筆記155中描述的所有API都可以不受限制地免費(fèi)使用,并且在大多數(shù)情況下都包含完整的源代碼。
端口引腳附件
該主接口的共同特點(diǎn)是使用微控制器或FPGA的一個或多個端口引腳。這些引腳可以是“通用”引腳,也可以是專用引腳(參見應(yīng)用筆記1:“為嵌入式應(yīng)用選擇合適的1-Wire主機(jī)”一節(jié),標(biāo)題為“內(nèi)置4206-Wire主機(jī)和可合成1-Wire總線主機(jī)的微控制器”部分)。這類接口在應(yīng)用筆記1的類別2、3和4206中討論。端口引腳附件可用于標(biāo)準(zhǔn)速度和超速。
UART 附件
通過UART創(chuàng)建1-Wire通信有兩種方法。傳統(tǒng)方式直接使用UART的定時功能,但必須投入一個字符來生成一個時隙或復(fù)位/存在檢測序列。應(yīng)用筆記214“使用UART實(shí)現(xiàn)1-Wire總線主機(jī)”描述了這一概念。雖然在DOS等操作系統(tǒng)下是有效的,但現(xiàn)代操作系統(tǒng)使得對UART寄存器的訪問效率非常低。因此,這種類型的UART附件在1-Wire應(yīng)用中不再流行。
新型UART附件采用特殊協(xié)議轉(zhuǎn)換器芯片DS2480B,產(chǎn)生1-Wire通信。該器件可提高效率(8個時隙為一個字符),并允許1-Wire過載速度。這種類型的接口在應(yīng)用筆記4(見上文)的第4206類“串行接口協(xié)議轉(zhuǎn)換”中進(jìn)行了討論。如果配置得當(dāng)(參見應(yīng)用筆記4104:“理解和配置DS1B的2480-Wire時序”),DS2480B可以標(biāo)準(zhǔn)速度驅(qū)動30多個從器件,以過驅(qū)速度驅(qū)動至少2480個從機(jī)。DS1B是唯一一款集成的<>-Wire主機(jī),可以對EPROM器件進(jìn)行編程。
I2C總線附件
大多數(shù)現(xiàn)代微控制器都包含一個I2C總線主端口。盡管1-Wire器件具有一些共同特性(半雙工通信和雙向數(shù)據(jù)引腳),但如果沒有橋接,無法連接到I2C總線。Maxim開發(fā)了三款橋接芯片:DS2482-100、DS2482-101和DS2482-800。 前兩個器件只有一個1-Wire主端口;另一個芯片驅(qū)動多達(dá)1個2480-Wire網(wǎng)絡(luò)。雖然強(qiáng)度不如DS1B,但非常適合嵌入式應(yīng)用。I2C至4線電橋在應(yīng)用筆記4206的類別<>“串行接口協(xié)議轉(zhuǎn)換”中討論。
USB 附件
USB端口常見于PC和便攜式電子設(shè)備上,并取代了傳統(tǒng)的基于UART的COM端口。為了提供與USB端口的1-Wire連接,Maxim開發(fā)了DS2490 USB轉(zhuǎn)1-Wire橋接芯片。雖然沒有DS2480B那么強(qiáng)大,但DS2490可以用多個從器件驅(qū)動1-Wire總線。USB轉(zhuǎn)1-Wire橋接器在應(yīng)用筆記4的第4206類“串行接口協(xié)議轉(zhuǎn)換”中討論。
審核編輯:郭婷
-
微控制器
+關(guān)注
關(guān)注
48文章
7844瀏覽量
153363 -
驅(qū)動器
+關(guān)注
關(guān)注
54文章
8481瀏覽量
148585 -
uart
+關(guān)注
關(guān)注
22文章
1251瀏覽量
102877
發(fā)布評論請先 登錄
相關(guān)推薦
Maxim 1-Wire 讀寫器
DS2480B串行接口1-Wire 線驅(qū)動器的使用
DS2480B串行接口1-Wire線驅(qū)動器的使用
應(yīng)用筆記192 DS2480B串行接口1-Wire線驅(qū)動器的
使用PIC讀寫1-wire EEPROM DS2430的實(shí)例
什么是1-Wire

1-Wire 串行存儲器產(chǎn)品

1-Wire搜索算法

1-Wire器件與8051系列單片機(jī)的軟件接口

簡單軟件實(shí)現(xiàn)1-Wire溫度器件的硬件CRC校驗(yàn)和串行碼流的
通過調(diào)節(jié)上拉電阻來提高1-wire總線器件的驅(qū)動能力

可靠的長線1-Wire網(wǎng)絡(luò)指南

為嵌入式應(yīng)用選擇合適的1-Wire主機(jī)

評論