2406368_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2406368_ja-JP

2406368_ja-JP

MPC5604PでFlexRayダイナミックフレームのペイロード長を自由に可変にする方法

こんにちは、みんな、

現在、MPC5604P MCUを使ってFlexRay通信を開発しており、ダイナミックセグメントで異なるペイロードの長さをフレーム単位で送信する実装が必要です。

NXPの公式FlexRay Unified Driverの例では、ダイナミックセグメントの設定には次のようなパラメータが含まれていることに気づきました G_NUMBER_OF_MINISLOTS GD_MINISLOT、そして P_PAYLOAD_LENGTH_DYN_MAX。しかし、これらのパラメータはフレームごとの設定ではなく、グローバルな設定のように見えます。この機能を実現する解決策はありますか?

ご意見やご提案をいただければ大変ありがたいです。どうもありがとうございます!

Re: How to implement freely variable payload length for FlexRay dynamic frames on MPC5604Pわかりました、ありがとうございます。Re: How to implement freely variable payload length for FlexRay dynamic frames on MPC5604P

こんにちは、

FlexRayクラスタパラメータであるG_NUMBER_OF_MINISLOTS、GD_MINISLOT、およびP_PAYLOAD_LENGTH_DYN_MAXはグローバルなタイミングパラメータであり、クラスタ全体で一貫している必要があります。P_PAYLOAD_LENGTH_DYN_MAXは、動的フレームが使用できる最大ペイロード長を定義します。すべての動的フレームにその長さを強制するものではありません。

ダイナミックセグメントフレームは、異なる長さのペイロードを搭載できる。実際の長さは、個々のフレームヘッダーのペイロード長フィールドに指定され、16ビットワード単位で表されます。したがって、必要な最大フレームサイズに合わせてP_PAYLOAD_LENGTH_DYN_MAXを設定し、送信前に送信メッセージバッファのペイロード長フィールドを更新してください。奇数バイトの長さは、次の偶数バイトになるようにパディングする必要があります。

もし使用されているFlexRay Unified DriverバージョンがLPDU設定時にペイロードの長さを固定し、送信APIを通じてこのフィールドを公開しない場合、設定済みのLPDUで長さを自由に変更することは、そのドライバーインターフェースで直接サポートされていません。その場合は、異なる長さの複数の動的LPDUを設定するか、低レベルのメッセージバッファ処理を修正・利用してフレームヘッダーを更新しつつ、MPC5604Pメッセージバッファのロック手順を観察してください。

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

ピーター

Tags (1)
No ratings
Version history
Last update:
Thursday
Updated by: