堅牢で実装しやすいシリアルバス(自動車アプリケーション)[終了]

StackOverflow https://stackoverflow.com/questions/144600

質問

主な選択基準が次の場合、自動車の組み込みシステムでどのシリアル通信バスを使用しますか

  • 電気的に堅牢
  • 低速(32 kb / s)
  • プログラムが簡単
  • マイクロコントローラとのインターフェイスが簡単

大量のデータを転送することはありませんが、高速(100〜500 Hz)で定期的に転送する必要があります。アース線にノイズがある場合、RS-232の信頼性が十分でないことがわかります。 CANバスは興味深いように見えますが、経験はありません。

現在、AVR AT90CAN128マイクロコントローラーの組み合わせに関心があります。

役に立ちましたか?

解決

すでにAT90CAN128を選択しました。他のAVRプロセッサーと比較した際立った機能はCANバスのサポートです。データレートとノイズ耐性の要件を備えた自動車アプリケーションには、CANよりも優れた選択肢はありません。 CAN以外のものを使用して自動車の顧客に行進すると、それを使用しないという決定を弁護するためにすべての時間を費やすことになります。

とはいえ、車のような敵対的な環境でのノイズ耐性には、差動信号を使用したバスが必要です。それはi2cまたはSPIを除外しますが、これは他の要件を満たしているため残念です。 RS-485は、@ Andrew Edgecombeが指摘しているように機能します。

商用製品を構築するのではなく、エンジンコンパートメントに入れるために自分用の何かを構築する場合は、おそらくUSBでうまくいくでしょう。 USBを使用すると、車室内のラップトップと簡単に接続できます。ノイズの多い環境向けには設計されていませんが、適度に高い電圧で差動信号が送信されます。

他のヒント

すべての信頼性のために、CANbusを超えることはできません(しかし、それはプロセッサの選択によって暗示されましたか?)

どのインターフェイスに接続するかによって、これは非常に簡単になります。基本レベルのプロトコルは非常に単純です。ただし、所有権のない他のデバイスと通信する場合は、より高いプロトコル(CANopenなど)を実装する必要があります。

ただし、CANbusが適切でない場合は、RS485またはRS422(トポロジに応じて)をお勧めします。達成しようとしているのがポイントツーポイント通信だけである場合は、RS232と同じです。 (ただし、マルチドロップ通信をサポートする場合は、独自のプロトコルレイヤーを最上部に配置する必要があります。)

CAN 以外の2つの優れた選択肢は、LINとFlexRayです。 LIN は、 FlexRay はより堅牢で、ブレーキのリアルタイム制御などの安全性が重要なシステム向けに設計されています。

さまざまなバスの選択がどのように相互に関連しているかの概要図については、スライド

CANは自動車通信に最適であることを常にお勧めします。

  • 物理層のデータ転送に電気的グリッチがあっても耐えられる差動ラインを備えています
  • 信頼性の高い速度を提供でき、ほとんどの自動車用ソフトウェアアプリケーションで500KBaudの速度を提供します。
  • CANコントローラのメールボックスとレジスタ構造を知っている場合、インターフェイスも簡単です。

他の人が言ったように、CANは標準、堅牢、低速などでより堅牢です

さらに大きなシステムが必要な場合は、バージョン2.6.15からのLinuxカーネルのサポートもあります。

scroll top