关注▲射频美学▲,一起学习成长
这是射频美学的第1358期分享。
(资料图片仅供参考)
来源| 整编;
微圈|进微信群,加微信:RFtogether521;
备注|昵称+地域+产品及岗位方向(如大魔王+上海+芯片射频工程师);
宗旨|看到的未必是你的,掌握底层逻辑才是。
一. SX1261/2简介
Semtech公司在LORA产品领域芯片中近乎垄断式的地位。
1、SX1261/2是Semtech公司新推出的两款sub-GHz(小于1G)无线收发器。
2、SX1261/2芯片最大卖点是它的低功耗和超远距离的传输:
3、SX1261/2接收电流小于6.5mA,最低可小于4.2mA,休眠电流0.9~2.35,真正意义上实现了低功耗芯片;还有它5km的超远传输距离也是SX1262芯片强大功能的体现。
1、内部具有TCXO晶振,可保证频率准确。
2、SX1261/2芯片工作频段覆盖150~960HMZ。
3、SX1261可以传输高达+15 dBm,而SX1262和SX1268可以传输高达+22 dBm
二. SX1261/2芯片的对外接口
(1)MCU数字接口和控制
SPI接口:片选NSS、时钟SCK、MOSI、MISO外部的MCU单片机通过SPI串行接口对SX1261/2进行配置、管理、数据包的收发。由于SPI接口是单向接口,只能由SPI master(MCU)主动发起对SX1261/2的读写操作,因此如果只有SPI总线,那么MCU就只能通过查询的方式对SX1261/2进行收发数据。
为了能够让射频芯片SX1261/2以异步的方式主动向MCU通知其内部的状态信息,SX1261/2提供了一组可以配置的GPIO口DIO1-N。其中有两个GPIO的功能极其重要:BUSY:忙状态指示,用于SX1261/2向MCU指示,其内部是否处于忙状态或空闲状态。表示芯片只有在该信号为低电平时才准备好接收新命令。 当BUSY很高时,在发送另一个命令之前,主机控制器必须等到它再次关闭。 处于忙状态的SX1261/2是不接受MCU发过来的命令。这就提示MCU的驱动程序,在通过SPI总线向SX1261/2发送命令时,必须先检查Busy状态指示。
IRQ:中断指示,用于SX1261/2向MCU指示,其内部发生了预定义的特殊事件,如射频芯片有从空口中接收到的数据,射频芯片发送完MCU请求发送的数据。
其他的控制信号有:
NRESET:用于MCU复位射频芯片
(2)射频接口
VR_PA:发送功率控制
RFO:RF射频输出
RFI_N, RF_P:RF射频输入
(3)本地晶振接口
XTA、XTB
(4)电源接口
VDD、VR_xx、Vxx、VBAT(电池电源)
GND
三. 参考原理图
Sx1262比1261多出一个C3电容。ANT_SW和DIO2:用于控制天线的收、发切换。射频芯片接收信号的时候不能发送信号,发送信号的时候不能接收信号。
1.数据平面:业务数据的发送和接收
(1)天线:关注电磁波信号发射与接收
Maching:天线的阻抗匹配。
阻抗匹配(impedance matching) 主要用于传输线上,以此来达到所有高频的微波信号均能传递至负载点的目的,而且几乎不会有信号反射回来源点,从而提升能源效益。
信号源内电阻与所接传输线的特性阻抗大小相等且相位相同,或传输线的特性阻抗与所接负载阻抗的大小相等且相位相同,分别称为传输线的输入端或输出端处于阻抗匹配状态,简称为阻抗匹配。
LPF:低通滤波器
低通滤波器是容许低于截止频率的信号通过, 但高于截止频率的信号不能通过的电子滤波装置。通常由电容和电感组成,如:
通过低通滤波器后的电磁波频谱:
(2)RF层:射频信号发送Tx, 关注电磁波信号的发送频率和功率
PA:射频功率放大器(给信号增加能量)
在发射机的前级电路中,调制振荡电路所产生的射频电磁波信号功率很小,需要经过一系列的放大一缓冲级、中间放大级、末级功率放大级,获得足够的射频功率以后,才能馈送到天线上辐射出去。为了获得足够大的射频输出功率,必须采用射频功率放大器。
PLL:锁相环
用来统一整合时钟信号,使高频器件正常工作,大多数电子设备要正常工作,通常需要外部的输入信号与内部的振荡信号同步。一般的晶振由于工艺与成本原因,做不到很高的频率,而在需要高频应用时,由相应的器件VCO,实现转成高频,但并不稳定,故利用锁相环路就可以实现稳定且高频的时钟信号。
(3)RF层:射频信号接收Rx,关注电磁波信号的接收频率和功率
LNA:低噪声放大器,噪声系数很低的放大器。
一般用作各类无线电接收机的高频或中频前置放大器,以及高灵敏度电子探测设备的放大电路。
在放大微弱信号的场合,放大器自身的噪声对信号的干扰可能很严重,因此希望减小这种噪声,以提高输出的信噪比。
LNA能够能够降低噪声的同时,对原有的微弱输入信号进行放大的装置。
ADC: 模拟信号到数字信号的转换。
(4)L1层:调制解调Modem,关注如何用模拟信号表示数字信号0和1这样的数字信号,是无法直接通过模拟的电磁波发送的。调制是把0和1这样的数字信息,使用模拟的无线电磁波信号来表示的方法。不同的表示方法,称为不同的调制技术。通信系统中发送端的原始电信号通常具有频率很低的频谱分量,一般不适宜直接在空口信道中进行传输。因此,通常需要将原始信号变换成频带适合信道传输的高频信号,这一过程被称为模拟调制。信号调制是使一种波形的某些特性按另一种波形或信号而变化的过程或处理方法。在无线电通信中,利用电磁波作为信息的载体。经过调制可以对原始信号进行频谱搬移,调制后的信号称为已调信号,已调信号携带有信息且适合在信道中进行传输。
SX1261/2支持两种调制方式:移频键控调制FSK和LoRa扩频监控调制。
FSK Modem:频移键控(FSK)频移键控是利用载波的频率随数字基带信号的变化来传递信息的数字调制方式在二进制频移键控(2FSK)中,二进制信息“0”和“1”分别对应载波信号的两个频率 f0 和 f1 。即用频率f0的电磁波信号表示0,用频率f1的电磁波信号表示。
当接收方收到频率为f0的电磁波,就表示数字信息0。当接收方收到频率为f1的电磁波,就表示数字信息1。
LoRa Modem
LoRa调制解调器采用专利扩频调制和前向纠错技术。与传统的FSK调制技术相比,具有更强的抗干扰性,扩大了LoRa无线通讯链路的覆盖范围(实现了远距离无线传输),提高了链路的鲁棒性。这是涉及几个重要的参数
调制带宽:这是指被调制无线信号的带宽。
扩频因子:LoRa调制采用的是扩频技术,需要一个扩频码,扩频因子表示了每个信息位发送的符号数。
信号带宽(BW):
信道带宽(BW)是限定允许通过该信道的信号下限频率和上限频率,可以理解为一个频率通带。比如一个信道允许的通带为1.5kHz至15kHz,则其带宽为13.5kHz
在LoRa中,增加BW,可以提高有效数据速率以缩短传输时间,但是 以牺牲部分接受灵敏度为代价。对于LoRa芯片SX12xx,LoRa带宽为双边带宽(全信道带宽),而FSK调制方式的BW是指单边带宽。
LoRa带宽选项:
空中速率:
所谓空中速率表示LoRa/FSK 无线(在空气中的)通讯速率,也叫空中波特率,单位bps,
空中速率高,则数据传输速度快,传输相同数据的时间延迟小,但传输距离会变短
编码率(CR)
编码率,是数据流中有用部分的比例。
编码率(或信息率)是数据流中有用部分(非冗余)的比例。也就是说,如果编码率是k/n,则对每k位有用信息,编码器总共产生n位的数据,其中n-k是多余的。
LoRa采用循环纠错编码进行前向错误检测与纠错。。使用该方式会产生传输开销。。
每次传输产生的数据开销如下:
在存在干扰的情况下,前向纠错能有效提高链路的可靠性。由此,编码率(抗干扰性能)可以随着信道条件的变化而变化,可以选择在报头加入编码率以便接收端能够解析
(5)L1层:protocol engine物理层协议引擎,关注物理层的数字帧结构。
LoRa调制前的物理层帧结构:
(6)L1层:关注如何内部buffer,接收和发送L1层的用户数据。
(7)L1层:关注如何内部buffer,接收和发送L1层的用户数据。
Data buffer用于存放物理层L1的数据帧,包括接收缓存和发送缓存。
数据buffer的内存大小最大长度为256字节,且为发送和接收共享。
1.控制平面:控制业务数据的发送和接口的信令
(1)SPI:所有的协议控制都是通过SPI总线下发,关注控制数据平面的数据发送和接收的命令。
2.管理平面:对设备和芯片进行配置和管理。
(1)SPI: SPI管理接口
(2)GPIO:芯片内部状态指示接口,如busy、中断等
3.时钟同步平面:不同网元或设备内部不同芯片模块之间的时钟同步
(1)OSC: 用于空口所需要的高频时钟。
五. SX1261/2的6种操作/工作模式
SX1261/2可以工作在如下几种工作模式下:
SX127x可以工作在如下几种工作模式下(作为参考、对比)
从上述的工作模式信息,我们可以得出如下几个重要结论(1)如果需要通过LoRa空口接收和发送数据,必须从其他低功耗状态切换的Tx或Rx模式。
(2)接收和发送是不同的模式,因此射频芯片不能同时接收和发送。在发送和接收数据前,必须先切换模式。
(3)不同的工作模式,其内部的工作电流不同,因此模式的设置、控制、调度,对于低功耗的代码实现,起着至关重要的作用。特别是对物理层帧的调度算法, 是这里的核心。
在通信系统中,对物理层帧的设置、控制、调度运行是L2的功能,运行MCU上。
如下是几种状态之前的切换,对该状态的管理,称为状态机管理,由L2层的调度程序来控制。
六. SX1261/2 MCU主机访问
不同于那些把所有操作都直接基于“寄存器地址空间”访问的芯片,LoRa视频芯片暴露给MCU的是:基于“命令”的访问。有点类似所谓的AT命令的格式。
因此MCU是通过“命令”的方式配置、管理、控制LoRa芯片的工作方式。
同时MCU也是通过“命令”的方式,从LoRa内部data buffer中读取数据,向LoRa内部data buffer中写入数据。
SX1261/2通过GPIO busy管脚向MCU指示,当前是否正在执行某一个命令,命令的执行是否完成,以允许或禁止执行下一个命令。
MCU可以通过置位NSS复位管脚,强制SX1261/2终止正在执行的命令。1.命令格式
2.命令的分类
(1)配置芯片的操作模式或工作模式相关的命令(这是LoRa芯片提供给MCU方便地控制其行为的快捷的方式)
(2)访问芯片内部的寄存器或data buffer相关的命令(这是LoRa芯片提供的常规访问寄存器的方式)
(3)配置GPIO和中断相关的命令
(4)控制RF、调制解调和L1物理层帧格式相关的命令
(5)获取芯片内部状态相关的命令
这里有一个关键的状态:RSSI, 接收信号的信号强度。这个信号强度可以知道LoRa的终端收到的LoRa基站信号的强度。
七. 寄存器列表
声明:欢迎转发本号原创内容,转载和摘编需经本号授权并标注原作者和信息来源为射频美学。本公众号目前传播内容为本公众号原创、网络转载、其他公众号转载、累积文章等,相关内容仅供参考及学习交流使用。由于部分文字、图片等来源于互联网,无法核实真实出处,如涉及相关争议,请跟我们联系,我们致力于保护作者知识产权或作品版权,本公众号所载内容的知识产权或作品版权归原作者所有。