LORA1276/1278 CAD检测功能测试
LORA1276/1278 CAD检测功能测试
使用CAD检测功能是为了降低产品功耗。MCU的RTC定时2s唤醒,然后启动LORA接收机进行CAD信道检测,发现符合条件的前导码后,给出中断(必须映射管脚)或者MCU查询lora中断寄存器值为0X05,然后MCU启动lora接收数据,可以是单次接收,也可是连续接收。
下面是lora模式下的CAD检测启动函数。配置寄存器,映射管脚,然后启用CADdone and CadDetected中断。CADdone是CAD完成,CadDetected是CAD完成并且对比到符合要求的前导码了。另外注意,500MHZ以下频率,LR_RegOpMode的第4位要置高,表示使用低频寄存器。低频启动CAD时写入0xF,高频时写入0x07。这个虽然实测没有什么影响,但是还是建议按照官方手册来产品会比较稳定。
/*lora模式下CAD初始化函数*/
void SX1276_LORA_CAD_INIT(void)
{SPIWriteReg(REG_LR_DIOMAPPING1,0xa1); //DIO0=10, DIO1=10, DIO2=00, DIO3=01;DIO0=10--CADdone,DIO1=10--CadDetectedSPIWriteReg(REG_LR_DIOMAPPING2,0x80); //DIO4=10, DIO5=00,DIO4=PLLLOCK,DIO5=ModeReadySPIWriteReg(LR_RegIrqFlagsMask,0xfa); // enable CADdone and CadDetectedSPIWriteReg(LR_RegIrqFlags,0xff); // clear interrupt// SPIWriteReg(LR_RegOpMode,0x07); // enter CAD mode,500M以上频率使用SPIWriteReg(LR_RegOpMode,0x0F); // enter CAD mode
}
启动CAD检测后,MCU可以开外部中断进入休眠,CAD信号到来时进入处理。也开业使用查询模式,查询lora的中断寄存器值,当CadDetected位为1 时,表示有数据需要接收,否则超时让lora进入睡眠模式,然后mcu进入STOP模式。下例使用查询方法。
SX1276_RESET();
SX1276_LORA_INIT();
SX1276_LORA_CAD_INIT();
/*CAD时长非常重要,请参考手册,SF=11时,典型值为1.82个符号时间,一个符号时间为2的SF次方/BW*/
/*SF=11,BW=125KHZ条件下,一个符号用时16.384ms*/
HAL_Delay(30); //wait for CAD done time 30ms
uint8_t temp;
temp = SPIReadReg(LR_RegIrqFlags); // read interrupt
// HAL_UART_Transmit(&huart1, &temp, 1, 30);
if(temp == 0x05) // CadDetected
{ SX1276_LORA_RX_INIT(); RX_ING_Flag = 1; Rx_Tx_time_counter = 0; //clear every loop is must
}
else
{RX_ING_Flag = 0;//SPIWriteReg(LR_RegOpMode,0x00); // 1276 SLEEP mode,500M以上频率使用SPIWriteReg(LR_RegOpMode,0x08); // 1276 SLEEP mode
}
对扫描模式来说,CAD时长非常重要,不能等太久,否则增加了功耗,也不能等太短,否则CAD还未处理完成。CAD检测处理时长在官方手册里有点位图表,可以估算一下。下面是官方的CAD原理和图表,说的很清楚了。
LORA1276/1278 CAD检测功能测试相关推荐
- 多视图CAD检测系统乳腺X线摄影基于案例的检测性能优化
多视图CAD检测系统乳腺X线摄影基于案例的检测性能优化 介绍 通常乳腺肿块的检测基于双视图乳腺摄影,医生在阅片是会将所有可用视图的信息组合在一起,他们比较MLO和CC视图,寻找不对称性并评估相对于先前 ...
- lora信号测试小助手_LoRa是如何通过CAD来实现唤醒的
原标题:LoRa是如何通过CAD来实现唤醒的 在无线传感网的设计中,往往大部分终端节点都需空中唤醒并且还要低功耗设计,那么LoRa是如何通过CAD来实现的呢? 在无线传感网络设计中,往往大部分的无线收 ...
- CAD异常闪退的原因
2019独角兽企业重金招聘Python工程师标准>>> 无论你用的是哪款软件,都会遇到出现异常闪退的情况,在这种情况下,有的是前功尽弃,之前做的文件没了,白白浪费了时间,有的则是干着 ...
- LoRa学习<三>:CAD模式实验
平台:两台NUCLEO-WL55JC1开发板,即STM32WL55方案,内置LoRa射频SX1261的SOC. 内容:两台设备上电后都启动2s的软定时器,timerout后监听CAD,若有IRQ_CA ...
- 0.91寸 SSD1306 OLED介绍(四) --- 用上位机验证OLED显示屏
在介绍0.91寸 SSD1306之前先附上模块链接:点击购买SSD1306 OLED显示模块 前面的文章已经详细说明了OLED的原理,指令,代码 0.91寸 SSD1306 OLED介绍(一) - 整 ...
- LoRa SX1278/76驱动原理 附代码
LoRa SX1278/76驱动原理 附代码 原理解释 LoRa 关键参数说明 前导码: 报头: 显式报头模式: 隐式报头模式: LoRa 调制解调: 扩频因子: 编码率: 信号带宽: 代码说明 SP ...
- sx1278lora模块的常见问题解答
sx1278lora模块的常见问题解答 - 知乎 问:LoRaWAN数据速率是多少? 答:对于LoRa来说,LoRaWAN数据速率范围在0.3kbps到11kbps之间,欧洲地区GFSK数据速率是50 ...
- 【毕业设计】8-基于STM32的水质_浊度检测仪设计与实现(原理图+源码+实物照片+答辩论文)
[毕业设计]8-基于STM32的水质/浊度检测仪设计与实现(原理图+源码+实物照片+答辩论文) 文章目录 [毕业设计]8-基于STM32的水质/浊度检测仪设计与实现(原理图+源码+实物照片+答辩论文) ...
- eol自动化测试系统监控软件,EOL测试系统总体方案.doc
EOL测试系统总体方案 EOL测试系统总体方案 一.简述及设计思想 电源系统EOL综合测试是针对目前电池Pack测试过程自动化程度较低,记录分析能力较差的问题,开发的一种全智能化测试平台.将电池充放电 ...
最新文章
- .NET 开发环境中使用VSN版本控制
- Logstash Introduction
- PHP读取微信超时,'curl出错,错误码:28'
- 我们离DevOps有多远--持续集成思想的延伸
- Technical Tcode List
- dbcp释放不了mysql链接_spring dbcp连接不释放-问答-阿里云开发者社区-阿里云
- 纯CSS实现帅气的SVG路径描边动画效果
- linux系统wget、curl终端命令行获取公网ip地址及其他网络信息
- 三星雪上加霜?高通骁龙875或将回归台积电
- Python线程类首先是一个类
- sql读取 获取子节点 父节点
- aesmiyao php_PHP实现的AES 128位加密算法示例
- 深入理解java虚拟机
- 视频教程-GO语言打造区块链视频教程-区块链
- 关于Cisco ASDM中配置STATIC NAT顺序的问题-By 年糕泰迪
- PCB设计流程一原理图
- RHEL 7 防火墙
- yii2实现后端分页和模糊查询
- [WPF 如何] 如何向 ComboBox 添加一个空白选项
- 自主导航小车实践(二)