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

C6678 EDMA多通道访问内存导致CPU响应中断延迟

C6678多核芯片开发过程中,使用多个EDMA通道同时访问内存的同时,发现定时器的中断间隔抖动比较大,CPU响应中断有一定的延迟,延迟时间跟EDMA访问数据量大小相关,是否是EDMA占用了总线,导致CPU等待总线导致的中断延迟?是否可以配置寄存器改善这种情况?

Nancy Wang:

请问是多核同时传输吗?除了使用不同的channel之外,其他的资源也尽量不要冲突,比如可以尽量使用不同的TC。附件中的文档详细的对比了edma在各种情况下访问存储器的性能以及额外开销,可以参考看一下。

1680.8.TMS320C6678 存储器访问性能.PDF

Shine:

可以尝试修改QUEPRI寄存器把EDMA的总线优先级调低。
www.ti.com/…/sprugs5b.pdf

总线仲裁机制可以参考下面的网站。
processors.wiki.ti.com/…/Keystone_SoC_Level_Optimizations

user4832737:

回复 Nancy Wang:

我们是不同核使用不同TC不同通道,主要是对中断有影响,数据搬移的性能还好

user4832737:

回复 Shine:

感谢您的文档,我们试下,待会儿来回复结果

user4832737:

回复 Shine:

您好,我们这里尝试更改了EDMA寄存器中的QUEPRI寄存器的优先级,之前的配置是0 1 2 4,现在改成了4 5 6 7,但是依旧会引起中断的延迟,我们还发现如果用EDMA不同通道同时去访问EMIF空间却没有这个影响,同时我们还测试了访问PCIE,DDR.L2,都有中断延迟的现象。这个问题可能还有什么原因?盼复。

Shine:

回复 user4832737:

那就只能尽量用不同TC的通道。

user4832737:

回复 Shine:

您好,我们用的是不同TC,影响的是定时器的中断,我们测试发现在没有中断的时候执行大数据量的EDMA操作,会导致全局定时器中断的抖动,定时器响应时间边长,还做了一组测试发现EDMA访问EMIF空间时,对全局定时器的中断影响不大,但是EDMA访问PCIE,或者L2,DDR这类的空间,中断的抖动会明显增加,从延迟500ns可增长到3US左右的时间,如何才能改善这种中断抖动,盼复,谢谢。

Shine:

回复 user4832737:

理论上CPU和EDMA两个独立的模块,CPU响应中断不会受EDMA搬移数据的影响。请问您是怎么测中断延时的?用TSCH, TSCL寄存器记时的吗?

user4832737:

回复 Shine:

是的,设置了一个全局定时器中断,在每次进入中断进行TSCL记录,然后查看中断的抖动,在无中断的情况下启动EDMA的大数据搬移,中断抖动增加,可达到3US的时延

Shine:

回复 user4832737:

我在e2e上发了个帖子,您看一下有什么要补充的,可以直接在上面回复。
e2e.ti.com/…/902777

赞(0)
未经允许不得转载:TI中文支持网 » C6678 EDMA多通道访问内存导致CPU响应中断延迟
分享到: 更多 (0)