STMCU小助手
发布时间:2021-11-16 23:00
|
Sx1278LORA扩频模块基本参数: 工作频率 :137- 525 MHz 扩散因子 :6 – 12 带宽:7.8 - 500 kHz 有效比特率:018 - 37.5 kbps 灵敏度:-111 到 -148 dBm 工作电压:2.0-3.6V 发射功率:+20dBm(100mW) 通讯距离:10km-15km(500bps)(无遮挡) 数据接口:SPI 调制方式:LoRa/FSK/OOK 工作温度:-20- 85°C 以上部分技术参数名词解释: 扩散因子: LoRaTM 扩频调制是通过展现有效信息的每个位来进行通信的,这种扩频信息的发送速率需要参考符率,这种公称符率与芯片速率之间的比率就是扩散因子,展现了发送出去的符号总数每一位的信息 信号带宽: 增大信号的带宽,可以使数据的有效率提高,即能使传输时间减少,不过会使灵敏度变小。 调制方式: LoRaTM调质解调器使用的是扩频调制技术和向前纠错技术,它的无线通信链路比传统基于 FSK 或 OOK 调制器有更远传播范围和更加健壮。 频率跳跃扩频技术(FHSS): FHSS方案的工作原理为:每个LoRaTM数据包的部分内容通过在微控制器MCU管理的频率查询表中选取的跳频信道进行发送。在预定的跳频周期结束之后,发射机和接收机切换到跳频预定义列表中的下一个信道,以便继续发送和接收数据包的下一部分内容。在任一信道内的驻留时间由FreqHoppingPeriod决定,他是符号长度的整数倍。 SX1276/77/78/79 基本区别:一张图说明:
主要工作模式功耗参考表:一张表说明:
LORA调制模式下的运行方式: LORA 调制模式可以通过设置寄存器 RegOpMode 的 LongRangeMode位来进行选择:
LORA 调制解调器发送和接收工作流程:
数据发送流程: 在发送模式下,在需要发送数据时才开启RF,PLL,和 PA 模块,这样可以减小功耗; 注意事项: 1、 静态寄存器只有在休眠模式、待机模式和 FSTX 模式下才能被使用。 2、 LORA 调制的 FIFO 只有在待机模式下才能被写满。 3、 数据是在发送 TX 模式请求后才发送 4、 数据发送结束后,TxDone 中断发出,设备进入待机模式 5、 继之前的数据传输后,无线设备可以通过手动设置成休眠模式或是写入一些 数据到 FIFO 为下次发送做准备 6、 LoRaTM 发送数据在 FIFO 填充 数据接收流程: 注意事项:
LORA接收模式工作在两种不同的模式 1. 单个接收模式 在这种模式下,调制解调器会在一个给定的时间窗口检测数据包的序文,如果在最后一个时间窗口都没有找到一个序文,那么芯片本身就会产生一个RxTimenout 中断然后回到待机模式。 2.连续接收模式 在连续接收模式下,调制解调器会一直扫描信道而获取一个有效的序文数据包,调制解调器会一直检测和追踪信道上的序文,直到有效数据包被接收,然后继续等待下一个序文如果序文长度超过了寄存器RegPreambleMsb 和 RegPreambleLsb 中设置的预期值,那么这个序文数据包就会被抛弃,然后重新开始序文的搜索,然而,这种情况不会产生中断标志位。与单个接收模式不同,连续接收模式下,当产生超时中断时,设备不会进入待机模式。 CAD(channel activity detection): 扩频技术的使用不能解决信道是否被其他lora 信号占用的问题,RSSI 也无法解决这个问题,为此,CAD 就是用于解决检测信道是是否有其他 LORA 信号问题工作模式。 数字 IO 管脚映射: 在 LORA 模式下有 6 个通用 IO 管脚,下表给出了这六个 IO 管脚的详细信息(跟寄存器RegDioMapping1 和寄存器 RegDioMapping2 的配置有很大关系)
STM32Cube软件配置: SPI接口配置: 原理图中使用到的SPI接口为SPI1 J 配置为全双工主模式。在参数配置中,注意一下几点: 数字IO管脚配置: 输入模式
生成工程代码: SPI的主要接口函数为:
1278编程: 1278复位步骤: NRST = Low 低电平大于100uS, 然后NRST= High 高电平大于5mS 即可完成手动复位。 SPI接口说明: SPI第一个数据字节为地址域,bit7 为读写控制位, “1” 表示写, “0” 表示读;bit(6-0)对应当前操作的寄存器地址。 在连续读写操作模式时, 寄存器会自动加“1” ,直到NSS脚被拉高;特别注意: FIFO操作时, 寄存器地址不会自动增加, 而是FIFO内的缓存地址。 寄存器的详细说明请参考芯片数据手册的“寄存器说明章节” 。 SPI接口C程序: 在sx1276-Hal.c和spi.c中定义 通讯接口函数使用HAL库中的:HAL_SPI_TransmitReceive()
SPI通讯接口函数
数字I/O接口函数: 中断函数 数字IO管脚功能配置 外部中断上升沿触发,下拉 1278扩频模块参数修改 在文件sx1276-LoRa.c中,由该结构体初始化模块参数
例:
|
微信公众号
手机版