Amazon Alexa硬體方案選型

2021-07-29 17:09:06 字數 1932 閱讀 3366

年初的時候,公司接了乙個amazon alexa的案子,客戶要求開發一款類似於amazon echo dot的低功耗、低成本智慧型語音互動方案。主要涉及wifi soc,audio codec兩者的選型,二者之間一般通過i2c,i2s進行通訊與控制。

當時簡單評估了一下市場上類似的方案,大致鎖定了以下兩個方向:

1.跑linux系統的樹莓派/mt7688方案

2.跑rtos的esp32/mt7687/rtl8711af方案

其中類似跑linux的方案開發難度最小,github上也有不少開源方案。這裡推薦一下alexa-pi,我們就是通過alexa-pi對整個alexa的框架及api有了簡單的了解。

之前公司有過mt7688的專案經驗,結合軟體端的openwrt + http,很容易實現客戶需求。但是7688功耗太高,而且需要增加外接ram/rom,不符合客戶對低功耗,低成本的需求。

考慮到跑linux的方案,均對ram/rom有要求,相應的成本、功耗都比較難控制。只能選擇跑rtos的方案,希望在功耗跟成本上有更好的控制。

所以最後的方案評估主要落在了esp32/mt7687/rtl8711af的選擇上,至於ti的cc3200,高通的qac***x方案被我們直接略過,成本太高了。

考慮到amazon alexa不只是智慧型語音互動的控制中心,還需要alexa的智慧型硬體終端配合,而esp32/mt7687的低功耗,低成本特性,也非常適合做這些終端。選擇這些ic,也是為了日後的終端裝置考慮。

以下是我們當時做的評估**:

型號效能資源

開發環境

sdk**鏈

esp32

差不多gcc

不完善產能爬坡

mt7687

差不多iar/mdk/gcc

不錯有**商支援

rtl8711af

外設資源稍差

iar很久未更新

一般功耗控制,硬體資源(ram/rom)方面,這三者各有優勢,例如esp32記憶體相對mt7687多100kb左右,但是沒有內建rom,而7687內建2m flash。

而rtl8711af是一系列的ic,有幾款**便宜,但是外設太少,竟然連i2s跟adc都省掉了。外設資源豐富的,往往**很高,市場上還不好拿貨。

在開發環境方面,mt7687做的最好,iar/mdk的環境均支援,公司這邊採用的也是mdk keil,部署起來更快捷。

m7687為cortex cm4核心,支援官方cmsis-dap除錯。

sdk方面,mt7687相對esp32推出整整早一年,sdk已經更新到4.x,各方面的例程也很完善。由於與stm32同為arm架構,整個sdk及driver架構非常相似,上手應該比較塊。

mtk這幾年為了推廣市場,出了linkit系列開發板,參考arduino的形式,軟硬體均開源,mt7687/mt7688均有對應的linkit開發板。

esp32的官方庫當時還處在beta/完善階段,竟然連i2s的例程都沒有,淚奔…

而rtl8711af的sdk從15年底就未再更新,由於之前也沒有他們家ic的使用經驗,據說量少的話很難拿到技術支援。

年初評估時候,esp32還處在產能爬坡,**也隨之而漲,擔心日後拿貨不方便。

恰好公司之前做mt7688的**商,也可以提供mt7687資源,而且給我們的**相對esp32很有優勢。據他們透露因為之前esp8266占有的市場及影響,mtk這次對這款偏中低端的wifi soc很看重,狠下心投入不少資源來跟樂鑫競爭,**方面也就很有優勢了。

綜合多方面因素,我們決定暫時先選擇mt7687跑通alexa方案,跟**商拿了幾塊linkit 7687hdk的開發板,就開工了。如果個人開發者,也可以去電子開發者論壇申請,那邊好像有7687hdk的免費試用申請。

其實個人挺看好樂鑫的,畢竟之前esp82266作為攪局者,給整個市場帶來了革命式影響,極大的拉低了wifi soc的成本。希望esp32方面也能有更好表現,如果後續需要,待esp32完善後,我們也會考慮將系統移植到esp32。

ffmpeg nvidia硬體加速方案

ffmpeg源 git clone cuda toolkit,參考1.yasm安裝,參考 2.ffnvcodec安裝 git clone cd nv codec headers make sudo make install 3.nvidia driver安裝參考 4.cuda toolkit安裝 參...

臨界區的硬體互斥方案

臨界區互斥的硬體解決 基本硬體機制包括禁止中斷 test and set指令 swap指令。1 禁止中斷 這是最簡單的方法,程序一旦進入臨界區就禁止一切中斷,在離開臨界區前放開中斷,但是該方案有如下致命的弱點 將禁止一切中斷的權利賦予普通使用者,若使用者沒有開放中斷,系統的正常執行將受到影響。不適合...

臨界區的硬體互斥方案

臨界區互斥的硬體解決 基本硬體機制包括禁止中斷 test and set指令 swap指令。1 禁止中斷 這是最簡單的方法,程序一旦進入臨界區就禁止一切中斷,在離開臨界區前放開中斷,但是該方案有如下致命的弱點 將禁止一切中斷的權利賦予普通使用者,若使用者沒有開放中斷,系統的正常執行將受到影響。不適合...