TI中文支持网
TI专业的中文技术问题咨询交流网站

C6657的UPP访问出错

碰到一个很奇怪的问题,查了很久都找不到原因,想请教一下。我在自己的C6657电路板上运行程序,其中核0运行带SYSBIOS和NDK的程序,核1运行UPPA和UPPB同时不间断传输的程序,UPPA为发送,UPPB为DSP接收数据,UPP时钟为32M,单倍速率,UPP外部和FPGA连接;

正常情况下,比如核1运行不带NDK的程序时,核1的UPP传输不会受影响;

在有些情况下,核0的程序修改,会影响到核1的UPP传输,表现为UPP传输部分数据丢失;

怀疑是DMA访问DDR冲突,自己捕捉了下UPPB的wait信号,传输发生数据丢失现象时,没有wait信号输出;

又怀疑是PDK和NDK下面的驱动会影响到UPP的接口;UPP口本身是和EMIF接口共用的管脚,有没有可能NDK或者PDK里面的某些程序,对UPP口线的复用功能进行了配置?现在观察到的比较明显的现象,就是一旦NDK运行网络程序,UPPB接收就会丢数据,而且概率比较高,基本上传输500K LINE左右的数据就会丢掉几个甚至几十个LINE,我的LINE长度为40字节,一次配置传输256个line,请问这种情况可能是什么原因,有没有什么解决的建议?

Shine:

可能是NDK和UPP有共享的资源冲突了,请尝试把UPP的System Priority调高,请参考2.6.3 System Tuning Tips
www.ti.com/…/spruhg9.pdf

WEI LIU:

之前已经尝试过修改优先级,查看寄存器,发现确实发生了underrun。按这个文档的意思,在系统负荷较重的情况下,这种错误是无法避免的?如果处理不了,WAIT信号不起作用么?我现在系统的负荷和UPP标称的传输速度,还差的比较远,时钟才32M,单倍速率。

WEI LIU:

回复 Shine:

我想确认的是,UPP的WAIT信号,在DSP接收数据时,是否有效,从我目前测试的结果来看,是无效的,这样看来UPP功能有点鸡肋

Tony Tang:

回复 WEI LIU:

按理Wait应该不会无效,检查一下配置是否用上了Wait.

调整priority后有效果吗?或者降低时钟频率测试佐证一下。

WEI LIU:

回复 Tony Tang:

我们程序里面核0要用到EDMA和EMAC,之前EDMA包长比较长的时候,UPP运行出错的概率更高,后来软件把包长减小,同时提高UPP的优先级到1,其它的都是3,程序可以跑,但是还是有概率出错。WAIT信号,我目前测到的是,在配置UPP过程中,或者程序进入断点后,WAIT信号可以出来,但是传输过程中没有。

赞(0)
未经允许不得转载:TI中文支持网 » C6657的UPP访问出错
分享到: 更多 (0)