2413743_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2413743_ja-JP

2413743_ja-JP

S32K31XEVB-Q100FlexCAN0 — ループバックは正常に動作しますが、外部CANoeツールでは受信できません。

ボード: S32K311-EVB
モジュール: FlexCAN0
ツール: J8コネクタで接続されたベクターCANoe
デバッグプローブ: Jリンク

私はFlexCAN0を使ってS32K311-EVBでCANプロトコルを実装しています。

  1. ループバックモードテスト(動作確認済み):
    私はまず、FlexCAN0を内部ループバックモードで実装し、テストしました。これはうまくいきました。送信されたメッセージは、私の「void CanIf_RxIndication(const Can_HwType* Mailbox, const PduInfoType* PduInfoPtr )」を通じて正しく受信されました。
    処理機能により、FlexCAN0の基本設定(クロック設定、ビットタイミング、メッセージバッファ初期化)が正しく機能していることを確認します。
  2. 外部コミュニケーションテスト(効果なし):
    次に外部CAN通信のテストに移りました:
    • ピン構成でPTA6とPTA7のピンを設定してください。
    • J8コネクターでVector CANoeをボードに接続しました。
    • CANoe構成では、私は チェックされていない「CAN Loopback Mode」
    • 12Vアダプターを取り付ける
    • CANoeの送信を開始しました — CANoeはCANフレームを送信していることを示しています。
    • しかし、S32K311側では何も受信されずCanIf_RxIndication (ループバックモードでは正しく動作していた同じ関数)は呼び出されたりトリガーされたりしません。
    • デバッグには、JTAG を使用した Segger RTT Viewer を使用しています。

  3. 設定

Sami2098_0-1789478804307.pngSami2098_0-1789478804307.pngSami2098_0-1789478804307.pngSami2098_0-1789478804307.png Sami2098_1-1789478831337.pngSami2098_1-1789478831337.pngSami2098_1-1789478831337.pngSami2098_1-1789478831337.png Sami2098_2-1789478911944.pngSami2098_2-1789478911944.pngSami2098_2-1789478911944.pngSami2098_2-1789478911944.png

Sami2098_3-1789478932611.pngSami2098_3-1789478932611.pngSami2098_3-1789478932611.pngSami2098_3-1789478932611.png


よろしくお願いします。

 

Re: S32K31XEVB-Q100FlexCAN0 — Loopback works fine, but no reception with external CANoe Tool

こんにちは、 @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.pngJulin_AragnM_2-1789514266922.png

S32K1XEVBを使っている場合、使用されているトランシーバはFS23で、FS23がデバッグモードの場合、CANトランシーバはデフォルトでアクティブモードに設定されているため、CAN_MODE = 0b1xを設定する必要はありません。

S32K311<->CANoeの間で設定されているビットレートとサンプリングポイントが同じであることを確認することもお勧めします。

最後に、もしロジックアナライザーやオシロスコープをお持ちなら、CANTXD、CANRXD、CANH、CANLの信号を共有してもらえますか?

よろしくお願いします、
ジュリアン

Re: S32K31XEVB-Q100FlexCAN0 — Loopback works fine, but no reception with external CANoe Tool

こんにちは、 Julián_AragónMさん。

調べていただきありがとうございます。原因は、実は CANoeのチャネルバス設定の問題 で、S32K311 CANドライバの設定の問題ではありませんでした。CANoe Vectorの設定を修正したところ、受信は正常に動作するようになりました。

追加の質問:

現在は 500 kbpsで動作しており、異なるボーレート(例: 125 kbps)に切り替えると、正しいビットタイミングとCAN周辺クロックに対するサンプルポイントを維持するために、プリスケーラ、伝播セグメント、位相セグメント1、フェーズセグメント2、リシンクジャンプ幅など、いくつかの依存パラメータを再計算する必要があると理解しています。

誰か、 以下の説明書や参考資料 を教えてもらえますか?

  1. これらのビットタイミングパラメータ(プリスケーラ、プロップセグメント、PS1、PS2、SJW)が、異なる目標ボーレートとどのように関連し、どのように導出されるか。
  2. オートモーティブ・インダストリアルの文脈で異なるボーレートに対する推奨サンプルポイント範囲。
  3. ビットタイミング計算用の S32K3xx FlexCAN MCAL(AUTOSAR) 構成ツールに関する公式のNXPアプリケーションノートや参考文献など、いかなるものもご存知。

私は MCALレイヤーをAUTOSARモード (S32 Configuration Tool for Canドライバー設定)で使っているので、この設定フローに合わせたガイド(レジスタレベルのFlexCANプログラミングだけでなく)が特に助かります。

ご指導ありがとうございます。

Re: S32K31XEVB-Q100FlexCAN0 — Loopback works fine, but no reception with external CANoe Tool

こんにちは、 @Sami2098 さん

1.リファレンスマニュアルRev. 12の73.3.10.8章(プロトコルタイミング)S32K3XXビットタイミングの設定とその各種パラメータが説明されています。

2. これはアプリケーションや構成によります。ただし、標準ビットレートには125 kbps、250 kbps、500 kbpsがあります。

3. FlexCANビットタイミング計算シートを参照してください。また、RTDトレーニングのシルデスと連携したS32K3XX FlexCANも参照できます。

よろしくお願いします、
ジュリアン

タグ(1)
評価なし
バージョン履歴
最終更新日:
17 時間前
更新者: