FRファミリFR81SMCUでのDMACの使用 - KBA218677
- RSS フィードを購読する
- 新着としてマーク
- 既読としてマーク
- ブックマーク
- 購読
- 印刷用ページ
- 不適切なコンテンツを報告
Translated by: Kenshow
Original KBA: Using DMAC in FR Family FR81S MCUs - KBA218677
バージョン:**
質問:
FR81S MCUでDMAコントローラ(DMAC)を使用するにはどうすればよいですか?
回答:
DMACを使用する場合は、UART、A/D、PPGなどのペリフェラルの転送要求に対応しているかを確認してください。この記事では、DMACに関連する次の用語を紹介します。
- 動作モード(Operating mode)
- 転送サイズ(Transfer size)
- 転送トリガ(Transfer trigger)
- 転送数(Transfer counts)
- 転送方向(Transfer direction)
- 転送完了(Transfer completion)
- DMACの動作モード
DMACには次のモードがあります。
シングル/ブロック転送モード |
このモードは、1回限りのDMA転送要求をサポートします。転送サイズはブロックサイズによって決まります。ブロックサイズが大きい場合、転送速度は向上しますが、CPUの実際のスループットは低下します。 |
継続転送モード |
このモードは、転送要求(DREQ)がアクティブな間、DMA転送をサポートします。転送カウントレジスタが「0」になるか、DREQ入力が非アクティブになると、CPUにバス使用量が割り当てられます。 |
バースト転送モード |
このモードは、1つの転送要求を使用して指定された数のDMA転送カウントを転送することをサポートします。転送カウントレジスタが「0」になると、CPUにバスの使用が割り当てられます。 |
2サイクルタイプ |
このモードは、順番に読み取りと書き込みを行うために使用されます。このタイプでは、内部バス制御がデータをラッチした後に転送が発生します。アクセスには次の2つのタイプがあります。 -内部領域(RAM)と内部領域(I/O)間 -内部領域(I/O)と外部領域(RAM)間 |
フライバイタイプ |
このモードは、読み取りと書き込みを同時に行うために使用されます。このタイプでは、外部メモリと外部I/O間の転送が同時に発生する可能性があります。 |
- DMACの転送サイズ
DMAC転送サイズには次の3つのタイプがあります。
- バイト(8ビット)
- ハーフワード(16ビット)
- ワード(32ビット)
- DMACの転送トリガ
DMAC転送トリガには、UART、SIO、A/D、PPGなどが含まれます。デバイスごとに異なります。DMA転送要求のリストについては、それぞれのハードウェアマニュアルを参照してください。
- DMACの転送カウント
転送カウントレジスタを使用すると、DMAC転送カウントを1〜65536の範囲で設定できます。DMA転送カウントレジスタは、転送要求ごとに1つずつデクリメントされます。
- DMACの転送方向
DMAC転送は、転送元アドレス→転送先アドレスの方向に行われます。これらのアドレスは、必要に応じて増減できます。
- DMACの転送完了
指定した転送時間が完了すると、DMA転送が完了します。DMA転送の完了後に割り込みを使用できるように設定できます。
UARTのオーバーランなど、転送要求にエラーがあると、割り込み要因が発生する可能性があります。割り込みの原因となるエラーがないことを確認してください。
- タグ:
- fr81s family