嵌入式找工作今天学什么?LoRa模块
一、LoRa基础知识
1. LoRa是什么?
LoRa是一种低功耗远距离无线通信技术,名称源自"Long Range"(远距离)。它是一种物理层调制技术,采用扩频调制方式,具有远距离传输、低功耗和抗干扰能力强的特点,特别适合物联网应用。
2. LoRa与LoRaWAN的区别
LoRa:物理层调制技术,定义了无线电波如何调制和解调
LoRaWAN:建立在LoRa物理层之上的网络协议,定义了网络架构、设备类型、安全机制和通信协议
3. LoRa的主要特点
远距离传输:在郊区可达15km,城市环境可达2-5km
低功耗:终端设备电池可工作数年
低数据率:0.3kbps至50kbps
高灵敏度:接收灵敏度可达-148dBm
强抗干扰能力:采用扩频技术,抗干扰性能好
低成本:相比蜂窝网络等其他技术成本更低
二、LoRa技术原理
1. LoRa调制技术原理
LoRa采用CSS(Chirp Spread Spectrum,线性调频扩频)调制技术:
信号在整个频带内以线性方式变化频率(上升或下降)
通过不同的扩频因子(SF)调整数据率和传输距离
扩频因子越大,传输距离越远,但数据率越低
2. 扩频因子(SF)的作用
定义:扩频因子决定了每个符号传输的比特数,范围通常为SF7-SF12
影响: SF越大,传输距离越远,但数据率越低SF越小,传输距离越近,但数据率越高每增加一个SF值,链路预算增加约2.5dBSF12的数据率约为SF7的1/32
3. 带宽(BW)和编码率(CR)
带宽:LoRa常用带宽为125kHz、250kHz和500kHz 带宽越大,数据率越高,但灵敏度降低带宽越小,数据率越低,但灵敏度提高
编码率:LoRa使用前向纠错编码,编码率为4/5、4/6、4/7、4/8 编码率越高,抗干扰能力越强,但有效数据率降低
三、LoRa硬件与接口
1. 常见的LoRa芯片和模块
芯片: Semtech SX1272/76/77/78/79系列STM32WL系列(集成LoRa收发器的MCU)
模块: E32系列(艾伯维)RHF76系列(瑞兴恒方)SX1278/SX1276模块RAK811/RAK4200系列
2. LoRa模块与MCU的接口方式
SPI接口:最常用的接口方式,高速通信
UART接口:部分模块提供AT指令集,通过串口控制
I2C接口:少数模块支持
GPIO接口:用于中断、复位等控制信号
3. LoRa模块的典型引脚定义
SPI接口:MOSI、MISO、SCK、NSS(片选)
控制引脚: RESET:复位引脚DIO0-DIO5:数字IO,用于中断和状态指示BUSY:忙状态指示(部分模块)
RF相关: ANT:天线接口RF_SWITCH:TX/RX切换(部分模块)
四、LoRa通信参数配置
1. 关键通信参数
载波频率:根据区域不同,常用433MHz、868MHz、915MHz等
空中速率:也称为空中数据速率或无线数据速率,指的是Lora系统在无线空中接口上实现的传输速率,这个速率是指在LoRa通信中,数据以多快的速度通过空中从一个设备传输到另一个设备。空中速率受多种因素影响,包括扩频因子(Spreading Factor, SF)、带宽(Bandwidth)、编码率(Coding Rate)等。
扩频因子(SF):是LORA传输中最重要的关键参数,影响着LORA信号的传输范围、速率和能耗通常SF7-SF12
带宽(BW):125kHz、250kHz、500kHz
编码率(CR):4/5、4/6、4/7、4/8 数据冗余度的级别,相当于位填充,连续几个添加一个值
发射功率:通常可调范围为2-20dBm
前导码长度:影响同步时间和可靠性,,,
LoRa数据包中的前导码(Preamble)是LoRa通信协议中非常重要的一个组成部分。前导码位于数据包的开始部分,是一系列预定义的模式,用于帮助接收器准确地同步到发送方的信号。
前导码的长度可以根据通信需求进行配置。长的前导码可以提高接收器同步的准确性,特别是在信号弱或环境噪声大的情况下。然而,过长的前导码可能会增加整个数据包的传输时间,从而影响通信的效率。+
同步字(Sync Word)
LoRa通信中的同步字(Sync Word)是用来区分和识别特定LoRa网络的一种机制。它是一个预定义的字节序列,用于帮助LoRa接收器区分目标网络的信号和其他LoRa信号或背景噪声。在LoRa通信中,同步字对于确保数据包的正确识别和网络的隔离非常重要。
同步字的值通常可以自定义,允许用户根据需求设置不同的值以创建独立的LoRa网络。所有在同一个LoRa网络中的设备应该使用相同的同步字。
2. 参数选择的权衡
距离vs功耗: 增大SF和发射功率可增加距离,但会增加功耗降低数据率可提高灵敏度,但传输时间变长
数据率vs可靠性: 高数据率(低SF)适合短距离大数据量场景低数据率(高SF)适合远距离小数据量场景
1. LoRa模块的基本操作流程
片选使能;
发送数据;
接收数据;
片选失效;
模块LLCC88
最终Lora调制模式下发送和接收到数据的帧格式
Preamble(前导码:同步字在这里面)+Header(代表数据相关的信息 显示模式下有效)+CRC(控制PayLoad有没有校验位) +PayLoad() +PayLoad CRC
写在后面:
编写代码问题:Lora模块的编写可以参照现有模块官方库的文件进行编写
初始化直接使用官方库的函数

发送数据:
遇到的问题:句柄是对象生成时程序指定的,属性是只读的,程序员不能修改句柄
通过句柄,程序员只能调用系统提供的服务,不能像使用指针那样,做其他的事。
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐


所有评论(0)