TI C6000 EDMA传输的一点理解

2015-09-01 09:26 阅读 374 次 评论 2 条

EDMA(enhanced direct memory access)也是一种DMA,它的传输与普通DMA一样不需要CPU(此处应该为DSP内核更合适)。

所有的EDMA通道与一个特定的同步时间相关联。同步的触发EDMA传输的事件可以是外部设备外部硬件,或者是EDMA传输完毕的时间。当EDMA接收到一个事件或当CPU手动设置同步可以在一个通道请求一个数据传输。数据传输的总量(数据总长度,根据寄存器配置可以是byte长度,也可以u32长度)取决于通道的配置。下面是EDMA通道通道与对应触发时间的对应关系。以C641xDSP为例,共有64个通道,只截取了其中三个EDMA通道与定时器有关的。

EDMA通道列表目录

EDMA通道1、EDMA通道2与TIMER0、TIMER1对应关系

EDMA通道19与TIMER2关系

如上图所以,EDMA通道1、2、19分别与Timer0、1、2的溢出时间相关联。即假如开启了timer0与EDMA通道1相关联,传输100个字节,那么在每次timer0定时器计时完毕将产生一个EDMA通道1的传输数据,每次只传输1个数据(根据配置的不同一次一个数据可以是8bit、16bit或32bit)。在整个100个字节传输完毕后,还可以产生EDMA发送完毕中断信号(需要进行配置),进行相应的处理。

 

以上理解来源与spru234c.pdf与TI C641x系列DSP实际编程运行验证。

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:TI C6000 EDMA传输的一点理解 | 起点博客
分类:应用笔记 标签:, , ,

发表评论


表情

  1. 码工
    码工 【农民】

    ti的文档也看了,基本都是那两个人写的,有些不明白,lz能搞点示例吗?

  2. will
    will【站长】

    本来也有这个想法,后面整理一下就发出来。
    最近在公司捉虫呀。。。