[BLE(低功耗蓝牙)] 当BLE遇到MEMS——器件选型

lb8820265   2018-12-11 21:52 楼主
这次来介绍下BLE和MEMS的选型,常说选择比努力更重要,在器件选型上也是这样的。
BLE
先上我的开发板靓照
IMG_20181206_231336_副本_副本.jpg
主要参数的对比如下
项目
NRF51822
NRF52832
BlueNRG-1
支持协议
BLE4
BLE4/5, ANT
Bluetooth mesh
BLE4.2
Bluetooth mesh
内核
Cortex-M0
Cortex-M4F
Cortex-M0
运行频率
16MHz
64MHz
16MHz
空中数据速率
1Mbps 2Mbps
1Mbps 2Mbps
1Mbps
RAM
15 or 32kB
32 or 64kB
24kB
Flash
128 or 256kB
256 or 512kB
160kB
IO
32(功能引脚可任意选择)
32(功能引脚可任意选择)
15(3种安排好的功能配置)
发射功率
-20 to +4dBm
-20 to +4dBm
-14 to +8dBm
灵敏度
-93dBm
-96dBm
-96dBm
供电
1.8V-3.6V
1.7V-3.6V
1.7V-3.6V
ADC
8/9/10 bit
12 bit
10bit
SPI
3 wire 8M
3 wire 8M
2/3 wire 8M
PWM
Null(可实现)
3x 4-ch PWM
2 pin PWM
DMA
null
EasyDMA
DMA
待机功耗
0.6uA(3V)
0.3uA(3V)
1uA
运行功耗
2.6uA(3V)关闭所有外设
1.9uA(3V) 关闭所有外设
7.059uA(1s发送一次)
特点功能
PPI
PPI
表中参数简要介绍
内核Cortex-M0和Cortex-M4F,两者都是Cortex系列内核,M0低功耗,整数运算:0.9DMIPS/MHz。M4高性能,整数运算:1.25DMIPS/MHz,此外还带有一个F,表示支持浮点运算,这个相同频率下处理单精度浮点数能够有近10倍的速度差距。
运行频率就是芯片处理最简单的指令的速度。
空中数据速率(air data rates),这个是指的数据在空中传播是速率,不是指的传输速度,单个数据包或许可以用这个空中数据速率来表示,但传输速度的瓶颈在连接间隔(conection interval),连接间隔可以设置为7.5ms到4s,每个时间间隔最多可以有6个数据包发送。
IO指可以用的功能引脚,NRF芯片的32个引脚是可以任意定义功能的,也就是说可以随便接外设。BlueNRG芯片的15个引脚功能是有三套配置方案,这个不像STM32一样每个引脚都可以在几个可供选择的功能里面选。
SPI功能,NRF只支持4线的SPI(有的也叫做3线SPI,一个时钟线,两个数据线),BlueNRG支持4线的也支持3线的SPI(有的也叫做2线SPI,一个时钟线,一根半双工的数据线)。
PWM功能,NRF51822是没有这样的功能模块的,不过由于其具有PPI功能,最多可以弄出4通道的PWM出来。NRF52832是直接支持SPI的,BlueNRG在引脚模式1和3中有两个引脚可以用来产生PWM波形。
DMA功能,NRF51822不支持DMA传输,NRF52832使用的是EasyDMA技术,其实和DMA作用一样。BlueNRG支持DMA。
待机功耗就是芯片最低耗能模式下产生的电流,类似于静态电流。NRF的最低功耗模式叫做System Off,进入该模式可以用外部多种方式唤醒,外部引脚、ADC、NFC等。BlueNRG-1最低功耗模式叫做STANDBY,可以使用外部特定的引脚来唤醒。
连接间隔,英文叫connection interval。BLE每次发送接收都是一次连接,也就是说一个连接后至少需要该连接间隔后才能再次连接。
NRF有一个特色功能叫做PPI(Programmable Peripheral Interconnect),可以实现不同的外设之间通过tasks和events进行自主互动,而不需要用到CPU。
配套软件
如果说硬件是躯壳,而里面的配套软件则是灵魂了。我认为躯壳够用了行了,灵魂才至关重要。
蓝牙协议栈:
NRF的蓝牙协议栈多种多样,可以更具不同需要进行选择,例如有的只支持BLE4,有的可以支持BLE5,有的支持ANT,有的特别不占内存。
BlueNRG的蓝牙协议栈可以升级,但是不可以随意更改。
APP开发:
NRF有PC,IOS,Android版的“NRFconnect”软件,其中PC版不开源。
BlueNRG有IOS,Android版的“ST Blue MS”软件,都开源。
程序烧录:
NRF有“nRFgo Studio”软件,可以用来烧录,代码可以用nrfjprog烧录。
BlueNRG有“BlueNRF-1 Flasher”软件可以用来烧录,“BlueNRF-1Navigator”可以用来方便的查看例程效果。
社区:
NRF有个非常强大的社区,几乎所有的问题都能在上面找到答案。
BlueNRG着实是没有找到这样规模的社区论坛。
从上面的对比来看,NRF52832无论是在性能还是在功耗上都是最好的,当然ST公司也有M4F和M0双内核的芯片STM32WB,TI也有非常多的芯片,没有玩过不做评论。
MEMS
MEMS我玩过的有:MPU6050,LSM6DS3 ,LSM6DSL,6050太过古老,这里用invensence公司新出的ICM20600做对比, MEMS可以直接对比参数,主要参数对比如下:
项目
ICM20600
LSM6DS3
LSM6DSL
通信接口
SPI(10M) IIC
SPI(10M) IIC
SPI(10M) IIC
供电电压
1.71 V to 3.45 V
1.71 V to 3.6 V
1.71 V to 3.6 V
FIFO
1Kb
8Kb
4Kb
陀螺仪更新频率
4000
500
12.5-1666
12.5-6664
加速度计频率
8000
333.33
12.5-6664
1.6-6664
陀螺仪噪音
4mdps/Hz
7mdps/Hz
4mdps/Hz
陀螺仪温漂
±0.01dps/°C
±0.05dps/°C
±0.015dps/°C
最大加速度噪音
100ug/Hz(10Hz)
180ug/Hz(Fs=16g)
130ug/Hz(Fs=16g)
最大加速度有效噪音
1mg(Bandwidth = 100 Hz)
4.4mg(Fs=16g)
3.0mg(Fs=16g)
加速度温漂
XY:±0.5mg/ °C
Z: ±1mg/ °C
±0.5mg/ °C
±0.1mg/ °C
加速度量程
±2/±4/±8/±16 g
±2/±4/±8/±16 g
±2/±4/±8/±16 g
陀螺仪量程
±250/±500/±1000/±2000 dps
±125/±250/±500/±1000/±2000 dps
±125/±250/±500/±1000/±2000 dps
最高电流
2.79mA
1.25mA
0.65 mA
静态电流
6uA
6uA
3uA
特点
自由落体检测,单击双击检测,倾斜等
计步,自由落体检测,单击双击检测,倾斜等
从参数上来看,在陀螺仪加速度的性能参数上,invensenceST各有长处,但是在低功耗与特色功能上ST要更优。
本帖最后由 lb8820265 于 2018-12-11 21:52 编辑
QQ:252669569

回复评论 (2)

主要是熟悉最好
点赞  2018-12-11 23:00
ST 的优势在于,可以同时提供BLE和MEMs,以及算法。
点赞  2018-12-17 18:09
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复