陳起傳,余小平,龍小翠
(成都理工大學信息科學與技術學院,成都610059)
CHEN Qichuan,YUXiaoping*,LONGXiaocui
(Chengdu University of Technology,Chengdu 610059,China)
在20 m長的單總線上,多點實時測溫系統(tǒng)接入10組DS18B20器件對樣品進行溫度測量。結果發(fā)現主機漏讀了總線上離主機最遠的溫度器件的片序列號,而其余9組都能被獲取,并且能正確的讀回測量溫度值。器件漏讀的現象可能是總線分布電容和電阻引起的信號衰減所致;也可能是總線的傳輸時延,使器件信息傳輸主機時,主機漏讀溫度器件信息引起;還可能是單總線傳輸線路過長、器件過多,使得總線驅動不足引起信息錯誤所導致[1]。然而提高I/O驅動之后,發(fā)現器件遺漏仍然存在,說明提高I/O驅動能力并沒有解決器件遺漏的問題[2]。為了解決測溫器件的遺漏問題,本文通過理論分析和實驗說明傳輸延時和分布電容、電阻對單總線器件遺漏的影響。
單總線多點實時溫度測量系統(tǒng)采用C8051F340為主控制器,通過循環(huán)掃描讀取器件測量溫度值,進而使用UART通信接口將采集的溫度數據進行封裝后上傳上位機。上位機對接收到的溫度信息進行誤差處理后在上位機顯示并記錄,實現多點溫度測量的實時監(jiān)控[3-4]。單總線多點實時溫度測量系統(tǒng)框圖如圖1所示。
圖1 多點溫度采集系統(tǒng)框圖
從圖2可得主機從總線上獲取溫度器件信息時,所有溫度器件向主機發(fā)送數據在15μs內完成,15μs時間片之后總線上的器件會釋放總線。當主機拉低總線后,寫命令在總線上的傳輸延時導致總線上任意兩個溫度器件不能同時刻響應主機。如果兩個相鄰溫度器件的相距太遠,它們的數據不能同時傳輸到主機,就會發(fā)生漏讀的現象。
圖2 主機讀取總線時間片
假設總線上相鄰兩個溫度器件到主機的距離分別為0和S。主機在拉低總線15μs內讀總線,如果溫度器件數據都能被主機讀取到,那么距離為S的溫度器件數據傳到主機的時間t應滿足下式:
假設響應,數據穩(wěn)定,主機采樣時間分別為:
μs。信號在導線上的傳輸速率為v=I/nqs,那么可得不漏讀數據時兩個溫度器件間的最大距離為:
導體中電流的傳輸速率v接近光速,所以理論上任意兩個相鄰溫度器件的最大相距為Smax=3.0×108×6×10-6=1.8 km。要使主機不遺漏的獲取溫度器件,必須滿足任意兩個溫度器件間的距離滿足S<Smax。此系統(tǒng)中單總線的長度遠小于Smax,所以只要主機讀總線的時間接近15μs,就不會發(fā)生器件漏讀[5]。
主機3.3 V高電平信號在總線上傳輸時,因衰減和干擾很可能下降到溫度器件的判決門限電平以下,導致溫度器件收到主機所發(fā)的高電平被判為低電平,使單總線上離主機較遠的器件錯誤響應主機的指令,從而發(fā)生器件遺漏。信號衰減與導線電阻和分布電容有關系。單總線導線電阻R如下:
由式(3)可得:導線長度L越長,電阻R越大,電壓在總線上傳輸時總線的分壓就越大,對于溫度器件而言,信號的衰減也越大。
總線采用信號線與地線平行的連接方式的等效分布電容,如圖3所示。
圖3 單總線分布電容模型
圖中C1…Cn為單總線上n個器件對應的分布電容,器件分布電容一般為固定數值。C為導線對地的分布電容,由式(4)可得:
其中D為信號線到地線的距離,d為傳輸數據線的直徑,L為傳輸數據線的長度,ε0為真空介電常數??梢钥闯霾捎猛N導線時,總線長度L越長C越大,接入器件數量n越大,分布電容C1∥…∥Cn的值越大。所以單總線上接入的器件越多,總線長度越長,總線的分布電容就越大。因而,到達主機距離最遠的溫度器件對地的交流阻抗越小,器件的交流分壓就越小,因此到達溫度器件時信號衰減就越大[6]。
由于單總線的長度越長導線的電阻和分布電容越大,信號在傳輸線上的衰減就越快,導致高電平數據傳輸到較遠的溫度器件時,信號衰減到溫度器件判決門限電平以下,致使其接收到的主機指令發(fā)生錯誤,導致較遠溫度器件無法響應主機,發(fā)生遺漏現象[7]。
為解決器件遺漏的問題,需要采取措施使主機數據傳輸到溫度器件時,不至于衰減到溫度器件判決門限以下。下面提出兩個解決辦法:一個是改變單總線的網絡拓撲結構;另一個是提高總線高電平的電壓幅值。
總線型的網絡拓撲結構要求所有的器件接在一條導線上,增加器件數量時,需要增加總線的長度。這不僅會使離主機較遠的器件收到的主機信號嚴重衰減,而且不利于多點分散式溫度測量布線的實現。改變總線的拓撲結構,不僅可以減小總線長度增加帶來的總線電阻分壓,還能夠在一定程度上提高溫度測量的靈活性。
如圖4(a)所示,星型網絡拓撲結構由多條總線型支路組成,所以星型網絡拓撲結構總的導線電阻相當于單總線型n條通路并聯,即R=R1∥…∥Rn。因此星形網絡拓撲結構在很大程度上減小了導線電阻引起的信號衰減問題,從而減緩總線型拓撲結構的器件遺漏現象。同時,星型網絡拓撲結構對實現四周分散型的多點溫度測量也很方便,且每條導線都可以達到總線型時的長度和接入從機的數量;環(huán)形網絡拓撲結構如圖4(b)所示,是將主機和溫度器件連在一個環(huán)形上,把總線型拓撲結構的首尾相連。與總線型網絡拓撲相比總線的長度不變,但是最遠的器件的總線長度減小了一半,因而總線上的導線電阻變成R/2,所以信號衰減得到一定程度的改善,能接入更多的器件。同時環(huán)型網絡拓撲結構也易于實現分布于四周的多點溫度測量硬件布線。
圖4 星型和環(huán)形網絡拓撲結構
但是改變網絡拓撲結構只能一定程度上減小總線的傳輸電阻,并不能解決因器件數量的增多引起總線分布電容增加而導致的信號衰減問題。所以提出將3.3 V電平轉化為5 V接到總線上增加信號衰減的冗余度的解決方法。
為了使單總線上的信號從主機傳輸到從機時,信號衰減后不低于從機的判決門限,根據主機I/O設計一個合適的雙向電平轉換電路將主機的3.3 V電壓轉換成5 V后再接到單總線上,將總線上5 V信號轉換成3.3 V后再傳送給主機。這樣總線信號衰減的冗余度增加,總線長度加長、器件增多時,高電平信號不會很快衰減到判決門限以下。雙向電平轉換電路由如圖5(a)所示,5 V電平經過一個遲滯比較器,再經過一個與非門輸出3.3 V;而3.3 V通過一個與非門之后再經過一個三態(tài)緩沖器輸出5 V電平。雙向電平轉換電路本質是依靠與非門的OC門輸出實現的,同時為保障電平轉換前后的一致性,在高電平變?yōu)榈碗娖蕉嗽黾恿朔情T電路,在低電平變?yōu)楦唠娖蕉艘苍黾恿朔情T[8]。雙向電平轉換電路工作頻率在1 M時的雙向信號輸出波形如圖5(b)所示。
圖5 雙向電平轉化電路設計
實驗可得總線上接入10個溫度器件時,交流信號電平衰減和器件到主機的距離關系如圖6所示。
圖6 總線接入10個器件高電平衰減情況
從圖6中實驗記錄結果可以看出,總線型拓撲結構上接入10個器件時,總線長度增加到20 m時,高電平已經下降到3 V以下;而環(huán)形拓撲結構總線增加到20 m時,電平還未衰減到3 V。所以,將系統(tǒng)總線首尾相接后,主機可以獲得所有從機器件的序列號和溫度信息。但是總線的長度變得更長后,改變網絡拓撲結構,已經不能夠解決信號衰減的問題。而從測試結果可知,在總線上接入10個器件時,總線長度增加到50 m后,5 V電平未衰減到3 V以下,所以在單總線的主機和溫度器件之間增加雙向的電平轉換電路,可以在保證溫度器件不被遺漏的情況下,很大程度上提高總線長度和接入器件數量。
系統(tǒng)以C8051F340為下位機實現了PC機對多點溫度實時測量。在系統(tǒng)實現過程中發(fā)現,由于I/O口信號在單總線上的衰減,致使距離主機較遠的溫度器件收到的高電平信號低于DS18B20的判決門限,從而導致主機指令無法正確的傳輸到溫度器件,產生器件遺漏的現象。實驗發(fā)現改變單總線的網絡拓撲結構可以減小導線電阻,可以在一定程度上解決遺漏問題,且能提高單總線多點測溫布線靈活性和實用性。而總線加長、器件增多時,改變網絡拓撲結構對于減小信號衰減已不明顯,在主機和總線器件之間增加雙向電平轉換電路,可以在溫度器件不被遺漏,且不改網絡拓撲結構的情況下,將10個從機器件的傳輸距離增加到至少50 m。系統(tǒng)研究已經解決生物冷點溫度測試實驗中多點溫度采集的問題,同時也可以應用到農業(yè)生產大棚、倉庫溫度管理等系統(tǒng)之中解決多點長線的溫度采集問題。
[1] 高占鳳,劉玉紅,杜彥良.基于單總線技術的溫濕度監(jiān)測系統(tǒng)[J].電子器件,2006,29(4):1135 -1338.
[2] 艾紅.多點測溫與長線傳輸在分布式測溫系統(tǒng)中的研究[J].自動化儀表,2011,32(2):65 -68.
[3] 王福泉,萬頻.DS18B20在空調檢測系統(tǒng)溫度采集模塊中的應用[J].電子技術應用,2011,37(8):46 -48.
[4] 陳良光,李雄杰.大規(guī)模多點測溫中縮短巡檢周期的一種DS18B20訪問協(xié)議[J].傳感技術學報,2006,19(5):1581-1584.
[5] 鄧世建,胡媛媛.基于DS18B20的MOA溫度遠程監(jiān)控系統(tǒng)設計[J].電子器件,2011,34(2):206-209.
[6] 丁凱,陳曉光.電纜分布電容對航天器低頻交流信號傳輸的影響分析[J].航天器環(huán)境程,2012(10):554-556.
[7] 沈莉麗,陳鐘榮.基于CPLD和DS18B20的多路溫度檢測系統(tǒng)設計[J].電子器件,2008,31(4):1252-1255.
[8] 孫爍.一種寬電壓差電平轉換接口電路設計[J].微機處理,2013,4(2):94 -96.