ボード: S32K311-EVB
モジュール: FlexCAN0
ツール: J8コネクタで接続されたベクターCANoe
デバッグプローブ: Jリンク
私はFlexCAN0を使ってS32K311-EVBでCANプロトコルを実装しています。
Sami2098_0-1789478804307.pngSami2098_0-1789478804307.pngSami2098_0-1789478804307.png
Sami2098_1-1789478831337.pngSami2098_1-1789478831337.pngSami2098_1-1789478831337.png
Sami2098_2-1789478911944.pngSami2098_2-1789478911944.pngSami2098_2-1789478911944.png
Sami2098_3-1789478932611.pngSami2098_3-1789478932611.pngSami2098_3-1789478932611.png
よろしくお願いします。
こんにちは、 @Sami2098 さん。
現在使っているRTDバージョンを教えてもらえますか?
私たちのコミュニティには参考にできるいくつかの例があります:
FlexCANの設定は全体的に問題なさそうです。PTA6/7がそれぞれ入力と出力として設定されていること、そして実際にSiul2_Port_Ip_Init()APIを呼び出してポートの初期化をしているのか確認できますか?
Julin_AragnM_2-1789514266922.pngJulin_AragnM_2-1789514266922.pngJulin_AragnM_2-1789514266922.pngJulin_AragnM_2-1789514266922.png
S32K1XEVBを使っている場合、使用されているトランシーバはFS23で、FS23がデバッグモードの場合、CANトランシーバはデフォルトでアクティブモードに設定されているため、CAN_MODE = 0b1xを設定する必要はありません。
S32K311<->CANoeの間で設定されているビットレートとサンプリングポイントが同じであることを確認することもお勧めします。
最後に、もしロジックアナライザーやオシロスコープをお持ちなら、CANTXD、CANRXD、CANH、CANLの信号を共有してもらえますか?
よろしくお願いします、
ジュリアン
こんにちは、 Julián_AragónMさん。
調べていただきありがとうございます。原因は、実は CANoeのチャネルバス設定の問題 で、S32K311 CANドライバの設定の問題ではありませんでした。CANoe Vectorの設定を修正したところ、受信は正常に動作するようになりました。
追加の質問:
現在は 500 kbpsで動作しており、異なるボーレート(例: 125 kbps)に切り替えると、正しいビットタイミングとCAN周辺クロックに対するサンプルポイントを維持するために、プリスケーラ、伝播セグメント、位相セグメント1、フェーズセグメント2、リシンクジャンプ幅など、いくつかの依存パラメータを再計算する必要があると理解しています。
誰か、 以下の説明書や参考資料 を教えてもらえますか?
私は MCALレイヤーをAUTOSARモード (S32 Configuration Tool for Canドライバー設定)で使っているので、この設定フローに合わせたガイド(レジスタレベルのFlexCANプログラミングだけでなく)が特に助かります。
ご指導ありがとうございます。
こんにちは、 @Sami2098 さん。
1.リファレンスマニュアルRev. 12の73.3.10.8章(プロトコルタイミング)S32K3XXビットタイミングの設定とその各種パラメータが説明されています。
2. これはアプリケーションや構成によります。ただし、標準ビットレートには125 kbps、250 kbps、500 kbpsがあります。
3. FlexCANビットタイミング計算シートを参照してください。また、RTDトレーニングのシルデスと連携したS32K3XX FlexCANも参照できます。
よろしくお願いします、
ジュリアン