环境背景介绍:
使用mcasp 进行音频数据传输, 使用16个通道时序;
mcasp 时钟与帧同步信号由外面输入,
问题:
机器上电或者运行一段时间,使用示波器抓取信号,发现所有通道TX的数据与对应的FS 相比,均前偏了一个通道(8bit)(也有出现前偏两个通道);
最终导致只能接收声音,不能传输声音数据。
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.
环境背景介绍:
使用mcasp 进行音频数据传输, 使用16个通道时序;
mcasp 时钟与帧同步信号由外面输入,
问题:
机器上电或者运行一段时间,使用示波器抓取信号,发现所有通道TX的数据与对应的FS 相比,均前偏了一个通道(8bit)(也有出现前偏两个通道);
最终导致只能接收声音,不能传输声音数据。
在我们TI的demo板上MCASP播放声音是正常的啊,您有改过驱动么?
有改过驱动,但是改的不多。主要是修改一些寄存器的值。
另外一个问题请教一下
/* wait for TX ready */
cnt = 0;
while (!(mcasp_get_reg(dev->base + DAVINCI_MCASP_XRSRCTL_REG(offset)) &
TXSTATE) && (cnt < 100000))
cnt++;
mcasp_set_reg(dev->base + DAVINCI_MCASP_TXBUF_REG, 0);
问题: 这里如果没有等待TX ready 便设置寄存器DAVINCI_MCASP_TXBUF_REG, 会有什么影响???
谢谢!