ネットワーク・プロトコル#107

探査機搭載データバスの比較 — MIL-STD-1553、CANバス、SpaceWire

SpaceWireは探査機搭載バスの唯一の選択肢ではない。決定論的TDMAのMIL-STD-1553、優先度ベース調停のCANバス、高速ポイントツーポイントのSpaceWireを、データレート・トポロジ・決定性・コストの4軸で比較し、なぜミッションの規模と予算が採用バスを決めるのかを理解する。

前提知識: SpaceWire — 探査機の筐体内部をつなぐ高速シリアルデータバス

MIL-STD-1553CANバスデータバスSpaceWireSpaceFibre

この回で学ぶこと

前回、探査機の筐体内部で観測機器とデータ処理ユニットをつなぐ高速シリアルバス SpaceWire を、LVDS物理層からクレジット制フロー制御、ワームホールルーティングまで詳しく見ました。SpaceWireは400 Mbit/sという高速性と柔軟なネットワーク構成能力を持つ優秀な規格ですが、これがすべての探査機・衛星で唯一使われているバスというわけでは全くありません。

実際の宇宙機の設計現場を覗くと、同じ1機の中でも用途によって複数の規格が使い分けられていることが珍しくありません。姿勢制御系のセンサとアクチュエータの間には決定論的なタイミング保証を持つバスが、電源系や機構系の監視・制御には配線本数を切り詰めた安価なバスが、そして高分解能カメラや分光器が吐き出す大容量の科学データには広帯域なバスが、それぞれ選ばれます。今回は、SpaceWireと並んで代表的な搭載データバス規格である MIL-STD-1553(ミルスタンダード・ワンファイブファイブスリー)と CANバス(Controller Area Network)を取り上げ、3つの規格がそれぞれどんな設計思想を持ち、なぜミッションの性格によって選ばれるバスが変わるのかを整理します。

直感的な導入

3つのバスの性格の違いは、乗り物にたとえるとイメージしやすくなります。

  • MIL-STD-1553 は、決められたダイヤ通りにしか走らない鉄道です。中央の管制官(バスコントローラ)がすべての発着時刻を管理し、どの車両(端末)がいつ話してよいかを一つずつ指名します。速度は速くありませんが、いつ何が起きるかが完全に予測できる、絶対に混乱しない仕組みです。
  • CANバス は、優先度の高い救急車が交差点で自然に道を譲ってもらえる街の道路網です。誰でも好きなときにしゃべり始められますが、複数の車両が同時に話し始めても、メッセージの「重要度」に応じて自動的にどちらが先に通るかが決まり、衝突で情報が失われることはありません。配線は道路2本ぶんで済み、安価です。
  • SpaceWire は、前回学んだ通り、機器同士を1対1の専用回線で直結し、必要ならスイッチで交換局のように中継する、高速な専用線ネットワークです。

この3つは互いに「上位互換」の関係にあるわけではなく、それぞれ最適化している軸が異なります。MIL-STD-1553は信頼性と決定性、CANバスは低コストと省配線、SpaceWireは高速性と柔軟なトポロジを最優先に設計されています。以下、それぞれの仕組みを数式レベルで見ていきましょう。

MIL-STD-1553 — 決定論的なTDMAバス

MIL-STD-1553は、元々1970年代に米空軍がF-16などの軍用機の搭載電子機器(アビオニクス)を接続するために策定した規格で、正式名称は Digital Time Division Command/Response Multiplex Data Bus です。宇宙機への転用が進んだのは、その圧倒的な実績と、後述する決定論的な動作が、有人宇宙機や大型フラッグシップミッションの厳しい信頼性要求と相性が良かったためです。

バス構成とアクセス制御

MIL-STD-1553バスには、役割の異なる3種類のノードが存在します。

  • バスコントローラ (BC, Bus Controller): バス上の全通信のタイミングを一元的に管理する、唯一のノード。
  • リモート端末 (RT, Remote Terminal): センサやアクチュエータなど、BCから話しかけられたときだけ応答する端末。5ビットのRTアドレスにより、1本のバスに最大31台まで接続できます(アドレス31は通常ブロードキャスト用に予約されるため実用上の上限は31台)。
  • バスモニタ (BM, Bus Monitor): 通信内容を傍受・記録するだけの受動的なノード(冗長系の診断やテレメトリ記録用)。

ここでの核心は、バス上の通信はすべてBCが起点となる command/response 方式であり、RT同士が勝手に話し始めることは決してないという点です。これは時分割多重アクセス(TDMA, Time Division Multiple Access)の一種で、「誰がいつ話すか」を中央のBCが完全にスケジューリングします。SpaceWireやCANのように複数ノードが自発的に送信を開始する仕組みとは対照的に、MIL-STD-1553では衝突(コリジョン)という概念自体が原理的に存在しません。

ワード構造とビットレート

MIL-STD-1553はManchester II符号でビット列を伝送し、ビットレートは規格で固定された1 Mbit/sです(データレート Rb=1×106 bit/sR_b = 1 \times 10^6\ \text{bit/s}、ビット周期 Tb=1 μsT_b = 1\ \mu\text{s})。すべての情報は20ビット固定長のワードに区切られて送られ、その内訳は次のいずれかです。

3 bit同期パターン+16 bitデータ/コマンド/ステータス+1 bitパリティ=20 bit\underbrace{3\ \text{bit}}_{\text{同期パターン}} + \underbrace{16\ \text{bit}}_{\text{データ/コマンド/ステータス}} + \underbrace{1\ \text{bit}}_{\text{パリティ}} = 20\ \text{bit}

同期パターンはManchester符号のルールをあえて破った特殊な波形(通常のデータビットでは起こりえない3ビット幅の単一遷移)になっており、受信機はこれを検出することでワードの先頭を確実に識別できます。1ワードの送信時間は、ビット周期がそのまま1ワードあたりのタイムスロットになるように規定されているため、

tword=20×Tb=20 μst_{\text{word}} = 20 \times T_b = 20\ \mu\text{s}

と極めて単純に計算できます。コマンドワードは「RTアドレス(5bit)+送受信ビット(1bit)+サブアドレス/モードコード(5bit)+ワード数/モードコード(5bit)」という構造を持ち、BCがこのコマンドワードを送ることで、特定のRTに対して「何を(サブアドレス)」「何ワード分」「送信せよ/受信せよ」を一意に指示します。

転送時間の見積もり

BCからRTへN個のデータワードを送信する典型的な転送(BC-to-RT転送)では、コマンドワード・N個のデータワード・(応答時間ギャップを挟んで)ステータスワードが順番にバスを占有します。規格上、RTはコマンド受信後 412 μs4\text{--}12\ \mu\text{s} の応答時間ウィンドウ以内にステータスワードを返さなければなりません。この応答時間を TrT_r とすると、1回の転送に要する総時間はおおよそ

Ttransfer20(N+2) μs+TrT_{\text{transfer}} \approx 20(N + 2)\ \mu\text{s} + T_r

と見積もれます。最大ワード数 N=32N = 32(モードコード上は「0」で32ワードを意味する特殊な符号化)まで許されており、この場合バスは1回の転送だけで最大でも1ミリ秒に満たない時間しか占有されません。BCはこのように送るべきメッセージのスケジュール表(メジャー/マイナーフレーム)をあらかじめ持っており、いつ・どのRTと・何ワード通信するかが起動前から完全に決まっていることが、後述する「決定性」の正体です。

こうした厳密なタイミング管理と、二重冗長化されたバス構成(Bus AとBus Bの2系統を持ち、片方が故障してももう片方に自動切り替えする)が組み合わさることで、MIL-STD-1553は「1 Mbpsという控えめな速度と引き換えに、数十年にわたる圧倒的な実績と予測可能性を持つバス」という独自の地位を築いています。

CANバス — 優先度ベースの調停アクセス

CANバス(Controller Area Network)は、1980年代に自動車業界(独ボッシュ社)が、車内に張り巡らされた大量の専用配線をたった2本のツイストペア線に集約するために開発した規格です(現在はISO 11898として標準化)。もともと宇宙用ではありませんが、量産される車載用ICのおかげで単価が極めて安く、部品点数・配線本数を切り詰められるという特性が、質量・体積・予算の制約が厳しい小型衛星・CubeSatのコミュニティで高く評価され、宇宙用途への転用が進みました(欧州ではECSS-E-ST-50-15Cとして、CANの宇宙応用に必要な拡張プロトコルが標準化されています)。

ビット単位の非破壊調停

CANバスの最大の特徴は、MIL-STD-1553のような中央管理者を置かずに、複数のノードが自発的に送信を開始してよいという点です。それでいてSpaceWireのような専用線でも、Ethernetの古典的なCSMA/CDのように衝突したら再送するのでもなく、衝突そのものを送信中にリアルタイムで検出し、優先度の低いノードだけが黙って引き下がるという巧妙な調停方式を採用しています。

CANの物理層は、バスの論理値として優性 (dominant, 論理0)劣性 (recessive, 論理1) という非対称な2状態を持ちます。優性はトランジスタでバスを強制的に電位差のある状態に引き込む能動的な状態、劣性はプルアップ抵抗に任せる受動的な状態で、複数ノードが同時に異なる値を出力した場合、必ず優性(0)が劣性(1)に勝つという配線上のAND演算に近い性質を持ちます。

各メッセージの先頭には識別子(ID) が付与されており(標準フォーマットで11ビット)、この値が小さいほど優先度が高くなります。送信を開始した各ノードは、自分がIDのビットを1つ送出するたびに、実際のバスの状態を読み戻して自分が送った値と比較します。

ノード i が送出したビット=bi,読み戻したバスの値=bbus\text{ノード } i \text{ が送出したビット} = b_i, \qquad \text{読み戻したバスの値} = b_{\text{bus}} bbus=b1b2bk(優性を0とするワイヤードAND)b_{\text{bus}} = b_1 \wedge b_2 \wedge \cdots \wedge b_k \quad (\text{優性を0とするワイヤードAND})

もし bi=1b_i = 1(劣性)を送ったのに bbus=0b_{\text{bus}} = 0(優性)が読み戻されたなら、それは他のどれかのノードが自分より優先度の高い(=IDの値が小さい)ビット列を送出している証拠であり、そのノードは即座に送信を停止して受信モードに切り替わります。これを**ビットごとの非破壊調停(non-destructive bitwise arbitration)**と呼びます。「非破壊」というのは、調停で敗れたノードのメッセージはただ待たされるだけで壊れることはなく、次にバスが空いたときに自動的に再送されるためです。最終的にバス上には最もIDの小さい(=優先度最高の)メッセージだけが生き残り、他のノードは黙ってそれが終わるのを待ちます。

この調停の結果、CANバスは優先度の高いメッセージについては極めて高い応答性を保証できる一方、優先度の低いメッセージはバスが混雑しているときに待たされる時間が読みにくくなります。つまりMIL-STD-1553のような「全メッセージが平等にスケジュールされた完全な決定性」ではなく、「重要なものから確実に通す、緩やかな優先度ベースの決定性」を提供する設計です。

ビットレートと省配線性

CANバスは差動2線式(CAN_H, CAN_L)のマルチドロップバス型トポロジで、標準的な(Classic)CANのビットレートは最大1 Mbit/sですが、宇宙用途では配線長やノイズ耐性とのトレードオフから125 kbit/s〜1 Mbit/s程度で運用されることが一般的です(近年の車載規格であるCAN FDでは最大8 Mbit/s程度まで高速化されていますが、宇宙用途での採用はまだ限定的です)。MIL-STD-1553の20ビット固定長ワードのような硬直したフォーマットは持たず、データフィールドは0〜8バイトまで可変長です。また、NRZ符号化のため同一ビットが5回連続すると強制的に極性を反転させるビットスタッフィングが用いられ、受信機がクロックを再同期できるだけの遷移を人工的に作り出しています。

配線がわずか2本(+リターン線)で済み、車載用として大量生産されたトランシーバICを(耐放射線性を確認した上で)流用できることから、1機あたりの搭載機器点数が少なく予算の限られたCubeSat・小型衛星のバス設計において、CANバスは機器間通信のデファクトスタンダードの一つになっています。

3規格の比較

ここまで見た3つの規格を、代表的な設計軸で整理すると次のようになります。

項目MIL-STD-1553BCANバスSpaceWire
データレート1 Mbit/s(固定)125 kbit/s〜1 Mbit/s(宇宙用途の実用域)規格上最大400 Mbit/s、実運用は数十〜200 Mbit/s
トポロジバス型・マルチドロップ、二重冗長バス型・マルチドロップポイントツーポイント+ルーティングスイッチによる星型・網目状
アクセス制御TDMA(BCが全通信を一元スケジューリング)優先度ベースの非破壊ビット調停(CSMA/CA的)リンクを1対1で専有、クレジット制フロー制御
決定性完全に決定論的(起動前にタイミング表が確定)高優先度メッセージのみ高い決定性、輻輳時は低優先度メッセージの遅延が読みにくいリンク専有により基本は決定的だが、スイッチ経由時はヘッドオブラインブロッキングの影響を受けうる
コスト・部品点数高コスト(専用IC、二重化配線)、実績は圧倒的低コスト(車載用量産ICを流用可能)、配線本数最小中コスト、宇宙専用規格として広く実績あり
代表的な採用ミッション規模有人宇宙機、大型フラッグシップミッションCubeSat・超小型衛星中〜大型の科学衛星・深宇宙探査機

なぜミッションによって選ばれるバスが違うのか

この比較表から見えてくるのは、「どのバスが優れているか」という単純な優劣ではなく、ミッションの規模・予算・信頼性要求のバランスによって最適なバスが変わるという設計上のトレードオフです。

大型フラッグシップミッションや有人宇宙機では、開発予算・検証工数を潤沢にかけられる一方、一つの機器故障が数千億円規模のミッション全体、あるいは搭乗員の生命に関わります。ここで最優先されるのは新規性ではなく実績と予測可能性です。MIL-STD-1553は数十年にわたって航空機・宇宙機で使われ続け、故障モードが徹底的に洗い出された「枯れた」規格であり、BCが全通信タイミングを管理する完全な決定性は、故障時の挙動解析やタイミング検証を大幅に単純化します。速度が1 Mbpsしかなくても、姿勢制御コマンドや機器の状態監視といった低速・高信頼性が求められる通信には十分すぎるほどです。

CubeSat・超小型衛星では事情が正反対です。開発予算は数千万円〜数億円程度、開発期間も数か月〜1、2年、多くは大学や新興企業が限られたリソースで開発します。ここでは実績よりもコストと省配線・省電力が優先され、車載用量産ICを流用できるCANバスの安さと配線の少なさが決定的な魅力になります。多少のメッセージ遅延のばらつきは、そもそもミッション自体が要求する信頼性水準がMIL-STD-1553ほど厳しくないため許容範囲に収まります。

現代の科学衛星・惑星探査機、特に高分解能カメラや分光器、レーダーなど大容量の観測データを扱うミッションでは、決定性そのものよりも帯域幅がボトルネックになります。MIL-STD-1553の1 Mbpsでは1枚の画像を機器間で転送するだけで長い時間がかかってしまい、CANバスも同様に低速です。ここでSpaceWireの数百Mbpsクラスの帯域と、ポイントツーポイント接続によるスループットの独立性(1つのリンクの混雑が他のリンクに直接影響しない)が活きてきます。

つまり3つの規格は優劣の関係ではなく、**「決定性を極限まで追求するMIL-STD-1553」「コストと省配線を極限まで追求するCANバス」「帯域幅と柔軟なトポロジを極限まで追求するSpaceWire」**という、異なる最適化目標を持つ設計の産物なのです。

実務での使われ方

MIL-STD-1553Bは、国際宇宙ステーション(ISS)の各モジュール間のアビオニクス通信、ロッキード・マーティン社のA2100静止通信衛星バスをはじめとする多くの商業静止通信衛星、GPS衛星など、数十年にわたり有人・大型ミッションの標準バスとして使われ続けています。搭載する電子機器メーカー各社から、耐放射線性を持つMIL-STD-1553対応のトランシーバICやプロトコルコントローラが供給されており、新規開発ではなく実績のある部品を組み合わせる設計が可能な点も、大型ミッションでの採用を後押ししています。

CANバスは、GomSpaceやISISといった欧州の小型衛星バスメーカーの多くが機器間通信の選択肢として提供しており、大学発のCubeSatから商業小型衛星コンステレーションまで幅広く採用が進んでいます。ESAの技術実証衛星OPS-SATのような比較的小規模なミッションでも、内部通信の一部にCANバスが使われています。ECSS-E-ST-50-15Cでは、宇宙用途特有の要求(冗長化、決定性の補強)に対応するためCANの上位に拡張プロトコル層を重ねる仕様が規定されています。

そしてSpaceWireは前回見た通り、ESAのRosetta、BepiColombo、JUICE、JAXAの「はやぶさ2」などで採用されてきましたが、近年はさらなる高速化要求(数Gbpsクラスの光学・ハイパースペクトル観測データ)に応えるため、上位互換規格である SpaceFibre(ECSS-E-ST-50-11C)への移行が進んでいます。SpaceFibreはSpaceWireと同じくダンディー大学のグループが中心となって開発した規格で、レーンあたり最大数Gbpsのデータレートを実現しつつ、SpaceWireのパケット構造やRMAPとの互換性、さらには複数レーンの束ね(マルチレーン化)や、QoS(サービス品質)を考慮したトラフィッククラス分けといった機能を備えています。ESAは高分解能撮像やハイパースペクトルセンサなど、今後さらにデータレートが増大する観測ミッション向けにSpaceFibreの採用を進めています。

演習問題

  1. MIL-STD-1553のBC-to-RT転送で、コマンドワード・データワード32個・ステータスワードを1回のメッセージとして送る場合の総転送時間を、応答時間ギャップ Tr=8 μsT_r = 8\ \mu\text{s}(規格の許容範囲 4412 μs12\ \mu\text{s}の中央値)として計算してください。
  2. CANバスで、ノードAが識別子 0b00000101011、ノードBが識別子 0b00000101101(いずれも標準11ビットフォーマット)を持つメッセージを同時に送信し始めたとします。ビットごとの調停の結果、どちらのノードが送信権を獲得するか、先頭から何ビット目で決着がつくかを示しながら説明してください。
  3. なぜCubeSatのようなミッションでは、MIL-STD-1553の持つ「完全な決定性」よりもCANバスの「コストと省配線」が優先されることが多いのか、この回で学んだトレードオフを踏まえて自分の言葉で説明してください。
  4. 高分解能撮像を主目的とする中型の惑星探査機を新規に設計するとして、機器間データバスにMIL-STD-1553、CANバス、SpaceWireのどれを(あるいは複数を組み合わせて)採用すべきか、想定される通信の種類(姿勢制御コマンド、機器の健全性監視、画像データ転送など)ごとに整理し、理由とともに提案してください。

まとめと次回予告

探査機搭載データバスの選択は、単一の「最良な規格」を選ぶ問題ではなく、決定性・コスト・帯域幅という互いにトレードオフの関係にある要求のうち、ミッションの規模と予算がどれを最優先するかによって決まります。MIL-STD-1553は完全な決定性と圧倒的な実績、CANバスは低コストと省配線、SpaceWire(そして次世代のSpaceFibre)は高速性と柔軟なネットワーク構成を、それぞれ極限まで追求した設計の産物です。

ここまで、探査機の筐体内部でデータがどう機器間を流れるかを見てきました。しかし複数の観測機器・処理ユニットが同居し、優先度の異なるデータ(緊急のコマンド応答と、悠長に送ってよい大容量の画像データ)が同じネットワーク資源を奪い合う状況では、単に「データが正しく届く」だけでなく「重要なデータを優先的に、確実な期限内に届ける」というQoS(Quality of Service、サービス品質)設計の考え方が必要になります。次回は、宇宙ネットワークにおけるQoS設計の基本的な考え方に触れていきます。

参考文献

  • MIL-STD-1553B, Digital Time Division Command/Response Multiplex Data Bus, US Department of Defense
  • ISO 11898-1:2015, Road vehicles — Controller area network (CAN) — Part 1: Data link layer and physical signalling
  • ECSS-E-ST-50-15C, Space engineering — CAN bus extension protocol
  • ECSS-E-ST-50-11C, Space engineering — SpaceFibre — Very high-speed serial link
  • ECSS-E-ST-50-12C, SpaceWire — Links, nodes, routers and networks
  • J. R. Wertz, D. F. Everett, J. J. Puschell (eds.), Space Mission Engineering: The New SMAD