人機界面技術 (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瀏覽量
23302 -
ESP32
+關注
關注
18文章
971瀏覽量
17201
發布評論請先 登錄
相關推薦
評論