一、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 Oscilloscopes是一項兼具成本效益與實用性的解決方案。只要搭配筆電,即可建構一套低成本但功能強大的示波器系統。由於 CAN 屬於相對低頻寬的通訊協定,實務上使用規格較低的 PicoScope 即可清楚觀察 CAN 訊框波形;當然,為了同時量測 CAN_H 與 CAN_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 Oscilloscopes進行 CAN_H 與 CAN_L 的雙通道量測,透過 M12 轉雙 BNC 轉接線直接接入 NMEA 2000® 匯流排,即可觀察差動訊號品質與線路狀態。
上述設備皆可透過在NMEA 2000® Trunk Line 主幹線任一位置加裝 M12 T 型接頭進行接入,施工方式簡單,相關配件亦容易取得。
整體而言,透過從CAN 通訊架構與分層概念出發,搭配合適的量測與分析工具,即可有效診斷 NMEA 2000® 系統中的通訊問題,協助工程人員提升系統穩定性與維護效率。
If you are interested, you are welcome to follow us for more information about the article, and if you have any questions.歡迎聯絡諮詢宏虹,我們將竭誠為您服務!
Extended Reading:
Honghong will provide you with any support you need!
Our professional Honghong team will be the first to respond and provide you with the best service to solve all your problems.