2324362_ja-JP

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

2324362_ja-JP

2324362_ja-JP

S32K344EVB-T172 で CAN TX が動作しない (MBD Ver 1.8.0)

こんにちは、
現在、モデルベースデザイン (MBD) アプローチを使用して CAN TX をテストしようとしていますが、CAN 送信が機能しません。どうぞよろしくお願いいたします。

私のテスト環境は次のとおりです。
- ボード: S32K344EVB-T172
- MBDバージョン: MBD Ver 1.8.0 (RTD V7.0.0)
- MATLAB: 2025b
- 設定ツール: S32CT (V2025.R1.8)
- CANツール: VehicleSPY BasicとValueCAN4
- FreeMASTER: バージョン3.2

参考資料:
https://community.nxp.com/t5/NXP-モデルベース設計ツール/デジタル入力と出力の相互作用-MR-CANHUBK344/ta-p/1746789

テストの説明:
このテストでは、ポテンショメータから ADC 値を読み取り、それを電圧 (mV 単位) に変換し、ID 0x100 で CAN 経由で送信します。
ADC 結果 (ADC_Voltage_mv、0~5000 mV) が FreeMASTER で正しく動作していることが検証されています。

CANトランシーバー(TJA1443)の初期設定:
- CAN0_EN (PTC21) = HIGH
- CAN0_STB_N (PTC20) = HIGH

CAN構成:
- フレックスCAN0
- 500 kbps(サンプリングポイント:87.5%)
- 標準ID(11ビット)
- 8バイトのペイロード
- CAN TXポーリングモード

ハードウェア接続
- S32K344EVB-T172 ボード J32: ピン 1 (CAN_HIGH)、ピン 2 (CAN_LOW)
- ValueCAN4 チャネル 1 にコネクテッド: ピン 2 → CAN_LOW、ピン 7 → CAN_HIGH
- ビットレートを500 kbpsに設定
- 120オームの終端抵抗が有効
- CAN DB 構成:
ID 0x100 (8バイト)
ID 0x101 (8バイト)
係数 = 1、オフセット = 0

テスト結果
- シミュレーションエラーなし
- ビルドとデプロイメントが正常に完了しました
- ADCは正常に動作します
- CAN TXはVehicleSPYでは観測されません

レビュー用にソースファイルを添付しました。考えられる原因に関して専門家のアドバイスをいただければ幸いです。

添付ファイル: CAN_TX_TEST.zip
- モデル: CAN_TX_TEST.slx
- 実行ファイル: CAN_TX_TEST.elf
- 設定ファイル: CAN_TX_TESTConfig.mex
- CAN DB: CAN_DB_TEST_20260227.dbc
- FreeMASTERプロジェクト: CAN_TX_TEST.pmpx

ご協力ありがとうございます。

Re: CAN TX Not Working on S32K344EVB-T172 (MBD Ver 1.8.0)

以前共有されたリンクは間違っていました。こちらが正解です。

https://community.nxp.com/t5/NXP-モデルベース設計ツール/CANバス経由の通信/ta-p/1758456

Re: CAN TX Not Working on S32K344EVB-T172 (MBD Ver 1.8.0)

こんにちは、

あなたのモデルをダウンロードしてビルドしたところ、説明どおりに動作しました。ADCは正常に動作しますが、CANは動作しません。

まず、お持ちの基板のリビジョンをご確認ください。リビジョンによってCANトランシーバが異なるためです。

  • RevA - RevBにはTJA1153があります
  • RevB1にTJA1443があります

お送りいただいた画像から判断すると、RevBをお持ちのようですが、画像が圧縮されているため画質があまり良くないので、念のためご確認ください。

RevBを使用している場合は、TJA1153を初期化する必要があります。ENピンとSTB_Nピンを設定するだけでは不十分です。初期化方法の例は、「s32k3xx_can_transmit_ebt」サンプルに記載されています。

基本的には、これらの手順をこの順番通りに実行する必要があります(各ブロックの優先順位を設定して、順番が守られるようにしてください)。

  1. SetControllerMode
  2. Can_DisableControllerInterrupts
  3. TJA1153 初期化
  4. Can_EnableControllerInterrupts

SorinIBancila_0-1776262523574.png


CANトランシーバ初期化バリアント内には、 TJA1153の初期化処理を含むMATLAB関数ブロックが必要です。

SorinIBancila_1-1776262638434.png

MATLAB関数の入力値は、以下の画像に示されています。

  • canExtHwId -> CAN送信ポーリング用のハードウェアオブジェクトID(TJA1153にコマンドを送信して初期化するために使用されます)
  • canEnDioChannel - ピンを有効にする
  • canStbDioChannel - Standy_N ピン
  • canErrnDioChannel - エラー_Nピン

SorinIBancila_2-1776262677343.png


MATLAB関数を使用するには、MinGWコンパイラもインストールする必要があります。MATLABのアドオンマネージャで見つけることができます。

初期化部分を更新したSLXファイルも添付しました。


よろしくお願いいたします。

ソリン・バンシラ


Re: CAN TX Not Working on S32K344EVB-T172 (MBD Ver 1.8.0)こんにちは、ソリン・バンシラさん。

私の問い合わせに対する詳細なご回答をありがとうございました。

まず、私たちが使用している基板はRevBです。
したがって、TJA1153が使用されていると思われる。

部品に明確な部品番号が記載されていないため、直接確認することは困難です。しかし、基板には「SCH-53148 RevB 700-53148 Rev X5」というラベルが付いています。

当初はTJA1153のENピンとSTB_Nピンのみを設定していましたが、初期化シーケンスが非常に重要であることが分かりました。ご提供いただいたTJA1153の初期化手順に従って作業したところ、CAN TXが正常に動作していることを確認できました。

結論として、この問題はTJA1153の初期化シーケンスの誤りによって引き起こされた。

解決策をご提供いただき、誠にありがとうございました。

よろしくお願いします、
ソン・ヒョンシク
标记 (1)
无评分
版本历史
最后更新:
‎04-17-2026 03:28 AM
更新人: