从零开始搭建一套lorawan网关(二)

SX1301芯片基本参数

说明:内容基本都来自1301的数据手册,根据大意进行翻译。

整体介绍

SX1301实际上应该算一个调制解调的数字基带芯片,需要外接前端射频芯片SX1255或者SX1257实现无线信号的收发。单独并不能使用。

芯片设计的目的就是在更多的信道内使用随机的扩频因子同时进行多个数据包的接收。

图中的GPS的作用是对时,取时间戳,因为lorawan对时间敏感。

工作模式:SX1301内部是存在处理器的,处理器接收微码进行操作,semtech官方提供SX1301的微码,在初始化阶段由MCU将微码发给SX1301进行工作。这个微码是什么东西呢,其实微码就是类似于固件的一种东西 ,固件的量级比微码更大,微码多运行在MCU这种极度轻量级的CPU上,而固件则运行在稍微重一些的CPU上,而且微码的这种形式有利于我们更新,因为只需要更新MCU发送的微码文件即可。

内部接收结构

芯片包含两个MCU:

A radio AGC(automatic gain control) MCU,主做射频控制,通过SPI连接前端的射频模块,实现链路增益的自动控制,无线校准和收发控制。

A packet arbiter MCU,顾名思义负责数据包通道分配,分配原则有速率、通道、射频路径和信号强度。

这两个MCU都是可以通过HOST SPI实时访问控制的。

芯片包含10个可编程通道。

IF8通道(lora):频率支持任意频率,带宽支持125 / 250 / 500kHz,速率支持lora所有速率(SF7到SF12),希望用于网关之间的高速通信。

IF9通道(G)FSK:主要是收发(G)FSK信号,国内很少用。

IF0~IF7的LoRa通道:带宽固定为125kHz,每个信道的频率可以单独设置,可以接受任意速率的数据包,结合ADR可以实现速率动态控制,这8个通道是同步扫描的,而且可以同时处理不同速率的前导码,但是做不到同时解调8个通道的数据包。

接收缓冲

SX1301内部有一个共享地址缓冲区,大小1024字节,和一个消息缓冲区,地址缓冲区FIFO最多可以存放16对消息,每对消息包括消息地址和消息长度。地址是自动计算生成的,可以随时通过HOST查看寄存器。

发送

SX1301网关通过外接射频模块可以发送数据包,而且可以在数据包中动态封装以下参数:

•无线信道

•fsk或lora调制

•带宽、速率、编码速率(在lora模式下)、比特率和FDEV(在fsk模式下)

•发射功率

•射频前端(A或B)

•发送时间(根据网关硬件时钟同步或者异步发送,精度为1us)

时间戳在lorawan里很重要,后面会做介绍。

数据超过1字节的都按照MSB发送,表中数据不属于payload,16字节开始才是payload,字节0到15不会被传输,只用于在发送前动态配置网关。

猜你喜欢

转载自blog.csdn.net/rootuseres/article/details/90739127