| 摘要:1-Wire網(wǎng)絡(luò)(又稱MicroLAN)是一種基于PC或微控制器的低成本網(wǎng)絡(luò),可通過雙線與1-Wire元件進行通信。文中介紹了1-Wire網(wǎng)絡(luò)的工作機理以有影響數(shù)據(jù)傳輸必能的關(guān)鍵因素。 關(guān)鍵詞:1-Wire 數(shù)據(jù)傳輸 微控制器 網(wǎng)絡(luò) 1-Wire網(wǎng)絡(luò)一般通過雙絞線與1-Wire元件進行數(shù)字通信,它們通常被定義為漏極開路(經(jīng)與)端口、主/從式多點結(jié)構(gòu),而且一般都在主機端上接一個上拉電阻至5V電源;1-Wire網(wǎng)絡(luò)的系統(tǒng)通常包括主機與相關(guān)控制軟件、連線和相關(guān)連接器以及1-Wire器件等,該網(wǎng)絡(luò)系統(tǒng)具有嚴(yán)謹(jǐn)?shù)目刂平Y(jié)構(gòu),一般在沒有主機呼叫的情況下,任何從機不得應(yīng)答,因此不能與主機進行通信。在組成1-Wire網(wǎng)絡(luò)時,任何具有1.8MHz時鐘的任何標(biāo)準(zhǔn)微控制器(例如8051)以及使用速率可達115.2kbps UART的PC都可作為該網(wǎng)絡(luò)的主機。并可通過創(chuàng)建長、短時隙來對二進制1和0進行編碼。如果PC機采用14.4kbps的數(shù)據(jù)速率(115.2/8=14.4kbps),那么,它可在7ms之內(nèi)對總線上的某個節(jié)點進行尋址并開始接收數(shù)據(jù)。由于UART的控制定時作用,微處理器的時鐘速度一般不影響搜索時間。 1 驅(qū)動器的擺率控制 在采用COM端口適配器的典型系統(tǒng)上運行1-Wire操作系統(tǒng)軟件(TMEX)時,UART控制將以8.68μs的時間間隔進行通信。通信周期從主機內(nèi)的晶體管將總線置為邏輯0開始,由1至0的跳變是所有1-Wire通信的同步沿。1-Wire上的從機只在適當(dāng)?shù)臅r候保持為0,上拉電阻在主從設(shè)備都釋放總線后將總線置為高電平,ROM搜索過程需要識別總線上的設(shè)備。1-Wire通信中最為關(guān)鍵的部分是讀數(shù)據(jù)的時隙,尤其是在傳輸邏輯1的時候。一般情況下,總線上都掛接有許多設(shè)備,這些設(shè)備中的信號在電纜上傳輸具有一定的時間延遲,因此,每個設(shè)備檢測到的由主機發(fā)出的下降沿時間略不同。信號在總線上的傳輸延遲必須小于一個數(shù)據(jù)位間隔的一半。也就是說,信號的往返傳送時間必須低于4.3μs(8.68μs除以2),否則,總線將無法檢測到設(shè)備。 在COM端口適配器中,有一個在PC或微處理器控制下能夠完全導(dǎo)通或完全斷開的有源下拉晶體管。該晶體管導(dǎo)通時,它所生成的下降沿向網(wǎng)絡(luò)發(fā)出信號,斷開后,總線將由上拉電阻置為高電平。利用低阻有源下拉晶體管產(chǎn)生邏輯0可以提高系統(tǒng)的快速響應(yīng)能力,以使信號的下降時間位于1μs范圍之內(nèi)。如果導(dǎo)通時間少于信號在電纜上的傳輸時間,由于1-Wire網(wǎng)絡(luò)工作在傳輸線環(huán)境中,那么來自電纜終端的反射可能會導(dǎo)致通信中斷。 通常需要在電纜終端接上一個阻值等于特征阻抗的的匹配電阻,匹配電阻可吸收由于阻抗的不匹配而產(chǎn)生的信號反射。然而, 推薦選用的電纜具有100Ω的特片阻抗,如果在電纜終端接100Ω匹配電阻,那么,對于可接受的上拉電阻將無法生成邏輯“1”電平,幸運的是,1-Wire從機內(nèi)部的端口晶體管具有100Ω的導(dǎo)通電阻,這樣,總線在其電纜終端打開時即可獲得適當(dāng)?shù)倪m端匹配。在有些1-Wire網(wǎng)絡(luò)中,需要把電阻和電容串聯(lián)接地進行交流匹配。由于電容充電后對直接開路,因此,串聯(lián)電阻不增加總線負(fù)載。由于電容的選擇可依據(jù)數(shù)據(jù)上升時間除以電纜阻抗、再乘以3來確定。因此,在100Ω電纜上的電升時間為4μs時,亂用的電容大小為0.1μF。交流匹配的缺點在于終端電容的充電、放電所產(chǎn)生的時間抖動制約了數(shù)據(jù)傳輸。 由于無法按其特征阻抗在電纜終端加匹配電阻,所以在設(shè)計時必須對總線主機上拉晶體管擺率進行控制。如果總線長度為100米或更長,推薦使用1.1V/μs的擺率。這樣,當(dāng)由1到0躍變時,大約需要4μs時間才能下降至0.8V的邏輯低電平閾值。由于1-Wire器件中的端口晶體管在主機將總線拉低后只保持低電平,所以一般不存在擺率問題。但輸出應(yīng)答脈沖響應(yīng)主機的復(fù)位命令時卻存在擺率問題。1-Wire從機的應(yīng)答脈沖的擺率實質(zhì)上是不受控制的。無論何種情況,當(dāng)新的1-Wire器件連接到網(wǎng)絡(luò)上時,通常均會出現(xiàn)現(xiàn)擺率突變的問題。 2 后臺應(yīng)答脈沖 如果網(wǎng)絡(luò)由一組固定的1-Wire從機構(gòu)成,那么,利用主機來產(chǎn)生“后臺應(yīng)答脈沖”即可解決其應(yīng)答脈沖的擺率控制問題。后臺應(yīng)答脈沖可由總線主機在所有可能來自從機應(yīng)答脈沖之前啟動,且持續(xù)時間必須足夠長,以便應(yīng)答啟動。 由主機產(chǎn)生的擺率控制應(yīng)答脈沖從10μs開始,在60μs處結(jié)束。隨后在70μs處生成采樣脈沖,以檢測從機是否在總線或節(jié)點上,以及是否與所查詢的器件匹配。因為總線在從機輸出應(yīng)答脈沖時已被主機置為邏輯0,因此,該技術(shù)可防止從機產(chǎn)生應(yīng)答脈沖時以較高的擺率從高電平向低電平躍變。然后,后臺應(yīng)答脈沖技術(shù)在添加新的從機器件、以及加入從機的時間不確定時將無法達到上述結(jié)果。  3 控制沿 圖1為推薦的擺率控制電路。圖中2N700為通用N溝道FET,該電路對晶體管參數(shù)的要求并嚴(yán)格。圖中的MOSFET可以用任何通用的N溝道MOSFET替代。在元件值變動較小的情況上也可以用2N2222雙極型晶體管來提供擺率控制。 4 上拉總線 在主機和從機都釋放總線上,可由上拉電阻將總線置高。由于在網(wǎng)絡(luò)上的容性負(fù)載可能會隨著1-Wire器件的添加而不斷增加,因此,數(shù)據(jù)線拉至高電平的時間也將隨之增加。另外,在網(wǎng)絡(luò)擴展時,每增加一米雙絞線就要增加50pF電容,這一點同樣會延長數(shù)據(jù)線由低電平至高電平的上升時間。圖2所示為從機個數(shù)由1到300時的上升時間隨之增大的示意圖。如果的容性負(fù)載(包括電纜、1-Wire器件、寄存電容等)和負(fù)載電阻值導(dǎo)致的時間常數(shù)(RC)超出了由1-Wire協(xié)議定義的數(shù)據(jù)位時隙,那么通信將被終止。另外,在電纜布線時,由于將電纜中不用的導(dǎo)線或屏蔽線接地會增大容性負(fù)載進而使RC時間常數(shù)增大,所以應(yīng)將這些不用的導(dǎo)線或屏蔽線保持在斷開狀態(tài)。 圖3是1-Wire網(wǎng)絡(luò)的等效電路。從圖3可以看出,1-Wire器件的輸入電容會增加網(wǎng)絡(luò)上的電容負(fù)載,而800pF寄存器電源的電容只是在電壓高于2.8V時才存在。如果在忽略寄存器電源的電容時,將總線上的上拉電阻和電纜電容以及1-Wire器件的輸入電容共同作用下的網(wǎng)絡(luò)時間常數(shù)定為t,那么,該網(wǎng)絡(luò)時間常數(shù)t即可用來決定數(shù)據(jù)線路返回邏輯“1”的速率。如果在13.02μs(數(shù)據(jù)采樣時間)內(nèi)使1-Wire電壓達到邏輯“1”所要求的閾值電壓為2.2V,那么t的值大約為22.4μs。 在使用最低為1.5kΩ負(fù)載電阻值和5V電源電壓時,假定網(wǎng)絡(luò)已達到了最大扇出能力,則電纜電容不得超過12nF。如果用典型值為50pF/m的電纜,則電纜的最大長度可達240m。如果數(shù)據(jù)采樣時間為是21.7μs,t將變?yōu)?7.4μs,所允許的電纜電容為22nF,這時,可相應(yīng)延長電纜長度。圖4所示是在總線上掛接100個1-Wire器件時的電纜電容效應(yīng)圖。其中100個1-Wire器件可以位于2米或100米電纜的末端。另外,每100米電纜將增加大約5000pF的電容。通過減小上拉電阻值可以改善上升時間,但上拉電阻應(yīng)大于1.5kΩ,因為降低上拉電阻將會提高總線上邏輯“0”電平的電壓。而使用低電容電纜、縮短電纜長度或減少總線上的器件數(shù)同樣可以改善上升時間,如果上拉電阻已經(jīng)為最小值,那么可以采用有源上拉方案來減小網(wǎng)絡(luò)時間常數(shù),以使其允許使用較小的電纜。但采用有源上拉時應(yīng)注意在傳輸線環(huán)境中控制擺率。 5 有源上拉 利用MAX6314可提供一個便捷的有源上拉方案,該芯片可用于68HC11的雙向復(fù)位。其內(nèi)部電路可以在數(shù)據(jù)線上的電壓上升到大約0.6V時,打開電流為20mA的上拉P溝道效應(yīng)管,其上升時間為2μs。由于MAX6314只是在電源電壓下降到復(fù)位閾值(預(yù)置)時就會生成邏輯“0”復(fù)位輸出。因此,在應(yīng)用到MicroLAN上時,由于重載會導(dǎo)致數(shù)據(jù)線的復(fù)們而破壞下的通信,因此,建議選用復(fù)位閾值較的元件,如MAX6314US31D3-T等,該款芯片的復(fù)位門限為3V,并允許電源在其產(chǎn)生復(fù)們之前有2V的電壓跌落范圍。MAX6314采用4引腳SOT143封裝,因此占用的PCB面積非常小。 盡管MAX6314內(nèi)含一個4.7kΩ的內(nèi)部負(fù)載電阻,但使用時最好再并聯(lián)一個2.2kΩ的外部電阻。以等效于1.5kΩ的最低上拉電阻,因為這樣可以使總線以最短的時間跨過門限電壓。該總線波形存在三個不同的區(qū)域,當(dāng)主機和1-Wire器件釋放數(shù)據(jù)線時,它將以上拉電阻和總的電容負(fù)載(RC時間常數(shù))所決定的速率上升,當(dāng)數(shù)據(jù)線電壓超過大約0.6V時,MAX6314內(nèi)部20mA的P溝道FET導(dǎo)通,從而加速總線上升到電源電壓的速度。如果總線負(fù)載較大,總線上的電壓會在上升時間超過2μs后還遠遠低于電源電壓。發(fā)生這種情況時,1.5kΩ的等效上拉電阻將繼續(xù)以總線最初釋放時的速率提升總線電壓。圖2所示的擺率曲線同時給出了這三個時段的響應(yīng)曲線,但這一組數(shù)據(jù)是采用分離方案測試的,因此,并不針對MAX6314。 6 最大扇出能力 總線上拉電阻所能提升數(shù)據(jù)線的最高電壓由上拉電阻和總線上所有器件的總空閑電流來決定,設(shè)備越多,電壓的跌落就越高,為1-Wire器件的寄生電源重新充電的最低電壓為2.8V,當(dāng)上拉電阻兩端的壓降增大使總線電壓跳至2.8V時,將達到單總線網(wǎng)絡(luò)實際扇出能力的極限值。用電源電壓(Vs)減去2.8V(最低工作電壓)再除以上拉電阻阻值,然后再將該結(jié)果除以15μA即可得出最惡劣環(huán)境時的器件電源電流。該結(jié)果為最高扇出的理論值。在電流較大、溫度較高的惡劣條件下,在使用1.5kΩ負(fù)載電阻和5V電源時,理論上可以和主機成為通信的1-Wire器件的最大個數(shù)為98。當(dāng)系統(tǒng)復(fù)位或在線檢測時,假設(shè)所有器件都吸取最大電源電流,且工作溫度范圍為-40~+85℃,那么,所有器件振蕩器的打開時間均為5個時間周期。由于1個時鐘周期通常持續(xù)30μs,那么5個時鐘周期為150μs,情況較差時可能達到255μs。如果電路設(shè)計能夠確保在內(nèi)置電容完全充電之后,那么所有1-Wire器件都可利用其內(nèi)部寄生電源在這段時間內(nèi)工作。此后,它們將吸取最大5μA的電流,此電流下所允許的總線設(shè)備數(shù)為294。此外,如果大多數(shù)設(shè)備都工作在個較小的溫度范圍內(nèi),那么便可允許更高的輸出。通常,在典型的實際環(huán)境一,當(dāng)500個1-Wire器件不間隔通信時,上拉電阻上只有1.2V的壓降。這表明在限定電源環(huán)境下,每個器件的典型空閑電流小于2μA。 |