Amazon Alexa硬件方案选型

Amazon Alexa硬件方案选型

年初的时候,公司接了一个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,高通的QACXXXX方案被我们直接略过,成本太高了。

考虑到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


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。

你可能感兴趣的:(Alexa,RTOS,ARM)