-1

私は現在、車両の OBD-2 ポートに接続されるカスタム スレーブ PCB で STN2120 を使用しています。STN は CAN プロトコルを解釈し、エンジン センサー情報を UART 経由でマスター PCB に渡します。マスター ボード上の ATMEGA2560 MCU は、STN2120 から受信した OBD-2 エンジン センサー値を監視し、マスター ボードは、監視している CAN センサー データに基づいて満たされた特定の条件に基づいて、デジタル出力回路をアクティブにします。CANバスが生成するのと同じ速度でデータを読み取ることができるようにするには、マスターボード上のMCUが必要です(つまり、最大500 kbpsだと思います)。

私のボードを設計している人は、マスター PCB の ATMEGA MCU を使用して STN からデータを要求し、そのデータを受信すると、センサー データごとに 1 秒を超えるリフレッシュ レートになる可能性が高いことに気付きました。 m は、マスター ボードで読み取りを探しています。CAN バスからの絶対的な瞬間データは必要ありませんが、私の目的のためには 1 秒あたり数回の速度で更新する必要があります。

私が説明していることに基づいて、マスターボードでこのデータを収集するより良い方法はありますか?これにより、CAN バスで 15 個のセンサーのデータを見ると、リフレッシュ レートが大幅に速くなりますか? STN2120 とまったく同じように、ATMEGA にいくつかのライブラリをロードできますか? ここで無知で申し訳ありません。私はコンセプトを持った車の男で、マイクロコントローラーの知識はほとんどありません。

4

1 に答える 1

0

まず、単純な CAN-Bus インターフェイスではなく、STN2120 (あらゆる種類の OBD2 車両プロトコルのサポートを含む) を使用する理由は何ですか?

とにかく、速度の問題に関しては、CAN バスの速度ではなく、実際の ECU の速度がボトルネックになることがよくあります。ECU に直接クエリを実行すると (UDS コマンドなどを介して)、100ms 未満で識別子をクエリできるため、10Hz でプローブできます。

于 2021-07-22T09:46:05.600 に答える