简介
低功耗产品越来越多,我们生活中智能电子表、耳机、音响等都属于低功耗产品。
低功耗产品中一般蓝牙通信使用比较广泛,蓝牙有两种一种是低功耗BLE,一种是经典蓝牙。BLE是一个低功耗带蓝牙功能的MCU,一般用于极省电、小数据包、间歇通信、短报文,速率低、超低待机、电池能用数月 / 数年;经典蓝牙主打高速传输、连续长连接、音频、大数据,功耗高、延迟一般、连接常驻。所以,两种应用场景不同,关键参数对比,见下面表格:

低功耗BLE代表产品:手环、手表、开关、蓝牙秤、体脂秤、血压计、充电宝蓝牙电量显示、无线测温等。
经典蓝牙代表产品:蓝牙耳机、蓝牙音箱、车载蓝牙通话、蓝牙手柄等;
所以,首先要明确客户产品的应用场景,用户需求,再来确定选型。
一、客户需求
第一步就是明确客户的需求,客户想要做成一个什么样的产品,这个时候一定要有一个清晰的目标,确定好了,我们才能去选型。
国内做低功耗蓝牙的厂商很多,而且国内的普遍性价比比较高,简单列一个表格可以看下有哪些厂商:

每家的核心特点都不一样,要根据自己客户的需求去选型。
比如客户想要带蓝牙,想要把数据传给手机,还是数据只要广播出去就OK,是否需要OTA,外设功能有哪些要求等等。
二、软件需求
2.1 BLE功能
确认下蓝牙的功能,广播数据和连接通信是否都支持,通信的数据量最大支持多少字节?
BLE的服务号UUID是否支持自定义,这个一般连接通信的时候需要用到,APP那边的数据是通过UUID来获取数据的。
广播通信一般支持最大31个字节,这是标准包,但是长度和类型各占一个字节,所有自定义的数据最大实际只有29个字节。广播包只是单向通信,不支持接收,只能一直广播数据。
连接通信数据是可以交互的,单包最长度有要求,现在的BLE标准一般都是5.0以上了,理论上最大长度 512 字节,但实际使用时有的MTU只有244个字节。

2.2 内存
内存主要看FLASH空间、RAM剩余多少。
因为FLASH内存的有一些BLE是蓝牙协议栈也占一部分,像我用到的一款协议栈用了接近200KB,RAM的占用量更大,所以需要需确认好除掉已经使用的空间,实际上留给我的空间是多少?
还有一个要考虑的是OTA升级,一般蓝牙都有可能支持,那么空间就要多预留一半出来用来做升级备份。
2.3 外设资源
外设资源主要是看定时器、串口、IIC、外部中断、ADC、I/O口等等。
串口是必须的,我用到的国内的BLE芯片一般都是通过串口来调试,都不支持在线仿真调试,所以查看数据只能通过打印查看。
IIC通信,这个要确认好是几路IIC通信,如果I/O资源紧张,需要考虑一主多从通信,多从机要注意从机的地址不能一样。
BLE的产品一般用于低功耗,那么,低功耗就需要唤醒,就很可能会用到外部中断,需要确认好哪些引脚具有外中中断唤醒的功能。
其他的就是一些ADC采集、I/O资源了,ADC采集电压及输入、输出的控制,根据实际的需求确认好即可。
最后还要考虑一个烧录口的问题,烧录也要占用2个管脚。
三、硬件需求
3.1 电源
首先,去顶BLE的供电电源范围是多少,I/O口输出电压和外部连接的模块要对应上,电源设计要留裕量,保证LDO电源稳定输出,纹波干扰越小越好。
像有的BLE电源供电方式不止一种,如下图:

3.2 低功耗
其次,确认好BLE休眠有几种模式,每种模式下的功耗对应是多少,每种休眠模式下工作的外设有哪些,根据产品选择合适的休眠模式。
3.3 ADC外设
ADC外设采集电压要确认好输入阻抗范围,不能超过最大值,会导致ADC外设电流小无法工作,出现采集数据异常的情况。
阻抗参数在电气特性里面,如下图:

3.4 性能
发射功率:常见:-20dBm ~ +4dBm,可软件配置。
接收灵敏度:决定能收多弱的信号,数值越小越好(如 -97dBm)。
通信距离:空旷距离、室内穿墙距离。
四、总结
通过以上的总结,我们可以知道低功耗BLE选型主要分为功能需求和性能需求两方面,功能方面就是广播、连接通信、外设功能、底层通信等等,性能需求就是发送的功率、接收的功率、主频、通信距离、功耗、内存等等,这两个大的方面评估好之后,选型基本就可以确定的差不多了。