TI中文支持网
TI专业的中文技术问题搜集分享网站

C6748/OMAPL138 DSP core的并发DMA处理问题

datasheet中EDMA3的diagram显示C6748有两个独立的CC,0和1,二者物理上应该是相互独立的,按理应该可以实现并行操作,为何实际上不行呢?

即CC0的某DMA和CC1的某DMA同时发生时,实际上只能同时执行一个。这是何故?
Tony Tang:

如果方便,请提供一下波形图帮助理解是如何互相打断的。

Jingang Yang:

回复 Tony Tang:

囧,附件传图片一次只能传一张……

本附件的图片显示的是SPI DMA和EMIFA DMA传输不重叠时的“正常”运行结果。

黄色是EMIFA的CS信号,低有效,总共读20*16bit数据——这里还有个问题就是途中的“another question”处,为何此处CS要退出有效状态再进入呢?此时刻刚好在传完16*16bit数据之后。

浅蓝色是SPI的CLK信号,直接反映了SPI传输,总共4*16bit数据。

正常情况二者不相重叠时,SPI数据传输间隔固定有规律。

Jingang Yang:

回复 Tony Tang:

这是不正常情况的波形。

此时EMIFA DMA其实时刻始于SPI第一个16bit后期,然后SPI DMA被其打断,直至CS变高即EMIFA DMA结束后,SPI后3个16bit数据才开始传输。

也就是说,如果同时有两个DMA发生,即使二者对应的channel controler是独立的,在某一绝对时刻也只能有一个DMA数据被传送,right?

但是datasheet中貌似又号称可以simultaneously transfer,到底怎么回事呢?

Tony Tang:

回复 Jingang Yang:

Jingang Yang为何此处CS要退出有效状态再进入呢?此时刻刚好在传完16*16bit数据之后。

这个是因为EMIFA的FIFO深度是32字节。

Jingang Yang:

回复 Tony Tang:

Tony Tang

Jingang Yang为何此处CS要退出有效状态再进入呢?此时刻刚好在传完16*16bit数据之后。

这个是因为EMIFA的FIFO深度是32字节。

Tony Tang:

回复 Jingang Yang:

Jingang Yang那多DMA并发传输的问题呢

从理论上想不出所以然,会不会是DMA配置不对,实际上没有配置到两个DMA上呢?

Jingang Yang:

回复 Tony Tang:

Tony Tang

Jingang Yang那多DMA并发传输的问题呢

从理论上想不出所以然,会不会是DMA配置不对,实际上没有配置到两个DMA上呢?

Tony Tang:

回复 Jingang Yang:

CC1只有一个TC0啊。

Jingang Yang:

回复 Tony Tang:

Tony Tang

CC1只有一个TC0啊。

赞(0)
未经允许不得转载:TI中文支持网 » C6748/OMAPL138 DSP core的并发DMA处理问题
分享到: 更多 (0)