人机界面技术 (HMI) 在过去 10 到 15 年取得了长足的进步:直到 2000 年代初,嵌入式设备(最早的手持电话,然后被智能手机取代)上的彩色屏幕和触摸屏绝对不是那么-负担得起的加。随着处理性能的提高、成本的降低以及新的通信技术的出现,能够将用户想要的内容转换为命令的设备已经出现。
直到几年前,能够连接到云并允许通过使用语音命令(如亚马逊的 Alexa)远程控制物联网设备的设备都是纯粹的科幻小说。迄今为止,智能传感器和智能音频设备使您可以轻松地为您的语音控制个人助理创建硬件。
本文将指导您选择最佳组件来设计您独特的“Alexa”版本
语音助手:系统概览
数字语音辅助系统是一种能够执行以下步骤的电子设备:
这一切的背后,是一整套的软硬件技术。
图 1 显示了语音助手的框图。
与任何其他通信通道一样,该通道也涉及源信号、采集和转换系统、编码系统、处理系统、解码系统和输出信号发射系统。
在语音辅助系统的情况下,源信号是语音信息,它是通过我们的声带调制并作为振动在空气(通信方式)中传播的机械波。振动由充当信号传感器的麦克风获取。然后,对信号进行调节和编码以进行处理。此时,编码的音频流可以在本地(通过微控制器或微处理器)进行操作,也可以通过语音识别算法和云端 AI 以更有效的方式远程发送以进行处理。因此,处理输出将是提供给致动系统的命令。
至于音频反馈,路径类似但相反:将流解码并发送到放大器,放大器将通过扬声器再现音频。
系统组件
从头开始设计语音辅助系统是一项复杂的任务。直到几十年前,只有拥有出色音频设计技能的工程师团队才可行。如今,我们很幸运能够利用一系列硬件和软件组件,这无疑使任务变得更简单。
该项目最关键的部分之一是音频采集和再现部分,这需要应用领域的出色知识以及模拟电子技能。为了简化任务,我们可以使用数字传感器,它集成了必要的模拟组件并传输已经数字编码的数据。
至于输入部分,我们可以使用全向麦克风INMP441,它采用MEMS技术(Micro Electro-Mechanical Systems)进行转换,实现了I2S数字接口进行数据交换。这样就避免了有关信号调节的问题,并且与处理单元的接口不受噪声影响。此外,要处理的信号已经是数字格式。
至于音频输出级,我们可以使用 MAX98357A,它是一个 2 通道 3W D 类放大器,也配备了一个 I2S 接口。与输入级类似,硬件设计极为简化:放大器通过 I2S 接口在输入端接收数字信号,解码音频样本并将其再现为芯片 L 和 R 端的电压,只需简单连接给扬声器。
此时,您需要选择的最后一个设备是微控制器,它必须能够处理(或发送到云端)来自麦克风的音频流,并发送音频流以供放大器再现。最适合这个用途的 MCU 当然是乐鑫的ESP32模块(最好是 WROVER 模块,配备 8MB 的 RAM,以及高达 16MB 的闪存)。由于其高连接性(BLE 和 WiFi)和高性能以及极低的价格,该模块是智能家居应用的正确选择。它还具有两个独立的 I2S 接口,非常适合该项目的目的。
图 2 显示了该项目中使用的三个主要组件。
I2S 通信总线
I2S 接口协议是该项目的关键点,因为它使硬件和软件都变得简单,使设计人员和开发人员从与模拟采集和再现相关的一系列问题中解脱出来。
I2S 代表 Inter-IC Sound,它是为连接数字音频设备而创建的串行接口的电气标准。它在音频应用中用于在集成电路之间传输 PCM 音频样本,如我们的例子(MCU 和麦克风/放大器)。I2S 创建于 1986 年,是飞利浦半导体(现为 NXP 半导体)的产品。
I2S 总线是同步的,因为它从数据线提供不同的时钟信号,这比异步设备更容易接收,在异步设备中,通信系统直接从数据流中获取时钟。它还在同一条数据线上提供最多两个多路复用通道(右通道和左通道)。
I2S至少包括以下三行:
- 时钟线(BCLK):用于标记位时间并允许连接设备之间的同步
- 字选择(WS)或左右时钟(LRCLK)线:用于复用左声道(WS低)和右声道(WS高)。因此,它呈现为占空比为 50% 的方波
- 数据线:用于PCM样本的传输,根据WS的状态复用;数据以 2 的补码编码
时钟切换频率(f ck)不能任意选择,而是根据输入信号的采样频率(f s)、通道数(n ch)和单个采样的位数(n bit ),其中 f ck结果是
f ck = f s *n位*n ch
例如,要传输 2 个 8kHz 采样数据流,每个采样有 12 位,我们需要设置
f ck = 8000 * 12 * 2 = 192000 次/秒。
图 3 显示了总线线路的时序图示例。
电气连接和软件片段
图 4 显示了系统三个主要组件之间的连接。这些连接非常容易理解,因为它足以连接麦克风/放大器和 MCU 之间的时钟信号、字同步和数据线。所有模拟调节、滤波和放大都集成到数字设备中。
最后,图 5 显示了在 ESP32 的 ESP-IDF 环境中正确使用 I2S 总线的结构配置。该配置是指输入信号以 8kHz 采样,每个单通道采样 16 位,作为输入和输出(因为有一个麦克风,并且有一个单声道输出)。
一个项目,千种可能
该项目是任何需要音频输入、放大输出以及处理和通信系统的设备的起点:类似的平台可以在大量应用中实现,例如智能家居助手、音频播放器、环境警报系统,婴儿监视器和许多其他。
您将使用该平台用于什么类型的应用程序?
审核编辑:汤梓红
-
Alexa
+关注
关注
2文章
196浏览量
23270 -
ESP32
+关注
关注
17文章
953浏览量
17032
发布评论请先 登录
相关推荐
评论