4、数据采集模组选型:常见BLE模组对比与硬件接口设计
模组选型这事儿,我做了这么多年,发现很多新手容易卡在第一步。说白了,选错了模组,后面调死你。今天咱们就掰开揉碎,把Nordic、TI、Dialog这三家主流方案,以及它们的外围接口、天线设计,一次性讲透。
4.1 三大主流BLE模组厂商对比
先看一张对比表,心里有个底:
| 特性 | Nordic nRF52系列 | TI CC26xx系列 | Dialog DA145xx系列 |
|---|---|---|---|
| 典型型号 | nRF52832 / nRF52840 | CC2640R2F / CC2652R | DA14531 / DA14695 |
| 内核 | ARM Cortex-M4F | ARM Cortex-M3/M4F | ARM Cortex-M0+/M33 |
| Flash / RAM | 512KB / 64KB (52832) | 128KB / 20KB (2640R2) | 64KB / 8KB (DA14531) |
| 最大发射功率 | +4 dBm (52832) / +8 dBm (52840) | +5 dBm | +2.5 dBm (DA14531) |
| 接收灵敏度 | -96 dBm | -97 dBm | -93 dBm |
| 功耗(休眠) | ~1.5 µA | ~1 µA | ~0.5 µA |
| SDK成熟度 | 极高(nRF5 SDK / nRF Connect) | 高(SimpleLink SDK) | 中(SDK6 / SmartSnippets) |
| 社区资源 | 最丰富 | 丰富 | 较少 |
| 典型应用 | 穿戴、传感器、Mesh | 工业、医疗、低功耗传感器 | 超低功耗、一次性设备 |
我的选型建议:
- 新手入门、快速原型:选Nordic nRF52832。SDK文档全,社区活跃,遇到问题一搜就有答案。我带的几个实习生,两周就能跑通GATT服务。
- 工业级、长距离、多协议:选TI CC2652R。它的射频性能稳定,支持Thread/Zigbee/BLE多模,适合做网关。
- 超低功耗、纽扣电池供电、一次性设备:选Dialog DA14531。休眠功耗低到0.5 µA,但Flash和RAM小,代码得精打细算。
避坑指南:我曾经在一个项目中选了DA14531做数据采集,结果发现它的RAM只有8KB,跑一个完整的GATT服务+传感器驱动,内存就爆了。后来不得不外挂一颗MCU做数据预处理。所以,别只看功耗,RAM和Flash大小同样关键。
4.2 模组硬件接口:UART / SPI / I2C
模组选好了,怎么跟传感器通信?这就要看硬件接口了。BLE模组通常提供UART、SPI、I2C三种主流接口。我分别说说它们的特点和适用场景。
4.2.1 UART(通用异步收发器)
UART是最简单的接口,两根线(TX/RX)就能通信。很多BLE模组出厂默认就是UART透传模式,你发什么,它收什么,直接通过蓝牙转发出去。
- 优点:接线少,调试方便,用USB转串口就能看数据。
- 缺点:速度慢(通常115200 bps),无时钟同步,容易受干扰。
- 适用场景:低速传感器(温湿度、气压)、调试日志输出、AT指令控制。
我习惯在原型阶段先用UART把传感器数据透传出来,确认数据正确后,再换成SPI或I2C做正式产品。这样能快速定位是传感器问题还是蓝牙问题。
4.2.2 SPI(串行外设接口)
SPI是速度之王。四根线(SCLK、MOSI、MISO、CS),全双工通信,速率轻松上MHz。
- 优点:速度快,适合高数据量传感器(加速度计、陀螺仪、图像传感器)。
- 缺点:接线多,每个从设备需要一根片选线(CS),占用GPIO多。
- 适用场景:高速数据采集、需要实时性的场景。
注意:SPI的时钟极性和相位(CPOL/CPHA)必须与传感器匹配。我遇到过好几次,SPI通信失败,最后发现是模式没配对。调试时用逻辑分析仪抓一下SCLK和MISO,一眼就能看出问题。
4.2.3 I2C(I²C总线)
I2C是传感器界的“通用语”。两根线(SCL/SDA),多设备共用总线,每个设备有唯一地址。
- 优点:接线最少(2根),支持多设备,协议标准统一。
- 缺点:速度比SPI慢(标准模式100kHz,快速模式400kHz),有上拉电阻要求。
- 适用场景:大多数数字传感器(温湿度、气压、光照、磁力计)。
我个人最喜欢I2C。为什么?因为大部分传感器都支持I2C,而且调试起来简单。只要地址没错,上拉电阻对了,基本一次通。
接口选型速查表:
| 接口 | 线数 | 速度 | 多设备 | 典型传感器 |
|---|---|---|---|---|
| UART | 2 | 慢(~115kbps) | 点对点 | GPS、PM2.5、串口屏 |
| SPI | 4+ | 快(~10MHz) | 需片选 | 加速度计、陀螺仪、ADC |
| I2C | 2 | 中(~400kHz) | 总线式 | 温湿度、气压、光照 |
4.3 天线设计要点
天线是蓝牙模组的“嘴巴”和“耳朵”。天线设计不好,再好的芯片也白搭。我见过太多产品,射频性能差,最后发现是天线匹配没做好。
4.3.1 天线类型选择
常见的天线类型有三种:
- PCB板载天线(如倒F天线、蛇形天线):成本低,占用PCB面积大,性能一般。适合空间充裕的产品。
- 陶瓷贴片天线:体积小,性能稳定,但成本稍高。适合小型化产品(智能手环、标签)。
- 外置天线(IPEX接口):性能最好,灵活性强,但需要额外空间和连接器。适合对通信距离要求高的产品。
我建议:如果PCB空间允许,优先用PCB天线,成本最低。如果空间受限,用陶瓷天线。如果追求极致性能,上外置天线。
4.3.2 天线匹配与阻抗控制
蓝牙工作在2.4GHz频段,天线输入阻抗必须是50Ω。如果阻抗不匹配,信号会反射,发射功率白白浪费掉。
怎么做?
- π型匹配网络:在芯片射频输出和天线之间,预留一个π型网络(两个电容一个电感)。调试时用网络分析仪调匹配。
- PCB走线:射频走线要短,走微带线或共面波导,两侧打地孔。我习惯走线长度控制在λ/10以内(约12mm)。
- 净空区:天线下方所有层都要挖空,不能有地平面。净空区至少5mm×5mm。
血的教训:我曾经设计一款产品,天线旁边放了一颗大电容,结果蓝牙距离只有3米。后来把电容移开,距离直接到20米。记住,天线周围5mm内不要放金属器件、大电容、大电感。
4.3.3 天线调试与测试
天线设计完,一定要实测。我常用的方法:
- 回波损耗(S11):用网络分析仪看S11曲线,在2.4GHz-2.48GHz频段内,S11要小于-10dB。
- 辐射效率:在暗室测天线效率,一般PCB天线效率在30%-50%,陶瓷天线在40%-60%,外置天线可达70%以上。
- 实际拉距测试:拿两台设备,一个固定,一个移动,看信号强度(RSSI)和连接稳定性。
嗯,这里要注意:实验室数据好,不代表实际场景好。我建议在真实环境中(有墙壁、人体干扰)再做一次拉距测试。
4.4 本章知识体系总览
下面这张图,把模组选型、接口选择、天线设计的核心逻辑串起来了。你照着这个思路走,基本不会跑偏。
总结一下:选模组看资源、功耗、社区;选接口看速度、接线、传感器类型;天线设计记住三件事——阻抗匹配、净空区、实测验证。这三步走完,你的数据采集模组基本就稳了。