2021/04/06(火)LPC55xx DMA : Trigger operational detail

参照: NXP LPC55S1x RM R1.3, 22.5.1.3項 *1

Trigger operational detail

DMAチャンネルで転送を開始するには、必ず何らかのトリガが必要です。トリガには、ハードウェアトリガとソフトウェアトリガがあり、いくつかの方法で使用できます。

SWTRIGビットが0に設定されているチャンネルは、ハードウェアまたはソフトウェアによってトリガをかけることができます。ソフトウェアトリガは,SETTRIGレジスタの該当ビットに1を書き込むことで実現します。ハードウェアトリガの場合は、関連するチャネルのCFGレジスタのHWTRIGEN、TRIGPOL、TRIGTYPE、TRIGBURSTフィールドの設定が必要です。チャネルの初期設定時に、XFERCFGレジスタのSWTRIGビットを設定すると、直ちに転送が開始されます。

関連するCFGレジスタのPERIPHREQENビットが設定されていれば、チャネル上の転送はDMAリクエストのペースに合わせて行われます。それ以外の場合は、全速力で転送が行われます。

CTLSTATレジスタのTRIGビットは、XFERCFGレジスタの値CLRTRIG(ビット0)によって決定される転送の終了時にクリアすることができます。CLRTRIGに1があると、ディスクリプタが使い果たされたときにトリガがクリアされます。

*1 : この記事は筆者が私的利用のためにReference Manualを抜粋、翻訳したものです。いかなる問題に対しても責任は負いません。