Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

FRファミリFR81SMCUでのDMACの使用 - KBA218677

FRファミリFR81SMCUでのDMACの使用 - KBA218677

Infineon_Team
Employee
Employee
50 replies posted 25 likes received 25 replies posted

Translated by: Kenshow

Original KBA: Using DMAC in FR Family FR81S MCUs - KBA218677

バージョン:**

 

質問:

FR81S MCUDMAコントローラ(DMAC)を使用するにはどうすればよいですか?

 

回答:

DMACを使用する場合は、UARTA/DPPGなどのペリフェラルの転送要求に対応しているかを確認してください。この記事では、DMACに関連する次の用語を紹介します。

 

  • 動作モード(Operating mode
  • 転送サイズ(Transfer size
  • 転送トリガ(Transfer trigger
  • 転送数(Transfer counts
  • 転送方向(Transfer direction
  • 転送完了(Transfer completion

 

  1. DMACの動作モード

DMACには次のモードがあります。

IFX_Publisher1_0-1674557410462.png

 

シングル/ブロック転送モード
(ブロック/ステップ転送)

このモードは、1回限りのDMA転送要求をサポートします。転送サイズはブロックサイズによって決まります。ブロックサイズが大きい場合、転送速度は向上しますが、CPUの実際のスループットは低下します。

継続転送モード
(デマンド転送)

このモードは、転送要求(DREQ)がアクティブな間、DMA転送をサポートします。転送カウントレジスタが「0」になるか、DREQ入力が非アクティブになると、CPUにバス使用量が割り当てられます。

バースト転送モード

このモードは、1つの転送要求を使用して指定された数のDMA転送カウントを転送することをサポートします。転送カウントレジスタが「0」になると、CPUにバスの使用が割り当てられます。

2サイクルタイプ

このモードは、順番に読み取りと書き込みを行うために使用されます。このタイプでは、内部バス制御がデータをラッチした後に転送が発生します。アクセスには次の2つのタイプがあります。

-内部領域(RAM)と内部領域(I/O)間

-内部領域(I/O)と外部領域(RAM)間

フライバイタイプ

このモードは、読み取りと書き込みを同時に行うために使用されます。このタイプでは、外部メモリと外部I/O間の転送が同時に発生する可能性があります。

  1. DMACの転送サイズ

DMAC転送サイズには次の3つのタイプがあります。

 

  • バイト(8ビット)
  • ハーフワード(16ビット)
  • ワード(32ビット)
  1. DMACの転送トリガ

 

DMAC転送トリガには、UARTSIOA/DPPGなどが含まれます。デバイスごとに異なります。DMA転送要求のリストについては、それぞれのハードウェアマニュアルを参照してください。

  1. DMACの転送カウント

 

転送カウントレジスタを使用すると、DMAC転送カウントを165536の範囲で設定できます。DMA転送カウントレジスタは、転送要求ごとに1つずつデクリメントされます。

  1. DMACの転送方向

 

DMAC転送は、転送元アドレス転送先アドレスの方向に行われます。これらのアドレスは、必要に応じて増減できます。

  1. DMACの転送完了

 

指定した転送時間が完了すると、DMA転送が完了します。DMA転送の完了後に割り込みを使用できるように設定できます。

 

UARTのオーバーランなど、転送要求にエラーがあると、割り込み要因が発生する可能性があります。割り込みの原因となるエラーがないことを確認してください。

0 件の賞賛
80 件の閲覧回数