楊 柳 胡以懷 郭慧茹
(上海海事大學商船學院,上海 201306)
?
優化的CAN與1-Wire總線溫度采集系統設計
楊柳胡以懷郭慧茹
(上海海事大學商船學院,上海201306)
針對長距離、大規模、高密度的溫度場測量應用,研究了一種基于CAN總線與1-Wire總線的經濟型系統解決方案。該方案以Cortex-M3處理器為核心,對CAN總線與1-Wire總線接口的硬件電路進行優化,增強了網絡的穩定性。同時,從工程實際應用出發,闡述了大規模測點的優化管理與維護。該方案現已成功應用于某電廠200MW機組的鍋爐金屬壁溫在線檢測系統,具有較好的工業應用前景。
溫度采集檢測測點定位DS18B20DS2484Cortex-M31-Wire總線CAN總線以太網傳感器
隨著近年來自動化技術的迅速發展,溫度作為最常見的測量對象之一,根據應用場合的不同,已涌現出多種傳感器及其測量方法。然而,在研究某些對象的熱力系統時,通常要在對象周圍的較小空間里布置成百上千個測點。這種大規模、高密度的溫度場測量系統對測點布置、信號采集、數據通信等都提出了較高要求。DS18B20是DALLAS公司生產的1-Wire總線數字式溫度傳感器。該芯片體積小、成本低且精度高,供電與通信只需3根線,特別適用于這種溫度場的測量應用。雖然DS18B20已成為低成本應用方案的首選,但是受限于1-Wire總線設計的初衷是為相鄰器件的短距離通信提供一種便利的板級內部通信,所以在各種設計中很少能提供DS18B20大規模網絡的可靠方案。本文從CAN總線與1-Wire總線的各自特點出發,對其軟硬件進行優化,設計了一套擴展能力強、易于維護的采集系統。
為了提高采集系統的測點容量、通信距離以及可維護性,系統采用3層網絡設計[1],系統框圖如圖1所示。

圖1 系統框圖
各網絡的功能如下。
①1-Wire總線,用于DS18B20網絡,可實現短距離的多點溫度采集;每個數據采集器包含3路獨立的1-Wire總線接口,可根據測點布置要求,實現3個1-Wire網絡的并行采集。
②CAN總線,用于數據采集器網絡,實現傳感器數據傳輸,以及接收上位機的管理命令。
③以太網,用于局域網計算機與數據采集器的通信,上位機可通過以太網或光纖以太網,實現對遠程數據的采集與管理。
系統的核心部件為數據采集器,其不僅負責溫度數據的采集,同時也管理整個網絡的運行狀態。采集器選用NXP公司生產的基于Cortex-M3內核的高速處理器LPC1764,主頻高達100MHz,包含2路CAN控制器和3路I2C控制器,完全滿足功能需求。
下文主要從軟硬件的優化設計方面,闡述本文所提系統的特點。
2.1CAN總線硬件接口優化設計
CAN總線硬件接口設計由兩個高速光耦隔離器6N137、收發器PC82C250以及DC/DC隔離電源等主要器件搭建而成。這種分立元件搭建的接口方式在實際故障維護時稍顯不便。本文采用ADI公司生產的集成式CAN收發器ADM3053。該器件是一款隔離式控制器區域網絡(CAN)物理層收發器,集成隔離DC/DC轉換器,符合ISO11898標準[2]。該器件采用ADI公司的iCoupler技術,將雙通道隔離器、CAN收發器和ADI公司的isoPowerDC/DC轉換器集成于單個SOIC表貼封裝中。片內振蕩器輸出一對方波,以驅動內部變壓器提供隔離電源。CAN總線接口電路如圖2所示。該器件采用5V單電源供電,提供完全隔離的CAN解決方案[3]。與分離式器件的方案相比,這種集成化的設計在性能、PCB布線、生產成本以及設備維護上都有所改進。

圖2 CAN總線接口電路圖
2.2 1-Wire總線硬件接口優化設計
在1-Wire總線設計中,大部分采用單片機I/O口模擬總線時序[4]。為保證正常通信,控制器必須滿足以下基本條件:
①微處理器的通信端口必須是雙向的,其輸出為漏極開路;
②微處理器必須能產生標準速度1-Wire通信所需的1μs延時和高速通信所需要的0.25μs延時;
③通信過程不能被中斷。
在短距離和少量測點的應用場合,采用I/O口模擬的方式是可行的,但是在組建長距離、大規模的1-Wire網絡時,就會出現明顯的網絡不穩定現象。可靠的1-Wire網絡必須保證通信線提供正確的時序和合適的電壓擺率。1-Wire主機發送的時序不正確,會導致與1-Wire從器件之間的通信間斷或完全失敗[5]。輸出電壓擺率若不加以控制,可能嚴重限制網絡的長度,并產生時通時斷的現象。為此,本系統選用DALLAS公司生產的I2C接口1-Wire橋接器DS2484。只要主機具有普通的I2C通信接口,就可以通過橋接器產生嚴格定時和電壓擺率可控的1-Wire波形。DS2484接收所要發送的指令與數據,執行1-Wire操作,并將結果返回至主機。該芯片作為1-Wire總線主機具有如下特點。
①I2C從站與LPC1764主站的通信速率支持標準模式(最大100kHz)和快速模式(400kHz)。
②芯片集成完整的1-Wire總線協議,只需接收I2C主機發送的命令,即可產生嚴格的1-Wire通信時序,實現DS18B20的復位、在線檢測、讀數據和寫數據等功能。
③在寄生電容供電模式下,可通過軟件設置來控制1-Wire總線的供電,從而可以在極端故障情況下實現對所有在網DS18B20芯片的復位。
④可通過軟件修改總線時序的時間參數,從而根據網絡的布線與負載,設定最佳的控制時序。
⑤內置±8kV的靜電釋放(electrostaticdischarge,ESD)保護,有效抑制因靜電釋放引起的芯片損壞。
LPC1764處理器內置3路獨立的I2C控制器。為增加數據采集器DS18B20的數量,且不影響數據更新率,每個數據采集器包含3路1-Wire總線系統,且相互獨立,并行工作,互不干擾。1-Wire總線電路圖如圖3所示。由于CORTEX-M3系統的供電為3.3V,為兼容1-Wire總線5V電平,以及隔離外部I2C通信,保護CORTEX-M3內核,電路中選用了熱插拔數字隔離器ADUM1250。
通過對1-Wire總線硬件接口的優化和軟件中時隙與擺率的調整,本方案可實現單個1-Wire網絡中100m通信距離間至少64個測點的穩定通信[6]。

圖3 1-Wire總線接口電路圖
數據采集器主要包括DS18B20底層驅動、測點管理以及上位機與采集器的CAN通信數據交互等[7]軟件流程設計,圖4為主程序軟件流程圖。在大規模采集系統中,如何管理所有測點是軟件設計的重點和難點,下面具體介紹優化的測點管理方式。

圖4 主程序流程圖
3.1測點定位
為方便DS18B20的現場施工與管理,制線工藝采用全密封防水設計,將每一組溫度傳感器通過防水密封接頭直接安裝在三芯電纜上,組建一路1-Wire網絡。以下將該線纜稱為溫度檢測線。DS18B20安裝示意圖如圖5所示。
溫度檢測線在出廠時為每一個DS18B20的溫度上下限報警值寄存器(即TH和TL)寫入相應的數值,以標志各個DS18B20在該條線上的相對位置,下面將該數值稱為位置索引。系統中每個溫度檢測線的位置索引彼此獨立。當采集器讀取各傳感器的溫度值后,將其與位置信息進行組合編碼,并通過CAN通信定時發送至上位機軟件。上位機軟件可根據溫度檢測線的施工布置圖,設計直觀的監測界面,清晰地顯示每一個測點的采集數據以及工作狀態。

圖5 DS18B20安裝示意圖
3.2測點信息重置
當溫度檢測線第一次通電投入使用或采集器接收上位機的重置命令時,采集器進入測點重置子程序,圖6(a)為測點信息重置流程圖。通過信息重置,采集器可以自動地將在網的DS18B20的芯片信息和位置信息編制成一張通信表格[8];然后根據表格記錄的信息依次讀取溫度檢測線上的溫度數據;最終通過不同的CAN數據幀將溫度值與位置索引進行編碼,并發送至上位機。
3.3測點信息更改
當已經投入使用的溫度檢測線上的芯片需要更換或增加新的測點時,采集器需接收上位機發送的CAN指令,使其進入測點信息更改子程序,對已存在的通信表格進行更新,并將變化的測點信息發送至上位機。圖6(b)為測點信息更改流程圖。

圖6 測點信息重置和更改流程圖
本文以實際工程應用為出發點,介紹了硬件接口優化設計電路以及完善的測點管理軟件流程。利用多層網絡,構建了一個擴展性強、性能穩定的溫度場測量系統。該方案已成功應用于某電廠200MW機組的鍋爐金屬壁溫檢測,實現了5km通信距離的1 500個傳感器測點的實時在線測量,具有較好的工業應用前景。
[1] 王芳,王凱,王先超.基于ARM-Linux與DS18B20 的溫度監測系統[J].計算機工程與計,2010,31(12):2736-2739.
[2] 閆海明,馮源,田苗.基于DSP內嵌ECAN模塊的總線接口設計[J].現代電子技術,2013,36(11):112-115.
[3] 謝云山,龔建宇,劉春雷,等.ADM3053在CAN隔離接口應用中的EMC設計[J].自動化與儀器儀表,2012(5):35-37
[4] 宋曉東,董凌翔,李琳娜.基于1Wire總線的緊湊型實時溫度監測網構建[J].電訊技術,2014,54(7):1011-1015.
[5] 包敬海,樊東紅,陸安山,等.基于DS18B20 的多點體溫檢測系統的研究[J].自動化與儀表,2010(2):20-2.
[6] 陳良光.DSl8B20在多點溫度檢測中的地址碼設計及其在線糾錯[J].傳感技術學報,2005,18(3):157—161.
[7] 王文,王直.基于ARM和DSl8B20的溫度檢測系統[J].電子設計工程,2011,19(20):89—93.
[8] 李剛,趙彥峰.1-Wire總線數字溫度傳感器DS18B20原理及應用[J].現代電子技術,2005,28(21):77—79.
陜西省科技廳工業科技攻關基金資助項目(編號:2015GY075);
西安工程大學研究生創新基金資助項目(編號:CX201609)。
DesignoftheOptimizedTemperatureAcquisitionSystemBasedonCANand1-WireBuses
Forthemeasurementapplicationoflong-distance,large-scaleandhigh-densitytemperaturefield,theeconomicsystematicsolutionbasedonCANbusand1-Wirebusisprovided.Withthisscheme,theCortex-M3processorisusedasthecore,andtheinterfacinghardwarecircuitsoftheCANbusand1-Wirebusareoptimized,thusthestabilityofnetworkisenhanced.Fromthepracticalengineeringapplication,theoptimummanagementandmaintenanceforlargescalemeasuringpointsareexpounded.Thisschemehasbeensuccessfullyappliedinonlinetemperaturemeasurementsystemofboilermetalwalltubesinacertain200MWunit.Itsindustrialapplicationprospectseeingtobebright.
TemperatureacquisitionDetectionLocatingthemeasurementpointDS18B20DS2484Cortex-M31-WireBusCANbusEthernetSensor
楊柳(1986—),男,2009年畢業于上海海事大學檢測技術與自動化專業,獲碩士學位,工程師;主要從事船舶自動化控制系統的研究。
TH86;TP23
ADOI:10.16086/j.cnki.issn1000-0380.201609014
修改稿收到日期:2015-12-08。