DSP28335 DMA 模块及寄存器中文资料
该寄存器定义了每次突发传送中源地址及目标地址的增量步长;寄存器为有源二进制形式,地址按要求增加或减少;
在访问如 McBSP 等不要求增量步进的寄存器时,可将该寄存器值设置为 0;
2) 源/目标传送步长 SRC/DST_TRANSFER_STEP
定义了在当前突发传送完成后,下一个突发传送的地址偏移量,当访问的寄存器或内存单元在固定的地址间隔时,可以使用该
功能;
3) 源/目标返回步长 SRC/DST_WRAP_STEP
该寄存器定义了当返回计数值归零时 BEG_ADDR 指针增加或减少字的个数,从而设定新的地址;
1.5.5 DMA 两级循环状态机的运行模式
1)
单次触发模式(
ONESHOT
)
在一次外设中断触发信号到来时,如果使能单次触发模式,则在 TRANSFER_COUNT 归零前 DMA 将连续执行突发传送。如果
单次触发模式被禁止,则每次突发传送过程都要由中断触发信号进行触发,直到
TRANSFER_COUNT
归零。
2) 连续触发模式(CONTINUOUS)
如果连续触发模式被禁止,那么在传送结束后将
CONTROL
寄存器中的
RUNSTS
位清零,禁止
DMA
通道工作。如果要在此通
道发起又一次传送过程,则首先要将 CONTROL 寄存器中的 RUN 位置 1,以重新启动通道。如果连续触发模式被使能,则 RUNSTS
位在每次传送结束不会被清除。
3) 通道中断模式(CHINTMODE)
用来定义
DMA
中断是在传送开始时发生还是在传送结束时发生。如果要用连续模式实现
“
乒乓
”
操作,则中断应在传送开始时
发生。如果 DMA 没有工作在连续模式,则中断通常在传送结束时产生。
2 DMA 模块寄存器
2.1.1 DMA 控制寄存器——DMACTRL
优先级复位设置位,置位时会复位轮次优先状态机;
0:写 0 不起作用,读该位返回 0;
1:置 1 后,处理完所有被挂起的传送请求后才进行优先级复位,如果优先级模式为
通道 1 优先,则低优先级的通道传送操作完成后才进行优先级复位;
硬件复位位
0
:写
0
不起作用,读该位返回
0
;
1:写 1 时硬件复位 DMA 并终止当前所有访问;
2.1.2 DMA 调试控制寄存器——DEBUGCTRL
评论0