BLE芯片选型经验
目前主流的Ble单模的芯片主要有CSR的CSR1000系列,TI的cc254X,NORDIC的nrf800x和nrf51822,博通的bcm20732
蓝牙4.0从2010年规范制定后已经有多家芯片厂商推出BLE的单模芯片,那么我们在BLE开发中该怎样选择合适自己项目的芯片呢?本文对比较主流的BLE单模芯片介绍,开发者可以根据自己的需要加以选择。
上一篇博文介绍了比较主流的BLE单模芯片有CSR的CSR1000系列,TI的CC254x系列,NORDIC的nrf800x和 nrf51822,broadom的BCM20732,此外还有一些厂家也有BLE的芯片,但是资料比较少,国内用的人不是很多,此外,由于 broadom的芯片本人没有用过,所以本文主要对前3家的芯片进行介绍和比较,这3家的芯片同时也是市场上用的比较多的BLE芯片。
CSR的CSR1000系列芯片包括1000,1001,1010和1011四种,主要区别在于IO管脚数目的多少和有无正交解码器,其它内部资源是一样的。下图是CSR1000的资源介绍。
TI
的CC254X系列包括CC2540和CC2541,两者区别主要是CC2541没有cc2540的usb device 2.0的外设,但是增加了一个IIC外设,同时,CC2540最大TX power是4dBm,而CC2541的只有0dBm,下图是CC2540的内部资源。
NORDIC
的BLE芯片包括nrf8001,nrf8002和nrf51822,前2个没有用户编程能力,nrf8001可以通过ACI接口(其实就是 SPI)外接一个MCU控制,nrf8002通过一个2线uart进行DTM和配置下载。本文主要介绍nrf51822,下图是它的资源介绍。 那么我们应该怎么选择适合我们项目的BLE芯片呢,这要从硬件和软件两方面进行比较。
从硬件资源看,CSR1000系列包括一个16bit的cpu,64KB的rom和64KB的ram,但是它还需要外接一个最少64KB的EEprom或者SPI flash存储代码和参数。同时,它的外设也是3家中最少的。
TI的CC254x系列的芯片包括一个32MHz的8bit增强型8051内核,有128KB或256KB的flash,8k的ram,外设也是比较多的。
NORDIC的nrf51822包含一个32bit,16MHz的cortex-m0的cpu,有128KB或者256KB的flash,16kB的ram,外设也是3家中最为丰富的。
从芯片价格上看,3者中CSR1000最便宜,但是需要外加一个eeprom,所以3者方案的价格差别不是不大。
从cpu处理能力上看,nrf51822是32bit,16MHz的cortex-m0的cpu,0.9mips的处理能力,cc254x是32MHz的 8bit增强型8051内核,主频比51822高,但是是8bit的cpu,csr1000是16bit的cpu,主频是80MHz(这点不是很确定)。
从存储器上面看,csr1000的代码和数据要共享64KB的ram,nrf51822和cc254x都提供128KB和256KB两种规格,nrf51822的ram比cc254x多8KB的ram。
从外设资源上看,nrf51822内置的外设最为丰富,CC254x次之,csr1000系列最少。
从功耗和射频上面看,nrf51822的radio功耗最低,CSR1000能提供最高7.5dBm的TX power,传输距离同等条件下最远。
所以,从硬件角度选择,csr1000系列芯片适合简单,单一功能的场合,nrf51822适合需要一定运算能力,需要实现多种功能的场合,cc2540有usb device接口,尤其适合做usb gongle或者类似需要的场合,同时,也可以用于需要一定运算能力,多种功能的场合。
软件方面在下面的博文中会继续介绍,敬请期待。
目前蓝牙(BT)依旧是赋予穿戴产品最大希望的传输方式,很多优秀的蓝牙方案逐渐被大家所重视。新的产品一般会乐于采用支持BLE的BT4.0产品,因为可以在极低的功耗下工作。
在BT4.0方面,目前iWatch旗下的EM以及Nordic、BCM、Toshiba、TI、CSR、Broadcom、quntic、STE、 RDA等都有对应方案,相对来说,EM和nordic更集中在于非手机类应用;EM是BTBLE单芯片,不含单片机。TI的有CC254X系列,TI的 CC254x系列的芯片包括一个32MHz的8bit增强型8051内核,有128KB或256KB的flash,8k的ram,外设也是比较多的。 Nordic的芯片有NRF800X和NRF51822,NRF51822包含一个32bit,16MHz的cortex-m0的CPU,有128KB或 者256KB的flash,16kB的ram,外设也非常丰富。另外,它和quntic都以功耗见长。
Toshiba最近也在这块市场发力,而且获得较大突破,例如它近期推出了集成了一个高效的DC-DC转换器(峰值电流消耗低于6mA,深度休眠电流消耗低于100nA)的BLE蓝牙芯片(TC35667,如下图)。
file:///C:\Users\JamesChu\AppData\Local\Temp\ksohtml\wpsC596.tmp.png
图注:这款
集成电路还集成了一个
ARM处理器,支持下载和执行存储在EEPROM中的客户程序。支持应用自定义,无需使用任何外部微控制器。小封装(QFN40,6mmx6mm,0.5mm间距)可为穿戴式医疗保健设备、传感器和玩具等小型设备带来蓝牙低功耗通信技术优异体验。 CSR因为其xIDE开发比较容易上手,芯片拿过来基本可以直接使用;有OTAU的协议,可以支持wireless的更新应用。而且属于
SOC的芯片,不需要外部的处理器。适合简单,单一功能的场合。从软件角度来看的话,当然是CSR系列的容易开发。但它买开发板比较贵,另外支持不是特别的及时,存储器较小。
|
项目 | | | |
MCU | | | |
内存(ROM) | | | |
RAM | | | |
最高输出功率 | | | |
接收器灵敏度 | | | |
工作模式RX电流 | | | |
工作模式TX(0dBm)电流 | | | |
电源电压 | | | |
封装 | | | |
外设 | ◆1x16+2x8 bittimers ◆ADC ◆Comparator ◆Up to 2 SPI orUART ◆1X2W/s ◆tempsensor ◆23GPIO | ◆2X16 bittimers ◆RTC ◆PPI ◆ADC ◆lowpower comparator ◆Up to2X SPI or 2W master ◆1x SPIslave ◆1xUART ◆Tempsensor ◆Quadrature decoder ◆Timerbase pwm ◆31GPIO | ◆timers ◆ADC ◆DAC ◆tempsensor ◆1x SPImaster ◆1x 2Wmaster ◆1xUART ◆4XPWM ◆15 or 35GPIO |
我总结一下作为手机通讯的附件, 选择传统蓝牙(Classic BT)和低功耗蓝牙(BLE)的对比讨论过程;
首先明确我们的功能是用手机跟附件通讯, 实现手机查看状态(数据流方向:附件->手机),和控制附件(数据流方向:手机->附件)。通讯数据有外部传感器的小数据,也有外围模块的AT命,
A、手机支持程度。
(1)Classic BT被所有智能手机/平板支持,不过要实现我们的功能, 苹果系列产品需要MFI认证。(只有一些常用的传统蓝牙profile才不需要MFi认证。比如免提、高级音频等)。
(2)BLE被android4.3以上支持(截止2014-08月,android4.3及以上的市场占有率约30%), 苹果iphone4S以上(iphones4S上市以两年多,可以认为社会上在用的iphone手机版本>=4S)支持。且BLE不需要苹果的MFi认证。
(3)BLE不支持音频。
从上述来看,折中考虑BLE和MFi认证, BLE相对而言比Classic BT更有优势。
当然有条件,采用传统蓝牙+MFi认证,这样基本上可以覆盖所有智能手机。
B、芯片功能及成本
找了很久, 没有找到单芯片集成MCU、classic BT以及其协议栈、profile的SoC, 而采用MCU+HCI层蓝牙,功能不是特别适合我们(外围元件多,PCB面积大、成本高)。要重新去了解蓝牙HCI层和profile协议栈。
C、结论
牺牲掉音频功能, 只传输小数据, 单芯片SOC实现MCU+BLE+协议栈,而且价格(如CC254x、NRF51822等)比较便宜,外围电路少,因此确定采用BLE。经过试用TI的CC254x的BLE芯片之后,决定采用CC254x作为开发平台。