2398959_ja-JP

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

2398959_ja-JP

2398959_ja-JP

バーストレジスタを使用したSPI伝送

こんにちは、NXPさん。

ターゲットMCU:S32K388

私はeDMAを使用したSPI伝送に、バーストレジスタTCBRおよびTDBR0-127を使用しています。

現在のフレームサイズは32ビットで、すべて期待どおりに動作しています。

さて、32ビット未満のSPIフレームサイズの場合、DMA転送サイズを変更せずにバーストレジスタをどのように使えるでしょうか。

TCBRは16ビットまたは8ビット単位で書くことができますか?

TDBRnは16ビットまたは8ビット単位で書けますか?

もしなければ、16ビットと8ビットのフレームサイズのDMAチャネルの設定方法についてヒントを教えてもらえますか?

前もって感謝します

Re: Spi transmission using burst registers

はい、 TCBRTDBRn の両方が16ビットおよび8ビットの書き込みをサポートしており、DMAの転送サイズ変更は必要ありません。

  • TDBRn(16ビットまたは8ビット書き込み):書き込みデータをゼロ拡張し、直ちに送信FIFOにプッシュします。LPSPIはTCR[FRAMESZ]で定義されたビットのみをクロック出力します。
  • TCBR (16ビット書き込み[15:0]): 1つのコマンドエントリをFIFOにプッシュします。注: [7:0]への8ビット書き込みはデータをステージングするだけであり、プッシュをトリガーするには[15:8]への2回目の8ビット書き込みが必要です。

RM参照 — S32K3xxリファレンスマニュアル、Rev. 12、2025-11-11:

  • セクション70.6.1.17— データ送信 (TDR):

     

    「このレジスタには32ビット、16ビット、8ビットの書き込みを使って書き込むことができます。8ビットおよび16ビットの送信データ書き込みはいずれも、書き込まれたデータをゼロ拡張し、送信FIFOにデータを送り込みます。8ビットおよび16ビットの書き込みをゼロ拡張(32ビットに拡張)するとは、8ビットおよび16ビットの書き込みの上位(最上位)の空き部分をゼロで埋めることを意味します。

  • セクション70.3.6.1 — DMAサポートレジスタ(TCBR / TDBR0–TDBR127): 8ビット、16ビット、または32ビットのDMA書き込みアクセスを増分するために設計されたバーストエイリアス領域を文書化します。

     

Re: Spi transmission using burst registers

Reg TCBR、16ビットの[15:00]への書き込みや2回目の8ビット書き込みが[15:8]へのデータを送信すると、TCR全体をどうやって更新できるのでしょうか。下半分の単語では、フレームサイズの選択のみが可能です。CPOL、CPHA、PCSなどのその他の設定は、単語の上半分に含まれます。

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