简述
SX1261和SX1262都有4.2的接收电流,其中SX1261最大发送功率是+15dBm,SX1262则是+22dbm。支持Lora和Fsk模式。按照Alliance的LoraWan规范来设计的设计的物理层,频率覆盖150MHz~960MHz。
目录
标签 | 页码 |
---|---|
1.架构 | 11 |
2.1 io接口 | 12 |
2.2 封装 | 13 |
3 规格参数 | 14 |
4 电路说明 | 22 |
5 电能分配 | 32 |
6.1 lora模式 | 37 |
6.1.1 调制参数 | 37 |
6.1.2 Packet Engine | 39 |
6.1.3 lora物理帧 | 40 |
6.1.4 Time-on-Air | 41 |
6.1.5 信道检测CAD | 41 |
6.2 FSK模式 | 42 |
7 数据缓冲区 | 47 |
7.1 工作原理 | 47 |
7.1 接收数据缓冲区 | 48 |
7.2 发送数据缓冲区 | 48 |
7.4 使用这些缓冲区 | 48 |
8 接口和控制 | 49 |
8.1 复位 | 49 |
8.2 SPI接口 | 49 |
8.3 多功能IO | 51 |
8.4 接口状态和芯片模式 | 53 |
8.5 硬件中断请求优先级 | 54 |
9 操作模式 | 55 |
9.1 启动 | 55 |
9.2 校验 | 55 |
9.3 休眠 | 56 |
9.4 准备模式 | 56 |
9.5 频率合成模式 | 57 |
9.6 接收模式 | 57 |
9.7 发送模式 | 58 |
9.8 Active Mode Switching Time | 58 |
9.9 收发电路模式图示 | 59 |
10 主机控制接口 | 60 |
11 命令列表 | 61 |
12 寄存器 | 64 |
13 命令接口 | 66 |
14 应用 | 98 |
15 封装规格 | 101 |
下列是文档的部分归纳翻译,详情还是见原文档
3 规格参数
3.1 绝对最大额定参数
- VBAT和VBAT_IO最大的输入电压3.9V
- 温度范围-55°~+125°
- 最大射频信号输入10dBm
3.2 正常工作参数
- 电压在1.8V~3.7V
- 温度在-40°~+85°
5 电能分配
- 根据应用程序的设计优先级,可提供两种形式的电压调节(DC-DC降压转换器或线性LDO调节器)。线性LDO调节器总是存在于所有模式,但在收发通信时将使用DC-DC.
6 模式
6.1 LORA模式
lora模式是基于频移键控的无线通信技术,使用了扩频调制和向前纠错技术来增加了传输范围和鲁棒性。
参数
可以通过四个参数去lora进行优化:带宽(BW)、扩频因子(SF)、编码率(CR)、低数据速率优化(LDRO)
- spreading factor :扩频调制后的信号与扩频调制前的信号带宽之比。数据传输时,将每一位用多位来表示,能够降低误码率,但是传输数据速率也降低了。
- 编码率:数据流中有用部分的比例。如果编码率是k/n,则对每k位有用信息,编码器总共产生n位的数据,其中n-k是多余的,LoRa采用循环纠错编码进行前向错误检测与纠错,使用该方式会产生传输开销
- 带宽: 限定允许通过该信道的信号下限频率和上限频率,增加BW,可以提高有效数据速率以缩短传输时间,但是会降低接收灵敏度
- 参数之间的关系: 符号速率Rs=BW/(2^SF),数据速率DR= SF( BW/2^SF)CR
lora通道使用检测(CAD)
由于lora能够接收到比环境噪声更低的信号,所以使用rssi检测是不可行的,这里的信道检测是判断是否有其他lora信号在传输。SX1261/2是通过检查前导码和(data
symbols)来判断的
6.2 FSK
暂时用不到 跳过
7 数据缓冲区
收发信机配有256字节RAM数据缓冲区,除休眠模式外,所有模式均可访问。这个内存区域是完全可定制的用户,可用于发送和接收
接收模式下的数据缓冲区
在接收模式下,RxBaseAddr指定内存中的缓冲区偏移量,接收到的数据包有效负载数据将在此写入。最近接收到的一个包的长度和地址可用GetRxbufferStatus()函数读出
在发送模式下的数据缓冲区
每次传输模式转换时,TxDataPointer初始化为TxBaseAddr,并在每次发送字节时递增。当发送的字节数等于函数SetPacketParams(…)中定义的payloadlength参数时,该操作停止。
使用数据缓冲区
- RxBaseAddr和TxBaseAddr都通过SetBufferBaseAddresses(...)来配置
- 默认情况下RxBaseAddr和TxBaseAddr都等于0
- 由于数据缓冲区的连续性,Tx和Rx的基本地址在256字节内存区域内是完全可配置的。每个指针可以在缓冲区的任何地方独立设置。为了利用传输或接收模式下的最大数据缓冲区大小,通过设置基地址,可以在每种模式下使用整个数据缓冲区。
- 在休眠时数据将被删除,但在其他模型下会被保留
- 数据通过命令WriteBuffer(…)和ReadBuffer(…)获得。在这个函数中,第一个参数是写入或者读出的偏移量。偏移量0定义数据缓冲区的第一个位置
- 即使CRC错了,所有接收到的数据也将写入数据缓冲区,从而允许用户定义对损坏数据的后处理。接收时,如果数据包大小超过分配给Rx的缓冲区内存,就会覆盖数据缓冲区的传输部分
8 数据接口和控制
SX1261/2由一组SPI和一些通用DIO口控制,IRQ至少需要一个DIO来输出。BUSY引脚用来表示芯片是否准备好了接收命令,当被拉低是表示可接收,当被拉高是主机必须等到芯片处理完回复到低电平时才能继续通信。
SPI
- CPOL= 0 and CPHA = 0
- NSS引脚拉低开始通信,接收恢复高电平
- 支持16Mhz高速模式
DIO
由3条DIO和一条BUSY和主机通信,可以用于中断,调试或控制外围设备。
- BUSY控制线用于指示内部状态机的状态。当占线保持低位时,它表示内部状态机处于空闲模式,并且射频已准备好接受来自主机控制器的命令。
- 写命令将会导致BUSY控制线短暂置高用于处理对于的命令,但是读则不会
- 3个DIOs中的任何一个都可以作为应用程序的输出中断源。当应用程序接收到中断时,它可以使用命令GetIrqStatus(…)确定源。然后可以使用ClearIrqStatus(…)命令清除中断
- DIO1是通用的IRQ行,任何中断都可以映射到DIO1
- DIO2具有双重功能。与DIO1一样,DIO2可以作为通用的IRQ线,任何IRQ都可以通过这个引脚进行路由。此外,可以通过命令SetDio2AsRfSwitchCtrl(…)配置DIO2来驱动RF开关。在这种模式下,在Tx期间,DIO2处于逻辑1,在任何其他模式下,DIO2处于逻辑0
- DIO3还具有双重功能,作为DIO1或DIO2,可以作为通用的IRQ线使用。另外,DIO3可以通过SetDio3AsTCXOCtrl(…)命令自动控制TCXO。在这种情况下,当需要时,设备将自动为TCXO供电
中断
IRQ | 说明 | 模式 |
---|---|---|
TxDone | 发送完成 | ALL |
RxDone | 接收完成 | ALL |
PreambleDetected | 发现前导码 | ALLA |
SyncWordValid | 检查到有效同步字 | FSK |
HeaderValid | 收到有效的LoRa报头 | LORA |
HeaderErr | lora头CRC错误 | LORA |
CrcErr | CRC错误 | ALL |
CadDone | 通道活动检测完成 | LORA |
CadDetected | 通道活动检查 | LORA |
Timeout | 接收或者发送超时 | ALL |
有关如何设置IRQ和DIOs的更多信息,请参阅函数SetDioIrqParams()
9 运行模式
SX1261/2具有六种操作模式:SLEEP、STDBY_RC、STDBY_XOSC、FS、Tx、Rx
其他的没翻译 。。。
10 主机控制接口
通过SPI接口,主机可以向芯片发出命令或访问数据存储空间,直接检索或写入数据
命令结构
不需要任何参数的命令,主机只需要发送操作码,1字节
如果命令需要一个或多个参数,则操作码字节后面紧跟着参数字节
Byte | 0 | [1:n] |
---|---|---|
Data from host | Opcode | Parameters |
Data to host | RFU | Status |
11 命令清单
无说明参数均为8位。
射频操作模式命令:
enter image description here
访问射频寄存器和缓冲区的命令
enter image description here
控制射频中断和引脚的命令
enter image description here
控制射频和包设置的命令
enter image description here
enter image description here
返回射频状态命令
enter image description here
12 寄存器映射
enter image description hereenter image description here
13 命令接口
该章单独讲解命令,本文不对此翻译,如果有空,另起一文翻译
网友评论