S32K344EVBのCANトランシーバはTJA1153、データシートに書かれている通り設定が必要です。しかし、私には自分の側に有利な2つの現象が見られます。
1.TJA1153のENピンとSTBピンの両方にハイを引っ張るだけで、パートナーと普通に通信できるので設定は不要です。
2. ENピンハイ、STBピンローの設定を行いたいです。データシートに記載されているように0x555U/0x18DA00F1のようなCAN IDを使い、実行Can_43_FLEXCAN_Write後にCan_43_FLEXCAN_MainFunction_Writeで実行しますが、一度も呼び出されCanIf_TxConfirmationありません。次の Can_43_FLEXCAN_Write の呼び出しでは、CAN_BUSY が返されました。
では、この二つの現象の理由は何でしょうか?
こんにちは、
観察された挙動に関するいくつかのコメント:
1. まず、ボード上のCANトランシーバが本当にTJA1153であることを確認してください。標準的なトランシーバ(例:代わりにTJA1043/TJA1042)が入力され、安全な設定シーケンスは不要で、通常のCAN通信が即座に動作するはずです。
2. 純正のTJA1153の場合、動作は現在の状態によって異なります。
2つ目の問題に関して、CanIf_TxConfirmation()が一度も呼び出されず、次のCan_43_FLEXCAN_Write()がCAN_BUSYを返す場合、TXメールボックスの送信が完了していないことを示します。フレームが実際に送信され、確認応答されたかどうかを確認するには、FlexCANステータスレジスタ(ESR1、ECR、MB CODEフィールド)をチェックすることをお勧めします。
BR、ペトル