完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
ti 的工程师你们好,我一直在使用C6670上的AIF2模块,但使用到现在一直有一个会不定时出现的问题困扰着我。
当系统负载比较大的时候,AIF2的EE模块会报告 db_ee_i_fifo_ovfl_err , 每次出现这个问题的时候AIF2的接收侧都会丢失符号。(我使用的LTE 20MHZ,CPRI 4x速,符号是我从rx 描述符ps区读到的)。 这个问题我已经在论坛向各位工程师请教了多次,然后做了几次优化,但还是会不定时复现。 以下是部分优化: 1: 提高AIF2 PKTDMA的优先级为0, 其他FFTC, QMSS等修改为1. 2: AIF2 rx描述符放到L2中,tx 描述符放到DDR里,减少内存访问冲突, 且没有其他大访问量数据在L2中 3:增大DB buf的大小,修改为最大值 CSL_AIF2_DB_FIFO_DEPTH_QW256 修改之后确实有效果,但是最近因为项目需要,原来使用了AIF2的一个link, 现在扩大到2个link,数据量翻倍,此时就会出现接收侧的 db_ee_i_fifo_ovfl_err 错误,紧接着就会导致接收符号会丢失,如上一个是100,e这次接收的就变成102了,101整个描述符都丢了。 这个问题是不是在负载大的时候就会出现,还是我有其他没配置好的地方,我感觉L2只是多增加了300M字节的内存访问,应该没有太大影响 . 还有其他可以优化的地方吗? 谢谢各位工程师的回复。 |
|
相关推荐
7个回答
|
|
建议把TX数据放在LL2或SL2中。
|
|
|
|
你好,Brighton Feng. tx描述符是在DDR中的,这个对接收侧也会有影响吗? 另外我今天测试后发现代码中有一步计算量较大的嵌套循环代码, 屏蔽掉之后就不丢了。这个计算是在core0 上计算,aif2的接收描述符是分配在core1的L2上。 我看了Corepac 文档中的“Bandwidth Management Registers" , 几个 Abitration Register 都是默认值且优先级都比AIF2的PKTDMA优先级低。为什么在core上的cpu访问计算会影响到PKTDMA的数据传输呢。 下面是这段循环代码,只保留了最基本的,几个循环次数变量我也用常量替换了,量级基本相同。(插入代码功能好像没法用了,我换成了图片) |
|
|
|
a38001230 发表于 2018-6-21 18:36 Packet DMA TX 阻塞对RX也会有影响的。 你的问题会不会是DDR被占用->阻塞TX->阻塞RX. |
|
|
|
你好, Brighton Feng 我上午又继续做了测试,有了点新的发现。 上面代码最内层循环中 fftc_data 数组大约有150K byte, 重定位到了一块关了CACHE的DDR内存上,我把这块CACHE打开后暂时就没有错误发生了。 这段代码在Core0上执行, 是不是直接访问DDR的内存对AIF2 访问Core1 L2有比较大的影响。但我比较疑惑的是Core0 上master优先级应该低于AIF2的PKTDMA啊,不应该在AIF2访问内存是阻塞其他低优先级Master的访问吗。 能帮我解释下可能的原因吗,谢谢。 |
|
|
|
a38001230 发表于 2018-6-21 19:03 出于提高性能的考虑,DDR始终给对已经打开的页的访问最高优先级而不管Master的优先级设置。只有当多个Master都访问没有打开的页时,Master的优先级才起作用。 一般DDR页的大小是8KB。 例如DSP核先开始访问页0~2,当DSP核访问到页0的byte 8时AIF访问页8,由于DSP核此时正在访问已经打开的页0,尽管AIF优先级高,AIF还是要等到DSP把页0访问完才能得到访问的机会,所以实际访问顺序是: DSP核访问页0 AIF访问页8 DSP核访问页1 DSP核访问页2 由于这个特性,我们不建议把任何AIF数据放在DDR中,除非DDR是给AIF专用。 |
|
|
|
lkjljljlj 发表于 2018-6-21 19:14 你好,Brighton Feng . 从你的回复里我想是不是当AIF2访问DDR里面的TX描述符时会和Core0访问DDR出现冲突,导致AIF2的TX挂起, 再由于AIF2的TX和RX优先级都是0引起RX也被阻塞. 不知道我这样理解对不对.如果是这样的话我把TX的优先级设置为1,不会阻塞RX的DMA是不是就可以避免了? 另外我想特地请教下现在我AIF2访问位于Core1 L2上的RX描述符时会出现上面说的和Core0访问DDR出现冲突吗,我不太清楚这个teranet的布局. 再次谢谢你的帮助. |
|
|
|
a38001230 发表于 2018-6-21 19:28 优先级作用在访问时途经的总线节点或目的点,AIF2 TX和RX之间的相互影响与优先级没有关系,而在于它内部公用的一些资源。 只有DDR才用分页结构,所以DDR优先级仲裁的问题在LL2或SL2中不存在。 |
|
|
|
只有小组成员才能发言,加入小组>>
341 浏览 1 评论
539 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
781 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
655 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1138 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
69浏览 29评论
216浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
257浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
205浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
65浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 12:17 , Processed in 1.054181 second(s), Total 90, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号