【投稿】蓝牙大举进军智能楼宇、智慧工业等新兴领域,主流BLE芯片哪家强?

发布时间:2019-05-31 阅读量:4970 来源: Lucien 发布人: Jude

近年来,蓝牙凭借自身低功率、易部署、低成本及高度灵活的优势从传统设备市场延伸到非传统设备市场,大举进军智能穿戴、智能楼宇、智慧工业等新兴领域。随着蓝牙应用市场的蓬勃发展,技术和应用得到源源不断的创新,因此也更趋向于多样性。Dialog STNordic等知名供应商都基于蓝牙核心技术为行业提供局域物联网解决方案,帮助解决物联网“最后几十米”的连接问题。


不过,在研发 BLE 产品时,很多产品经理和市场人员经常会遇到这些问题:主流 BLE 芯片的功耗到底哪家好?好在哪个具体的点?


我从上文提及的三家供应商中各挑出一款主流的BLE芯片产品来进行实际测试以及对比,详细分析在其各个方面的功耗情况。 这三款主流BLE芯片分别是:Dialog DA14585, ST BlueNRG-2 , Nordic 52832

 

测试硬件和测试工具

 

被测硬件:

Dialog:DA145850ATDEVKTP + DA14585-01ATDB

修改测试的工程:

DA14585_SDK_6.0.10.511_0\DA14585_SDK\6.0.10.511\projects\target_apps\ble_examples\prox_reporter\

 2223.png

备注: Dialog 的测试只包含 Daughter(即小板)的功耗,不包含片外 Flash 的功耗,片外Flash 不加三极管处理大概会消耗 0.4uA

 

被测硬件: 

ST:STEVAL-IDB008V2

修改的测试工程:

STMicroelectronics\BlueNRG-1_2 DK 3.1.0\Firmware\BLE_Examples\BLE_Beacon\BlueNRG-2

STMicroelectronics\BlueNRG-1_2 DK 3.1.0\Firmware\BlueNRG1_Periph_Examples\Micro\Sleep_Test\BlueNRG-2

 225.png

 

被测硬件:

 

Nordic: 52832 official EVB

修改的测试工程:

nRF5_SDK_15.0.0_a53641a\examples\ble_peripheral\ble_app_template\pca10040\s132\arm5_no_packs

 226.png

测试电流工具:

KEITHLEY DMM7510

 228.png

测试手机: Hornor 8 Light + Android APP Lightblue

 

3. 影响总体功耗的各项指标,各家资料标称参数:


Dialog DA14585 资料标称参数:

Supply current at VBAT3V

TX: 3.4 mA, RX: 3.7 mA (with ideal DCDC, 0dB)

 229.png

 

ST BlueNRG 资料标称参数:

Average advertisement current consumption 15.34 μA (advertisement interval 1000 ms)

Average connection current consumption 7.059 μA (connection interval 1000ms)

 2221.png

TX: 8.3 mA, RX: 7.7 mA (with ideal DC-DC, -2dB) (除了 RF 外,还加上 CPU, retention RAM, Flash 激活等)

 


Nordic nRF 52832 资料标称参数:

DC-DC 3V 情况下:

0.3 μA No RAM retention

1.2 uA All peripherals in IDLE mode

1.6 uA All peripherals IDLE mode (32 kHz + RTC)

20 nA per 4 KB - RAM retention

5.3 mA TX at 0 dBm output power(备注:这部分只包含 Radio 的电流消耗)

5.4 mA RX at 1 Mbps(备注:这部分只是 Radio 的电流消耗)

CPU efficiency 58 μA/MHz(主频可以到 64MHz


从各家资料宣称看 Da14585 RadioTX: 3.4 mA, RX: 3.7 mA)遥遥领先另外的两家。需要注意的一点是 BlueNRG-2 Radio 标称的是整机部分的,除去 CPU 等的 1.9mA 大概就是单单Radio 部分的(TX: 6.4 mA, RX: 5.8 mA)。nRF52832TX :5.3 mA, RX:5.4mA)的在 RF 参数上这点上略胜一点 BlueNRG-2


4. 实际测量对比分析:


各家由于本身硬件条件不一样,标称也不一样。为了对比,这里选用了一些工程项目实际常用的比较条件进行对比。


对比条件:0dBST BlueNRG-2 由于没有 0dB 这个点的发射功率,选取一个接近的-2dB进行对比测试), +3.0V 电池供电,DC-DC 模式,统一使用带 32K 外部晶振,以带协议栈正常跑起来为准。


下面选择三个方面进行功耗比对。


1. 一直广播

2. 保持连接(payload=0

3. 睡眠模式下


为什么选取这三个方面作为比较呢? 因为一直广播的测试可以分析 RF 开始发射时的功耗; 保持连接主要分析接收和部分发送数据的 RF 作用时系统的综合功耗; 睡眠模式下可以测试分析系统的待机能力。


广播模式下,各类芯片功耗比对:

 

测试条件:供电+3.3V,广播 31 个字节数据,不带响应的非可连接广播  

22223.png

                           各芯片广播时实时电流图

(x 轴:时间,单位为 1mSY :电流,单位 1mA X:广播一次芯片的唤醒时长; △Y: 开 RF 时整机的峰值电流; 左一 Da14585 中间:BlueNRG -2 右一: nRF52832


在广播模式下,BlueNRG-2 nRF52832 的平均功耗相当。0.7S 1S 这两个广播间隔保持比较低的功耗。在市场上很多人会认为 Da14585 的功耗会比较低,因为 Da14585 M0 内核+比较低的发射功耗。从表格数据,可以很明确的看出各家芯片在功耗这块的优缺点,以及后续可以改善的地方。Dialog Da14585 Radio 这块确实做得不错,发射电流远远低其他两者。但是在从睡眠到唤醒到发广播,这里消耗了太多的时间。ST BlueNRG-232发射电流虽然比较高,但是在从睡眠到到高速晶振稳定这点上,比其他两家要快很多,加上它的底电流也远小于另外两种芯片,所以能在这么高的发射电流中保持较好的功耗。这点是大多数人在评估功耗容易单纯看射频参数下结论,忽略了底电流和高速晶振启动稳定时间。Nordic nRF 52832 在高速晶振起振稳定时间上发射功耗上都有优化的空间。


保持连接模式下,各家功耗对比:


测试条件与结果:Connection payload=0 TX/RX

  

Test Conditions

Da14585(uA)

BlueNRG-232(uA)

nRF52832(uA)

30ms connection interval

 131.66

 

 168.65

 

120.40

 

160ms connection interval (Typically for messages)

30.554

 33.042

25.179

1000ms connection interval

11.385

 7.0838

7.1806

 

从测试结果看,在 30ms 短连接间隔时,nRF52832 功耗最低,比较优秀。BlueNRG-232由于发射功率比较高,在很 30ms 这种很频繁发送数据时会低于另外两家。预估在 120 多毫秒左右连接间隔会和 Da14585 功耗相当。在预计差不多到 1S 的连接间隔时,功耗会和nRF52832 功耗想相当。当连接间隔越大,BlueNRG-232 的底电流作用越明显。

 

睡眠模式下, 各家功耗对比:

 22226.png

从测试结果分析,ST BlueNRG-2 在这块上表现优秀。两三个 uA 其实差距比较大,因为休眠在大部分应用来说是占大部分的时间,这部分的功耗差别一点点,乘上待机时间,都会放大很多倍。Dialog Da14585 在这块上可能会让很多人意外,为什么参数会是 3.9089uA的待机电流这么大的一个值。详细分析还是有理有迹可循的,Da14585 采用的是从片外Flash 中的加载 code RAM 运行的机制,片外的 FLASH 和代码区占的内存也需要消耗了部分待机电流。


(备注:Da14585 典型应用代码是从片外 Flash 加载到 RAM 里面的,使用时保持了 2 32K RAM,故这里如果在保持时 RAM 占的功耗理论值是 2.8uA)。


DA14585 内存使用分配如下:

 22227.png

Da14585 最简单蓝牙的 Demo 工程也得使用两块 32K SvsRAM.测试和理论值差别不大。BlueNRG-232(标称 0.9uA) 和 nRF52832(标称 2.0uA)的待机电流和规格标称的差别不大。顺便补充一个小点,测试到这三个芯片复位电流数据:BlueNRG-232 也是nA 级别的,nRF52832 470uA 电流,Da14585 3.2mA. 在有些应用场合,这个参数也

会比较关键。


综述实际应用场合,各家功耗对比:


前面分析了那么多,那功耗综合在实际应用到底怎么估算呢?为了简化,罗列了一个公式来评估综合功耗weighting==权重 所处状态所占时间比例)。

Power Consumption = ADV current * weighting1 + CON current *weighting2 + Standby* weighting3.

100% = weighting1 + weighting2 + weighting3。


其中大部分应用 weighting3 往往占高达 99%以上的时间。如果是待机一直广播的应用,三家差别不大(其实连接比广播更省设备的点,一直广播有时未必会比一直保持连接好)。


举个小例子算一下大概量化一下数据。

 P(DA14585) = ADV*W1 + CON()* W21 + CON()*W22+ Sleep*W3

 P(BlueNRG-232) = ADV*W1 + CON()* W21 + CON()*W22+ Sleep*W3

 P(nRF52832) = ADV*W1 + CON()* W21 + CON()*W22+ Sleep*W3

 100% = W1 + W21+ W22 + W3


使用典型值功耗估算公式:

 P(DA14585) = 13.646*W1 + 30.554* W21 + 11.385*W22+ 3.9089*W3

 P(BlueNRG-232) = 11.703*W1 + 33.042* W21 + 7.0838*W22+ 0.8524*W3

 P(nRF52832) = 11.759*W1 + 25.179* W21 + 7.1806*W22+ 2.0729*W3

 100% = W1 + W2 + W3


 如果不同的应用,W1W2W3 这部分比例的时间会不同。


综述:Da14585 的 RF 性能比较好;BlueNRG-232 的高速晶振启动稳定时间快,睡眠待机电流低;nRF52832 各项性能比较综合。我个人认为对来说对于大多数的应用 W1 W22占的比例会比较大, BlueNRG-232 的综合功耗占优势,nRF52832 次之,DA14585 最后。

 

各家同类型产品功耗:

同一厂家,相近的芯片功耗很相似。Dialog 的 DA14585 DA14580 的升级版本,DA14580 的功耗可以参考 DA14585 的,实际上会比 DA14585 的功耗更差一点点,DA14580这款芯片在当时刚出来时功耗属于业界标杆,现在来说已经被很多同行新产品赶超了。ST 的BlueNRG-1 和 BlueNRG-2 的体系结构几乎没啥改动,功耗也一样。Nordic nRF52810

于 nRF52832 的 cost down 版本,功耗也差别不大。

 

【编者按】传统点读笔具有待机时间不长;在互动性上只能简单的语音互动,难以给小朋友带来生动印象等特点。为了解决这个问题,在传统点读笔上改进,结合书本和大屏幕电视动画播放,采用目前流行的低功耗蓝牙技术。改良的点读笔可以让孩子通过参与各种针对性的游戏和活动,不断刺激触觉、视觉、听觉等感官来丰富他们的体验,增长他们的兴趣,开发他们的脑神经。点读笔小巧方便,非常便携,可随时、随处使用,它将声音和视频加于枯燥的文字之上,使图书内容更丰富,使阅读和学习更有趣,可充分实现寓教于乐。

· 系统概述

    如下图所示,整个系统运行设计这几个整体部分:带传感器的点读笔,扑了二维码的书本,智能电视。使用点读笔可以通过它的传感器识别到二维码的数据中的二维码信息,然后通过点读笔的蓝牙BLE芯片发送传感器读取到的数据到智能Android电视端,电视端可以和云端结合,播放云端或者本地的动画视频。

 

点读笔.png 

 

· 点读笔硬件设计

1. 主控芯片

硬件上采用的主控芯片是Dialog公司的DA14580芯片。这是一款经典的BLE芯片,小米手环的第一代就是用这款芯片设计的。

DA14580特性如下

(1) 蓝牙4.2协议

(2) 支持达到8个BLE连接

(3) 支持AES-128 bit 加密处理器

(4) 32 kB OTP ;50 kB Data/Retention SRAM; 84 kB ROM

(5) 集成在芯片内部的Buck/Boost DCDC 转换

(6) Fully integrated 2.4 GHz CMOS transceiver;0 dBm 发射输出功率

(7) 支持2 x UART SPI+10-bit ADC

(8) 芯片最低待机功耗低于2uA

点读笔da.jpg 

DA14580框图

 

2. 点读笔主要原理图

点读笔原理图1.png 

点读笔原理图2.jpg 

点读笔原理图

    如上图所示,点读笔硬件上主要有这几部分,主控DA14580,MPR7612读头传感器,充电部分和锂电池,以及片外的Flash(主要用于存放代码)。细心的读者可能注意到这里使用了两颗晶振,一颗是32K频率的,一颗是12MHz的。对于无线控制低功耗系统,其实一般会使用两路时钟,高速和低速的。低速用户睡眠时运行的时钟,高速用于倍频到2.4G信号,调制与解调需要发送的无线数据。为啥在睡眠时不直接使用高速呢?其实是因为采用高速时钟运行的话,功耗一般都很高。其实DA14580内部也有32K的低速晶振,如果使用芯片内部的32K低速晶振,功耗会略微高一点点,这里原理图上保留兼容使用内部32K或者外部32K晶振的设计。


3. MPR7612 传感器结构要求


识读头成品成像效果不仅与识读光头模组本身参数有关,还会受到识读塑胶头内部结构参数的影响。塑胶头影响成像的参数主要:塑胶材质是否透明.塑胶头出光孔的直径大小. 塑胶头内部弧度.

1. 塑胶材质:不能使用透明和半透明材质,如POM,透明ABS,PC,透明和半透明材质因为漏光,会让识读头光的强度下降,即使在外表面喷涂其他颜色油 漆,也难以掩盖,所以用白色ABS等为原材料, 观面可以喷涂其他颜色,内壁颜色必须为白色

2. 塑胶头内壁不能是光滑面,光滑面会产生镜面反射, 应在模具上晒细纹,让光产生漫反射

3. 塑胶头出光孔的直径和1026D一样,直径3.6MM, 且出口不能做直身位,应做成图A中的出光孔,以免成像时出现阴影

4. 焦距: 焦距是识读模组的出光口到塑胶顶面的距离,该距离必须保证为7.15MM,如图A


 

Mpr.jpg

 

· 点读笔软件设计

4. 软件概述

    本软件主要架构图如下图,紫色区域为SDK本身自带模块,其他为需要实现的模块。主要实现了电量检测功能,电源控制,三色LED显示指示,以及传感器采集点读笔数据通过打包后发送到FIFO后,通过自定义服务发送到Android电视APP端等

 

app端.jpg

5. 与App通信协议设计

由于应用数据比较简单,这里协议就简单设计。协议采用不定长统一的数据格式。从Android电视APP到点读笔和从点读笔到Android电视采用此数据格式。

包头

长度

类型

数据

校验和

Header

Length

Type

Data

CheckSum

[2]

[2]

[1]

[N]

[1]

 

数据包基本数据格式

包头:此协议定义为0xaa 0xaa

长度(Length):描述为DATA区选项加命令加校验和的字节数。

类型(Type):标识不同的数据类型。

数据区(Data):对应不同的类型不一样,不固定长度。

校验和(CheckSum):校验长度+命令+数据字段

6. BLE相关通信协议

    BLE通信相关涉及两个主要的服务,一个是OTA服务,一个是透传服务。OTA服务Dialog官方本身已经提供,剩下的应用需要透传数据的服务需要自定义。

Handle

UUID

Permission

Value

size

1

Server declare

R

Generic Attribute


2

Char declare

R

char UUID + handle + permission

2+2+1

3

char value

I

Service changed

4

4

CCC

W/R

Client characteristic Configuration

2





// 11 

5

server declare

R

CHAT server


6

char declare

R

char UUID + handle + permission

16+2+1

7

char value

N

TX

20

8

CCC

W/R

Client characteristic Configuration

2

9

char declare

R

char UUID + handle + permission

16+2+1

a

char value

W/R

RX

20 





// 41+39

GATT属性表

 

 

7. 传感器MP7612驱动设计

    传感器厂家并没有提供驱动代码,所以需要自己写相关的驱动代码,这里主要是使用SPI方式进行数据通信。

读寄存器:

    读取寄存器值前需要将寄存器页设置,写入0xfd = 当前页号。例如:将当前寄存器页设置在第二页,需操作寄存器接口写入 0xfd = 0x02;向SPI写3字节序列(0x02addr,dummy_data),其中0x02为读寄存器命令字,addr为读取的目标寄存器地址,dummy_data为任意数值,然后从SPI读取一个字节,获得的数值即为目标寄存器的值,持续输入时钟并且SPI_CS保持低电平读地址会自动加1,连着读取下一个寄存器的数值。

 

寄存器.jpgSPI读寄存器时序

写寄存器:

写寄存器值前需要将寄存器页设置,写入0xfd = 当前页号。例如:将当前寄存器页设置在第二页,需操作寄存器接口写入 0xfd = 0x02;直接向SPI3字节序列(0x01addrvalue),其中0x01为写命令字,addr为写入的目标寄存器地址,value为要写入的寄存器值;

寄存器2.jpg 

SPI写寄存器时序

8. 应用层工作模式模块

下图为各种状态下蓝牙、LED指示灯、传感器等的工作状态。

工作状态-.jpg 

工作状态逻辑图

9. 功耗优化和功耗估算

模块工作时平均功耗:

传感器:1.4mA  LED: 1.5mA

蓝牙: 广播状态:14uA  连接状态20uA  关闭状态3uA

电池电量: 1000mAh


Xxxxxxx  待增加如何优化和功耗估算公式

    功耗主要消耗在传感器和LED,蓝牙部分其实使用占比较少部分。待机时,功耗可以低至3uA,理论待机可以待机好几个月。也可以持续使用几周。

 

作者:LucienKUANG, 多年BLE 和Mesh相关开发和支持经验,先后开发过,空气波压力治疗仪系统,共享单车锁,自拍杆,点读笔电子价签系统等等嵌入式软件产品的嵌入式软件开发。支持过ST,Dialog等大厂BLE相关产品的开发。在我爱方案网的个人店铺为“路恩”,有类似的项目开发需求者欢迎联系。 

 

欢迎更多工程师或FAE来投稿,凡是未经发布的首发原创稿必有重金酬谢!投稿请联系快包微信管理员包工头(微信ID:kuaibao52)


fdsa.jpg


相关资讯
智能家居电源管理新突破:纳米功耗技术助力超长电池寿命

随着智能家居技术的快速发展,家庭自动化系统正以前所未有的方式提升生活便利性。然而,分布式传感器的无线部署对电池供电提出了严峻挑战——如何在有限电池容量下实现长久续航?传统电源方案因效率不足、静态电流过高而难以满足需求。如今,纳米功耗(nanopower)技术的创新为这一难题提供了突破口。通过采用ADI公司新一代MAX77837降压-升压转换器和MAX18000升压转换器,智能家居传感器可将单节碱性电池或锂离子电池的低电压(低至0.5 V)高效转换为稳定3.3 V或5 V系统电压,同时将静态电流控制在纳安级。本文结合具体电路设计与仿真工具,揭示如何通过超低功耗电源管理延长设备寿命,推动智能家居向更小、更可靠、更低成本的方向迈进。

基于晶体管与电位计的可变增益放大器设计与实现

在模拟电子系统中,可变增益放大器是实现动态信号调理的核心模块。本实验聚焦运算放大器拓展应用,通过晶体管压控切换与电位计阻值调节两种方法构建可变增益放大器。采用ADALM2000模块搭建实验平台,结合OP97运放、2N3904晶体管及可调电阻网络,探究增益动态控制机制。通过方波驱动晶体管实现增益阶跃切换,以及电位计连续调节反相/同相放大倍数,验证压控与手动增益调节的电路特性,为音频压缩、通信调制等应用提供硬件设计基础。

高精度窗口电压监控器:提升低电压数字器件电源性能的关键

随着数字计算器件(如FPGA、处理器及ASIC)的工艺技术不断微缩至纳米级别,其内核电压持续降低至1V以下,电源容差窗口已缩减至±3%甚至更小。这一趋势对电源的精准性提出了严苛挑战:传统开关稳压器的输出误差可能导致内核电压偏离安全范围,进而引发器件故障或永久性损坏。本文聚焦高精度窗口电压监控器的核心作用,通过量化分析其阈值精度对电源窗口的影响,提出优化策略,确保低电压器件在严格容差范围内稳定运行,同时最大化电源输出性能。

晶振核心参数全解析:从无源到有源,精准匹配电子设计需求

晶振是电子设备中的关键元件,为各类电子产品提供稳定的时钟信号。了解晶振的主要参数能够更好地了解晶振性能以及如何根据参数选择合适的晶振。

Unitree B2-W机器狗展现新技能:晶振在四足机器人中的关键作用

随着四足机器人(机器狗)在高动态运动与复杂环境作业中的突破性进展,其核心控制系统对时钟信号精度的需求已迈向“微秒级”挑战。以宇树科技Unitree B2-W为代表的轮足式机器狗,通过空翻、抗冲击越野等高难度动作验证了机器人技术的飞跃,而支撑其精准运动控制、多传感器协同及稳定通信的核心,正是晶振提供的精密时钟基准。面对户外温差(-40℃~85℃)、振动干扰及多模块同步需求,YXC针对性推出TCXO温补晶振解决方案——包括通用型YSO510TP(±2.5PPM稳定性)、可编程YSO511PJ(10-250MHz全频段覆盖)及超精密YSO512ET(±0.1PPM工业级精度),配合小至1.6×1.0mm的32.768KHz微型谐振器,为机器狗的全场景应用构建从基础时序到高速通信的完整时钟链,驱动智能机器人突破物理环境限制。