历史上的今天
今天是:2024年12月27日(星期五)
2018年12月27日 | LoRa是如何通过CAD来实现唤醒的
2018-12-27
在无线传感网的设计中,往往大部分终端节点都需空中唤醒并且还要低功耗设计,那么LoRa是如何通过CAD来实现的呢?
在无线传感网络设计中,往往大部分的无线收发机节点都需要低功耗处理。为了降低功耗,只有通过减少无用的工作时间。在大多数的物联网应用中,无线通信时,射频部分大多数时间都处在接收状态,也是主要的能量消耗所在。而当在整个无线网络中数据量较少,但是节点又要随时准备接收数据。理想状态是,当有数据需要接收时,节点处于接收状态,无信息接收时,节点处于睡眠状态,这就需要空中唤醒技术。

无线传感网
空中唤醒从现象上看,好像是发射机把接收机从睡眠中唤醒,实则不然,其实是接收机周期性自动醒来,查看空中有没有呼叫信号,如果没有,则继续睡眠;如果有,则被唤醒进入接收状态。因此,在空中没有呼叫信号时,接收机平均功耗较低。
但是如何发现呼叫信号,传统的做法是通过设定RSSI阈值来判断,只有信号强度足够时才认为有效,唤醒节点,否则相反。随着扩频调制技术的应用,人们在确定可能低于接收机底噪声的信号是否已经使用信道时,面临重重挑战。这种情况下,使用RSSI无疑是行不通的。为了解决这个问题,可使用信道活动检测器来检测其他LoRa信号。
LoRa数据包由:前导码、可选报头、数据有效负载组成,如下图所示:

LoRa数据包结构
信道活动检测模式旨在以尽可能高的功耗效率检测无线信道上的LoRa前导码。在CAD模式下, SX1276/77/78快速扫描频段,以检测LoRa数据包前导码。
在CAD过程中会执行以下操作:
PLL被锁定
无线接收机从信道获取数据的LoRa前导码符号。在期间的电流消耗对应指定的Rx模式电流。
无线接收机及PLL被关闭,调制解调器数字处理开始执行。
调制解调器搜索芯片所获取样本与理想前导码波形之间的关联关系。建立这样的关联关系所需的时间仅略小于一个符号周期。在此期间,电流的消耗大幅减少。
完成计算后,调制解调器产生CadDone中断信号。如果关联成功,则会同时产生CadDetected信号。
芯片恢复到待机模式。
如果发现前导码,清除中断,然后将芯片设置为Rx单一或连续模式,从而开始接收数据。
信道活动检测时长取决于使用的LoRa调制设置。下图针对特定配置显示了典型CAD检测时长,该时长为LoRa符号周期的倍数。CAD检测时间内,芯片在
秒钟处于接收模式,其余时间则处于低功耗状态。

CAD时长作为扩频因子的函数
CAD程序按序列被分解为多个事件,以更好的对程序及功耗进行说明,如下图所示:

CAD过程中功耗消耗情况
IDDR_L:全Rx模式
IDDC_L:低功耗处理
信道活动检测过程中,接收端仅在前半段时间内处于全接收模式,随后进入低功耗处理阶段,期间CAD功耗随着LoRa带宽的变化而变化。
由于CAD检测数据包的前导码部分,因此要想实现空中唤醒,结合节点定期检测时间,需要设置合适的前导码发送时间,保证前导码发送时间>节点定期检测时间,则需要设定一定的前导码长度,可通过配置RegPreambleMsb和RegPreambleLsb寄存器来实现。如下图所示,可将前导码寄存器长度设置在6-65536之间来改变发送前导码长度。

前导码长度配置寄存器
前导码发送时间计算如下:
![]()
![]()
![]()
其中:
:速率
:带宽
SF:扩频因子
:发送一个symbol的时间
:发送前导码所需总时间
:已设定前导码长度大小
: 发每个preamble symbol的时间
LM400TU是ZLG致远电子研发设计的一款工业级LoRa组网透传模块。模块采用源自军用通信系统的LoRa调制技术设计,结合独有的频谱扩宽处理技术,完美解决了小数据量在复杂环境中的超远距离通信问题。

LM400TU模块
其优点如下:
-148dBm超高灵敏度,远距离通信
透明传输,实现极速组网
支持多种协议标准:LoRaNET、CLAA、LoRaWAN
一键轻松自组网
26个频段自动切换,有效避免同频干扰
预设三种典型工作模式:正常工作模式、远程唤醒模式和定时休眠模式
基于AMetal平台快速二次开发
史海拾趣
|
据有关市场调研公司公布的报告指出,从1998年到2002年,半导体行业的年复合增长率低于3%。而相对而言,电源管理产品的增长率却远远高于全行业平均水平,IGBT、功率MOSFET和电压调节器分别增长了4.4%、10%和18%。据iSuppli预计,从2002年到2007年,I ...… 查看全部问答> |
|
在一个论坛看到这样一个求助帖子,如果各位看到这样的求助帖子,你会帮他吗? 原帖地址http://bbs.cepark.com/thread-12622-1-1.html 为防止刷广告的嫌疑,我将帖子内容和回复抓图出来,大家看一下: … 查看全部问答> |
|
我用89C51访问24C02无反应. 24C02时钟接P1.7,数据接P1.6,A0 A1 A2接地 执行函数:I2C_Write(0xA0,0x01,0);I2C_Read(0xA1,0x01,&c);都直接返回0 24C02.H #ifndef __24C02_H__ #define __24C02_H__ #ifndef uchar #define uchar unsigned char #e ...… 查看全部问答> |
|
PB 上好像有个功能,可以直接运行开发板上的程序(如MediaPlay), 请问在PB什么菜单下? 请问,在WinCE 上如何注册组件(DLL)?(另一个程序要调用这个组件,不注册, 没法调用) PB 上好像有个功能,可以直接运行开发板上的程序(如MediaPlay), 请问在PB什么菜单下?… 查看全部问答> |
|
1.我有一块51的开发板,原板带的是STC89C52片子,现在我想用一下STC12C5A60S2在开发板上下程序。 2.用keil编程: 型号选的at89c52. #include\"reg52.h\"sbit led=P2^0;void main(){ while(1) {led=0;}} 头文件依然用的reg52.h,我倒 ...… 查看全部问答> |
|
外企 地点 上海要求:本科以上学历 5年以上经验数电模电 有意向的站短我啊!!!! 速度! 欢迎自荐或者推荐! [ 本帖最后由 wendy123hello 于 2012-6-20 13:48 编辑 ]… 查看全部问答> |
|
请问一下,如果加一个低频交流方波信号(大概正负三、四十伏)在一个直流高压系统,低频信号是怎么走的呢? 还有,以DGND为参考点,A、C点的电压是交流信号的电压吧? 希望哪位朋友指点一下,谢谢! [ 本帖最后由 alien_duck 于 2013-12-21 09:2 ...… 查看全部问答> |




