STM32F469I-Discovery 音频录音实验浅析
------lin35162
一拿到板子的时候,我们就能看到上面有一坨黑中夹着光的长长粗体,这个就是我们的音频输出接口。这个贴我们来看看我们STM32F469上面的音频和录音功能。
这个例程的源代码我们下载的官方库里面有提供,需要的自己去下载,我们主要分析分析来源以及原理。当我们使用这个模块之前,肯定是从他们的手册下手的,从手册中找到这个模块的相关信息。我们先把音频输出的信息找出来,如下图
Cirrus Logic公司的音频DAC CS43L22 U5输出音频为立体声耳机插孔连接器。
STM32F469NIH6的数字音频接口的SAI连接到了音频DAC的数字输入端SDIN。STM32F469通过I2C总线控制音频DAC。CS43L22的I2C最大速度为100kHZ。
CS43L22的PWM扬声器输出SPKR_OUTA 15 16引脚可用于扩展连接CN2。外部扬声器的2个终端应该分别连接到CN2的15和16引脚。确保终端的扬声器没有接地。
端口PE3使能插口耳机输出和扬声器SPKR_OUT。提供音频DAC寄存器正确设定,允许扬声器和(或)耳机掉电输出。
音频DAC的I2C地址是0X94。
以上就是我们这段话的大致意思,重点是讲连接线的问题和音频地址,我们去看看这个音频模块的原理图,如下图,我们的原理图有I2C SAI SPKR_OUT分别连接到MCU,具体连接MCU的哪个引脚自己去查看哈,不上图了,
要放音乐当然要插入存储介质(U盘、硬盘)吧,那就是从这个Micro USB这里插入,买个OTG连接线就可以连接个U盘就接上了。当然,在这里你肯定会问,他丫的不是有SD卡槽吗,直接从那里读取就好了,我只想说呵呵呵呵,官方库的程序不支持,有想法就自己写个程序从SD卡读取文件吧。呵呵呵,其实我也想这样问哈,这个解决方案先留着吧………………………………
还有一个就是我们使用的音频文件的格式必须而且仅能为WAV的格式,至于为什么会是WAV格式,我觉得可能是设计这个的工程师钟爱于这个格式,哈哈哈哈,调侃下。
主要的我们来看下操作情况,当程序一切下载准备好的时候,
连续点击这2个黑点,接着就进入主要界面了
U盘插入前,是这样的画面,来,我们插入U盘
咦咦咦………..什么情况,简单,是因为找不到WAV文件,所以就报错了。人家规定要WAV文件,你非要搞个别的,活该没现象,呵呵呵呵呵
这下界面终于正常了,从上面可以看到相关信息,就只有一首歌,点击播放音乐键,一阵一阵的啸叫声(哎呀 ,幸亏用的是音响不是耳机),对于常听歌而且歌也唱的不错的人说,就是煎熬哇。其实也不难理解,人家要的是WAV格式的,你非要用别的格式转换成WAV格式,歌词曲谱的数据码流当然就不一样了,就相当于是乱码了,能正常识别才怪呢。
接下来我们去看看录音情况,一个真实界面如下
点击录音键,因为内存的大小问题,录得时间并不长,但是仔细一听,效果确实是不错的。
有三种效果,一种是音乐有MP3格式转换成WAV格式播放效果,一种是官方提供的音频的播放效果,一种是录音播放的效果,有兴趣的自己去百度云盘听听效果
链接:http://pan.baidu.com/s/1boiy6nl 密码:1k1x