【DMA】配置及使用

 

DMA(Direct Memory Access)直接储存器访问

dsPIC33F DMA子系统使用双端口SRAM储存器(DPSRAM)和寄存器结构,这种架构无需进行周期挪用。

周期挪用的意思就是(也叫周期窃取)当CPU和DMA都需要访问储存器时,DMA优先级高于CPU,会使CPU暂停。当CPU正在访问储存器时,DMA则需等待CPU处理完再进入。按手册的说法,这710就是没有周期挪用的。

DMA也需要触发,可以用定时器和外部中断进行触发,我们一般习惯用定时器,每个DMA通道都是单向的,要进行读写操作的话,必须分配两个DMA通道。共有8个独立通道,都可以设置成发送或者接收但是都必须为单向。通道也有传输优先级。

只有外部中断0、Timer2和Timer3可以选择用于产生DMA请求 

 传输数据长度在DMAxCON寄存器的SIZE位中指定。

SMPI<3:0>位(ADxCON2<5:2>)用来选择DMA RAM缓冲区指针递增的频率

ADDMABM位(ADxCON1<12>)决定转换结果填充到DMA RAM的方式,置1为顺序写入。

置0为分散。

 

posted @ 2017-07-12 17:54  不学习就变瘦  阅读(1875)  评论(0编辑  收藏  举报