终于实现USB Microphone录音功能

2019-07-20 02:21发布

本帖最后由 lvehe 于 2016-6-7 15:47 编辑

目前仅实现单一的USB Microphone录音功能,没有Speaker的功能。二者结合实现起来感觉比较困难,毕竟对USB学习还不太深入。
板子上使用的是一颗带IIS数字输出的MEMS麦克风,要移植到其他咪头和CODEC芯片(比如WM8978)组合的板子也是很容易的,因为都是IIS数字输出接口。
源码主要参考https://github.com/iliasam/STM32F4_USB_MICROPHONE
QQ截图20160525103932.png

QQ截图20160525122217.png

2016-5-31更新:
添加FeatureUnit,实现静音和音量调节功能。
已知问题:Win7和XP下的音量设置数据不一样,目前程序以Win7为依据。
QQ截图20160531135334.png
2016-6-7更新:
修改音量调节为0dB~20dB,步进值为4dB。使Win7和XP下的音量设置数据保持一致。
添加多频选择功能,可选4种常用频率。
QQ截图20160607152619.png
QQ截图20160607152640.png
至此,USB Microphone功能基本完备,此帖完结,不再更新。






友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
49条回答
lvehe
2019-07-21 06:51
407的,在USB FS模式,配置描述符里面定义的数据传输模式为isochronous等时模式,就是1ms发送或接收一次数据。对于48kHz,16bits的麦克风数据,1ms发送48000*2/1000=96Bytes数据。PC会主动请求发送数据,收到请求后先由sof函数发起传输,然后usbd_audio_DataIn里面取24bits的IIS数据的高16位数据发送出去。

一周热门 更多>