前回は、画面表示に着目して、メッセージ送受信とシグナル情報表示を説明しました。
今回は、弊社で開発した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回 Visual C++で作成したDLL内のクラスをC#で利用する方法
こんにちは、ILCです。 Visual C++ (以下 VC++)で作成されたDynamic...
公開日:2024.01.19 更新日:2024.01.19
tag : Windows
-
-
-
第1回 ラズパイを使用したBLE通信 ~ ディスプレイ、キーボード、マウスを接続しないで設定 前編 ~
こんにちは、GTです。よろしくお願いします。 最近業務でラズパイのBluetooth機能を使...
公開日:2021.12.24 更新日:2021.12.24
tag : Bluetooth Raspberry Pi
-
【新機能探訪】Android 13から導入された『アプリごとの言語設定』
こんにちは、KNSKです。よろしくお願いします。 今回は Android13の新機能である『...
公開日:2022.12.09 更新日:2022.12.09
tag : スマートデバイス
-
こんにちは。WwWです。 システム系の開発をしていると様々な問題が起こります。 そこで今回は...
公開日:2023.04.28 更新日:2023.04.28