更多技术干货,欢迎扫码关注博主微信公众号:HowieXue,一起学习探讨软硬件技术知识经验,关注就有海量学习资料免费领哦:
LoRa学习:LoRa进行跳频扩频通信(FHSS)的原理
FHSS,跳频扩频技术 (Frequency-Hopping Spread Spectrum)在同步、且同时的情况下,接受两端以特定型式的窄频载波来传送讯号,对于一个非特定的接受器,FHSS所产生的跳动讯号对它而言,也只算是脉冲噪声。
当单个数据包时间可能超过相关法规允许的最大信道停留时间,则会用FHSS技术。。
在LoRa中开启跳频模式,是操作RegHopPeriod和FreqHoppingPeriod寄存器设为非零值。。。
1、原理
FHSS跳频扩频方案的工作原理为:每个LoRa数据包的部分内容通过MCU管理设置的跳频信道,既所要“跳”的频率(根据频率查询表)发送出去,在预定的跳频周期结束后,既该部分数据发送完成,则发射机和接收机切换到跳频预定义列表的下一个信道,以便继续发送和接受数据包的下一部分内容。。
在任一信道内的驻留时间由FreqHoppingPeriod来决定,该值为符号长度的整数倍。。
通过跳频发送和接受的过程从信道0开始。。所以前导码和报头部分首先会在信道0发送。。
每次开始发送数据包时,信道计数器FhssPresentChannel(位于RegHopChannel)的读数会增加,并产生中断信号FhssChangeChannel以实现跳频。。。
必须在跳频周期内设定新的频率,以 保证下次跳频时,会覆盖该新频率。。。
FHSS接收通常从信道0开始,在Check完前导码后,接收机就会开始上述跳频过程,这时候,如果Header的CRC不正确,接收机会自动请求信道0(数据包重发机制),并重新开始Check前导码。。。
2、信道更新时间
转到新频率后,会产生FhssChangeChannel中断,既改变信道的中断。。。如下图跳频成功时产生的中断信号:
博主热门文章推荐:
一篇读懂系列:
LoRa Mesh系列:
网络安全系列:
- ATECC508A芯片开发笔记(一):初识加密芯片
- SHA/HMAC/AES-CBC/CTR 算法执行效率及RAM消耗 测试结果
- 常见加密/签名/哈希算法性能比较 (多平台 AES/DES, DH, ECDSA, RSA等)
- AES加解密效率测试(纯软件AES128/256)–以嵌入式Cortex-M0与M3 平台为例
嵌入式开发系列:
- 嵌入式学习中较好的练手项目和课题整理(附代码资料、学习视频和嵌入式学习规划)
- IAR调试使用技巧汇总:数据断点、CallStack、设置堆栈、查看栈使用和栈深度、Memory、Set Next Statement等
- Linux内核编译配置(Menuconfig)、制作文件系统 详细步骤
- Android底层调用C代码(JNI实现)
- 树莓派到手第一步:上电启动、安装中文字体、虚拟键盘、开启SSH等
- Android/Linux设备有线&无线 双网共存(同时上内、外网)
AI / 机器学习系列:
- AI: 机器学习必须懂的几个术语:Lable、Feature、Model…
- AI:卷积神经网络CNN 解决过拟合的方法 (Overcome Overfitting)
- AI: 什么是机器学习的数据清洗(Data Cleaning)
- AI: 机器学习的模型是如何训练的?(在试错中学习)
- 数据可视化:TensorboardX安装及使用(安装测试+实例演示)