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

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

[复制链接]
5416|30
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhanzr21|  楼主 | 2016-12-12 22:18 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
这板子音频接口丰富, 从分类来讲有5个接口,分别是:
1.标准耳机输出
2.标准麦克风输入
3.喇叭输出

4.PDM麦克风输入
5.SPDIF输入,SPDIF输出
前面三个接在音频片WM8994上, 后面两个直接接在STM32片上
这是这几接口的图:

标准耳机,标准麦克风都是我们日常用的那种电脑用耳麦, 不过要分立的, 如果是二合一的耳麦(手机用那种)则只能当耳机使用.
分立就是耳麦分立:

这种二合一的,只能当耳机使了:


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


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


这种Mic的特点就是抗噪音强,输出格式是PDM而非那种传统Mic的模拟信号要用ADC采样, STM32F7的DFSDM接口可以吃这种格式输出之后转换为PCM格式内部使用.(DFSDM也可以吃 Σ∆格式的输入)
简单讲PCM就是ADC对模拟信号采样得到的信号:

而PDM就是用脉冲密度来编码模拟信号,有更好的抗干扰性能:

从PDM到PCM有公开的算法可以转换,而STM32F769有硬件转换的功能,自然性能要好很多.
最后看看这板子音频部分的电路图:

注意看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 才发现果然试用又没有我 哈哈哈哈

使用特权

评论回复
5
as4781| | 2016-12-19 15:28 | 只看该作者
挺好的,受教了

使用特权

评论回复
6
zjh2009| | 2017-1-7 16:23 | 只看该作者
楼主对音频很了解。那么请问为什么用4篇MEMS麦克风。还有amzon echo你了解不了解,它也用了多个麦克风,这方面(声音识别)使用多个麦克风信息是如何融合或者挑选的?

使用特权

评论回复
7
zhanzr21|  楼主 | 2017-1-7 22:20 | 只看该作者
每两个MEMS是一个立体声通道, 4个MEMS就是两个立体声通道
片子最多可以接8路, 只接两路,是因为另外6个通道的IO口被别的功能占用了,一般情况两个通道也够用了
事实上官方的例子中音频录制只使用了一个通道 DFSDM1_Channel1, 也就是只用了U5, U6两个MEMS
这本来只是个开发板, 用几个通道看用户的需求

至于多通道的MEMS数据怎么处理,也是软件工夫, 现在的智能手机最少有两个MEMS,一个底部是主输入, 另外一个在顶部来消除回音, 尤其免提的时候这个消除过程尤其重要, 否则就有那种很尖锐的啸叫
iPhone5/5S的拆解我看过, 三个MEMS, 多的这个MEMS就是专门来辅助语音识别的, 怎么做的算法就比较多,这是个比较热门的研究领域,想深入了解就只有去翻论文了,
echo我没有看拆解, 原理应该也是这样吧,回音消除,背景噪音消除,算法上的事情

使用特权

评论回复
8
wahahaheihei| | 2017-1-12 09:40 | 只看该作者
可以直接编解码那种脉宽调制信号?

使用特权

评论回复
9
zhanzr21|  楼主 | 2017-1-12 18:21 | 只看该作者
可以解码PDM(脉冲密度调制)的输入

使用特权

评论回复
10
touser| | 2017-1-21 17:51 | 只看该作者
这个用的是什么语音芯片?

使用特权

评论回复
11
touser| | 2017-1-21 17:52 | 只看该作者
能够做音频识别吗?

使用特权

评论回复
12
zhanzr21|  楼主 | 2017-1-21 19:39 | 只看该作者
用的是Codec, 只是个接口芯片,  能不能做音频识别看F769上的软件了,
硬件只是把数据读回来, 识别要靠软件算法,
硬件采样的速率很高, 从硬件方面来讲不存在瓶颈

使用特权

评论回复
13
zjh2009| | 2017-1-22 13:28 | 只看该作者
本帖最后由 zjh2009 于 2017-1-22 13:32 编辑

楼主对音频的研究很深入呀。我有几个最最简单的问题想询问一下。如果用DAC模拟简单的声音,那如何控制音量,控制音调。当然我是说用STM32的DAC引脚,直接连接耳机。我不清楚基本电压稳定在几V,然后在其上叠加振幅是多少的波形合适。如果发纯音是发三角波还是正弦波。
有没有相关的好**伙子资料能够推荐一下,谢谢

使用特权

评论回复
14
zhanzr21|  楼主 | 2017-1-22 14:35 | 只看该作者
这个实验用不着看什么别的文档了 看看我发的几个音频的帖子 加上做几个实验就知道了
直接用DAC可以驱动耳机的, 只是高阻抗的耳机表现更好一点
如果外加一级运放或者管子做驱动效果更佳
至于三角波 正弦波 都可以 不同音效而已 据我的实验来看 正弦波听起来比三角波 方波都要正常
我之前发过这内容的帖子 生成不同波形 只是我通过Codec播放的 你一定要通过DAC驱动是没有问题的 只是音效差别而已 实际上Codec就是个I2S接口的专为音频优化过的DAC, 很多文档直接称之为音频DAC

使用特权

评论回复
15
zhanzr21|  楼主 | 2017-1-23 00:34 | 只看该作者
用DAC直接驱动耳机的话, 最好用个3.3uF的电容把直流隔离掉,不隔离其实也没问题,DAC直流驱动电流不大,隔离了更保险

使用特权

评论回复
16
icecut| | 2017-1-25 05:12 | 只看该作者
写的真不错,厉害

使用特权

评论回复
17
pixhw| | 2017-1-26 22:02 | 只看该作者

使用特权

评论回复
18
pixhw| | 2017-1-26 22:03 | 只看该作者
这个输出功率怎么样

使用特权

评论回复
19
zhanzr21|  楼主 | 2017-1-27 00:24 | 只看该作者
扬声器: 2W 立体声(2 x 2W)
耳机: 5.3mW

使用特权

评论回复
20
uiint| | 2017-1-28 18:47 | 只看该作者
音频信号处理

使用特权

评论回复
发新帖 本帖赏金 1.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:每天都進步

91

主题

1011

帖子

34

粉丝