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检测功能测试相关推荐

  1. 多视图CAD检测系统乳腺X线摄影基于案例的检测性能优化

    多视图CAD检测系统乳腺X线摄影基于案例的检测性能优化 介绍 通常乳腺肿块的检测基于双视图乳腺摄影,医生在阅片是会将所有可用视图的信息组合在一起,他们比较MLO和CC视图,寻找不对称性并评估相对于先前 ...

  2. lora信号测试小助手_LoRa是如何通过CAD来实现唤醒的

    原标题:LoRa是如何通过CAD来实现唤醒的 在无线传感网的设计中,往往大部分终端节点都需空中唤醒并且还要低功耗设计,那么LoRa是如何通过CAD来实现的呢? 在无线传感网络设计中,往往大部分的无线收 ...

  3. CAD异常闪退的原因

    2019独角兽企业重金招聘Python工程师标准>>> 无论你用的是哪款软件,都会遇到出现异常闪退的情况,在这种情况下,有的是前功尽弃,之前做的文件没了,白白浪费了时间,有的则是干着 ...

  4. LoRa学习<三>:CAD模式实验

    平台:两台NUCLEO-WL55JC1开发板,即STM32WL55方案,内置LoRa射频SX1261的SOC. 内容:两台设备上电后都启动2s的软定时器,timerout后监听CAD,若有IRQ_CA ...

  5. 0.91寸 SSD1306 OLED介绍(四) --- 用上位机验证OLED显示屏

    在介绍0.91寸 SSD1306之前先附上模块链接:点击购买SSD1306 OLED显示模块 前面的文章已经详细说明了OLED的原理,指令,代码 0.91寸 SSD1306 OLED介绍(一) - 整 ...

  6. LoRa SX1278/76驱动原理 附代码

    LoRa SX1278/76驱动原理 附代码 原理解释 LoRa 关键参数说明 前导码: 报头: 显式报头模式: 隐式报头模式: LoRa 调制解调: 扩频因子: 编码率: 信号带宽: 代码说明 SP ...

  7. sx1278lora模块的常见问题解答

    sx1278lora模块的常见问题解答 - 知乎 问:LoRaWAN数据速率是多少? 答:对于LoRa来说,LoRaWAN数据速率范围在0.3kbps到11kbps之间,欧洲地区GFSK数据速率是50 ...

  8. 【毕业设计】8-基于STM32的水质_浊度检测仪设计与实现(原理图+源码+实物照片+答辩论文)

    [毕业设计]8-基于STM32的水质/浊度检测仪设计与实现(原理图+源码+实物照片+答辩论文) 文章目录 [毕业设计]8-基于STM32的水质/浊度检测仪设计与实现(原理图+源码+实物照片+答辩论文) ...

  9. eol自动化测试系统监控软件,EOL测试系统总体方案.doc

    EOL测试系统总体方案 EOL测试系统总体方案 一.简述及设计思想 电源系统EOL综合测试是针对目前电池Pack测试过程自动化程度较低,记录分析能力较差的问题,开发的一种全智能化测试平台.将电池充放电 ...

最新文章

  1. .NET 开发环境中使用VSN版本控制
  2. Logstash Introduction
  3. PHP读取微信超时,'curl出错,错误码:28'
  4. 我们离DevOps有多远--持续集成思想的延伸
  5. Technical Tcode List
  6. dbcp释放不了mysql链接_spring dbcp连接不释放-问答-阿里云开发者社区-阿里云
  7. 纯CSS实现帅气的SVG路径描边动画效果
  8. linux系统wget、curl终端命令行获取公网ip地址及其他网络信息
  9. 三星雪上加霜?高通骁龙875或将回归台积电
  10. Python线程类首先是一个类
  11. sql读取 获取子节点 父节点
  12. aesmiyao php_PHP实现的AES 128位加密算法示例
  13. 深入理解java虚拟机
  14. 视频教程-GO语言打造区块链视频教程-区块链
  15. 关于Cisco ASDM中配置STATIC NAT顺序的问题-By 年糕泰迪
  16. PCB设计流程一原理图
  17. RHEL 7 防火墙
  18. yii2实现后端分页和模糊查询
  19. [WPF 如何] 如何向 ComboBox 添加一个空白选项
  20. 自主导航小车实践(二)

热门文章

  1. Java简单投票系统
  2. jimu Mirror,加速你的 Android UI 开发
  3. Mac用Homebrew安装MySQL
  4. week 9 A目录
  5. 博客项目——登录功能实现
  6. 快速批量把jpg转换成pdf的方法
  7. 工业大数据漫谈3:什么是工业大数据?
  8. 计算服务——弹性云服务器
  9. 一文搞懂什么是模拟退火算法SImulated Annealing【附应用举例】
  10. js面向对象 —— ES6