12下一页
返回列表 发新帖我要提问本帖赏金: 1.00元(功能说明)

[STM32F7] STM32F769-Discovery板子音频电路硬件分析

[复制链接]
 楼主| zhanzr21 发表于 2016-12-12 22:18 | 显示全部楼层 |阅读模式
这板子音频接口丰富, 从分类来讲有5个接口,分别是:
1.标准耳机输出
2.标准麦克风输入
3.喇叭输出

4.PDM麦克风输入
5.SPDIF输入,SPDIF输出
前面三个接在音频片WM8994上, 后面两个直接接在STM32片上
这是这几接口的图:
audio_interface_back.png audio_interface_front.png
标准耳机,标准麦克风都是我们日常用的那种电脑用耳麦, 不过要分立的, 如果是二合一的耳麦(手机用那种)则只能当耳机使用.
分立就是耳麦分立:
phone_mic_discrete.png
这种二合一的,只能当耳机使了:
phone_mic_integrate.png

至于SPDIF接口, 是用来跟外部音频设备连接的, 比如你家有功放, 则直接可以把板子的音频接到功放上播放音频. 有功放的同学应该比较熟这个, 现在其实很多笔记本都有这接口, 走的是数字信号,比那种标准耳麦的信号质量要好.
广告上有时直呼这种为同轴接口,有点歧义:
power_amplifier_spdif_interfacce_fibre.png

其实WM8994已经有麦克风输入了, 为甚么要在主片上加4个Mic而不直接在WM8994上做Mic呢, 这是为了显摆STM32F769的DFSDM接口.
DFSDM全称是Digital filter for Sigma-Delta Modulators,即ΣΔ调制数字滤波器, 是为了接口PDM格式输入的Mic的
MEMS的Mic就是PDM格式输出的, 板子上的Mic就是ST自己做的这种Mic:MP34DT01
mems_mic.png

这种Mic的特点就是抗噪音强,输出格式是PDM而非那种传统Mic的模拟信号要用ADC采样, STM32F7的DFSDM接口可以吃这种格式输出之后转换为PCM格式内部使用.(DFSDM也可以吃 Σ∆格式的输入)
简单讲PCM就是ADC对模拟信号采样得到的信号:
Pcm.png
而PDM就是用脉冲密度来编码模拟信号,有更好的抗干扰性能:
pdm.png
从PDM到PCM有公开的算法可以转换,而STM32F769有硬件转换的功能,自然性能要好很多.
最后看看这板子音频部分的电路图:
stm32f769_disco_audio_sch.png
注意看4个PDM的Mic,有两个的LR直接10K拉高,另外两个直接拉地, 这样DFSDM_DATIN1与DFSDM_DATIN5两个接口都是完整的立体声输入(奇数CLK与偶数CLK分别采样一个Mic的信号).
硬件先分析到这里, 后面有心得体会再发帖子.


打赏榜单

colin2135 打赏了 1.00 元 2016-12-13
理由:不错啊,希望版主大人再多分享!!!

colin2135 发表于 2016-12-13 11:52 | 显示全部楼层
我去,真不错!学习了!!!
期待接下来的大作!!
巧克力娃娃 发表于 2016-12-13 14:09 | 显示全部楼层
dddddddd~
皈依 发表于 2016-12-13 16:45 | 显示全部楼层
突然看到这么多人分享769 才发现果然试用又没有我 哈哈哈哈
as4781 发表于 2016-12-19 15:28 | 显示全部楼层
挺好的,受教了
zjh2009 发表于 2017-1-7 16:23 | 显示全部楼层
楼主对音频很了解。那么请问为什么用4篇MEMS麦克风。还有amzon echo你了解不了解,它也用了多个麦克风,这方面(声音识别)使用多个麦克风信息是如何融合或者挑选的?
 楼主| zhanzr21 发表于 2017-1-7 22:20 | 显示全部楼层
每两个MEMS是一个立体声通道, 4个MEMS就是两个立体声通道
片子最多可以接8路, 只接两路,是因为另外6个通道的IO口被别的功能占用了,一般情况两个通道也够用了
事实上官方的例子中音频录制只使用了一个通道 DFSDM1_Channel1, 也就是只用了U5, U6两个MEMS
这本来只是个开发板, 用几个通道看用户的需求

至于多通道的MEMS数据怎么处理,也是软件工夫, 现在的智能手机最少有两个MEMS,一个底部是主输入, 另外一个在顶部来消除回音, 尤其免提的时候这个消除过程尤其重要, 否则就有那种很尖锐的啸叫
iPhone5/5S的拆解我看过, 三个MEMS, 多的这个MEMS就是专门来辅助语音识别的, 怎么做的算法就比较多,这是个比较热门的研究领域,想深入了解就只有去翻论文了,
echo我没有看拆解, 原理应该也是这样吧,回音消除,背景噪音消除,算法上的事情
wahahaheihei 发表于 2017-1-12 09:40 | 显示全部楼层
可以直接编解码那种脉宽调制信号?
 楼主| zhanzr21 发表于 2017-1-12 18:21 | 显示全部楼层
可以解码PDM(脉冲密度调制)的输入
touser 发表于 2017-1-21 17:51 | 显示全部楼层
这个用的是什么语音芯片?
touser 发表于 2017-1-21 17:52 | 显示全部楼层
能够做音频识别吗?
 楼主| zhanzr21 发表于 2017-1-21 19:39 | 显示全部楼层
用的是Codec, 只是个接口芯片,  能不能做音频识别看F769上的软件了,
硬件只是把数据读回来, 识别要靠软件算法,
硬件采样的速率很高, 从硬件方面来讲不存在瓶颈
zjh2009 发表于 2017-1-22 13:28 | 显示全部楼层
本帖最后由 zjh2009 于 2017-1-22 13:32 编辑

楼主对音频的研究很深入呀。我有几个最最简单的问题想询问一下。如果用DAC模拟简单的声音,那如何控制音量,控制音调。当然我是说用STM32的DAC引脚,直接连接耳机。我不清楚基本电压稳定在几V,然后在其上叠加振幅是多少的波形合适。如果发纯音是发三角波还是正弦波。
有没有相关的好**伙子资料能够推荐一下,谢谢
 楼主| zhanzr21 发表于 2017-1-22 14:35 | 显示全部楼层
这个实验用不着看什么别的文档了 看看我发的几个音频的帖子 加上做几个实验就知道了
直接用DAC可以驱动耳机的, 只是高阻抗的耳机表现更好一点
如果外加一级运放或者管子做驱动效果更佳
至于三角波 正弦波 都可以 不同音效而已 据我的实验来看 正弦波听起来比三角波 方波都要正常
我之前发过这内容的帖子 生成不同波形 只是我通过Codec播放的 你一定要通过DAC驱动是没有问题的 只是音效差别而已 实际上Codec就是个I2S接口的专为音频优化过的DAC, 很多文档直接称之为音频DAC
 楼主| zhanzr21 发表于 2017-1-23 00:34 | 显示全部楼层
用DAC直接驱动耳机的话, 最好用个3.3uF的电容把直流隔离掉,不隔离其实也没问题,DAC直流驱动电流不大,隔离了更保险
icecut 发表于 2017-1-25 05:12 来自手机 | 显示全部楼层
写的真不错,厉害
pixhw 发表于 2017-1-26 22:02 | 显示全部楼层
pixhw 发表于 2017-1-26 22:03 | 显示全部楼层
这个输出功率怎么样
 楼主| zhanzr21 发表于 2017-1-27 00:24 | 显示全部楼层
扬声器: 2W 立体声(2 x 2W)
耳机: 5.3mW
uiint 发表于 2017-1-28 18:47 | 显示全部楼层
音频信号处理
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:每天都進步

91

主题

1017

帖子

34

粉丝
快速回复 在线客服 返回列表 返回顶部