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

请教 大神 ,OMP138 mcbsp FIFO 的使用异常问题。

大家好,mcbsp使用中 运行一会 异常卡死,请大家帮忙分析一下。

使用场景如下:mcbsp0  的收和发都使用了 FIFO 。 RX  帧速率为20K,工作在从模式 ,TX 帧速率为48K,主模式 。 mcbsp 初始化 后Tx 和 RX运行正常。

但是 不断的 重新加载DSP  初始化mcbsp 启动后,偶尔会有一次(大概30次出现一次) ,运行1分钟 后RX 停止工作,表现为 RX FIFO 还有空间,但是 不产生让FIFO搬移的事件  ,而 打印 SPCR 寄存器 指示 RFULL   。偶尔出现一次 。

刚开始 发现和 L138 的系统参考时钟有关 ,时钟电气特性 不达标时此现象特别明显 。后来更换了时钟后 ,时钟测量很稳定,但就是 30次启动后 会偶尔一次  运行一会接收 就死掉了,增加错误处理机制 ,去读DRR ,仍不能恢复。  

大家有没碰到过,帮忙分析下 ,谢谢

Tony Tang:

目前我遇到过两例这样的案子,最终情况偏向于硬件干扰引起的,建议从MCBSP的硬件信号上找问题。

peng li9:

回复 Tony Tang:

您好,Tony,我们最近又碰到一个异常现象,运行一段时间后,DSP会重新执行main函数,好像DSP单独重启了,但是这时ARM并没有重新加载DSP。希望您给提供点调试思路或建议。

Tony Tang:

回复 peng li9:

应该是程序跑飞了吧。重新执行main后,程序正常吗?

peng li9:

回复 Tony Tang:

DSP侧采用了BIOS系统,进main后应该是正常执行,main里重新初始化了DSPlink,可以正常的notify ARM。

感觉不像跑飞,跑飞后不一定进main吧,感觉像是重新进了DSP的入口地址。 我们把138应用在了无线终端产品中,总是在主叫发射过程中,偶尔会重新进了main,像是重新执行了入口地址,然后进的main,不像是跑飞。如果跑飞后,现象是肯定进main吗?希望您可以指导下,哪些情况下OMP138的DSP会自己重新执行main函数。

Tony Tang:

回复 peng li9:

地址是连续的吗?或者间隔有规律吗?如果不是,则不能用EDMA,因为用EDMA搬单个数据效率不高。

peng li9:

回复 Tony Tang:

没有挂着仿真器,DSP的程序是arm加载的。DSP程序运行过程中,自己又执行了main函数,通过打印发现的。这种情况是跑飞吗? 您估计会有哪些原因导致DSP 又重新进入main函数,我们理解BIOS的系统,main只进一次。 希望可以得到您的帮助,非常感谢。

赞(0)
未经允许不得转载:TI中文支持网 » 请教 大神 ,OMP138 mcbsp FIFO 的使用异常问题。
分享到: 更多 (0)