This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C6455 的McBSP1收发数据

1.本次设计:用C6455的McBSP1和FPGA数据通信,McBSP1的收发时钟CLKR/X和帧同步信号FSR/X均由FPGA提供。

遇到的问题:收据接收和发送都无法实现。

解决方法:先配置McBSP1自环模式(DLB),McBSP1的收发时钟和帧同步信号均由DSP内部产生,即用内部时钟。发送端DXR1发送一个周期单音正弦波,在接收端DRR1查看接收到的数据变化情况;发送和接收均采用McBSP事件中断方式。发送配CPU中断13,接收配CPU中断14。

遇到的问题:1.一开始收发正常,CCS作图,接收到的也是正弦波;但是接收一些数据后,发现接收DRR1停止了,接收中断也进不去了,而发送DXR还是正常的,发送中断也能进去。 2.还有一个问题,每次重新执行程序前必须要给系统复位一下收发才能进行,否则收和发均不能实现。

请问这是什么原因,是哪个地方忽视没看到吗?按道理McBSP0和McBSP1是一样的,只是McBSP1是和GPIO一些角是复用的。请知道的大神麻烦说一下,谢谢!

  • 请问您的问题是mcbsp0自环模式可以,而mcbsp1自环不行?如果是裸机程序的话,检查一下中断子函数前有没有加interrupt关键字。
  • 您好,中断子程序加了interrupt。请问McBSP0和McBSP1初始化和操作使用有没有什么不同的地方?我理解的是除了McBSP1引脚和GPIO复用之外,McBSP0和McBSP1。
  • mcbsp0和mcbsp1的区别是mcbsp1和GPIO管脚复用的,看一下MCBSP1_EN管脚是否是高电平?
  • 感谢您的回复,问题解决了。收数收着收着接收停止是因为我通过DRR1的地址查看了DRR1接收到的实时数据值,发现每次查看时收着收着DRR1接收就停了,多次试验发现不看DRR1数值时接收也正常。另外,以上提的问题的根源在于FPGA那边没有给我时钟,导致收发不正常,我DSP配置McBSP没问题!
  • 感谢分享!