如题,紧急求助!!!@Shine zhang,@Bruce Wei
jeremy shw:
回复 Shine:
谢谢你Shine Zhang 。另外请教您一个问题,卡了很长时间一直没用进展。
问题描述:我们用CPU中断的方式(外围设备通道)去读取一款AD芯片的值,型号是AK5388,AD芯片的数据输出格式是这样的
MCASP的寄存器时钟配置正确后,AD的数据口有数据输出,但是不管怎么设置时钟的输入还是输出亦或是更改时序,RBUF0中始终读不到数据(AXR0为输入)。使用的是接收数据(RDATA)中断,当然RFMT是按照AD的这个数据格式来配置的。
请问:这看起来就像是时钟根本没起到作用一样,问题可能出在哪呢?
jeremy shw:
回复 Shine:
lookback自模式下也不能接受数据
jeremy shw:
回复 Shine:
谢谢MR Shine Zhang的回答,下面我描述一下我loopback下的问题,希望能够得到你的指导
问题描述:首先,时钟的频率为:位时钟3.072MHz,帧时钟为48Khz。在这个前提下,我往XBUF里写数据,可以正确写入,但是RBUF却收不到任何数据。XSTAT和RSTAT分别都在0x171和0x179两者之间变化,这点很不正常。
以下是读写程序
flag=0xabcd1234; for(i=0;i<10;i++) { while((mcasp0Regs->XSTAT & 0x20)!=0x20); mcasp0Regs->XBUF0=flag++; while((mcasp0Regs->RSTAT & 0x20)!=0x20); rcv[i]=mcasp0Regs->RBUF1;}
XDATA位一直为1,单步运行的情况下当写入数据后应该会出现0,所以很不理解。
希望Shine Zhang能够为我解答,谢谢。
jeremy shw:
回复 Shine:
loopback模式下,一初始化完寄存器后就出现overrun和underrun的情况,Shine Zhang 可以解释一下嘛?