メモリーDMA

ADSP-2191は内蔵メモリーDMAを持っており、メモリー間あるいはメモリーとIOデバイスの間でデータ転送を行うことができます。メモリーDMAはDSPの介入を必要としないため、信号処理のバックグラウンドで高速にデータを移動することができます。

メモリーDMAはDMA転送の指定にデスクリプタを使います。ユーザーはメモリー上にデスクリプタを定義し、そのアドレスをDMAエンジンに教えることでDMAを開始します。

メモリーDMAには書き込み側(W)と読み出し側(R)の二つのDMAエンジンがあります。両者は対を成しており、それぞれがデータのコピー先とコピー元を指し示します。

書き込み側

DMACW_PTR
書き込み側デスクリプタのアドレスを指し示しています。
DMACW_CFG
書き込み側DMAの動作パラメータなどを設定します。
DMACW_SRP
書き込み側DMAがデータを転送するメモリーページとメモリー空間を指定します。
DMACW_SRA
書き込み側転送のスタートアドレスを指し示しています。
DMACW_CNT
書き込み側転送の転送カウントを指し示しています。
DMACW_CP
書き込み側転送の次のデスクリプタアドレスを示しています。
DMACW_CPR
転送に使うデスクリプタへのポインタが有効になった、つまり転送の準備ができたことをDMAに知らせるためのものです。
DMACW_IRQ
書き込み側のDMA完了割り込みをクリアするためのレジスタです。

読み出し側

DMACR_PTR
読み出し側デスクリプタのアドレスを指し示しています。
DMACR_CFG
読み出し側DMAの動作パラメータなどを設定します。
DMACR_SRP
読み出し側DMAがデータを転送するメモリーページとメモリー空間を指定します。
DMACR_SRA
読み出し側転送のスタートアドレスを指し示しています。
DMACR_CNT
読み出し側転送の転送カウントを指し示しています。
DMACR_CP
読み出し側転送の次のデスクリプタアドレスを示しています。
DMACR_CPR
転送に使うデスクリプタへのポインタが有効になった、つまり転送の準備ができたことをDMAに知らせるためのものです。
DMACR_IRQ
読み出し側のDMA完了割り込みをクリアするためのレジスタです。
2191空挺団 | プログラム | EZ-KIT | こぼれ話 | アーキテクチャー | 命令 | レジスタ | DSP掲示板 | FAQ |