24小(xiǎo)时联系電(diàn)话:18217114652、13661815404

中文(wén)

您当前的位置:
首页>
電(diàn)子资讯>
技术专题>
使用(yòng) ESP32 制作您自...

技术专题

使用(yòng) ESP32 制作您自己的 Alexa


使用(yòng) ESP32 制作您自己的 Alexa

人机界面技术 (HMI) 在过去 10-15 年中取得了長(cháng)足的进步:直到 2000 年代初,嵌入式设备上的彩色屏幕和触摸屏(第一款手持電(diàn)话,然后被智能(néng)手机取代)绝对不是那么-负担得起的加。随着处理(lǐ)性能(néng)的提高、成本的降低以及新(xīn)通信技术的出现,已经创建了能(néng)够将用(yòng)户想要的内容转换為(wèi)命令的设备。

直到几年前,能(néng)够连接到云并允许通过使用(yòng)语音命令遠(yuǎn)程控制物(wù)联网设备的设备还是纯科(kē)幻小(xiǎo)说。迄今為(wèi)止,智能(néng)传感器和智能(néng)音频设备可(kě)以轻松地為(wèi)您的语音控制的个人助理(lǐ)创建硬件。

语音助手:系统概述

数字语音辅助系统是一种能(néng)够执行以下步骤的電(diàn)子设备:

捕捉语音信息

将语音消息转换為(wèi)音频流

通过复杂的算法处理(lǐ)音频流,将其解释為(wèi)唯一的命令

将命令与操作相关联

播放音频反馈信息

这一切的背后,是一整套的软硬件技术。

1 显示了语音助手的框图。

1:语音助手框图

与任何其他(tā)通信通道一样,该通道还涉及原始信号、采集和转换系统、编码系统、处理(lǐ)系统、解码系统和输出信号发射系统。

在语音辅助系统的情况下,源信号是语音消息,它是一种机械波,通过我们的声带调制并作為(wèi)振动通过空气(通信方式)传播。振动由充当信号传感器的麦克风获取。然后,对信号进行调理(lǐ)和编码以进行处理(lǐ)。此时,编码的音频流可(kě)以在本地(通过微控制器或微处理(lǐ)器)进行操作,也可(kě)以通过云上的语音识别算法和 AI 以更有(yǒu)效的方式遠(yuǎn)程发送以进行处理(lǐ)。因此,处理(lǐ)输出将是提供给致动系统的命令。

至于音频反馈,路径相似但相反:流被解码并发送到放大器,放大器将通过扬声器再现音频。

系统组件

从头开始设计语音辅助系统是一项复杂的任務(wù)。直到几十年前,只有(yǒu)具有(yǒu)出色音频设计技能(néng)的工程师团队才可(kě)行。如今,我们很(hěn)幸运能(néng)够利用(yòng)一系列硬件和软件组件,这无疑使任務(wù)变得更简单。

该项目最关键的部分(fēn)之一是音频采集和再现部分(fēn),这需要出色的应用(yòng)领域知识以及模拟電(diàn)子技能(néng)。為(wèi)了简化任務(wù),我们可(kě)以使用(yòng)数字传感器,它集成了必要的模拟组件并传输已经数字编码的数据。

至于输入部分(fēn),我们可(kě)以使用(yòng)全向麦克风INMP441,它采用(yòng)MEMS技术(Micro Electro-Mechanical Systems)进行转换,并实现了I2S数字接口进行数据交换。这样可(kě)以避免信号调节问题,并且与处理(lǐ)单元的接口不受噪声影响。此外,要处理(lǐ)的信号已经是数字格式。

至于音频输出级,我们可(kě)以使用(yòng)MAX98357A,一个2通道3W D类放大器,还配备了I2S接口。与输入级类似,硬件设计极為(wèi)简化:放大器通过 I2S 接口接收输入端的数字信号,对音频样本进行解码,并在芯片的 L R 端将其再现為(wèi)電(diàn)压,这两个端简单连接到扬声器。

此时,您需要选择的最后一个设备是微控制器,它必须能(néng)够处理(lǐ)(或发送到云)来自麦克风的音频流,并发送音频流以供放大器再现。最适合此用(yòng)途的 MCU 当然是乐鑫的 ESP32模块(最好是 WROVER 模块,配备 8MB RAM 和高达 16MB 的闪存)。由于其高连接性(BLE WiFi)和高性能(néng)以及极低的价格,该模块是智能(néng)家居应用(yòng)的正确选择。它还具有(yǒu)两个独立的 I2S 接口,非常适合该项目的目的。

2 显示了该项目中使用(yòng)的三个主要组件。

2MAX98357A(左)、ESP32-WROVER(中)、INMP441(右)

I2S 通信总線(xiàn)

I2S 接口协议是该项目的一个关键点,因為(wèi)它使硬件和软件都变得简单,使设计人员和开发人员免于与模拟采集和再现相关的一系列问题。

I2S 代表 Inter-IC Sound,它是用(yòng)于连接数字音频设备的串行接口的電(diàn)气标准。它在音频应用(yòng)中用(yòng)于在集成電(diàn)路之间传输 PCM 音频样本,就像我们的例子(MCU 和麦克风/放大器)。I2S创建于1986年,是飞利浦半导體(tǐ)(现恩智浦半导體(tǐ))的产品。

I2S 总線(xiàn)是同步的,因為(wèi)它从数据線(xiàn)提供不同的时钟信号,这比异步设备更容易接收,在异步设备中,通信系统直接从数据流中获取时钟。它还在同一条数据線(xiàn)上提供最多(duō)两个多(duō)路复用(yòng)通道(右通道和左通道)。

I2S至少包括以下三行:

时钟線(xiàn)(BCLK):用(yòng)于标记位时间并允许连接设备之间的同步

字选择(WS)或左右时钟(LRCLK)線(xiàn):用(yòng)于复用(yòng)左声道(WS低)和右声道(WS高)。因此,它表示為(wèi)占空比為(wèi) 50% 的方波

数据線(xiàn):用(yòng)于传输PCM样本,根据WS的状态进行复用(yòng);数据以 2 的补码编码

时钟切换频率 (f ck ) 不能(néng)任意选择,而是根据输入信号的采样频率 (f s )、通道数 (n ch ) 和单个样本的位数 (n bit),由此˚F CK turnsout

f ck = f s *n*n ch

例如,要传输 2 8kHz 采样数据流,其中每个采样有(yǒu) 12 位,我们需要设置

f ck = 8000 * 12 * 2 = 192000 /秒(miǎo)。

3 显示了总線(xiàn)时序图的示例。

3I2S 总線(xiàn)时序图

電(diàn)气连接和软件片段

4 显示了系统三个主要组件之间的连接。连接非常容易理(lǐ)解,因為(wèi)在麦克风/放大器和 MCU 之间连接时钟信号、字同步和数据線(xiàn)就足够了。所有(yǒu)模拟调节、滤波和放大都集成到数字设备中。

4:数字元件接線(xiàn)

最后,图 5 显示了在 ESP32 ESP-IDF 环境中正确使用(yòng) I2S 总線(xiàn)的结构配置。该配置是指以 8kHz 的频率对输入信号进行采样,每单通道采样 16 位,作為(wèi)输入和输出(因為(wèi)

有(yǒu)一个麦克风,并且有(yǒu)一个单声道输出)。

5I2S 总線(xiàn)配置示例

一个项目,一千种可(kě)能(néng)

该项目是任何需要音频输入、放大输出以及处理(lǐ)和通信系统的设备的起点:类似的平台可(kě)以在大量应用(yòng)中实现,例如智能(néng)家居助手、音频播放器、环境警报系统、婴儿监视器等。

请输入搜索关键字

确定