低功耗无线SoC芯片选型把控策略
今天来谈一谈无线芯片的选型,当下无线SoC芯片可选择的余地越来越多,从欧美厂商和国产半导体,那么究竟如何选择合适的无线芯片开发产品,我们从以下几个方面进行考量。
无线技术: 当下流行的低功耗无线技术包裹wifi,小无线,LoRa,蓝牙,thread,zigbee,nfc,私有2.4G,NBIoT,2G,3G,4G等等,常用于工厂自动化和智能家居的无线技术包裹Wifi,小无线,BLE,thread,Zigbee,NFC,下图对比这几种不同的无线协议在数据传输带宽,距离和功耗上的优劣。根据使用的场景,应选用合适的方案。
Wifi: Wifi适用于高速视频数据传输,但其功耗较大,目前市面上主流的低功耗wifi芯片较少,内核采用ARM M3或者M4内核,跑简单RTOS,只支持802.15.b/g/n模式,带宽较低,但可以满足干电池供电应用,目前测试到的几家比较好的方案如。
Zigbee: 智能家居不二选择,地位在被BLE MESH挑战,但Zigbee 3.0推出之后,各家系统可以互联互通,平台的兼容性比以前好了不少。
Sub1G: 因为稳定,传输距离远,可被应用在各种工控领域,TX发射峰值电流较大,但其他时间系统处于休眠模式,故整体功耗低。
NFC: 手机必带,公交系统,门禁系统多为RFID,NFC方案所采纳。
LoRa: 独有扩频技术,+20dbm发射功率,功耗低,距离远,缺点是带宽利用低,数据吞吐量小。
功耗
始终牢记最终用户体验,如果电池失效,即使是最理想的产品也会被抛弃。
所以采用什么供电方式?纽扣电池,干电池,锂电池,长供电?纽扣电池由于其低成本,尺寸和重量而受欢迎。考虑到这些产品的电池寿命是至关重要的,并且纽扣电池只能提供大约5 mA的电流峰值而不会受到损坏。如果驱动更大的电流峰值,电池容量将会受影响。
射频发射功率: 蓝牙发射功率较低,通常只支持5dbm发射功率,看规格书指标一般看0dbm发射功率。Zigbee,小无线发射功率可以达到20dbm。(超过20dbm无法通过安规测试)。
MCU运行功耗: 因为大家都使用的ARM内核,这块的功耗各家类似,但需要评估MCU从低功耗模式唤醒到全速运行的时间长短,时间越长,功耗越大(这块一般不会写到数据手册内),另外需要评估的是MCU全速工作的主频,主频越高,功耗越大。
下图为几种IoT技术的功耗表现:
除规格书以外,提几个降功耗建议:
相应地调整连接间隔,广告间隔和从属延迟。
将多个小数据包组合成较少的大数据包,以减少RF开销。
考虑在传输之前在本地压缩数据以降低RF吞吐量。
识别可以较慢速率发送或不发送的非关键数据。
内存选择
内存的主要指标 RAM,FLASH,ROM,串行FLASH
RAM: 代码中申请的临时变量,全局变量,数组等都是放在RAM当中,RAM的大小会决定改系统的复杂程度,早起的设备如CC2541,Nrf51822其RAM资源较少,会限制蓝牙作为主端的连接个数,也会影响算法的执行效率(通常实时算法会把代码从flash端加载到RAM内运行)。
通常会考虑RAM空间大于20K.(因为原厂的RTOS和协议也会消耗部分RAM空间)。
FLASH: 决定程序的关键因素,通常Flash会要求大于256K,常用的在256K-512K之间,有些厂家,比如Nrf52840推出的1M flash,有点略大,可能是针对穿戴设备开发的产品。
ROM: 大家可能会有疑问,为什么这里会讲ROM,因为ROM的成本低,有些厂家比如Dialog,TI等厂家会把协议栈放在ROM里面,从而降低芯片制造成本,比如TI公开资料如下所示:
串行FLASH: 这个比较有意思,如果IoT的市场经理们去看国产无线芯片和国外无线芯片,可以发现一个有意思的地方,外资企业会集成flash到芯片上,国产半导体的做法是集成串行flash到芯片,或者外挂flash。究其原因,成本!串行flash便宜,用个大容量RAM,把程序从串行flash加载到RAM中运行,成本比直接在片上flash运行成本要低不少。(只是小编在此有一个建议,建议在芯片ROM中考虑对存储于片外flash的固件进行数字签名加密,不然,华强北很容易从客户产品的flash读取固件然后逆向抄板负责产品)。
OTA空中升级
IoT的产品都处于快速迭代期,不是说产品迭代的快,而是软件更新快,bug,更新交互界面,更新控制逻辑,等等,所有的这一切不能指望回收产品拆机处理,一定要考虑无线空中升级的功能需求,给自己的产品留条后路。
说到这里,如何把控空中升级的需求:
空中升级速率:
速率的快慢决定了升级的用户体验,空中传输时间越长,出问题的概率越大,所以,用LoRa的做空中升级难度最大...
内存flash容量:
空中升级可以分为两种升级方式,第一,镜像备份升级,需要固件的两倍的存储空间,新的备份文件首先接收到flash,重启后,利用引导程序,运行新的固件。第二,无镜像升级,进入升级模式后,直接擦除flash内存的应用程序,写入新固件,利用该升级模式需要引导程序支持OTA功能,这样可以避免升级失败导致的产品变砖头。
所以Flash的容量也是需要评估的一个方面,不要一味的降成本,减flash大小。建议flash的容量选用自己应用层的1.5倍到2倍的flash大小的芯片。
多协议融合
当前有产品的应用既用到了蓝牙,又用到了小无线,当然可以使用多芯片在办级做集成,但市面上已经有厂家通过绑定不同原厂的晶园实现多协议融合,一颗"芯片"解决多种协议,个人觉得这是个过渡产品,因为内部多晶源,多MCU同时运行,功耗管理是一大挑战。
目前欧美半导体厂家已经在布局多协议融合,从芯片设计上着手把2.4G和小无线结合在一颗SOC芯片上,通过软件的分时复用来完成多协议功能。 相信在可期的未来这是一种趋势。在需要多协议协同应用上可以考虑。根据德州仪器官宣资料显示,CC1352,CC2642芯片已经支持该功能,并且已经把该技术应用于智能门锁应用。