2019-08-02 14:23发布
DMA(Direct Memory Access),即直接存储器存取,是一种快速传送数据的机制。它的优点在于一旦控制器初始化完成,数据开始传送,DMA就可以脱离CPU,独立完成数据传送。不需要依于CPU的大量中断负载,从而节省大量的CPU资源。
TMS320F28335具有6通道DMA,而且每个通道具有独立的PIE中断。DMA的触发源种类有很多,可以配置为ADC、MCBSPs、外部中断、CPU定时器、ePWM1-6 ADCSOCA and ADSOCB和软件等出发方式。DMA可以对L4-L7 16Kx16 SARAM、XINTF外部接口、ADC、MCBSPs、ePWM1-6/HRPWM1-6映射到Peripheral Frame 3空间的寄存器进行数据操作。工作方式可以配置为32位或者16位。吞吐量最高为4时钟/字。需要注意的是,当DMA对MCBSPs进行数据操作时,只能配置为16位工作模式,而且最大的吞吐量为5时钟/字。具体原因参考一下TI的数据手册。下面以TI的例程为例详细讲解一下DMA配置。
28335 DMA的配置主要是一下几个函数,可以在DSP2833x_DMA.c找到。
函数及配置详解:
最多设置5个标签!
DMA(Direct Memory Access),即直接存储器存取,是一种快速传送数据的机制。它的优点在于一旦控制器初始化完成,数据开始传送,DMA就可以脱离CPU,独立完成数据传送。不需要依于CPU的大量中断负载,从而节省大量的CPU资源。
TMS320F28335具有6通道DMA,而且每个通道具有独立的PIE中断。DMA的触发源种类有很多,可以配置为ADC、MCBSPs、外部中断、CPU定时器、ePWM1-6 ADCSOCA and ADSOCB和软件等出发方式。DMA可以对L4-L7 16Kx16 SARAM、XINTF外部接口、ADC、MCBSPs、ePWM1-6/HRPWM1-6映射到Peripheral Frame 3空间的寄存器进行数据操作。工作方式可以配置为32位或者16位。吞吐量最高为4时钟/字。需要注意的是,当DMA对MCBSPs进行数据操作时,只能配置为16位工作模式,而且最大的吞吐量为5时钟/字。具体原因参考一下TI的数据手册。下面以TI的例程为例详细讲解一下DMA配置。
28335 DMA的配置主要是一下几个函数,可以在DSP2833x_DMA.c找到。
函数及配置详解:
void DMACHxAddrConfig(volatile Uint16 *DMA_Dest,volatile Uint16 *DMA_Source)大约就这些了。具体该配置成个什么样子还是去看手册吧。
一周热门 更多>