概要
CANは一般的なメディアでデータを共有する可能性のあるLAUのために、費用対効果が高く、効率的なネットワーク機能により宇宙航空用途で使用されています。 共有されたシールド・ツイストペア・ケーブルを介して通信を行うので、航空機搭載において、重量削減の利点があります。さらに、CAN物理層プロトコル仕様はエラー回復および、 保護メカニズムを提供するので航空アプリケーションに魅力的なものになっています。
Airbus A380やBoeing787などの新しい商業航空輸送機は、すでに飛行デッキシステム、エンジン制御、飛行制御システムを含むあらゆる種類の機能のためにCANネットワークを使用しています。 CANコンポーネントと技術は、長年にわたって自動車産業で使われてきましたが、航空機環境に適用するのには追加の仕様が必要でした。 具体的には、航空アプリケーションの要求を満たすのに適したネットワーク全体のメッセージ配信の優先順位と分離を制御する定義が必要です。 航空機レベルでは、システム・レベルでのプロトコル部分を標準化して、システムとネットワーク・ドメイン間の相互運用性を確保する必要があります。 これらのニーズは、1998年に発行されたCANaerospace規格で最初に策定され、航空分野で広く使用されています。
民間航空機はさまざまなサブシステム・ベンダが多数の異なるネットワークを使用していたので、AirbusとBoeingは、 航空電子工学委員会のCANテクニカル・ワーキング・グループと協力してARINC 825規格を定義しました。 ARINC 825の目標は、相互運用性を確保し、商業航空セグメントを含むすべてのクラスの航空機に対してCANサブシステムとほかの航空輸送ネットワークとの相互運用を簡素化することです。 CANテクニカル・ワーキング・グループは、当初Airbus、Boeing、Rockwell Collins、GE Aerospace、Stock Flight Systemsのメンバーで構成され、2007年11月にARINC 825仕様を発行し、 2009年12月に補足1を発行しました。現在の最新版は、2015年7月発行のARINC Specification 825-3です。
現在の民間航空機システム・アーキテクチャはARINC 664、Part7(AFDX)、ネットワーキングIMA(統合モジュラーアビオニクス)アーキテクチャに補助サブシステムとしてCANを組み込んでいます。 これらの航空機の場合CANは動作中に、通常は低~中程度のデータ伝送量を必要とする、センサ、アクチュエータ、およびその他のアビオニクス・デバイスをリンクするために使用されています。 CANはフライトデッキの情報制御をするシステムをサポートする大容量ネットワークを補完する役割をします。 逆に一般的な航空システム・アーキテクチャでは、CANを主要な航空電子ネットワークの一つとして、または航空電子工学のバックボーン・ネットワークとして採用しています。 この役割において、CANは飛行安全にとって重要なネットワークのすべての要件を満たす必要があります。ARINC 825仕様は、両方の哲学を取り入れたネットワークを構築するためにCANを機能強化しています。 これは、プライマリまたは補助的アビオニクス・ネットワークとして使用でき、次の要件を満たすように設計されています。
- ローカルCANネットワークとほかの航空機ネットワークとの簡単な接続
- 実装コストと変更コストの最小化
- CAN接続された搭載機器(LRU)の最大の相互運用性と互換性
- 構成の柔軟性:他のLRUに過度の影響を与えることなく、バスのノードの追加、削除、変更が容易
- システムの相互接続
- パラメトリック・データ転送とブロック・データ転送の両方でシステムとネットワークの境界を容易に超えるトラフィック
- エラー検出とエラー検知の統合
- オンボードのデータ・ロードや航空機の健康管理などのシステム・レベル機能を実装することが可能
CANの基本概念
次の図1-1は、CANを介して通信する一般的なシステムを示しています。送信が必要なノードは、バスがアイドル状態になるまで待たなければなりません。 情報を送信する必要があるノードは、バスがアイドル状態であるか、またはフレーム間のスペース後に、送信のために保留中の適切なメッセージ・アイデンティファイヤを送信します。 バスの調停は、メッセージ・アイデンティファイヤの送信中に実行されます。より低い優先順位のメッセージを送信するノードは、最も高い優先順位のメッセージを送信するノードに排他制御を許可します。 受信ノードは、受信したメッセージを検証します。フレーム間スペースの後、次のメッセージで調停サイクルが繰り返されます。下図に示すように、丸で囲まれたノードは送信中で、他のノードは受信中です。
図1-1 CAN通信モデル
CAN の特徴
ARINC 825の元となる、CAN プロトコルは次のような特徴をもっています。
マルチ・マスタ方式
バスが空いているときは、バスに接続されるすべてのノードがメッセージの送信を始めることができます(マルチ・マスタ)。 バスに対して最初に送信を開始したノードが送信権を得ることができます(CSMA/CR 方式)。 同時に複数のノードが送信を始めた場合は、優先順位の高い ID のメッセージを送信しているノードが送信権を得ることができます。 その結果優先順位の高いノードは周期を乱されず、高いリアルタイム性を保つことが可能です。
システムの柔軟性
ノードにアドレスを設定する必要がないためバスにノードを追加または削除する場合、バスにつながる他のノードのソフトウェア、ハードウェアおよびアプリケーション層に変更を加える必要がありません。
調停
CANプロトコルでは、すべてのメッセージは決まったフォーマットで送信されます。バスが空いている ときは、バスにつながるすべてのノードが新しいメッセージの送信を始めることができます。 2つ以上のノードが同時にメッセージの送信を始めた場合は、アイデンティファイヤによって優先順位が決められます。アイデンティファイヤはメッセージの送り先を示すものではなく、 バスにアクセスする際のメッセージの優先順位を示します。2つ以上のノードが同時にメッセージを開始した場合、各メッセージのアイデンティファイヤに対してビット単位で調停を行います。 調停に勝った(1 番高い優先順位をもつと判断された)ノードはそのまま送信を続け、調停に負けたノードは直ちに送信をやめ受信動作に移ります。
通信速度
ネットワークの規模に合わせて通信速度を設定することができます。1つのネットワーク内では、すべてのノードに対して同一の通信速度を設定しなければなりません。 通信速度が異なるノードが1つでもつなげられていると、そのノードがエラーを出し通信を阻害してしまいます。
高信頼性
シールド・ツイストペア・ケーブルを使用し、外部からのノイズに強い差動信号で外部からのノイズの影響を受けにくくし、データの正当性を保証するCRCなどで、エラーを確実に検出します。
エラーの検出/通知/リカバリー機能
すべてのノードがエラーを検出することができます(エラーの検知機能)。 エラーを検出したノードは、即座に他のすべてのノードに対して一斉にエラーを通知します(エラーの通知機能)。 メッセージを送信しているノードがエラーを検出するとその送信を強制的に終了してエラーを通知し、その後そのメッセージが正常に送信されるまで再送信を繰り返します(エラーのリカバリー機能)。
故障の封じ込み
CAN では外部からのノイズなどが原因で一時的にバス上のデータが化けるエラーと、ノードの内部故障、ドライバの故障、断線などが原因で継続的にバス上のデータが化けるエラーがあり、 これらのエラーの種類を判別する機能があります。この機能により、エラーを起こしやすいノードが他の正常なノードの通信を妨げないようにそのノードの通信の優先度を下げたり、 継続的にバス上のデータが化けている場合はそのエラーの原因となっているノードをバスから切り離します。
リモート・データ要求
"リモート・フレーム"を送信して他のノードにデータ送信を要求することができます。
ネットワーク・ドメインの説明
航空機内のシステム・アーキテクチャの観点から、イーサネットベースのネットワークであるARINC 664 および、CANベースのシステムバスであるARINC 825として該当する一般的なネットワーク・ドメインがあります。 ARINC 664ネットワークは、IPアドレス・ベースのプロトコルとホスト・インターフェイスの通信ポート構造によって特徴づけられます。 ARINC 825ネットワークは、データ消費者が処理する必要のある情報を選択できるようにする、データ・アイデンティファイヤを使用するCANベースのプロトコルによって特徴づけられます。
図1-2は、2つの独立したCANネットワークを備えたネットワーク・システムの例を示します。各ネットワークには高速ネットワークへのゲートウェイがあり、次のようにさまざまな相互通信が利用できます:
- システム間通信は、同一CANネットワーク内の同一システムの一部を形成するCANノード間の通信として定義されます(例:システム#1ノードは、CANバス#1で共に通信します
- システム間通信は、同一CANネットワーク内の異なるシステムからCANノード間の通信(例:システム#4ノードから、CANバス#2上のシステム#5ノードへの通信)として定義されます
- ネットワーク間通信は、異なるネットワーク上または、異なるネットワークを経由するシステム間の通信として定義されます
- CANバス上のノードを制御する高速ネットワーク(例:CANバス#2上のシステム#4ノードと通信する高速ネットワーク上のシステム#6)
- 別々のCANバス上のCANノード間の通信。高速ネットワークは、バス間のブリッジ機能を提供する(例:高速ネットワークを介して、CANバス#1上のシステム#3から、CANバス#2上のシステム#3ノード)
- 別々のCANバス上のCANノード間の通信。高速ネットワークは、バス間のブリッジ機能を提供する(例:高速ネットワークを介して、CANバス#1上のシステム#2から、CANバス#2上のシステム#5ノード)
全てのCANメッセージはブロードキャストされ、他のすべてのノードによって受信されます。
図1-2 2つの独立したCANネットワークを備えたネットワーク・システムの例
図1-3は、高速システム・ネットワークと統合されたCANの2つのデータ・フローを示しています。 システム1のLRU1によって送信されたデータは青色で、バスおよびゲートウェイ上のすべてのLRUによって受信されます。 ゲートウェイは、受信したメッセージを選択的に高速ネットワークに転送します。ゲートウェイによって高速ネットワークから受信されたメッセージは、システム1と2のCAN接続LRUに転送されます。
図1-3 ネットワーク・ドメインとデータ・フロー
CAN プロトコル・アーキテクチャ
図1-4 CANプロトコル・アーキテクチャ
CANプロトコル(ISO-11898-1)は、原則として銅線、光ファイバ、または無線ネットワークのいずれの媒体でも実装できます。 光ファイバおよび無線は、ポイントツーポイント接続に限定されています。シールド・ツイストペア銅線はARINC 825で扱われる唯一の物理層です。CANノードは以下の機能を実装する必要があります。
- 電磁的な保護(雷の間接的影響、サージ、高強度放射場(HIRF)など)
- コントローラ・プロトコルと物理バス(例:トランシーバ)間のインターフェイス
- 情報処理
- 健康管理とモニタリング
- データ・フローとバス調停