• 2
    回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

【 2025 DigiKey 杯】星型组网的低功耗无线传感系统(一)

一、概述

         随着芯片技术和射频技术的发展,无线数据传输已成为现代数字社会的基石,从个人移动通信到工业物联网,其重要性不言而喻。无线技术飞跃的背后,是半导体芯片技术与射频技术协同演进的结果。芯片技术提供了数据处理与控制的“大脑”,而射频技术则构成了信息收发的“神经末梢”。两者的深度融合,正朝着更高性能、更低功耗、更小体积、更低成本的方向持续发展。

         在本系统中是为了解决工程施工中的布线难题,通过无线星型组网获取200米范围内的环境信息。具体设计思路如下图所示,由无线节点采集各种数据,比如温度、湿度、电压、电流、压力、流量、光照、运动、气体浓度等等,将数据通过无线网络传输到接收机,接收机通过无线信道接收到传感数据后转换为串行信息发送到后台PC进行数据分析和展示。

二、 低功耗无线节点设计

         要制作一个稳定可靠的无线传感器节点其实是一个系统工程,需要综合考虑硬件、软件、通信和电源等多个方面的要求。集成了感知、处理、通信和供电四大功能。在本系统中节点需要着重考虑低功耗的要求,MCU选用低功耗STM32L010F4P6单片机(从Digikey购买),射频芯片选用nRF24L01p,传感器选用奥松的AHT25温湿度传感器。

         低功耗STM32L010F4P6单片机是M0+ 32位 RISC 内核,主频最高 32 MHz。其功耗极低,接口丰富。在运行模式功耗低至 100 µA/MHz。低功耗运行模式功耗约 7 µA,此时保留 RAM 和外设功能,CPU 可快速唤醒。低功耗睡眠模式约 4 µA。停止模式约 1.0 µA,保留 RAM 内容,典型唤醒时间约 9 µs。待机模式功耗低至 0.3 µA(典型值),不保留 RAM 内容,唤醒后从复位开始执行。VBAT 模式功耗约 0.15 µA,为实时时钟和备份寄存器供电。通信接口包含一个 I2C,一个USART,一个SPI,1个 12位 ADC。时钟系统包括1个 16位高级控制定时器。1个 16位通用定时器。1个低功耗定时器。1个独立看门狗和一个窗口看门狗,提高系统可靠性。其内部资源如下图所示

 

         射频芯片选用nRF24L01p。这是一款经典、低成本、高性能的 2.4GHz 无线收发芯片,在物联网、无人机、遥控玩具等领域被广泛使用。它的特性可以概括为:低成本、高集成度、低功耗、高速度,但同时也存在一些需要注意的局限性。其工作在 2.4 ~ 2.525GHz 的 ISM 频段。调制方式为高斯频移键控,抗干扰能力强。可配置空中速率2Mbps速度最快,延迟低;1Mbps为默认速率;最慢速度250kbps,通信距离最远,接收灵敏度最高,抗干扰能力最强。接收灵敏度在 250kbps 速率下,可达 -94dBm;在 2Mbps 速率下,约为 -82dBm。可编程发射功率,提供 0dBm, -6dBm, -12dBm, -18dBm 四个等级。强大的 MultiCeiver 与 Enhanced ShockBurst协议。具有6个数据通道,每个芯片可以同时监听多达 6个 不同的接收地址,非常适合一对多(如遥控器对多个接收器)或多对一(如多个传感器节点对一个接收器)的网络拓扑。自动数据包处理,自动生成前导码、CRC校验。自动应答,确保数据可靠传输,无需MCU干预。自动重发,如果未收到应答,芯片会自动重发数据包,可配置重发次数和延迟。极大地降低了MCU的中断负担和软件复杂度。功功耗相当低,发射模式约 11mA (@0dBm)。接收模式约 12.5mA。待机模式约 26µA。掉电模式 < 1µA,几乎完全关闭。标准的 SPI 接口,与MCU连接都非常简单。采用QFN-20 封装,节省PCB空间。其最小系统如下图所示

 

      奥松的AHT25温湿度传感模块,模块内配置一颗全新设计的ASIC专用芯片具有出厂标定、低功耗、高精度、高稳定性等特点,采用完全校准的数字I2C接口(0x38),响应迅速,抗干扰能力强,性价比更高。可应用于消费电子、汽车、工业、气象等领域,兼容3.3~5.5V主控接口。模块工作电压 3.3~5.5V DC,工作电流<1mA,温度范围在-40~+80℃精度±0.5℃湿度范围0~100%RH ±3%RH(25℃),分辨率分别为0.01℃和0.024%RH,电路板尺寸22mm*33mm。

      节点设计中的两个重要的性能指标是功耗和无线传输距离。因为计划使用电池供电,那么功耗就是评估节点的一个重要指标。为了降低功耗延长使用寿命,充分利用STM32L010F4P6,nRF24L01p,AHT25的低功耗性能。STM32L010F4P6常驻于低功耗休眠状态,在程序用利用以下语句进入休眠

WDTCONbits.SWDTEN = 1;

      Sleep();//进入休眠。

      当然在单片机进入休眠之前nRF24L01p,AHT25都需要进入待机模式降低外设功耗,用以下语句控制其进入待机或掉电模式

      SPI_RW_Reg(WRITE_REG + CONFIG ,0x0c);S

      SPI_RW_Reg(WRITE_REG + CONFIG ,0x00);//进入掉电。

      另一个指标是无线通信距离,影响距离的两个因素一是发射端低速率下的发射功率,二是接收端的接收灵敏度(将在接收机部分进行讨论),当然天线阻抗及尺寸也会影响距离这里不做讨论,为了达到最大传输距离,将节点发射功率设置为最大,从前文可知其最大功率为0dBm,将其配置为通信速率250kbps。配置代码如下

SPI_RW_Reg(WRITE_REG + EN_AA, 0x00);       // 禁止通道自动应答

SPI_RW_Reg(WRITE_REG + SETUP_RETR, 0x03); // 自动重发3次

SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x24); // 数据传输率250Kbps,发射功率0dBm

SPI_RW_Reg(WRITE_REG + SETUP_AW, 0x03);

SPI_RW_Reg(WRITE_REG + FEATURE, 0x04);

SPI_RW_Reg(WRITE_REG + DYNPD, 0x01); 

未完待续...............................

 

全部回复(2)
正序查看
倒序查看
fzwwj95
LV.7
2
03-24 17:15

【DigiKey杯点评】第一篇把系统目标、节点需求和器件选型铺得很完整,尤其低功耗 MCU、nRF24L01 和温湿度传感器的组合比较务实。不是一味追新,而是在成本、功耗和实现难度之间做平衡,这一点很像真正做产品时的思路。

0
回复
only one
LV.8
3
03-25 23:58

 在本系统中是为了解决工程施工中的布线难题,通过无线星型组网获取200米范围内的环境信息,用什么方案做到的

0
回复