全面拆解和构建5G物联网-22:LoRa终端--射频芯片SX1261 SX1262的LoRa专用调制解调器与配置
目录结构:
1. SX1261/2功能模块
2. 调制技术的基本原理
3. LoRa调制解调的介绍
4. LoRa调制解调的寄存器设置
1. SX1261/2功能模块:
MCU与SX1261/2物理上通过两组接口进行通信:
(1)SPI总线
(2)GPIO中断等控制总线
SX1261/2内部通过两种方式给MCU提供服务
(1)寄存器,主要用于MCU控制和配置射频芯片SX1261/2,并且通过寄存器获取SX1261/2内部状态。
(2)Data buffer:用于MCU接收和发送数据净荷,data buffer中存放的是数据净荷,物理层帧的头信息在寄存器中。
功能模块:
(1)Data buffer:用于存放接收和发送数据的净荷。
(2)Protocol Engine:
在发送方向:会根据选择的调制解调器的类型,从data buffer读取数据净荷,与寄存器中的物理层的帧头配置,共同组装成物理层的帧结构,并添加CRC到物理帧的尾部,然后进行数据的白噪化(Whitening)处理,把二进制数据流送给选择的调制解调器。
在接收方向:会根据选择的调制解调器的类型,去表数据的白噪化处理(Whitening),然后识别物理层的帧结构,提取帧头信息和数据净荷信息,并进行CRC校验检查,最后把帧头信息存放到寄存器中,把数据净荷存放到Data buffer中。
白噪化处理(Whitening)实际是一种物理层的编码。
因此物理层的帧结构定义以及物理层的组帧和去帧s是Protocol Engine最重要的功能。
(3)FSK Modem和LoRa Modem调制解调器
在发送方向:调制解调器负责把物理层帧的二进制数据流,调制到高频的载波信号上,变成模拟的电信号。
在接收方向:调制解调器从高频的载波电信号上,把调制的二进制数据给卸载下来,变成二进制的数据流。
这是调制解调器的最重要的功能。
2. 调制技术的基本原理
调制:通信系统中发送端的原始电信号通常具有频率很低的频谱分量或数字信号,一般不适宜直接在无线信道中进行传输。因此,通常需要将原始信号变换成频带适合信道传输的高频信号,这一过程被称为调制。
解调: 正好相反,在接收端将收到的数字频带信号还原成数字基带信号。
在这里,
数字基带信号:就是Protocol Engine与FSK调制之间的经过白造化处理后的物理层帧的二进制数据流。
载波信号:433M或890M的正弦波信号。
数字频带信号:就是载波信号,叠加了数字基带信号之后的信号,这个叠加的过程就是调制,去叠加的过程就是解调。
调制和解调技术有多种,这里要探讨的就是SX1261/2支持的LoRa的专有的调制技术。
3. LoRa调制解调的介绍
LoRa®调制解调器使用(1)扩频调制和(2)前向纠错技术,来增加信号传输范围。同时,与传统的基于FSK的调制相比,提升了无线通信链路的鲁棒性。
LoRa®调制解调器的一个重要方面是增强了抗干扰能力。LoRa®调制解调器能够高达19 dB的GMSK抑制。这种抗干扰性允许LoRa®简单共存在频谱使用率高的频段或使用LoRa®扩展的混合通信网络中的调制系统传统调制方案失败的场合。
由于LoRa调制解调器是私有协议,这里我仅仅探讨这里涉及到的几个基本的概念。
(1)扩频调制
扩频发生在其他的数字调制的基础之上,在其他数字调制之后,对数字信号进行进一步的加工处理。
如何对数字进行进行进一步处理呢?
在上图中:
待传信息:是一个低频的二进制字节流,这里是0、1、0
PN码扩频码:是一个周期重复的、高频的二进制字节流,比如特定的64bit流。这里是1 0 0 1 1 0 1 1 1 0 1 0 1 0
所谓高频和低频,就是二进制数字的周期或频率。
通过扩频码与已有的低频的二进制数字串做“与”运算,得到一个新的“二进制数字串”,这就是扩频后的二进制信息流。
解扩的过程正好相反:
使用扩频码与收到的二进制信号进行“亦或”,还原原先的字节流。
很显然,扩频后的新的比特流比原先比特流数据的频率更高,即单位时间内需要传输的二进制比特更多,这就是扩频。
带来的一个直接结果就是,由于单位时间,需要传送的字节数更多了,因此需要更大的基带带宽传输扩频后的字节流。
这就是上图中的射频调制,由于需要传送的二进制字节流的比特率变大,因此射频调制的带宽变大。
带来的好处:
- 需要的发射功率密度低,不易对其他设备造成干扰。
- 在空中传送的不是原始的字节流,是扩频后的字节流,保密性高,被截获的可能性极低。
- 抗干扰能力强,对同频干扰及各种噪声具有极强的抑制能力。扩频后的多个“子”字节流代表原先的一个bit,因此空口传送中部分bit出错,不会影响随后还原的数据。
- 具有极好的抗多径衰落性能。
- 同等的发射功率,传输的距离更远。
缺点:
- 传送同等的数据比特流,需要更大的模拟信号的传输带宽。
- 电路复杂。
好在LoRa本身传输的原始数据量小,因此所增加的带宽不会成为问题。
(2)前向纠错技术
在远程通信、信息论、编码理论中,前向纠错码(FEC)和信道编码是在不可靠或强噪声干扰的信道中传输数据时用来控制错误的一项技术,前向纠错技术发生在物理层,就在调制解调前。
它的核心思想是发送方通过使用纠错码(ECC)对信息进行冗余编码,然后对收到的数据,利用增加的冗余信息,就原始数据进行检错和纠错。
4. LoRa调制解调的寄存器设置
通常情况下,采用默认的调制解调器的参数设置就可以了。
可以针对给定的应用优化LoRa®调制,设计师可以访问4个关键设计参数,每个参数允许在链路预算、抗干扰性、频谱占用和
标称数据速率。
这些参数是:
(1)扩频因子(SF):
扩频LoRa®调制是通过多个码片表示有效载荷信息的每一位来执行的信息,即扩频。
发送扩展信息的速率称为符号速率(Rs)。两者之间的比率标称符号速率和芯片速率是扩展因子,它表示每比特发送的符号数
信息。
(2)调制带宽(BW_L):
上述的传输带宽是可以设置和编程的,增加传输带宽,可以提升传输数据的比特率。
如下是支持的带宽:
•FEC编码率(CR):
数值越大,冗余数据越多,纠错的能力就越强,但有效载荷的数据量就越少。
在信道环境差的场合,可以适当增加编码率。
•低数据速率优化(LDRO)
对于低数据速率(通常用于高SF或低BW)和非常长的有效载荷(可能在空中持续数秒),可以启用低数据速率优化(LDRO)。
这将每个符号的位数减少到给定的SF减去2(参见第41页第6.1.4节“LoRa®空中发射时间”),以便接收器更好地跟踪LoRa®信号。
根据有效载荷大小,通常建议在LoRa®符号时间相等时进行低数据速率优化或高于16.38 ms。
本文地址:https://blog.csdn.net/HiWangWenBing/article/details/107890438