發布日期:2022-10-09 點擊率:94
因為搭上了人工智能的車,近一段時間來智能音箱很火。最著名的當屬亞馬遜的Echo,國內的后起之秀有靈動等等。類似的還有小米收音機,優聽音箱之類。主要功能都是網絡播放,大多數帶有麥克風+語音識別。與AI結合緊密的就是語音助手了, 比如某些智能音箱能夠聽從用戶這樣的命令: 播放Beatles樂隊的Let it be! 上述例子中小米音箱的麥克風目前沒有在固件支持,但是潮流與趨勢大致如此。作者本人也與另外一個21ic的網友合作DIY了一款。此篇講述硬件的設計思路以及詳情。設計的過程中用到了STM32CubeMX, 感覺很好用, 治理也介紹一下子這個工具如何輔助作者本人的硬件與軟件設計過程, 希望對感興趣的網友一點啟發。后續的軟件上的例子另外進行寫作。
圖 功能框圖
考慮到要語音識別和音頻軟解碼的需要, 核心要進行復雜的數字信號處理。這樣核心可選DSP, 高頻通用處理器或者FPGA。因為是自己搞DIY, 其實這里也沒有很大的講究。無非是用好的處理器就做復雜點, 反之就搞簡單一點。考慮到購買容易,價格也較低的因素,選定STM32F4系列。小米收音機我也拆過, 用的是MTK的MT7688KN(MIPS24KEc內核)。這種片我們既難買,也不好搞編程, 算是可望不可求吧。
圖 小米收音機主板
考慮到有大量數據存儲(永久或暫時)的可能,外擴了RAM和Flash,外擴RAM選用SRAM,外擴Flah選擇SD卡和SPI Flash。注:小米音箱上只有SPI Flash沒有SD卡.
顯然有播放音樂的需要,對音質還是比較在意,這里并不使用MCU內建的DAC,而是選擇外置的I2S DAC。而語音輸入就相對簡單,內置ADC加外部MIC即可。通信方面,支持TCP/IP和USB是必不可少。
人機界面本來打算使用12864這樣的液晶屏,后來覺得不是核心功能就能省就省,使用按鈕和LED的組合即可(也考慮到還要做語音指令功能)。這樣外觀也比較好處理,例如這樣擺放在桌面上的感覺(機頂盒):
圖 設想圖之一
但實際效果,可能更像這樣,可以便攜使用(耳放):
圖 設想圖之二
最終選定的主要芯片型號:
型號封裝廠商功能主要規格
表 主要芯片一覽
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV