前回は、画面表示に着目して、メッセージ送受信とシグナル情報表示を説明しました。
今回は、弊社で開発したCandyを使用して評価ボード間のCAN通信データを確認してみたいと思います。
また、CAN通信のテストに役立つ機能を紹介したいと思います。
今回の事例
評価用ボードを使って、組み込みソフトウェアのCAN通信機能が正しく動作するかをテストします。
テスト中のCAN送受信メッセージをモニタリングするため、Candyを使用します。
システム構成
テスト対象のソフトウェアを評価用ボードへ書き込み、
テスターと適切にCAN通信できるか確認します。
通信内容を確認するためCandyも接続します。

通信仕様
今回の事例で使用する通信仕様を説明します。
- 通信設定
ビットレート | 250kbps |
サンプリングポイント | 81% |
アクセプタンスフィルタ | 無し |
- 通信シーケンス

テスト実施
まずは、Candyの通信設定を行います。
今回Candyはメッセージ送信をせず受信だけ行いたいので、サイレントモードを指定します。
サイレントモードに設定すると一切データ送信を行わなくなる為、
バスの動作には影響を及ぼすことなく、CAN通信をモニタリングできるようになります。

評価用ボードとテスターの通信内容をCandyでモニタします。
Candyのトレース画面に表示されたメッセージ内容を確認しますが、
エラーフレームが発生してしまいました。
これは通信エラーが発生すると送信されるフレームなので、
何かしら異常が発生している事が分かります。

ハード側(ケーブル接続など)に問題が無いか確認するため、
Candyからもメッセージ送信をしてみます。
送信できるように通常モードに設定を変更しました。

まずはテスターからメッセージ送信してみましたが、
エラーフレームが発生しなくなりました。

Candyの設定変更だけで動作が変ったので、ソフトに問題があると予想できます。
調査したところ、①セキュリティ解除要求をサイレントモードで受信しており、
Ackを返せていないことが原因とわかりました。
※Ackとは:受信確認に使用されるものです。受信側がメッセージ受信時に送信し、
送信側はAckを見てメッセージ受信されたかどうか判断します。Ackが無ければエラー検出します。

Candyを通常モードに変更したらエラー発生しなくなったのは
評価用ボードの代わりにCandyがAckを返していたからです。

①セキュリティ解除要求を通常モードで受信する仕様にソフトを修正し、
Candyの設定を元に戻して、評価用ボードとテスターの通信内容をCandyで再確認します。

エラー発生せず、適切にCANメッセージの送受信ができている事が確認できました。
Candyは通信設定を切り替える事でCANパスに影響をあたえることなくメッセージのモニタリングができます。
次回
今回はメッセージの送受信ができているところまで確認しました。
次回は、メッセージの内容を確認します。
関連記事
-
第1回 ラズパイを使用したBLE通信 ~ ディスプレイ、キーボード、マウスを接続しないで設定 前編 ~
こんにちは、GTです。よろしくお願いします。 最近業務でラズパイのBluetooth機能を使...
公開日:2021.12.24 更新日:2021.12.24
tag : Bluetooth Raspberry Pi
-
-
第1回 Visual C++で作成したDLL内のクラスをC#で利用する方法
こんにちは、ILCです。 Visual C++ (以下 VC++)で作成されたDynamic...
公開日:2024.01.19 更新日:2024.01.19
tag : Windows
-
-
こんにちは、TMIHです。 今回から組み込み系のソフトウェア設計標準規格である、MISRA-...
公開日:2022.02.25 更新日:2022.02.25
-
第3回 ラズパイを使用したBLE通信 ~ A/D変換・D/A変換を用いた入出力編 ~
こんにちは、GTです。よろしくお願いします。 第3回の今回は、ラズパイの入出力についてご紹介...
公開日:2023.02.24 更新日:2023.02.24
tag : Bluetooth BLE Raspberry Pi