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

edma3用pingpong方式,怎么保证dsp数据处理和edma数据传输同步

我打算用edma3传输图像数据从内存到LL2进行处理,但是在视频数据信号的传输和处理过程中, CPU数据处理必须与EDMA数据传输保持同步,也就是要保证
在CPU访问之前EDMA把数据传输到缓冲区中,而在EDMA输出数据之前CPU完成缓冲区中的数据处理。但是我怎么能保证同步呢?假设edma数据传输非常快,而dsp速度跟不上,这么一来就会造成很多数据来不及处理。

另外edma3的传输速度有没有大致的范围?我好用来评估一下dsp处理时间和edma传输时间是不是相差太多?

zhubaojun:

回复 Tony Tang:

不好意思应该是我没有表达明白,我看论文上大部分用EDMA的pingpong操作,也就是不用手动触发,是不是这种方式的效率要比手动触发高很多,另外这种pingpong操作方式是不是需要dsp数据处理和edma数据传输需要同步

Tony Tang:

回复 zhubaojun:

你是从内存到L2是memory to memory的,没有事件来触发。

手动触发的大致流程应该是下面这样子的来达到ping pong效果。。

trigger EDMA 1 Ping

Trigger EDMA 2. Pong

while(1)

{

Wait EDMA1 complete

process Ping.

Trigger EDMA 1

Waiting EDMA 2 complete

Process Pong

Trigger EDMA 2

}

赞(0)
未经允许不得转载:TI中文支持网 » edma3用pingpong方式,怎么保证dsp数据处理和edma数据传输同步
分享到: 更多 (0)