NMEA 2000

NMEA 2000 (N2K) は、NMEA 0183 の後継として NMEA が策定した舶用機器のネットワーク規格。IEC 61162-3 としても標準化されている。0183 が「ASCIIテキストを一方向に垂れ流すシリアル回線」だったのに対し、N2K は CANベースの双方向マルチドロップネットワークであり、中身は完全に別物。

0183 との比較

NMEA 0183 NMEA 2000
物理層 EIA-422 シリアル CAN (ISO 11898)
速度 4800bps (HSは38400bps) 250kbps
データ形式 ASCIIテキスト バイナリ (PGN)
トポロジ single talker / multiple listeners multi-talker / multi-listener
配線 機器ごとに専用配線 バックボーン+ドロップケーブル
電源 別配線 同じケーブルで供給
中身の確認 cat /dev/ttyUSB0 で読める 専用ツールが要る

物理層・配線

  • 速度は 250kbps 固定。
  • DeviceNet 由来の M12 5ピンねじ込みコネクタ。信号線2本・電源2本・シールドの5本で、ネットワークケーブルが機器の電源も兼ねる。
  • バックボーン+ドロップ構成。船内に1本の幹線を通し、各機器はそこから最大6mのドロップケーブルでぶら下がる。
  • ケーブルは2種類。Micro はバックボーン最大100m・電流3Aまで、Mini は最大250m・8Aまで。
  • CANなのでバックボーンの両端に120Ωの終端抵抗が要る。N2Kのトラブルの定番は「終端が片方しか入っていない」「T字コネクタを使わずデイジーチェーンしている」といった配線起因。

メッセージ (PGN)

上位プロトコルは SAE J1939 (ISO 11783) をベースにしていて、CANの29bit拡張IDを分解して優先度・PGN (Parameter Group Number)・送信元アドレスを表現する。PGNがデータバイト列の解釈方法を決める。

  • アドレスクレーム — 全機器が自己構成可能でなければならず、起動時に ISO 11783-5 の手順でネットワーク上のアドレスを自分で取得する。0183 のように「どの線をどこに挿すか」で決まるのではなく、繋げば勝手に名乗る。
  • Fast Packet — CANの1フレームは最大8バイトしかないので、それを超えるデータは分割する。最初のパケットがプロトコル2バイト+データ6バイト、以降がプロトコル1バイト+データ7バイトで、最大32パケット=223バイトまで運べる。J1939 の標準的な分割(TP)とは別に N2K 独自に足された仕組み。

規格の非公開性とリバースエンジニアリング

0183 以上に閉じていて、PGNの完全な定義は公開されていない。機器側も NMEA の認証 を取ることで相互接続性を担保する建て付けになっている。

その一方で、有志による解析プロジェクト canboat が PGN 定義のデータベースとデコードツールを公開しており、オープンソースの舶用ソフト(Signal K、OpenCPN など)は実質これに依存している。0183 における gpsd の “NMEA Revealed” と同じ構図。

ベンダ独自の派生

SimNet (Simrad)、SeaTalk NG (Raymarine)、Dataline 2000、CZone などは、プロトコルは N2K のままコネクタだけ独自というものが多い。変換ケーブルを噛ませれば混在できる。

0183 との共存

置き換えは進んでいるが、0183 機器は現役で残り続けるので、0183↔2000 ゲートウェイが普通に売られている。PCやアプリに座標を渡すだけなら 0183 のほうが扱いやすいので、N2Kネットワークから 0183 に落として使うことも多い。

舶用データ通信プロトコルの中での位置づけ

NMEA 0183 の後継にあたる、船内ネットワークそのものを置き換える規格。0183が「機器から機器へ値を流す」ものだったのに対し、こちらは配線・電源・アドレス割当まで含めたネットワークを定義している。土台は舶用専用ではない汎用の CAN。

出典

#nmea #can #protocol #marine

作成日時: 2026-09-11 02:56 / 更新日時: 2026-09-11 02:56