對航海電子設備聯接來說,NMEA2000串行網絡是標準通訊工具。今天的大多數航海電子設備都支持NMEA2000,因其能方便地連接海上船舶的電子設備元件。NMEA2000協議使用CAN(控制器局域網)在設備之間傳輸數字信息。很多NMEA2000安裝和故障管理工具都和物理布線有關(長度,分線頭,接頭,電源要求等)。本文詳述NMEA2000安裝中CAN部分的分析和故障管理工具。
CAN最初是由博世在80年代中期為汽車工業開發出來的,之后被發展應用到很多其他工業領域,包括航海(NMEA2000)…CAN協議可被劃分為三個層次:1.應用層 2.數據鏈路層 3.物理層
簡單地說,應用層(有時被稱為高層協議)是裝在電控單元ECU微控器里的軟件,它能處理感應器輸入的信息,進行計算,將結果發給傳動裝置。在本文中,應用層是為NMEA2000設定的。有時,輸入/輸出信息需要在設備,感應器和傳動裝置之間直接傳達,如羅盤,深度儀,速度儀等。此類信息傳輸可以有效地通過CAN總線完成。當一個控制器要發信息給另一個控制器(或感應器/傳動設備),它可以將信息通過CAN控制器和收發器(數據鏈路層和物理層)發送到主干線上。CAN控制器收集這些數據,由應用層限定的一個標準格式給它們附上功能地址。CAN收發器將電子信號格式化,并將數據傳遍主干線上的雙絞線CAN總線。物理信號的設計考慮到使通訊傳輸在嘈雜的電子設施環境里也可以進行。
圖1:NMEA2000網絡實例
本文介紹的工具是針對CAN和NMEA2000的這些特別部分。我們講解如何用Warwick的X-Analyser 3分析和數據記錄器工具與NMEA2000連接,來解決NMEA2000和CAN的問題。同時,我們介紹PicoScope計算機示波圖分析,分析在NMEA2000主干線上的CAN物理信號的完整性。
這里介紹的軟件工具(X-Analyser 3 Professional and PicoScope 6)是受下列硬件支持:
Kvaser LEAF LIGHT CAN INTERFACE –作數據記錄和分析
PicoScope 2206B 雙頻道適配器,頻寬50 MHz
下面本文講解用工具觀測CAN數據,并幫助分析所有必要的維護和故障排除。
維護和故障排除工具
要觀測CAN信息物理信號的完整性,比較經濟的方式是用PicoScope。如果用筆記本電腦,你能以低成本觀測清楚的示波圖。因為CAN是比較低頻的通訊協議,一個較低規格的PicoScope型號就可以看CAN信息。當然,看高位數據線CAN_H和低位數據線CAN_L需要雙頻Scope。
圖2顯示了CAN信息的一個示波圖例子。你在這里可以看到2種電子軌跡–高位信號線CAN_H和低位信號線CAN_L。高位信號線CAN_H為藍色,低位信號線CAN_L為紅色。注意當CAN_H和CAN_L都在2.5伏時,電壓呈隱性(邏輯1),總線閑置;當CAN_H和CAN_L分別過渡到3.5伏和1.5伏時,電壓呈顯性(邏輯0)。
圖2. CAN信息的示波圖
這個差分電壓信號使通訊能在嘈雜環境里得以進行。注意某些噪音參雜在信號中。因為信號間的明顯區別,噪音就被排除忽略了。一個比特的長度,你會看到它是4微秒,也就是250Kbps。
PicoScope在這里起了關鍵作用,它可以通過觀察CAN信息的物理信號水平,來診查線纜問題。例如在圖1中,在主干線的每端都有一個干線終端電阻。它們只是兩個接在CAN_H和CAN_L之間的120?電阻。在數字通信時,它們能避免RF訊號從終端反射回來,引起干擾。如果一個終端電阻缺失,這造成的結果顯示為圖3中的波型。注意過渡中跳得過高的波線。這能引起CAN信息出錯,干擾正常通信。
圖3.因缺少終端電阻造成的CAN幀紊亂。
當有過多的終端電阻接到主干線上時,會出現另一個問題。這將降低總線的總體終端電阻,從而引起CAN總線功能降低。這種狀況顯示在示波圖為CAN_H和CAN_L之間的電壓差變小。
圖4.顯示如果CAN_H和CAN_L接近時會怎么樣。你能看到顯示器有波線,但沒有通訊傳輸。
圖4.CAN_H被降低而靠近CAN_L.
為在數據鏈路層上觀測CAN信息,我們用X-Analyser來分析和測試CAN/J1939/NMEA2000。圖5是在主顯示上的原始CAN幀觀測。這里可以看到CAN幀的16進制ID,及有時間標識的CAN原始數據。注意總線統計數據區顯示總線負載,幀數量和錯誤幀(如果有任何錯誤幀)。此顯示屏靜態更新每個幀ID,同時有一個按時間順序的顯示選項,用來觀察每個報文到達CAN總線時的狀況。
圖5. 用X-Analyser觀測CAN信息
對應用層,X-Analyser 3 Professional能加載一個NMEA2000 CAN數據庫,來顯示NMEA2000 參數群指數(PGN)和它們相對的現場Field。此PGN說明一個報文的內容和目的,如速度(PGN 1F503),液位(PGN 1F211)。在圖5中,顯示屏展示了與PGN有關的報文名稱,在信號區Signal area,有為此觀測選定的一組現場Field(信號Signals)。這些是由X-Analyser 提供的NMEA2000標準CAN數據庫。
X-Analyser 3還有一個內置SAEJ1939數據庫。這很實用,因為很多許多船只都具備這兩種協議,而且用一個雙頻CAN Kvaser適配器,就可以同時觀測這兩個總線。說明它實用的一個典型例子是,當船上有一個NMEA2000到J1939的接口。有幾個公司提供這類連接用J1939協議引擎控制器的接口,當我們需要將信息傳輸到NMEA2000上。下面是解釋怎樣用X-Analyser 3來同時觀測J1939和NMEA2000 的CAN數據。
NMEA2000 CAN 標識符的結構和SAEJ1939相似,請見圖6. 你能看到29幀CAN標識符以節點編號一個8位元組被分成幾部分(從右到左)。下面兩個8位元組構成了PGN.
圖6. NMEA2000 CAN 標識符現場
另一個X-Analyser的顯示選項是觀測CAN標識符被分為PGN,源地址,數據頁,優先項幾部分,如圖6. 圖7是此顯示的一個例子。
圖7. X-Analyser對NMEA2000應用層的觀測
被選擇的信號(現場Fields)可以在這個顯示框里看到。這些信號是從X-Analyser內裝的NMEA2000 CAN數據庫選出來的。這個數據庫包括所有標準NMEA2000報文(PGNs),它們都攜帶依據NMEA2000具體要求被分派的數據。
X-Analyser還有一個選項是,當X-Analyser的PicoScope選項是所有三個層時,它有合3為1功能。這是一個未來版的X-Analyser。如圖8,我們能看到數據鏈路顯示和物理層顯示都在屏幕下方。液位信息PGN F211(前面的1是指DP1)有突出顯示,源地址是70。CAN_H以藍色顯示,CAN_L為紅色。綠色波線顯示CAN_H和CAN_L之間的電壓差分。注意CAN幀的每個場都被顯著標出。
圖8. 3合1 Analyser概念
這種顯示對觀測CAN信息的物理完整性很實用。它使我們能容易地選擇一個NMEA2000報文,然后觀測它的各層(應用,數據鏈路,物理層)。在故障分析中,它有助觀測線纜上是否有太多噪音干擾。同時,數據傳輸中的‘嘈雜’也意味著終端問題。這個工具還可以附加另一個顯示方法:信號Signal(現場Field)模式,它能有選擇地顯示CAN數據庫的信號,觀測CAN/ NMEA2000的應用層。
fqj
評論
查看更多