- 本课程为精品课,您可以登录eeworld继续观看:
- 智能音箱的耳朵 – TI ADC 的应用设计概览
- 登录
- 课程目录
- 相关资源
- 课程笔记
大家好!我是今天为大家讲解
TI ADC 部分的应用工程师
我叫Gary
那我今天的topic就是智能音箱的“金耳朵”
顾名思义的话 就是
“金耳朵” 在一个系统里做一个
听的 这样一个功能
那我们今天就讲解一下
智能音箱我们是如何得到一个
高精度的语音拾取功能
大家可以看一下
在这样的一个框图里面
是我们TI 为智能音箱的一个
整体的参考设计
那ADC 的话
主要是在这个框图的左下角
大家可以看一下
这框图里面 ADC 主要有2个功能
第一个功能是在麦克风输入端
做ADC的一个转换
这大家容易理解
第二个部分是可以用于
做扬声器输出端之后
一般是用于做回音消除
传统的设计 我们会在
扬声器输出端
用一颗ADC
进行专门的回音消除
这样的一个功能
好 今天开始进行正式的主题
这样的一个议程
今天的议程包括以下几点
第一点 我会讲解麦克风的种类
第二点 我会分析一下
目前市面上比较流行的
像PDM和模拟麦克风的优缺点
第三点 也会介绍ADC
在设计过程当中的指标考量
第四点 我们会分析一下
目前市面上流行的
智能音箱的案例分析
第五点 我们会看一下TI的ADC选型
以及TI的参考设计
我们来看一下
这张图是目前市面上比较流行的麦克风
第一个是模拟输出麦克风
简单来说就是
内部会集成一个升压转换器
以及一个运放
进行输出的就是一个模拟信号
第二个就是PDM输出的
这样的一个声音信号
它一般是有外宽调制
输出的信号为外宽调制的
语音信号
第三块就是I2S输出的信号
第四点是TDM的
TDM的好处就在于
它可以从一根总线上
并联高达16路麦克风
这样的话可以简化
简化客户在产品设计当中需要考虑的一些问题
第五点
可能是目前市面上比较少的
就是在麦克风里面
一般会集成一个
语音唤醒的这样一个功能
就是说在没有进行
没有语音输入
或者是没有唤醒词介入的时候
我们系统会进入一个待机
这样的话可以节省系统的功耗
一旦这样麦克风采集到
特定的唤醒词之后
它会给一个中断给主系统
进行一个唤醒
从而达到节省功耗这样一个目的
由于市面上比较流行的
是像模拟麦克风 PDM
这样的一个麦克风
那我们进行麦克风的一个分析
我们可以看一下
在语言场识别过程当中
PDM输出的麦克风和
模拟输出麦克风的
这样的一个优缺点
大家从左边这张图可以看到
PDM输出的麦克风的话
它一般集成度比较高
它除了集成麦克风之外
它会集成ADC
1-bit 的ADC
同时也会集成
PGA 就是自动增益控制
这样的一个器件
因此 它留给我们麦克风
这样一个[]的面积
或者是空间比较小
因此 它的信噪比
很难做到很高的一个程度
目前最流行的是
目前市面上可能做的最好的话
信噪比大概在65.5dB左右
同时由于它只集成一个1-bit的ADC
因此 它的升压过载
范围是比较有限的
因此 它在一些 例如进行语音
进行混音消除过程当中
会带来一些比较大的失真
这样的话 可能会对唤醒过程当中
会带来一系列问题
在模拟麦克风当中
我们可以看到
其实模拟麦克风
它的结构相对简单
因此它可以做到比较高的信噪比
大家知道 其实6个dB 这个信噪比的话
对于语音拾取的范围
其实就增加了一倍
其实 这样的话
对包括远场 或者近场
或者是声音比较大 比较嘈杂
这样的一个环境当中
都有一个比较好的识别度
同时的话 由于它不集成ADC
因此客户在进行
系统整体设计的过程当中
它可以考虑到目前的系统设计
它可以搭配一个
高性能 或者是一般性能这样的一个ADC
从而达到它的产品设计
这也是我们TI目前比较推荐的
我们在这样一个设计过程当中
有哪几个指标需要我们着重去考虑呢
首先 第一点是灵敏度
第二个是信噪比
相比大家对这两个名词有非常多的了解
其实在这里 我还需要强调2点
就是 另外一块是
电压过载点
大家其实可以看到
左边这张图 升压过载点
顾名思义就是说
当麦克风进行采集过程当中
由于声音过大
它会导致输出的信号失真
失真 我们会有一个衡量的标准
比如说 输出的信号
失真达到10%
那这个时候 我们定义为升压过载点
一般是说 失真度达到10%
后面系统进行 包括采样
包括混音消除
都会带来一系列问题
所以这个指标也衡量是说
麦克风能够采样最大的声音幅度
同时 还有一点就是
等效输入噪声点
这个是什么意思呢
简单来讲就是说
麦克风进行远场识别过程中
由于声音和噪声基本上处于同一个量级
那这个时候 可能我的扬声器
或者可能智能音箱
识别不到人的声音的一个点
我们叫等效输入噪声点
这个也是衡量麦克风系统
也就是说 ADC这个系统
在进行采样过程当中
能够采样的最小的信号
我们看一下
在智能音箱的设计当中
其实 我们客户到底是需要什么东西呢
想当然 就是在智能音箱里面
比如说 我的智能音箱可能放在家里
它会有一些环境的噪声
也会有外面的一些播放歌曲
可能它在播放一些声音信号
那这个时候 人对它进行的命令
这个时候 它如何能够响应我
这个时候 对于智能音箱
我们需要几个条件
第一 必须要有一个很宽的动态范围
例如 在远场的时候 声音很小
它这个时候 也能识别到你的声音
其次 本身智能音箱在播放音乐的时候
因为 麦克风离喇叭很近
因此 它采集到的声音是很大的
所以 这个时候我们就要求是说
不管是ADC 还是麦克风
需要有一个很高的升压过载点
同时 在一些远场
例如说 我刚刚讲到就是 在远场
的语音拾取方面
环境 基本上说话传到麦克风
或者传到 你听的音箱
这样的一个声音信号的幅度
基本上能够跟噪声在同一个量级的时候
这个时候 如何去提取你的声音信号
这个时候就需要对你的系统有一个很高的要求
比如说 需要有一个很高的等效噪声范围
其次 在智能音箱里面
大家其实可以看到
目前市面上有传统的
像插电式 就是放在家里
一直接上 上电那种智能音箱
逐渐演变为今天可能 需要电池供电
需要便携式供电设备里面
其实我们对它的功耗 可便携性
也带来一个很高的要求
我们再分析一下
亚马逊的Echo 这样的一个设计
其实大家知道
Echo应该是市面上比较成功的一款产品
在这款产品当中的话
我们看到 麦克风
就是Echo 用了 7 个麦克风
它是做了外围6个麦克风环形正电
中间做了一个麦克风作为混音消除
那这个时候对于ADC的要求
就是说 第一 要有很高的信噪比
能够在不同的环境当中
能够提取出有用信号
因此 你的ADC必须要有一个很高的信噪比
其次 在一些远场识别方面
由于你的声音大小是很小的
因此 需要内部的ADC进行增益的自动调节
因此 这个时候就对增益提出一些要求
ADC能够对麦克风进行一个比较好的优化
其次就是 在这么多麦克风里面
由于ARM 或者 DSP
它的总线是有限的
因此 它对接口也提出了比较高的一个要求
这个时候 我们会应用到TDM这样的一个模式
将采集到的声音信号
送到DSP或者ARM里面
进行不管是混音消除
还是降噪处理
还是做低音forming这样的一个技术
因此我们的3101
在这个地方都是有非常好的一个选择
我们再详细看一下
3101这样的一个指标
首先 第一点 3101里面集成有2路ADC
因此 包括它的外围
器件都非常简单
同时 它的信噪比可以高达92dB
采样率也可以是8-96kHz这样一个范围
所以非常方便客户进行设计
同时内部集成有PLL
锁相环 这样的一个功能
因此 它可以 不需要
简化系统的时钟线
比如说 PLL可能不需要
M Clock 信号进来
大家知道M Clock信号一般是比较高的
这样的话 可以方便系统进行简化设计
其次 内部集成
3101内部集成有
PGA 集成有自动综艺控制
这样的话 对于远场和近场
这样的一个语音拾取
都有一个非常好的优化
同时 由于3101里面有非常高的信噪比
因此它能够 不管是在安静的环境当中
还是比较嘈杂的环境当中
都能够去正确地提取有用信号
或者是你说话声音很小
它只需要满足一定条件
它可以将你这样的一个信号
提取出来
同时的话 它还集成有相位对其这样的一个功能
方便是说 我的信号采集之后
送入到MTK 或者是这样的一个系统里面
有一个非常好的系统设计
同时 它的package
我们3101目前
package 的话是 4mmx4mm
所以 也是目前封装比较小的
方便客户进行便携式产品的设计
后面 我再讲解一下
TI的ADC 的产品
详细去讲一下Ti有哪些ADC
3101 我刚刚已经讲解过了
其实3101 里面内部还寄存迷你DSP
迷你DSP内部会给客户开放一些
包括 EQ 包括DRC 方面的一些设计
这也方便客户进行一些
比如说 他可能需要进行一些
EQ 的滤波等等
这些设计 3101都可以满足
另外 我这里还要讲ADC3100
其实 ADC3100 它是相比ADC3101
做了一个简化 怎么讲呢?
其实我们发现在智能音箱
这样的一个应用场景当中
其实客户只需要对外部的声音信号
进行采集 然后内部可能做一些
转换 及包括AGC 和 PGA 这样的功能
可能应用到DSP 就是应用到EQ
这个功能比较少
所以3100相比于3101的话
是一个简化版的设计
因此 成本会更有优势
所以 大家在这块可以看一下
我们3100的产品手册
除此之外的话
其实我们TI还有一些
例如说 我刚刚提到3100
它是支持差分输入的一个ADC
在另外一个系列产品里面
我们有PCM1808和PCM1807
这样的一个产品
它其实内部的话 整个就相对简单
这样的话 对系统设计而言
更加优化你的成本
同时 它的信噪比可以达到99dB
它的采样范围可以从16-96kHz
输出是I2S模式
同时 它支持硬件和软件模式
这样 在某些系统场合
客户只需要画好一张原理图
就可以正常工作
我们在提到 在讲解ADC 之后
我们再看一下
我们ADC产品线另外一个产品系列
就是PCM186x 系列
其实PCM186x系列
它下面有1860, 1861 一直到1865
它主要是分为两块
一块是硬件控制
另外一块是软件控制
像PCM1864
内部只集成有4路ADC
其实 我们可以看到
现在市面上很多音箱做到
都是4个麦 或者8个麦
这样的一个设计
如果你用3101的话 当然也可以
只是说 你可能需要用到
需要用到4颗3101
那如果说你用我们集成有4路ADC 的话
那可以简化你的系统成本
和PCB的面积
同时 我们内部会有一些
包括一些 我们这边叫energy sense
就是说 在没有外界声音信号进来的时候
我们可以进入低功耗的模式
更加优化系统的功耗
这样的一个产品
下面我会讲解这个部分的参考设计
除此之外 大家可能注意到
就是我刚刚提到了 信噪比
我们可能包括3101
3101 是92dB
PCM1808是99dB
其实 我们TI还有更高信噪比的方案
例如说 我现在给大家看到的是
PCM4220
它的信噪比可以达到123dB
这个应该是业界目前最高的信噪比
同时 它的采样率也可以是8-216kHz
它也支持硬件模式
所以 方便大家对一些更高的
需求比较高的智能音箱
其实TI也会有一些
很好的一个产品供你们去选择
除此之外 还有PCM4202和 PCM4204
它与前面我讲到的比较类似
就是PCM4202
内部支持2个ADC
因此 它可以外挂2路麦克
那PCM4204 内部集成4个ADC
外部可以支持 放4个麦克风
这样一个产品的话
不仅仅可以应用在智能音箱里面
还包括 大家可以应用在一些
像语音输入 这样一个应用场景
包括专业的音响
或者是专业的设备里面
都可以应用到这些产品
都是比较好的选择
这个地方 我想跟大家再讲一下
基于 PMC1864的一个
环形正电的麦克风参考设计
这个也可以在我们的TI官网里面搜到
响应的 包括产品设计
包括PCB的layout 包括测试报告
大家可以在TI里面搜索
TIDA-01454
即可下载相应的文档
大家可以看到这个参考设计
非常简单
比较类似于 像亚马逊智能音箱设计
一个环形的麦克风
中间再加一个麦克风收集
在这样的一个设计里面
它主要是应用了我们两颗
PCM1864
因为我们知道PCM1864
内部是集成有4路ADC
因此在智能音箱设计里面
我们可以一颗PCM1864
带4个麦克 因此非常灵活
去进行这样的一个选型
同时 我们这个地方还有
像另外一个参考设计
是 我们这边叫线性麦克风阵列
大家可以搜索 TI参考设计
在TI官网里面搜索TIDA-01470
这样得到一系列的参考设计
和相应的测试报告
这里 我就不做过多的讲解
我还有一点需要讲的就是
其实大家看到的这些 包括应用设计
和参考设计 以及常用选型
都可以在我们的TI官网里面搜索到
相应的资料
大家其实在TI.com里面
搜索智能扬声器
大家可以看到
这样的一个网页
左边就是整个智能音箱的一个框图
右边的话 会有一些包括参考设计
和相应的产品推荐
所以我们希望 透过产品设计里面
能够更多的上一下TI.com
去搜索一下相应的产品设计
希望TI.com能够帮助大家
谢谢!
课程介绍
共计6课时,1小时34分30秒
猜你喜欢
换一换
推荐帖子
- 嵌入式WEB服务器的局域网设置问题
- 我做了一个基于M39b96的WEb服务器 但是只有一台电脑可以访问 如何搭建一个局域网 让网内的所有计算机都能访问 急求大神帮助!...
- 810230392 微控制器 MCU
- C6000TM 多核 DSP + Arm® SoC的开放资源
- DSP + Arm® 解决方案经过优化,适用于嵌入式系统,着重于节能和实时性能,并包含 OMAP-L1x 和 66AK2x 器件。OMAP-L1x 器件非常适合需要高效固定和浮点处理以及低功耗的应用。 66AK2x 器件非常适合高性能应用,此外,这些器件还包含针对多核同构和异构编程的...
- Aguilera DSP 与 ARM 处理器
- “C2000+TMS570” 双芯片方案在汽车电驱动功能安全上的应用
- 随着新能源汽车的迅猛发展和汽车电子系统越来越复杂,汽车的功能安全越来越备受重视,可靠性的要求也越来越高,ISO 26262是国际功能安全的标准,按照ISO26262标准流程开发产品能有效提高汽车电子、电气产品功能安全。 在汽车电驱动的开发上越有越多的客户有功能安全设计的需...
- Jacktang DSP 与 ARM 处理器
- 关于SPI总线的问题
- 各位大侠,我是一个刚开始进行430编程的新手,最近在编写SPI总线的程序时碰到了一些问题,总是调不通,但是同样的操作我用I/O口模拟SPI总线时结果却是对的。不知那位大侠能够帮助我,谢谢了!下面SPI操作部分的源代码。 /****************** SPI Operate ******************/ void SPI_Init() { ME1 = USPIE0...
- shangwlscp 微控制器 MCU