齊英凱,何潤添,初秀民,徐海潮
(1.武漢理工大學交通學院,湖北武漢 430063;2.武漢理工大學智能交通系統研究中心,湖北武漢 430063)
近年來,國家對內河航運高度重視,大力發展內河智能航運的技術。其中,在航船舶與貨物狀態感知與集成是內河智能航運的重要基礎。盡管我國內河營運船舶正在朝著標準化和高速化邁進,然而老舊船舶、中小船舶所占比重依然偏高,存在諸多安全隱患,為船舶運行與貨物狀態信息的集成帶來了挑戰。加之船舶運行與貨物信息具有多態異構的特點,包括船舶航行信息:船位、航速、航向、艏向、風速、風向、回聲測深等20余種數據。機艙設備狀態信息:主機系統、燃油系統、滑油系統、冷卻水系統、排氣系統、空氣系統、鍋爐系統和輔機系統等8大類400多個數據。貨物狀態信息包括:貨物溫度、濕度、壓力、進水等信息。如何在現有內河船舶上實現上述信息的集成、構建船舶信息網絡是內河智能航運面臨的亟需解決的問題。
目前船舶機艙設備應用較多的現場總線為CAN總線。CAN協議通信網絡是一種由CAN控制器組成的高性能串行數據通信網絡,是當前國際上應用最為廣泛的現場總線之一。以太網則是當前互聯網時代信息交互平臺的傳輸媒體,也是TCP/IP使用最普遍的物理網絡。隨著航運管理與船舶自動化及信息化的發展,以太網越來越多地應用于船舶信息交互現場,將船舶駕駛、機艙控制、貨物狀態等信息在局域網甚至廣域網進行數據共享,從而可實現通過WEB方式瀏覽甚至遠程訪問船舶設備運行狀態數據庫及遠程控制,以確保船舶設備的各子系統能夠協調、安全、可靠、長時間地運行。從船舶機艙控制設備的實際應用情況來看,連接各種船舶現場總線和以太網的網關將成為今后船舶信息網絡技術研究的重點[1]。因此,針對內河船舶自動化與信息化程度低、數據多源異構特點,開發低成本內河船舶專用網關具有應用價值。本文將采用嵌入式技術設計一種適合于內河船舶使用的經濟型網關系統,將CAN總線與以太網之間形成物理層與數據鏈路層對接,將現場總線上的底層數據與Internet的數據形成信息交互。由于CAN總線與以太網兩者的物理接口及通信協議不一致,無法實現簡單相連,因此在設計開發上述的網關需要完成的2個任務:①物理層的接口連接;②數據鏈路層的協議轉換。
基于CAN總線與以太網的船舶信息網絡架構如圖1所示,由CAN總線現場總線構建的設備網絡,由以太網構建上層廣域信息網,通過嵌入式網關系統實現兩者的有機無縫通信,進而為中小型船舶的現場設備信息采集通信及控制提供必要的平臺支持。CAN與以太網協議轉換的嵌入式網關功能是實現CAN協議格式的總線數據與以太網協議格式的相互傳輸,與以太網網絡及現場CAN通信節點構成通信采集及控制體系。以太網信息管理終端與CAN總線上的CAN節點設備通過Ethernet、協議轉換系統、CAN Bus相互通信,其中嵌入式網關系統起到核心的異構網絡的互連作用。

圖1 CAN總線與以太網的網絡信息架構圖
嵌入式網關的整體示意圖如圖2所示,由微處理器、電源電路、時鐘電路、接口電路等組成。系統設計關鍵是將CAN現場總線設備網絡與以太網網絡進行數據交互,并實現CAN總線數據檢測和信息接入功能及以太網數據檢測及信息接入功能。系統的具體工作原理如下:上層管理網絡向現場設備發送信息指令時,微控制器將接收到的數據由以太網協議格式進行解析并重新封裝成標準的CAN總線通信協議格式,然后向現場測試設備終端發送,由此完成上層管理網絡對現場設備終端網絡的控制;底層設備終端網絡向上層管理網絡發送數據信息時,微控制器將接收到的數據由CAN總線協議格式進行解析并重新封裝成標準的TCP/IP協議,然后往以太網的監控端發送[2]。由于以太網固有的優勢,因此底層的數據信息還支持互聯網絡的遠程訪問及共享。

圖2 嵌入式網關示意圖
系統的硬件設計主要包括電源設計、時鐘電路設計、CAN總線接口電路設計以及以太網接口電路設計。
嵌入式網關采用常用的直流12 V供電,在設計過程中采取兩級供電。微處理器采用3.3 V供電,采用AMS1117系列穩壓芯片產生3.3 V電壓,為保證整體系統電源的穩定性需要前級電路來調整;前級供電選用美國半導體公司的LM2576系列開關電源芯片。LM2576系列開關穩定芯片內部集成一個52 KHz的振蕩器,只須必要的容感就能形成高效的穩壓電路,內部有完善的保護電路。
雖然嵌入式網關選用的微處理器內置有簡單的RC振蕩器,但為了提高整體系統的性能,嵌入式網關的時鐘電路采用的是外部8 MHz有源晶振。該有源晶振有精度和溫度比較性能,內置有諧振整形電路。該有源晶振能產生一個非常精確的頻率為系統提供原始的時鐘源,嵌入式網關以較低的外部時鐘信號獲得較高的工作頻率,以降低因高速開關時鐘所造成的高頻噪聲。
CAN總線接口電路主要包括CAN控制器及CAN發收器兩部分。本系統設計中選用的SAJ1000作為CAN控制器來實現對外提供與微處理器的物理線路的接口;選用CA82C250作為CAN發收芯片,在不需要通信中斷節點的情況下,通訊節點數目可達110個。
SAJ1000為獨立的CAN協議控制器,芯片的AD0~AD7為地址數據復用線,與微處理器的通信協議接口進行相連;當用戶通過遠程服務器查詢現場CAN總線數據時,SJA1000負責將現場數據解析并往微處理器發送,再傳到以太網[3-4]。
CAN控制器經過RX和TX引腳的信號分別經過2個光耦隔離器6N137的OUT引腳和IN引腳,然后分別與PCA82C250的TXD和RXD相連,以此連接到PC82C250的內部收發器;CAN收發器通過有差動發送和接收功能的2個總線終端CANH和CANL連接到總線電纜。
在CANH輸出端與地之間接入一個肖特基二極管用以防止過高的電壓來保護芯片;CANH和CANL與地之間分別串聯30 pF的陶瓷電容,對于濾除總線上的高頻干擾及信號噪聲有明顯效果。
以太網控接口電路主要由以太網控制器RTL8019AS和隔離變壓器 20F001組成。RTL8019AS是一款高集成、能夠實現Ethernet協議的MAC層的以太網控制芯片,內置16KB的SRAM、雙DMA通道和FIFO完成數據包的接收和發送功能。RTL8019有以下3種工作模式:跳線方式、即插即用方式和免跳線方式,后2種工作方式一般用于PC機,在本系統設計中由于使用微處理器代替了PC機的功能,因此使用跳線方式顯得更加簡單方便[5-6]。
在電路設計中,將RTL8019AS數據線與微處理器的PB0~PB7相連,其它口作為保留,為后期二次開發作預留接口。系統配置過程中需要存儲的網關IP地址、MAC地址和SJA1000的ID網絡標示符、網絡掩碼等數據,通過總線形式存儲到微處理器的片內Flash空間內,如此,能夠靈活方便地修改有關參數,適應不同的應用環境及方便后期二次開發。
在系統軟件設計中,CAN協議與以太網協議間的信息流轉換設計為透明式的數據轉換,其模型結構如圖3所示。
系統的軟件流程圖如圖4所示。系統上電之后,程序開始對各功能模塊進行相應的初始化,由此完成系統的整體配置。在此過程中,完成處理器的配置、IO端口的配置、功能模塊時鐘的配置、波特率的設置等。可通過硬件方式和軟件方式對系統進行相應的配置,系統配置成功之后,進入循環等待接收數據幀,如果收到符合標準的數據幀則進入相應的中斷處理程序,完成數據的傳遞。不同協議之間的數據傳輸主要是由微處理器的接收與發送中斷處理程序完成,各總線協議的實現分別是由對應的功能模塊完成,微處理器的中斷處理程序將發送緩沖區中等待處理的數據幀發送到協議總線上,同時將從協議總線上接到的數據幀存在接收緩沖區里等待相應的程序處理。

圖3 系統軟件設計結構模型圖

圖4 軟件設計流程圖
當整體系統設計完成后,必須經過完整的測試才能保證系統按照設計目的進行正常工作。在進行系統整體功能測試時,以功能模塊為基本單元,循序漸進的對整個系統進行調試與測試。首先加載協議轉換系統程序,包括系統參數的配置及以太網上位機客戶端程序,運行服務器程序和客戶端程序,然后就可以檢測以太網與協議轉換系統是否連通。設置好相應的網關IP地址子網掩碼,通過使用局域網ping命令測試系統是否連通,每次系統發送4個隨機產生的ICMP數據包,協議轉換系統應答4個ICMP數據包,嵌入式網關對其CAN控制的一個發送緩沖區里進行數據的寫入操作,“This is a test!”,測試效果如圖5所示,結果正確。

圖5 CAN→Ethernet數據通信測試
為了進一步驗證嵌入式網關的性能,選用具有CAN接口AIS-B級船臺在武漢長江二橋附近進行實船測試,通過AIS接收機的數據通過網關,可以準確地顯示在電子江圖顯示系統中。
本文針對由現場總線構成的船舶現場終端設備網絡和由以太網構成的上層信息管理網絡之間的數據難以有效共享這一問題,從現實需求出發,結合CAN總線和以太網技術的優勢特點,采用意法半導體公司的微處理器,以功能模塊組合,設計了嵌入式網關系統實現CAN總線與以太網的數據傳輸,提高內河船舶機艙設備與貨物狀態信息的集成能力。在后續的開發中,將完善系統,規范嵌入式網關的輸入、輸出結構,并進行可靠性測試使其產品化。
[1]趙亞冰.港口海域船舶安全管理研究 [J].中國水運,2010(3).
[2]關騰飛.基于船舶安全航行的研究 [J].中國海事,2010(7).
[3]宋雪良.基于CAN總線局域網與以太網互連技術研究[D].哈爾濱工程大學碩士論文,2005.
[4]趙潔,茅云升.基于CAN總線的船舶配電監測系統研究 [J].船海工程,2011(4).
[5]周立功.ARM嵌入式系統基礎教程 [M].北京:北京航天航空大學出版社,2005.
[6]胥靜.嵌入式系統設計與開發實例詳解基于ARM的應用 [M].北京:北京航空航天大學出版社,2005.
[7]吳團結.基于CAN總線技術的艦船動力系統綜合控制[J].中國艦船研究,2006(2).
[8]吳化柱,喬毅,欒美艷,等.LabVIEW 在現場總線控制系統的應用研究 [J].儀表技術與傳感器,2005(4).