LoRa学习:SX127x寄存器以及FIFO数据缓存使用配置



LoRa学习:SX127x寄存器以及FIFO数据缓存使用配置

Sx127x的LoRa调制解调器有三种数字接口:静态配置寄存器、状态寄存器、FIFO数据缓存。


1、LoRa配置寄存器

MCU通过SPI接口访问和配置寄存器。。
Register在任何设备模式(包括睡眠模式下)均可读,但仅在睡眠和待机模式下可写。。在LoRa模式下,TLS(自动顶级定序器)不可用。。
LoRa寄存器的内容在切换FSK/OOK模式下是保持的。。。

2、状态寄存器

状态寄存器在接收机运行过程中提供状态信息。


3、FIFO数据缓存

3.1 概述

FIFO数据缓存是在SX127x的RAM区,共有256Byte。。该FIFO仅能通过LoRa模式访问。。FIFO的数据就是用户数据,既用于接收和发送的Payload。。FIFO只能通过SPI接口访问,其映射关系如下:
这里写图片描述
这些FIFO中的数据保存最后接收操作相关的数据,除了睡眠模式之外,在其他操作模式下FIFO均可读,在切换到新的接收模式时,会自动清除旧内容。


4、FIFO操作原理

FIFO拥有双端口配置,因此可以同时缓存将要发送和接收的数据。。寄存器RegFifoTxBaseAddr内是将要发送信息的起始位置,RegFifoRxBaseAddr内是接收操作在FIFO的起始位置。。

RegFifoR/TxBaseAddr

默认情况,上电后RegFifoRxBaseAddr初始化为0x00,而RegFifoTxBaseAddr初始化为0x80,以保证各一半的可用内存用在Rx和Tx。。

如果想让整个FIFO仅在发送或接收模式下使用,就要把上述两个BaseAddr寄存器都设为0x00。。

在睡眠模式下,FIFO会被清空,因此睡眠时无法访问FIFO。。而在其他操作模式,FIFO数据则能够保存,因此也能实现数据重发机制。。。当一组新数据写入已被占用的FIFO空间时,只会覆盖这些数据,而不会清空其他数据。。设为睡眠模式才会清空。。。

RegFifoAddrPtr

通过SPI读写FIFO的当前数据位置是由地址指针RegFifoAddrPtr定义。。因此在进行读取或写入操作前,必须先将该指针初始化为对应的基地址。。从FIFO缓存(FegFifo)读取或写入数据后,该地址指针RegFifoAddrPtr会自动递增。。。

RegRxNbBytes/RegPayloadLength

接收到一组数据时,RegRxNbBytes寄存器会定义待写入数据的大小,RegPayloadLength则显示待发送数据大小(所占用的FIFO单元大小)。。
在隐式Header模式下,RegRxNbBytes是无效的,因为此时Payload的长度是固定或已知的。。而在显式Header下,接受缓存区的初始空间要与所要接收的包头中携带的数据包长度一致。

RegFifoRxCurrentAddr

RegFifoRxCurrentAddr显示最后接收数据包在FIFO中的存储位置,因此通过将****RegFifoAddrPtr指向RegFifoRxCurrentAddr就可以轻松读取出该数据包。

注意:即使CRC无效,接收到的数据也会写入FIFO,这样可以让用户自定义损坏数据的后续操作。。。
另外,接收数据包时,如果数据包大小超过分配给Rx的空间,它会往下覆盖掉FIFO存储的发送数据部分。。


LoRa学习系列链接汇总:

LoRa学习:信道占用检测原理(CAD)
http://blog.csdn.net/howiexue/article/details/78052608

LoRa学习:LoRa关键参数(扩频因子,编码率,带宽)的设定及解释
https://blog.csdn.net/howiexue/article/details/78028881

LoRa学习:LoRa数据接受发送流程(FIFO)
http://blog.csdn.net/howiexue/article/details/78049603

LoRa学习:SX127x寄存器以及FIFO数据缓存使用配置
http://blog.csdn.net/howiexue/article/details/78045635

LoRa学习:LoRa进行跳频扩频通信(FHSS)的原理
http://blog.csdn.net/howiexue/article/details/78043987

LoRa数据包结构分析及数据传输时间的计算
http://blog.csdn.net/howiexue/article/details/78043466

433MHz LoRa/FSK 无线频谱波形分析(频谱分析仪测试LoRa/FSK带宽、功率、频率误差等)
http://blog.csdn.net/howiexue/article/details/79199712

LoRa 30个常见问题解答 FAQs汇总
http://blog.csdn.net/howiexue/article/details/78038883

LoRa学习:LoRa通信调制解调的实现原理与性能
http://blog.csdn.net/howiexue/article/details/78017320

LoRA学习: SX1276/SX1277/SX1278对比
http://blog.csdn.net/howiexue/article/details/77978174

LoRa学习:SX127x芯片数字IO引脚映射
http://blog.csdn.net/howiexue/article/details/78052758

LoRa芯片的八种工作模式解析
http://blog.csdn.net/howiexue/article/details/78045754

##欢迎转载,Howie原创作品,本文地址:
http://blog.csdn.net/HowieXue/article/details/78038883

##谢谢

  • 3
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HowieXue

求打赏~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值