Hi,
我在用wifi audio demo时,mic录音后udp发出来,播放听起来有噪声,发现是数据有错误,但是只在一个声道上有。
mic的录音i2s收到后再i2s发给codec,codec接扬声器听没有噪声。
保存udp收到的数据发现是数据的最高位翻转了,0x80变0x00, 0x7f变0xff了
上面是右声道,下面是左声道,只出现在右声道上。尝试了8k,16k,48k等采样率,用的16bit,结果都一样。
求指导,谢谢。
Yonghua Pan:
能否检查一下你调用sl_Sendto这个API的时候传送的buffer有没有问题呢?我们可以弄清楚是不是取ring buffer出问题,还是网络传输有问题。
Grubby:
回复 Yonghua Pan:
Hi Yonghua,
把record的ring buffer串口打出来,肉眼检查,已经有问题了。测试过udp发送固定内容,udp是好的。
怀疑是I2S的问题,或者是DMA的问题,I2S我还可以再调,DMA的话应该怎么debug?谢谢
Grubby:
回复 Grubby:
Hi YongHua,
用逻辑分析仪抓了一下3200的i2s,初步认为是i2s的时序有问题
如图,虚线游标1处到虚线游标2处 bit clock有32个下降沿,第32个下降沿时lrc还未到高电平,左声道的数据要在第33个下降沿处结束。
也就是说第32个下降沿提前到来了,宽度也比正常的短路0.25us。
3200的i2s的设置,16KHz,16bit
MAP_PRCMI2SClockFreqSet(512000);
MAP_I2SConfigSetExpClk(I2S_BASE,512000,bitClk,I2S_SLOT_SIZE_16|I2S_PORT_DMA);
求指导!
PENG HUANG2:
回复 Grubby:
我也在学习用CC3200做WIFI 录音,方便留个联系方法电话交流一下吗?