嵌入式
返回首页

如何将声控麦克风与低功耗处理器或编解码器结合使用

2022-08-24 来源:elecfans

  Amazon Alexa、Apple Siri 和 Google Home 等语音控制界面依靠始终在线的语音捕获功能来检测用于启动复杂语音处理算法的唤醒词或短语,这些算法通常需要基于云的资源。然而,随着基于语音的控制转移到电池供电的设备并增加了其他消费设备(如电视)的待机功率预算,这种始终开启的功能代表了显着的功耗,并增加了设计挑战。然而,使用一些低功耗设备,开发人员可以更轻松地实现语音控制接口,而不会影响功率预算。


  本文介绍了开发人员如何将声控微机电系统 (MEMS) 麦克风与低功耗处理器或编解码器结合使用,以创建超低功耗、始终在线的声控设计。以举例的方式,介绍和描述Vesper Technologies的VM1010 MEMS 麦克风和 Ambiq Micro 的 Apollo3 AMA3B1KK 微控制器在本应用中的使用。


  从低功耗到超低功耗麦克风

  设计声控电路本身并不是一项重大挑战。使用麦克风和运算放大器,工程师可以轻松创建能够检测环境声音何时超过某个预设阈值的电路(例如,请参阅“使用 LaunchPad 激活开关声音”)。在以低功耗为关键要求的设计中应用这些简单的方法进行始终在线检测时会出现挑战。对于这些设备,即使是有源麦克风和放大器的相对适度的电流要求也可能超过功率预算,特别是在电池供电设计和待机功率必须符合能源之星指南的消费类设备中。

  多年来,设计人员一直在低功率电子设备中利用微型、低功率驻极体电容麦克风。例如,Knowles FG 系列等超小型驻极体麦克风 在 1.3 伏电源下消耗最多 50 微安 (µA)。

  MEMS 技术的出现使制造商能够创建超低功耗单端输出麦克风,将缓冲放大器和其他支持电路结合在同一封装中(图 1)。

 

poYBAGMELxuAMiMCAACFR5EY3yE809.png

 

图 1:制造商已经集成了一个 MEMS 传感器、一个缓冲放大器和一个稳压器,以提供一个生成单端电压输出 Vout 的完整麦克风。(图片来源:Vesper Technologies)

  结果是一个集成的 MEMS 麦克风设备,有助于降低音频前端设计的总体成本、复杂性和功耗。然而,需要为这些坚固、省电的麦克风保持全功率,这意味着即使是最节能的声控产品也会不断消耗电流,并且在长时间安静时这样做会导致效率低下。

  该问题已通过使用一种特殊的声控 MEMS 麦克风得到解决,例如 Vesper Technologies 的 VM1010。使用这些设备,开发人员可以进一步降低非活动期间的功耗。此外,通过将此麦克风与超低功耗微控制器或编解码器一起使用,开发人员可以在对低功耗有严格要求的产品中设计复杂的始终开启的声控语音接口。

  声控麦克风

  在其正常的全功率运行模式下,VM1010 麦克风作为传统的高性能单端麦克风运行。它在其模拟输出引脚 Vout 上提供捕获的声音信号时消耗 85 µA。在此模式下,麦克风将声音转换为 20 赫兹 (Hz) 至 20 千赫兹 (KHz) 的整个频率范围,在 94 dB 的声压级 (SPL) 下灵敏度为 -38 电压分贝 (dBV)。与一些早期的 MEMS 麦克风不同,Vesper VM1010 只需几毫秒即可从非常高 SPL 的声音冲击中恢复。

  与传统的 MEMS 麦克风不同,VM1010 提供了第二种低功耗的声音唤醒模式。在这种模式下,VM1010 利用 Vesper ZeroPower 监听子系统(图 2)。这是 Vesper 对传统 MEMS 麦克风架构的独特扩展。

 

pYYBAGMELyWAAnMZAAC_4bb2BdI204.png

 

图 2:Vesper Technologies VM1010 MEMS 麦克风扩展了传统的 MEMS 麦克风架构,具有专门的 ZeroPower Listening 子系统,可监控传感器输出并在检测到的声音超过可配置阈值时在其 Dout 数字输出上生成信号。(图片来源:Vesper Technologies)

  在声音唤醒模式下,VM1010 仅消耗 10 µA 电流,这通常低于便携式扬声器、甚至智能手表或健身可穿戴设备中电池的自放电电流。在这种模式下,设备以更有限的频率响应运行,从 250 Hz 到 6 KHz。使用这个缩小的范围,VM1010 可以更可靠地捕捉人声范围的主要频率,同时减少来自环境中不同噪声源的误报。

  VM1010 在声音唤醒模式下禁用其 Vout 模拟输出,但麦克风会继续监控外部环境的声音。当声音发生时,MEMS 麦克风的压电元件会发生响应偏转,从而在内部产生一个小的电压电平。当声压将此内部电压电平增加到可配置阈值以上时,器件的集成比较器电路通过将 VM1010 Dout 输出设置为数字“高”电平来做出响应。

  开发者可以调整VM1010的唤醒声音阈值。如果 VM1010 的 GA1 和 GA2 声音唤醒声学阈值引脚处于开路状态,则该器件以 89 dB SPL 的最大声学阈值运行。然而,通过在 GA1 和 GA2 之间连接一个电阻器,可以将阈值调整到最低 65 dB SPL(图 3)。

 

poYBAGMELzGAUgZyAAC0Djz0bkA428.png

 

图 3:开发人员可以通过在设备的 GA1 和 GA2 引脚之间放置一个电阻器来降低 VM1010 的默认声音检测阈值。(图片来源:Vesper Technologies)

  VM1010 麦克风能够在检测到高于预设阈值的声音时发出信号,这为在更大设计的完整语音处理链中降低功耗奠定了基础。

  唤醒信号

  在使用 VM1010 进行设计时,开发人员可以将该器件用作传统的单端模拟麦克风,将 VM1010 的 Vout 模拟信号输出连接到处理器的内部模数转换器 (ADC)。然而,在典型的节能设计中,开发人员会在 VM1010 的数字引脚和处理器的 GPIO 引脚之间建立两个额外的连接(图 4)。

 

poYBAGMELzyAa24SAADSBnQpAGA620.png

 

图 4:开发人员可以使用一个简单的接口来实现 VM1010 MEMS 麦克风的声音唤醒功能,除了麦克风的模拟输出和 MCU 的 ADC 之间的通常模拟连接之外,该接口只需要两个额外的数字连接。(图片来源:Digi-Key,来自 Vesper Technologies 源材料)

  要使用 VM1010 的声音唤醒检测功能,其 Dout 数字输出需要连接到启用中断的 GPIO,其模式输入端口需要连接到单独的 GPIO。

  使用这个简单的接口,开发人员可以通过限制处于完全活动状态的时间来显着降低整体系统功耗。要将 VM1010 切换到其低功耗声音唤醒模式,处理器 GPIO 用于将模式引脚设置为高电平。通常,切换到声音唤醒模式与处理器中向低功率睡眠状态的转换一起执行。

  当 VM1010 检测到声音并将 Dout 设置为高电平时,产生的信号转换将处理器从其睡眠状态中唤醒。作为返回活动模式的一部分,连接到模式引脚的 GPIO 设置为低电平,导致 VM1010 在 200 µs 内返回到其全功率模式 - 恰好在捕获输入音频波形所需的时间内。在处理接收到的音频后,处理器可以将 VM1010 返回到声音唤醒模式并返回低功耗睡眠状态,直到 VM1010 发出下一个唤醒信号。

  在设计用于检测唤醒词的系统中,开发人员可以通过处理器执行的一系列测试来简单地扩展这个声音唤醒序列。在 VM1010 检测到声音并使用其 Dout 信号唤醒处理器后,处理器首先测试语音活动的迹象。在这里,处理器可能会执行代码来寻找诸如声音的频率范围和持续时间之类的指标。如果这些指示符提示语音信号,则处理器将使用检测唤醒词所需的更重要的处理序列。

  在检测到唤醒词后,处理器将通过低功耗蓝牙 (BLE) 或其他无线接口与移动主机通信来启动高级语音处理序列,以利用云资源进行完整的语音识别。随着该序列的每个阶段完成(或由于某种原因失败),开发人员可以通过将 VM1010 返回到声音唤醒模式并将处理器置于低功耗睡眠状态来优化功耗(图 5)。

 

pYYBAGMEL0aAByuBAAGy7F5RZmo803.png

 

图 5:开发人员可以通过在唤醒词检测序列中的每个操作阶段之后将 VM1010 MEMS 麦克风和处理器返回到低功耗状态来降低唤醒词检测设计中的功耗。(图片来源:Vesper Technologies)

  降低系统功耗

  尽管声音唤醒功能可以在较长的安静期间降低系统功耗,但总体系统功耗通常取决于处理器的节能特性。具有集成连接选项的超低功耗处理器的出现为开发人员提供了高效的解决方案。例如,Ambiq Micro Apollo3 AMA3B1KK 微控制器在主动模式下的功耗仅为 6 μA/兆赫 (MHz),同时在 3.3 伏电源轨下从闪存或随机存取存储器 (RAM) 执行。

  使用 Apollo3,开发人员可以轻松实现前面描述的那种节能序列。例如,在使用 Apollo3 GPIO 将 VM1010 设置为声音唤醒模式后,开发人员可以发出等待中断 (WFI) 指令,使微控制器进入深度睡眠模式。在深度睡眠模式下,微控制器在保留 384 千字节 (Kbytes) 静态 RAM 的情况下仅消耗 3 µA 电流,或者在没有静态 RAM 保留的情况下(全部采用 1.8 伏电源)消耗电流小于 1 µA。无线电操作通常是无线设计中的主要功耗来源,使用 Apollo3 的集成无线电子系统接收 (Rx) 和发送 (Tx) 仅需大约 3 毫安 (mA)。

  同样重要的是,集成在 Apollo3 等高级微控制器中的大量功能有助于简化设计、减小封装尺寸并缩短材料清单。例如,除了集成无线电子系统外,Apollo3 微控制器还包括一个高度集成的电源管理单元 (PMU),其中包含多个低压差 (LDO) 稳压器和降压转换器。

  使用这些集成功能,开发人员通常可以使用 Vesper VM1010 MEMS 麦克风、Ambiq Micro Apollo3 微控制器和一组最少的外部无源组件来创建完整的设计。事实上,开发人员可以在 LDO 模式下使用 Apollo3 的集成 PMU,甚至可以消除降压转换器所需的外部电容器和电感器。

  Apollo3 的集成 14 位 ADC 子系统进一步提高了设计效率和功耗优化。例如,可以通过将 ADC 子系统置于不同的低功耗模式来降低 ADC 功耗。例如,在 ADC 的低功耗模式 1 中,ADC 控制器关闭其时钟和缓冲器,同时保留 ADC 校准数据。在此模式下运行时,Apollo3 ADC 需要不到 70 µs 的时间来启动来自 VM1010 麦克风等模拟源的信号转换。值得注意的是,ADC可以在这种模式下完成转换,而处理器内核仍处于深度睡眠状态。

  如前所述,唤醒字的识别通常需要一个完全活动的处理器。因此,有必要将微控制器从深度睡眠模式转换为运行模式。对于这种过渡,Apollo3 的集成 PMU 与设备的唤醒中断控制器一起工作,以恢复电源和系统状态。

  深度睡眠的唤醒时间仅为 15 µs。结合将 VM1010 转换到全功率模式所需的 200 µs,转换到活动模式的总时间仍在使用 VM1010 麦克风捕获音频输入信号所需的时间内。

  增强的音频设计

  对于具有更复杂音频处理要求的应用,设计人员可以将 VM1010 与 Vesper VM3000等数字 MEMS 麦克风结合使用。该器件使用集成 ADC 生成捕获信号的脉冲密度调制 (PDM) 表示(图 6)。

 

poYBAGMEL1GATy7FAACJM6OYiAY283.png

 

图 6:Vesper 的 VM3000 MEMS 麦克风集成了一个 ADC,以提供时钟启用的数字数据输出流。(图片来源:Vesper Technologies)

  使用 VM3000 的时钟输出,开发人员可以在一条数据线上多路复用一对这样的麦克风,以更轻松地实现用于提高语音拾取灵敏度的波束成形阵列。在安静期间,开发人员可以通过关闭 VM3000 的时钟来节省电力,从而将设备置于电流消耗降至 2.5 µA 的睡眠模式。

  增强的音频设计将扩展包含 VM1010 和处理器的基本设计。使用处理器 GPIO,开发人员可以组合使用 VM1010 和 VM3000 麦克风,前者用于唤醒系统,后者阵列用于录音。

  启动声控设计

  要开始试验声控设计,开发人员可以使用 Vesper 和 Ambiq Micro 的评估板。Vesper S-VM1010-C和S-VM3000-C MEMS 全向麦克风音频评估板分别引出了 VM1010 和 VM3000 的引脚。要对基于 VM1010 声音唤醒功能的音频处理设计进行原型设计,可以使用CW Industries的CWR-170-10-0000等卡边缘连接器,通过 Ambiq Micro AMA3BEVB Apollo3 为 MEMS 麦克风评估板提供面包板评估板。

  结论

  永远在线的语音界面为使用语音控制产品或与基于云的服务交互提供了便利。将专用 MEMS 麦克风与超低功耗处理器结合使用,开发人员可以实现始终在线功能,同时满足功耗要求。


进入嵌入式查看更多内容>>
相关视频
  • PX4固件二次开发课程

  • RISC-V嵌入式系统开发

  • NuttX Workshop 2024

  • 自己动手写操作系统

  • SOC系统级芯片设计实验

  • 自己动手做一台计算机

精选电路图
  • 用NE555制作定时器

  • RS-485基础知识:处理空闲总线条件的两种常见方法

  • 带有短路保护系统的5V直流稳压电源电路图

  • 如何构建一个触摸传感器电路

  • 如何调制IC555振荡器

  • 基于ICL296的大电流开关稳压器电源电路

    相关电子头条文章