本次就来深入分析下Nordic的最新蓝牙芯片nRF52832。
目前有很多的芯片原厂发布了自己的BLE SoC芯片,其中NORDIC半导体的nRF52832是知名的nRF51822的后续作品,它将BLE SoC带到了一个新的高度。这款产品有很多让人兴奋的地方,它带来了更高的性能、更低的功耗以及更多的功能。
从nRF51822/nRF51422升级而来
知名的nRF51822是一颗Bluetooth Low Energy的SoC,它拥有Cortex-M0内核,运行频率为16Mhz。而nRF52832则是Cortex-M4F内核,并且拥有更大的RAM和Flash,还有更多的功能以及更好的RF性能。
下表对比了nRF52832和nRF51822还有另外一个厂家的BLE芯片:
![!在这里插入图片描述](https://img-blog.csdnimg.cn/20200316152918862.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0MxODAyNTM5NDQ4Ng==,size_16,color_FFFFFF,t_70)
下面我们来看看这些参数中有哪些亮点。
功耗
每一代新的BLE SoC出来,必定在功耗上面做些优化,nRF52832更是在nRF51822的基础上几乎将功耗降低了一半:
Active-mode RX:5.5 mA
Active-mode TX @ 0dBm: 5.5mA
Active-mode TX @ 4dBm: 7.7mA
这些功耗数据对比TI的CC26XX很有优势,即使是对比其他家的产品也是如此。
真正使用时的功耗还依赖于很多其他因素,比如运行的频率或者BLE的参数(连接或者广播的间隔)
Cortex-M4F 内核
新一代的nRF52832加入了很多新的功能。比如Cortex-M4F的内核,它能够更强大的运算能力以及浮点运算的技术。现在很多的穿戴设备或者工业化设备需要内置非常复杂的算法,所以需要MCU有更快的运行速度。这颗Cortex-M4F的内核运行期64Mhz,比其他厂家的芯片提高了很多。
这颗SoC有512KB的Flash和64KB的RAM,这也超出其他厂家的芯片一大截。Nordic称将会有400KB的Flash可以用于应用程序。如果你曾经开发过BLE的产品就会知道,BLE的协议栈至少要占80KB以上的Flash。如果像大多数的BLE SoC那样只提供128KB的Flash的话,应用程序只有大概40KB的空间,不过对于一般的传感器采集的任务来说是差不多的。之前的nRF51822最高提供256KB的Flash,这在当时也是比较少见的,我们很高兴看到Nordic再次提升了Flash的空间。
额外的Flash和RAM空间也意味着nRF52832可以支持多协议,并且在运行时自动切换。现在有很多产品已经支持了多协议这个特性(见上篇文章),看来这似乎会变成业界标准,因为目前并不是只有BLE一个无线协议。
BLE协议栈
原厂将Cortex-M0内核升级到Cortex-M4F内核,可以保证BLE协议栈无需更改。这就意味着开发者可以使用一个更加稳定的协议栈,并且直接运行之前的几十种例程。
原厂目前没有提到关于Bluetooth 4.2方面的事情,不过可以肯定是,既然新的硬件已经出来了,通过升级软件来做到更多的事情是肯定的。Bluetooth 4.2(见下一篇文章)提供了更快的传输速度、更高的安全性以及更低的功耗。
RF效率
我们必须谈一下RF的部分,毕竟所有的数据都是要通过这里的。
新的nRF52832提供了-96dBm的灵敏度,这个数据非常接近于TI的-97dBm,更高的灵敏度意味着更远的传输距离。
另外一项改进就是内置了Balun芯片。在之前的nRF51822设计中,必须加入Balun匹配电路,或者分立的或者Balun芯片,来匹配天线的50欧姆阻抗。现在nRF52832集成了这个功能,既节省了空间又节约了成本。并不适合只有Nordic一家这么干,Dialog和TI都一样,都把能够集成进来的全部弄进来。
外部只需要一个额外的电感和一个电容,用来微调这些参数。总之,内置Balun大概能节约5-6个外部阻容器件。
多协议支持和NFC
现在很多的这类芯片都能提供多协议的支持,比如BLE, ANT, Zigbee这些协议。目前在物联网领域还没有绝对的王者,因为每种无线协议都有自己的优势。现在看来实际的应用中更加趋向于不同的应用场景使用不同的技术,多协议支持就解决了这个问题。因为无线的硬件是一样的,只需要更换协议栈就行了,或者把多个协议集成进一个协议栈,对用户来说就像是同时运行这几个无线协议一样。
nRF52832支持Bluetooth Smart (Low Energy), ANT/ANT+ and proprietary 2.4GHz多种协议,这样就可以连接 nRF51, nRF24AP and nRF24L之类的产品。不过,它不支持Zigbee or Thread ,这两个协议在长距离传输上有更大的优势。Google正在力推Thread技术,Thread也慢慢的在智能家居的应用场景下变成BLE的对手之一。不过也许Bluetooth的Mesh网络技术能够解决这个问题。
原厂同时引进了NFC技术,它支持NFC-A,也就是可以作为“标签”(Tag)来使用。配合智能手机可以用于近距离的安全连接工作,毕竟有一些应用中需要这种安全的方法,集成进来之后对整体成本和体积都有好处。不过新的Bluetooth 4.2协议中已经有了新的安全规范。
nRF52832适合我们的产品吗?
回答这个问题比较复杂,不过有以下几个关键点可供参考:
Only part with 512kB flash and 64kB RAM
64MHz processor with Floating point support
Very low power – 5.5mA
Mature stack with Central and peripheral Mode
Concurrent Multiprotocol Timeslot support
A slew of peripherals for many applications
还有其他几个事情:
更多的Flash和RAM而价格不变
没有ZigBee或Thread的支持
开启BLE之后有些功能会受限(比如系统的实时性)
Flash的容量增加会增加芯片的制造成本,不过长期看来nRF52832的价格会和现在nRF51822的价格差不多。
nRF52832还是一颗单核的SoC,也即是说启动BLE协议栈之后,协议栈处于最高的优先级。而应用程序优先级会比协议栈低,在如电机控制这样的实时性要求很高的应用中可能会影响性能。
在穿戴设备的市场中需要更强的计算能力,但是在其他应用中,比如仅仅是传感器采集和简单的处理nRF51822也是很好的选择。
总结
这是一颗非常强大的BLE SoC,同时包括了非常多的功能和比nRF521822低一半的功耗,以及Nordic多年积累的蓝牙协议栈。