車両に複数のCANバスがあるのはなぜですか?


17

CANバスには多くの質問がありますが、車両に複数のCANバスがある理由を説明する質問はありません(私が知る限り)。私が理解していることから、多くの異なるノードを単一のCANバスに接続できるため、なぜ複数のノードが必要になるのかわかりません。私の唯一の考えは次のとおりです。

A. 1つのCANバスに接続できるノードの数にはかなり小さな制限があります。しかし、その場合、アービトレーションとエラーチェックが発生するように、CAN間接続が必要になると思います(CAN SPEC 2.0)。

-または-

B.ノードは、プライマリ、セカンダリ、およびターシャリシステムとして優先順位が付けられ、各レベルには独自のCANバスがあり、これらのレベルには機能面で互いに独立したデバイスのみが含まれます。IEブレーキ、エンジン制御、エクステリアライト、ロックはプライマリバスにあります。ラジオ、AC、座席制御、二次バスなどにあります。

誰もが説明/明確化できれば、本当に感謝しています。前もって感謝します。


1
確かにこれについてはあまり知りませんが、OBDIIポートという接続が1つしかないため、バスは1つしかないと考えました。個別のバスはどのように対処されますか?何がそれらを分離するのですか?
JPhi1618

@ JPhi1618正直なところ、私はあまり知りません。だから私は周りに尋ねています。Hackathonのイベントから戻った後、CANバスを介してピア車両のセキュリティについて話し合っていましたが、ほとんどの車両が複数のCANバスを持っていると言及する個人が多くいました。私が知っている唯一の接続はOBDIIポートであることに同意します。ここにはいくつかの投稿があり、複数の投稿があると人々は言っています (mechanics.stackexchange.com/questions/8559/obd2-and-can-bus-am6sigmaが答えで言及しています)。
Moeman69

発見この議論:言う要求データに使用すると、特定のCANデバイスからのデータのセットを要求し、返されたデータを読み取る、接続設定を交渉し、CANゲートウェイとハンドシェイクする必要があります。右の要求を使用すると、1つの接続から3つのバスのいずれかからデータにアクセスすることができます-あなたのCBTは、エンジンコントローラ、計器クラスタからオドメーター、フロント右ドアコントローラなどからのウィンドウ位置からRPMを要求することができますので 、それがどのように見えるので「ゲートウェイ」が鍵です。
JPhi1618

@ JPhi1618ああありがとうございます。私はそのページを見たことがない。また、楽器がクラスターで異なるバスに接続されているという点で、Bが正しいと思っていたようです。ただし、CANゲートウェイはVW車両に固有のものであり、必ずしも標準ではないようです。他の車両にも同様のデバイスと設定があると想像することしかできませんが、それは純粋に推測です。私が言及したように、複数のバスの直接の知識を持っているように見える人々がいたので、私は人々にPMができることを望みます。
Moeman69

回答:


17

CANバスは主に

  • 混雑を管理する
  • 安全性が重要なシステムに関する規制上の懸念を軽減する
  • さまざまなバスにアクセスできるユーザーをより詳細に制御する

単純な車両には2つのCANバスがあります。1つはエンジンと安全システム用で、もう1つは車体制御(照明、ユーザーエクスペリエンスなど)用です。

複雑な車両には、車両の動きに影響を与えるシステム(レーダーアシストクルーズコントロール、駐車システム、車線案内など)に加えて、車両エンターテインメントシステムなど、単純な車体制御を超えるユーザー機能用の追加システム用に個別のバスがあります。

バス共有することはできますが、そうしない理由がいくつかあります。

混雑

高速CANバスでさえ、無制限のbadnwidthを持たず、実際、最新の通信システムと比較すると非常に遅いです。ただし、それらはまだ多くのデータを運ぶ必要があり、その大部分は時間的に重要であるため、低い使用率を維持することで、メッセージをより速く配信することができます(衝突が少なくなります)。 。

テスト中

安全性が重要なシステムは、多くの場合、他のシステムから分離されているため、テストが削減されます。セーフティクリティカルバスに接続されているすべてのデバイスは、より高い動作基準を備えている必要があるため、セーフティクリティカルバスで問題が発生しないことを確認するためにテストする必要があります。独立したボディバスを使用すると、停止しても安全性の問題が発生しないため、わずかに低い標準を使用できます。したがって、テストが削減されます。

1つのバスにすべてを組み合わせて、すべてがより高い標準に準拠していることを確認するのではなく、個別のバスを使用すると、設計者はバスを分割してコストを削減できます。

特にスロットルの問題や、過去に業界で経験した他のドライブバイワイヤの問題のため、業界の規制は困難です。重要なシステムを重要でないシステムから分離しておくことで、事後の問題を見つけて解決するのがはるかに簡単になるだけでなく、安全システムの正しい動作を妨げる可能性のあるデバイスが少なくなるため、起こりにくくなります。

コントロール

改造者が単一のインターフェースを介してエンジン管理やその他のコンピューターを変更できることに気付いた後、車両メーカーは診断コネクタとそのバスを他の車両バスから分離し、許可されたメッセージのみを渡すためにゲートウェイを使用しましたユーザーとガレージへのアクセス。通常、彼らは独自の技術者アクセスを許可する追加機能を備えており、多くは診断コネクタに別のバスを追加しますが、メッセージの詳細を公開せずに、診断エミッション規制との後方互換性を維持しながら高速アクセスが可能です。

ただし、バスを分離すると、簡単な診断コネクタを使用して、誰がオンボードコンピューターに簡単にアクセスできるかをもう少し制御できるようになります。

追加の複雑さ

追加のバスによってもたらされる複雑さは、ゲートウェイコントローラーによって処理されます。一部の車両では、これはボディコントローラーであり、多くの場合、LINなどの他のバス接続があります。これによりバス間でメッセージが渡されるため、たとえば診断デバイスが接続されている場合、デバイスは車両全体の関連するすべての診断情報にアクセスできます。


1
私はあなたの主張に同意しますが、「テスト」よりも「安全」を強調します。セーフティクリティカルなコントローラーは、バス間の通信をフィルター処理して定義されたサブセットに制限するゲートウェイによって、他のコントローラーから分離されています。DVDプレーヤーは、(巧妙に作成されたUSBスティックでハイジャックした後)ブレークまたはエアバッグを制御したり、CANバスを論理的または電気的に誤って危険にさらしたりすることはできません。戦略は、インターネットに公開しないミッションクリティカルなサーバーを備えたLANと同じです。テストはこれまでのところのみです。分離は絶対確実です。
ピーター-モニカの復活

@ PeterA.Schneider異論はありませんが、2009年モデルの大型フォード車のボディモジュールに取り組みました。望ましい結果が得られたか、安全性を検証できたかもしれませんが、証拠はテストであり、このモジュールのテスト時間を短縮します。現実には、単一の複雑なモジュールだけをテストする場合、その内部のすべての組み合わせで数か月かかり、単一の完全な車両バスをテストするのに数年かかる場合があります。これはかなりのコストである程度並列化できますが、数週間でも受け入れられません。バスを分離することで、より簡単で高速なテストが可能になります。
アダムデイビス

@ PeterA.Schneiderこれにより、モジュールとバスのより完全なテストが可能になり、安全性が向上しますが、主な目標は、安全性を向上させるのではなく、特定の安全基準を維持しながら開発時間を短縮することでした。モジュールの設計方法とメッセージパッシングの設計方法は、エンジンバス上の再フラッシュされたDVDプレーヤーが問題を引き起こす可能性はほとんどありません。バスを接続するハードウェアは、シリコンレベルでのDOS攻撃を防ぎ、このハードウェアに接続するマイクロコントローラーはソフトウェアを介してプログラムできません。
アダムデイビス

@ PeterA.Schneiderおそらくこれはセマンティクスまたは違いのない区別かもしれませんが、メーカーが単一のバスを要求した場合、システムは別々のバスに存在する同じレベルの安全性で設計できます。本当に苦労するのは開発時間だけです。幸いなことに、個別のバスの追加コストは低く、そうでなければ、個別のバスのコストが大きすぎる場合は単一のバス用に設計することになります。
アダムデイビス

8

特にCANについて話すとき、答えは上記のどれでもありません。

CANシステムでは、ノードは互いに直接通信せず、代わりにメッセージベースです。すべてのメッセージには、そのアドレスに基づいた優先度があり、だれが話すかを決定します。優先メッセージを持っている人はすべてにメッセージを送信し、それを必要とする人はそれを読み込みます。

所有できるノードの数には制限がありますが、その制限は電気的なものであり、実際のバスの機能ではありません。

その理由は、高速CANはその速度のために電気的に非常に複雑だからです。(伝送ライン、シグナルインテグリティ、スタブ、および終端については説明できますが、これはこの答えが必要とするものをはるかに超えています)これにより、設計が複雑になり、それを使用するモジュールがより高価になります。さらに、すべてが高速CANのブレークネック速度を必要とするわけではありません。CANバスシステムは通常、低速、中速、高速の3つのバスに分けられます。

  • 高速CANはすべての重要なシステムを接続します。エンジン、ABS、エアバッグ、トランスミッション、ボディ。ボディコンピューターは、他のバス間のゲートウェイとして機能します。
  • 中速CANは、通常、外部照明、パワーロック、パワーミラーなどの車の機能に使用されます。
  • 低速のCANは、重要ではないシステムの残りをピックアップします。これらには、室内照明、エンターテイメントなどが含まれます。

前述したように、CANバスはノードアドレスの代わりにメッセージアドレスを使用します。たとえば、車速はメッセージになります。このメッセージはABSユニットによって送信され、かなり高い優先度を持っています。エンジン、エアバッグ、トランスミッション、およびボディはすべてメッセージに興味を持ち、メッセージを読み取ります。メッセージを受信した後、ボディは他のバスを介してメッセージを再送信します。低速バスは通常、高速バスほど頻繁に更新する必要がないため、ボディは時々更新するだけです。

モジュールが一般的に送信されない情報を必要とする場合、モジュールは情報を要求できます。バスの設計は、データが要求されたときに、情報を持っているモジュールが、情報が必要なのは誰なのかではなく、情報が必要なことだけを知るようになっています。

ゲートウェイはボディである必要はなく、インストルメントクラスターまたは他のコンピューターでもかまいません。


確かな答えをありがとう。私はCANメッセージとメッセージ調停にかなり精通しています。私が本当に探している質問は、1つのCAN(低速の非クリティカルCANなど)のメッセージが別のCAN(高速のクリティカルシステムCANなど)に接続されたノードで見られることですか?調停システムは本質的にメッセージの優先度を処理するため、すべてのデバイスが単一のCANに接続されていれば、システムが完全に正常に動作することを想像します。または、異なるCANが一緒に接続されていたとしても。それらが分離しているのは、単に必要性と費用の問題ですか?
Moeman69

@ Moeman69はい。車には100以上のノードが存在する可能性があります。それらすべてに高速CANを装備すると、コストが非常に高くなります。また、バスが混雑し、重要なシステムでより多くの障害ポイントが発生します。
vini_i

2

理由の1つは、2003年のこの漫画でうまくまとめられています。

ここに画像の説明を入力してください

(「新しいデバイスが見つかりました:Airbus A310。自動構成を開始しますか?[開始] [キャンセル]」)

実際、最近、同様の攻撃が報告されています。安全に重要なコンポーネントを、適切に構成されたゲートウェイを介してのみアクセス可能な別のバスに配置すると、上記のような偶発的な問題の可能性が大幅に減少し、ハッキングがはるかに困難になります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.