stm32 usb audio问题

2019-07-20 14:06发布

   把STM32F407 USB声卡例程从采样率48K,改成16K,
修改
I2S2_Init(0,2,0,1);  --》I2S2_Init(0,2,0,0);
采样率  48000  -> 16000

增加
   WM8978_Write_Reg(7,0x3<<1);//采样率改成16K
    WM8978_I2S_Cfg(0x2,0);  //改成16bit/frame
等等……

能正常播放,但不能在电脑端播放声音太大(如在PC端把声音调最大),太大就会失真,
我担心是不是我送IIS的数据有问题,所以我在PC端播放1Khz正玄波的音频,然后看IIS的数据,看数据也是标准的正弦波数据,那为什么送解码芯片就失真呢,而且是PC端增益很大时才失真





友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
zhaozilong
1楼-- · 2019-07-20 19:41
xuande 发表于 2016-7-14 10:02
声音大容易失真,这是功放部分或者音箱的问题。

但放48K可以放很大啊,都是16bit的
xuande
2楼-- · 2019-07-20 22:19
 精彩回答 2  元偷偷看……
xuande
3楼-- · 2019-07-21 04:17
zhaozilong 发表于 2016-7-14 10:25
但放48K可以放很大啊,都是16bit的


如果这样就不好说了。


jery99
4楼-- · 2019-07-21 10:06
xuande 发表于 2016-7-14 10:53
如果这样就不好说了。

我用stm32f103RE接两个数字麦克风,经pdm转成pcm后 通过usb发送到pc。整个板子相当一声卡。问题是用pc录音,出现播放速度加快,和噪音的显现。 请大家帮我分析分析到底是哪里出问题了。谢谢
   
两个麦克风通过一根线 接到i2s的 sd , 麦克风的clk 由i2s的sck产生。我是把i2s配置为主接收模式,用i2s来读取数据。目的是实现输出2通道16k采样。为此,我的i2s sck输出频率为 2.048M。  麦克风的输入频率为1.024M

现在不清楚到底问题出在采样阶段 还是pdm 转pcm 还是usb audio发送阶段,请大家帮忙分析下。
xuande
5楼-- · 2019-07-21 14:36
 精彩回答 2  元偷偷看……

一周热门 更多>