おはよう:
現在、S32K144EVB ボードを使用してシステム デモを準備しており、1 つの従来の CAN-HS ネットワーク (500k) と 3 つの LIN を管理する必要があります。(19200、各LINに複数のスレーブ)
k144EVB ボードは 3 つの LIN の LIN マスターとして動作します。そのため、開始点として LIN_master_S32K144 の例を選択しました。LINStACK は正常に動作しており、現在、プロジェクトへの CAN 通信の統合を確認し始めています。S32K144 のドキュメントと例を確認すると、K144 には CAN 通信を管理する 2 つの方法があることがわかります... FIFO 経由か MB 経由です... どちらが優れているかは不明です... 4 〜 5 件の CAN メッセージを受信し、コンテンツ データの一部を処理し、定期的に 1 つまたは 2 つの CAN メッセージを送信する必要があるシステムの場合:
1) LIN マスターがフル稼働することを考慮すると、FIFO または MB のどちらの構成の方が使いやすいですか?
2) NXP linstack と FlexCAN 統合の間でレジスタ/クロック/割り込みの競合が発生する可能性はありますか?
3) このような統合 (LIN-MASTER + CAN-HS) を備えた例は既に存在しますか?
こんにちは@rricart
LIN と CAN の間には関係はなく、2 つの独立したペリフェラルです。
S32K1 FlexCAN の場合、CAN FIFO は CAN FD をサポートしていないため、CAN FD をサポートする必要があるかどうかを検討する必要があります。
プロジェクトで CAN FD 機能が必要ない場合は、MB または FIFO のいずれかで十分です。
このリンクで提供されているデモを参照できます。このデモでは、FlexCAN のさまざまな使用方法が分類され、簡単なテスト デモが提供されています。
https://community.nxp.com/t5/S32K-Knowledge-Base/S32K1xx-FlexCAN-Mask-Setting-Demo/ta-p/1519753