宏虹分享|NMEA 2000® CAN 匯流排分析與故障排查:船舶電子通訊診斷實務指南

一、NMEA 2000® 與 CAN 匯流排通訊概述

在船舶電子設備的整合應用中,NMEA 2000® 序列通訊網路是業界主流的通訊標準。現今多數船用電子產品皆支援 NMEA 2000® 規範,可大幅提升航海電子設備於船舶系統中的連接效率與相容性。NMEA 2000® 協定是建立於 CAN匯流排之上,負責在各類設備之間傳輸數位資料。

在實務導入與維護過程中,許多 NMEA 2000® 相關工具與作業,往往著重於實體佈線層面,例如線材長度、支線配置(drop line)、終端電阻設置與電源需求等。然而,當系統出現通訊異常時,僅從佈線角度切入,往往不足以找出真正問題來源。因此,本文將聚焦於 NMEA 2000® 系統中 CAN 通訊層的分析與故障排查工具,協助工程人員從通訊本質著手,進一步掌握系統運作狀態。

二、CAN 通訊架構與資料傳遞機制

CAN 通訊協定最早由 Bosch 於 1980 年代中期為汽車產業所開發,隨後逐步擴展至多個產業領域,包含船舶電子系統中所採用的 NMEA 2000®

CAN 通訊架構可概分為三個層級:應用層(Application Layer)、資料鏈結層(Data Link Layer)、實體層(Physical Layer)

其中,應用層為 ECU 微控制器中的嵌入式軟體,負責處理來自各類感測器的輸入資料、進行必要運算,並輸出控制訊號至致動器。在 NMEA 2000® 系統中,應用層的通訊規範即由 NMEA 2000® 協定本身所定義在實際船舶應用場景中,部分量測與控制資訊需要在儀表、感測器與致動器之間直接傳遞,例如羅盤、深度感測器、速度感測器等。這類即時資料交換,正是透過 CAN 匯流排來高效率完成。

CAN 資料傳遞流程概述

當某一控制器需要將資訊傳送至其他控制器或感測器/致動器時,資料會經由 CAN 控制器與 CAN 收發器,透過資料鏈結層與實體層送入 Trunk Line 主幹線

其中,CAN 控制器會依照應用層所定義的標準格式,封裝資料並賦予對應的功能性位址;而 CAN 收發器則負責將資料轉換為電氣訊號,並透過雙絞線 CAN 匯流排於主幹線上傳輸。此類實體訊號設計,能有效因應船舶環境中常見的電氣雜訊,確保通訊穩定性。

三、NMEA 2000® 網路架構解說

圖1 NMEA 2000® 網路架構

本文所介紹的工具,分別對應 CAN 與 NMEA 2000® 通訊架構中的不同層級。以下將說明如何透過 Warwick 的 X-Analyser 3 分析與資料記錄工具,連接並解析 NMEA 2000® 資料,以協助解決 NMEA 2000® 與 CAN 通訊相關問題;同時,也將介紹PicoScope 為核心的 PC 型示波器解決方案,用於分析 NMEA 2000® Trunk Line 主幹線上 CAN 實體訊號的完整性。

本文所涵蓋之軟體工具X-Analyser 3 Professional 與 PicoScope 6,搭配以下硬體設備使用:

  • Kvaser Leaf Light CAN 介面:用於 CAN 資料記錄與分析

  • PicoScope 2206B 示波器:雙通道設計,頻寬 50 MHz

  • M12 轉 D9 轉接線:將 NMEA 2000® Trunk Line 連接至 Kvaser CAN 介面(部分 Kvaser 介面本身即內建 M12 接頭)

  • M12 轉雙 BNC 轉接線:用於將 NMEA 2000® Trunk Line 連接至 PicoScope 示波器

  • 攜行收納箱

Warwick Control 亦提供一套NMEA 2000® 維護套件(Maintenance Kit),整合上述所有硬體設備與軟體工具,方便工程人員進行現場維護與故障排查。

接下來將進一步說明這些工具如何用於檢視 CAN 資料,並協助進行系統維護與故障診斷。說明順序將由實體層開始,依序進入資料鏈結層,最後延伸至應用層

維護與故障排查工具說明

在檢視 CAN 訊框實體層訊號完整性時,使用Pico示波器是一項兼具成本效益與實用性的解決方案。只要搭配筆電,即可建構一套低成本但功能強大的示波器系統。由於 CAN 屬於相對低頻寬的通訊協定,實務上使用規格較低的 PicoScope 即可清楚觀察 CAN 訊框波形;當然,為了同時量測 CAN_HCAN_L,仍需具備雙通道示波器

下方圖 2 為一個 CAN 訊框的示波器量測範例。畫面中可看到兩條電氣訊號軌跡,分別為 CAN High(CAN_H)CAN Low(CAN_L),其中 CAN_H 以藍色顯示,CAN_L 則以紅色顯示。
Recessive 位元或匯流排閒置狀態(位元值為 1)時,CAN_H 與 CAN_L 均維持在約 2.5 V;而在 Dominant 位元(位元值為 0)時,CAN_H 上升至約 3.5 V,CAN_L 則下降至約 1.5 V

圖2 示波器上的 CAN 訊框

CAN 採用差動訊號(Differential Signaling)設計,使其能在高雜訊環境中穩定通訊。從圖中可觀察到訊號中仍存在部分雜訊尖峰,但由於差動訊號的特性,這些雜訊會被有效抵消,不影響實際通訊。

若量測單一位元(bit)的寬度,可發現其約為 4 微秒(µs),對應的傳輸速率即為 250 kbps,符合 NMEA 2000® 的通訊規範。

PicoScope 在實務上對於線路問題的快速判斷極具價值,工程人員可透過觀察 CAN 訊框的實體訊號電壓層級,及早發現佈線異常。

以圖 1 的 NMEA 2000® 網路架構為例,Trunk Line 主幹線兩端皆需配置終端電阻(Termination Resistor),其形式為兩顆 120 Ω 電阻,分別接在 CAN_H 與 CAN_L 之間。在數位通訊過程中,終端電阻可防止射頻訊號於線路末端反射回傳,進而造成干擾。

若缺少終端電阻,實際量測到的波形將如下方圖 3 所示,可明顯看到訊號在轉換時產生過衝與振鈴(overshoot ringing),此現象容易導致 CAN 訊框錯誤,進而中斷正常通訊。

圖 3.因缺少終端電阻導致的 CAN 訊框反射干擾

另一個常見問題,則是Trunk Line 上配置過多終端電阻。當總終端阻抗過低時,將導致 CAN 匯流排效能下降。此情況下,示波器上可觀察到 CAN_H 與 CAN_L 之間的差動電壓幅度降低,進而影響通訊穩定性。

CAN_H 與 CAN_L 短路情況

圖 4 顯示了 CAN_H 與 CAN_L 發生短路時的狀況。此時雖然示波器仍可量測到波形,但實際上 CAN 匯流排已無法進行正常通訊。

X-Analyser 中的 CAN 訊框顯示畫面

資料鏈結層(Data Link Layer) 的 CAN 訊框分析方面,可透過 Warwick X-Analyser進行 CAN/J1939/NMEA 2000® 的通訊分析與測試。

上方圖 5 顯示 X-Analyser 主畫面中的原始 CAN 資料視圖,可看到:

  • CAN 訊框 ID(十六進位)

  • 對應的原始資料內容

  • 時間戳記(Timestamp)

同時,畫面右側的匯流排統計區(Bus Statistics)可即時顯示匯流排負載率、訊框數量與錯誤訊框數(若有)。目前畫面為靜態更新模式,每個 CAN ID 會持續更新最新資料;另可切換為Chronological 模式,依照訊息實際進入 CAN 匯流排的時間順序顯示。

應用層分析方面,X-Analyser 3 Professional 可載入 NMEA 2000® CAN 資料庫,用以解析並顯示 NMEA 2000® 的 PGN(Parameter Group Number) 及其對應的資料欄位(Fields)。

PGN 用於描述訊息的內容與用途,例如:

  • 速度(Speed,PGN 1F503)

  • 液位(Fluid Level,PGN 1F211)

在圖 5 中,可看到顯示的訊息名稱即對應各 PGN,而 Signals 區域則顯示由資料庫選取的欄位內容。這些解析結果皆來自 X-Analyser 內建的NMEA 2000® 標準 CAN 資料庫

此外,X-Analyser 3 亦內建 SAE J1939 資料庫。由於實際船舶系統中,常同時存在 NMEA 2000® 與 J1939 兩種通訊協定,若搭配具備雙 CAN 通道的 Kvaser 介面,即可同時監看兩條 CAN 匯流排。

此功能特別適用於船舶上設有 NMEA 2000® 與 J1939 Gateway的應用場景,例如引擎控制系統採用 J1939 協定,需將引擎資訊轉換並傳送至 NMEA 2000® 匯流排時,即可透過 X-Analyser 同步分析兩側通訊狀態。

NMEA 2000® CAN Identifier 結構概述

圖 6.NMEA 2000® CAN ID 欄位結構

NMEA 2000® 的 CAN Identifier 結構,係基於與SAE J1939 類似的設計,如圖 6 所示。29 位元 CAN ID 自右至左依序劃分,其中:

  • 最右側 1 Byte 為 Source ID(或 Node ID)

  • 接下來的 2 Byte 組成 Parameter Group Number(PGN)

X-Analyser 亦提供另一種顯示方式,可將 CAN ID 依照 PGN(Parameter Group Number)、來源位址(Source Address)、資料頁(Data Page) 與 優先權(Priority) 等欄位進行拆解顯示,其結構如圖 6 所示。此顯示模式的實際範例如圖 7 所示。

圖 7.X-Analyser 中的 NMEA 2000® 應用層顯示畫面

在此顯示畫面中,也可同步查看所選取的訊號欄位(Fields)。這些欄位係自 X-Analyser 內建的 NMEA 2000® CAN 資料庫 中選擇而來。該資料庫完整收錄所有標準 NMEA 2000® 訊息(PGNs),並依據 NMEA 2000® 規範定義其對應的資料內容。

圖 8.3 合 1 分析器概念

X-Analyser 的另一項進階顯示功能,為結合三個通訊層級的 3-in-1 分析模式,其概念如圖 8 所示。此模式將資料鏈結層的訊息顯示,與下方的實體層波形同步呈現。

在圖 8 中,範例高亮顯示的是液位(Fluid Level)訊息,其 PGN 為F211(前方的數字 1 代表 Data Page 為 1),來源位址為 70。畫面下方同步顯示該訊息對應的實體層訊號,其中 CAN_H 以藍色顯示,CAN_L 以紅色顯示,而綠色波形則表示 CAN_H 與 CAN_L 之間的差動電壓關係。同時,CAN 訊框中的各個組成欄位,也會在畫面中一併被標示出來。

此顯示模式特別適合用於檢視 CAN 訊框的實體訊號完整性。工程人員可快速選取特定的 NMEA 2000® 訊息,並同時從 應用層、資料鏈結層與實體層 三個層級進行觀察。在進行故障排查時,該功能有助於判斷線路上是否存在過多雜訊干擾,或在資料轉換過程中出現的振鈴(ringing)現象,進而指向可能的終端電阻配置問題。

此外,該工具亦可搭配訊號(Fields)模組,顯示來自 CAN 資料庫中所選取的訊號欄位,完整涵蓋 CAN/NMEA 2000® 的應用層資訊

五、與 NMEA 2000® CAN 匯流排的介接方式

為將分析與診斷工具接入 NMEA 2000® CAN 匯流排,可搭配對應的專用連接器進行介接。於 PC 端進行 CAN 資料分析時,可使用Kvaser CAN 介面搭配 X-Analyser 軟體;多數 Kvaser 介面透過 USB 與電腦連接,並以 D9 接頭連接 CAN 匯流排,亦可依需求選用支援 NMEA 2000® M12 接頭的型號,或透過M12 轉 D9 轉接線進行連接。

在實體層訊號量測方面,可使用 Pico示波器進行 CAN_H 與 CAN_L 的雙通道量測,透過 M12 轉雙 BNC 轉接線直接接入 NMEA 2000® 匯流排,即可觀察差動訊號品質與線路狀態。

上述設備皆可透過在NMEA 2000® Trunk Line 主幹線任一位置加裝 M12 T 型接頭進行接入,施工方式簡單,相關配件亦容易取得。

整體而言,透過從CAN 通訊架構與分層概念出發,搭配合適的量測與分析工具,即可有效診斷 NMEA 2000® 系統中的通訊問題,協助工程人員提升系統穩定性與維護效率。

如果您對此感興趣,歡迎您關注我們獲取更多文章資訊,如有任何問題,歡迎聯絡諮詢宏虹我們將竭誠為您服務!

👉  延伸閱讀: 

 ➢Kvaser產品總覽

➢Pico示波器

➢ 立即點擊諮詢 📩

宏虹將提供您所需的任何支援!

專業的宏虹團隊會第一時間回應,為您提供最佳的服務,解決您的一切問題