2029549_ja-JP

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

2029549_ja-JP

2029549_ja-JP

S32DS3.5およびRTD 4.0.0のSPI通信に関する質問環境

Hello,

プロジェクト作業中のSPI通信について質問があります。

開発環境はS32DS3.5とRTD 4.0.0です。

  1. DMAを使ったSPI通信の実装例を見ました。AUTOSARを使用しておらず、おそらくMCALも使用しないでしょうが、DMAを利用するためにはRM(Resource Manager)の使用が必須ですか?

  2. SPI通信では、LPSPIを使用するケースとFlexIOを使用してSPIを設定するケースがあることに気づきました。これら2つの違いは何ですか?

ありがとうございます。

Re: S32DS3.5 および RTD 4.0.0 の SPI 通信に関する質問環境

Hi @malove 

あなたの理解は正しいです、ボーレートを15MHzに設定することは、スレーブデバイスの指定された要件を満たすのに十分です。

コンフィギュレーション ツールに記載されているように、次の図に示すように、必要なボー レートの正確な近似値を得るために、より高い LPSPI モジュール クロック周波数を使用することをお勧めします。

RomanVR_0-1737584108879.pngRomanVR_0-1737584108879.png

LPSPIペリフェラルの機能と考慮事項の詳細については、S32K3xxリファレンスマニュアルRev.9の第70章を参照してください。

さらに疑問がある場合はお知らせください。

- RomanVR。

Re: S32DS3.5 および RTD 4.0.0 の SPI 通信に関する質問環境

こんにちは、 @RomanVR 

親切で丁寧なご回答をいただき、誠にありがとうございました。

ご説明から、 SCKを15MHzに設定することは、LPSPIのクロックソースを設定することとは別のものであることを理解しています。つまり、LPSPI0モジュールに40MHzのクロックが供給されていても、BaudRateを15MHzに設定すると、実際の通信速度は15MHzになります。

MCU ホストが 15MHz の SCK で SPI スレーブ デバイスと通信する必要がある場合、この要件を満たすには BaudRate を 15MHz に設定するだけで十分ですか?
さらに、BaudRate を構成する際に留意すべき点は他にありますか?

お手数ですが、よろしくお願いいたします。

Re: S32DS3.5 および RTD 4.0.0 の SPI 通信に関する質問環境

Hi @malove.

BaudRate 設定フィールドでは、SCK の周波数は変更されません。代わりに、その目的は、SPIモジュールで使用されるソースクロック周波数の精度によって決定されるデータ転送速度を構成することです。

このモジュールは、S32K3xx リファレンス マニュアル Rev. 9 の第 70 章のセクション 70.6.1.12 に記載されている次の図に示すように、ボー レートを計算します。

RomanVR_0-1737480832205.pngRomanVR_0-1737480832205.png

さらに疑問がある場合はお知らせください。

- RomanVR。

Re: S32DS3.5 および RTD 4.0.0 の SPI 通信に関する質問環境

こんにちは@RomanVR 

LPSPI Clock Configurator で、 BaudRate というオプションがあることに気づきました。

この BaudRate を変更すると、SCK の周波数が直接変更されますか。
それとも、提供された画像に示すように、Clock Configurator で LPSPI クロック ソースを調整する必要がありますか。


malove_0-1737416498172.pngmalove_0-1737416498172.png


ありがとうございます。

Re: S32DS3.5 および RTD 4.0.0 の SPI 通信に関する質問環境

Hi @malove.

  1. DMA を使用する場合は、DMAMUX の設定を処理するため、Resource Manager (RM) を使用する必要があります。この構成は、DMA 操作をトリガーするソースを選択するために不可欠です。
  2. LPSPIとFlexIOでエミュレートされたSPIの主な違いは、LPSPIは専用のSPIハードウェアモジュールを直接利用し、SPI通信用の構成オプションの完全なセットを提供することです。一方、FlexIO SPIは、FlexIOモジュールに含まれるレジスタとタイマーの組み合わせによって実行されるSPIプロトコルのエミュレーションです。エミュレーションであるため、タイミングパラメータの調整など、LPSPIモジュールほど多くの構成は提供されません。
  3. SCK周波数を変更するには、LPSPI0がソースクロックとして「AIPS_PLAT_CLK」を使用するのに対し(最大80MHz)、他のインスタンスは「AIPS_SLOW_CLK」(最大40MHz)を使用することに注意してください。クロッキングの詳細については、S32K3xxリファレンスマニュアル、Rev.9の次のセクションを参照してください。
    • 24.7 - クロッキングの詳細: 各クロック ソースの最大定格と最小定格。
    • 24.6.1 - モジュール クロッキング: 各 MCU モジュールのソース クロック。
    • 24.4 - クロック ソース、表 111。チップクロックソース。

目的の SCK である 15MHz を実現するには、次の図に示す変更に従います。

RomanVR_0-1737402910915.pngRomanVR_0-1737402910915.png

手記: HSE がインストールされている場合、この変更を行うには追加の手順が必要です。

この情報が役に立ったかどうか、また疑問がある場合はお知らせください。

- RomanVR。


Re: S32DS3.5 および RTD 4.0.0 の SPI 通信に関する質問環境
 

さらに、LPSPI クロック (SCK) を 15MHz に設定する必要があります。これは Clock Configurator で構成する必要がありますか、それともこれを設定する特定の関数がありますか?

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎01-05-2026 03:54 AM
更新者: