首页 理论教育 EDMA启动机制详解

EDMA启动机制详解

时间:2023-07-02 理论教育 版权反馈
【摘要】:利用EDMA进行数据传输时,有3种启动方式:一是由CPU启动,二是由触发事件启动,三是链触发启动。每一个EDMA通道的启动是相互独立的。CPU启动EDMA/非同步的EDMACPU可以通过对事件设置寄存器写操作来启动一个EDMA传输。一旦EER使能了一个事件,与该事件相关的EDMA传输将会发生。所有的EDMA通道均与特定的同步事件相关联。表3-15列出了TMS320C64xDSP的每个与可编程序EDMA通道相关的同步事件。

EDMA启动机制详解

利用EDMA进行数据传输时,有3种启动方式:一是由CPU启动,二是由触发事件启动,三是链触发启动。由于事件触发EDMA传输允许基于系统事件自动产生传输请求的发送,而不用CPU的干预,所以这种方式更为常用。每一个EDMA通道的启动是相互独立的。

(1)CPU启动EDMA/非同步的EDMA

CPU可以通过对事件设置寄存器(ESR)写操作来启动一个EDMA传输。当向ESR的某一位写1时,将强行触发对应的事件。此时与正常的事件响应过程相类似,EDMA的参数RAM中的传输参数被送入地址发生器,以完成所需的对EMIF、L2存储器外设的读/写访问。由CPU启动的EDMA属于非同步的数据传输,因为一个CPU写ESR是一个实时事件,在事件使能寄存器(EER)中的事件使能与否不会影响这种EDMA传输的启动。

(2)由事件触发的EDMA

一旦事件编码器捕获到一个触发事件并锁存在ER(寄存器)中,将导致参数RAM中对应的参数被送入地址发生器中,从而执行相关的传输操作。尽管是由事件启动传输操作,但是事件本身必须先要被CPU使能。写1到EER的相关位将使能一个事件。即使EER的相应使能位为0(被禁止),一个事件依然会锁存在ER中。一旦EER使能了一个事件,与该事件相关的EDMA传输将会发生。

(3)链触发EDMA

通过链接和通道链使能寄存器(CCER),由一个EDMA通道的结束触发链启动另一个EDMA通道。(www.xing528.com)

所有的EDMA通道均与特定的同步事件相关联。由事件同步触发EDMA传输时,这些事件可以来源于外设、外部器件的中断,或是一个EDMA通道传输完成事件。当一个通道接收它的事件或当CPU向ESR写入操作实现手动同步时,一个通道只能请求一个数据传输。被传输的数据量依赖于通道的配置。当帧块传输实现同步时,一个通道可以发送整个帧/块。当单元/阵列实现同步时,一个通道可以发送一个帧的子集(根据维数不同可以是单元或阵列)。表3-15列出了TMS320C64xDSP的每个与可编程序EDMA通道相关的同步事件。

表3-15 TMS320C64x DSP的每个与可编程序EDMA通道相关的同步事件

978-7-111-37346-9-Chapter03-55.jpg

(续)

978-7-111-37346-9-Chapter03-56.jpg

从表3-15中可以看到,EDMA的每一个通道关联的触发事件是固定的。因此,假设EER中EVT6为1,那么EXT_INT6引脚上的外部中断信号就会启动EDMA通道6的传输。所以,每一个事件也就指定了一个特定的通道。每一个事件的优先级可以在参数RAM中独立设置。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈