LoRa---她的芯片和她的几种工作模式
LoRa对应的芯片------sx1278芯片
sx1278芯片为Semtech公司推出的具有新型LoRa扩频技术的RF芯片,具有功耗低、容量大、传输距离远、抗干扰能力强的优点。我接下来在这块芯片上进行开发。
使用方法:sx1278芯片引出了SPI接口,用于对sx1278的通信和控制。同时引出了6个GPIO口。MCU通过SPI和sx1278芯片通信,对芯片进行初始化,配置通信参数,切换工作模式,收发数据。6个GPIO口在sx1278芯片 产生中断时,电平会从低电平变高电平,清除中断后,电平变回低电平。
贴出datasheet里表格:

通信频率范围:137MHZ~525MHZ, 带宽:7.8KHZ~500KHZ。
LoRa的调制解调方式:SX1276/77/78 系列产品采用了 LoRaTM扩频调制解调技术 ,还支持标准的 GFSK、 FSK、 OOK 及 GMSK 调制模式, 因而能够与现有的M-BUS 和 IEEE 802.15.4g 等系统或标准兼容 。
LoRa的几种工作模式
LoRa分为LoRa模式和FSK/OOK 模式 ,下面主要介绍LoRa模式的几种工作模式。先贴张图:

睡眠模式:在此模式下,切换回LoRa模式,sx1278芯片初始化会进行这一动作。此模式会清空FIFO内的内容,并且,FIFO的内容也只会在这种模式下清除,其他模式下都是覆盖就内容。(FIFO会在后面介绍,不清楚可以直接跳过)
待机模式:芯片通常运行在这个模式,射频和PLL被关闭,能耗很低。根据需要,切换到其他模式。另外,FIFO数据缓存只有在待机模式下才允许写入,发送时,需要在待机模式下,将数据写入到FIFO,再切换到TX模式发送。
RX单一模式:在这种模式下,调制解调器在给定的时间窗口内搜索前导码。如果在该时间窗口(由RegSymbTimeout寄存器定义 ,10位长度的时间0~0x3FF)结束时还未找到前导码,表示等待接收超时,则芯片会产生RxTimeout中断信号并切换回待机模式 。运用此模式时,需要知道对方数据什么时候到达,否则,必须一直在待机模式和单一接收模式间切换,才能收到数据。
RX连续模式:在连续接收模式下,调制解调器会持续扫描信道,以搜索前导码。每当检测到前导码时,调制解调器都会在收到数据包前对该前导码进行检测及跟踪,然后继续等待检测下一前导码。
在连续Rx模式下,当产生超时中断时,设备不会进入待机模式。这时,用户必须在设备继续等待有效前导码的同时直接清除中断信号。(关于连续RX模式的FIFO部分,将在后面详细介绍)
CAD模式:信道活动检测模式旨在以尽可能高的功耗效率检测无线信道上的LoRa前导码。在CAD模式下, SX1276/77/78快速扫描频段,以检测LoRa数据包前导码。 可用于定时扫描信道,降低能耗。
/**************************************************************************************************************************************************************************************************************************************************************************/
几种模式的简单介绍,我就写自己认为重要的。下面贴个sx1278芯片的LoRa模式下的GPIO口映射表:

/****************************************************************************************************************************************************************************************************************************/
完!
LoRa---她的芯片和她的几种工作模式的更多相关文章
- 【嵌入式开发】ARM 芯片简介 (ARM芯片类型 | ARM处理器工作模式 | ARM 寄存器 | ARM 寻址)
: 12MHz 晶振 对应 405 ~ 532 MHz 处理速度; -- : 16K 指令缓存, 16K 数据缓存; -- : 32KB 指令缓存, 32KB 数据缓存; (3) 内存接口对比 : 提 ...
- 高性能以太网芯片W5500 数据手册 V1.0(一)
W5500 W5500 是一款全硬件 TCP/IP 嵌入式以太网控制器,为嵌入式系统提供了更加简易的互联网连接方案.W5500 集成了 TCP/IP 协议栈,10/100M 以太网数据链路层(MAC) ...
- 以太网PHY 芯片之 MII/MDIO接口详解
本文主要分析MII/RMII/SMII,以及GMII/RGMII/SGMII接口的信号定义,及相关知识,同时本文也对RJ-45接口进行了总结,分析了在10/100模式下和1000M模式下的设计方法. ...
- 关于RFID电动车防盗、校园答题卡(超低功耗2.4G芯片SI24R2E)
Si24R2E 是一颗工作在2.4GHz ISM 频段,专为低功耗有源RFID 应用场合设计,集成嵌入式发射基带的无线发射芯片.128 次可编程NVM 存储器以及自动发射模块.工作频率范围 ...
- Linux驱动开发概述
原文出处:http://www.cnblogs.com/jacklu/p/4722563.html Linux设备分类 设备的驱动程序也要像裸机程序那样进行一些硬件操作,不同的是驱动程序需要" ...
- STM32库函数编程、Keli/MDK、stm32f103zet6
catalogue . Cortex-M3地址空间 . 基于标准外设库的软件开发 . 基于固件库实现串口输出(发送)程序 . 红外接收实验 . 深入分析流水灯例程 . GPIO再举例之按键实验 . 串 ...
- RFID-RC522、FM1702SL、M1卡初探
catalogue . 引言 . RC522芯片(读卡器)简介 . FM1702SL芯片(读卡器)简介 . RFID M1卡简介 . 读取ID/序列号(arduino uno.MFRC522芯片 Ba ...
- SDRAM的主要参数
(1) 容量.SDRAM的容量经常用XX存储单元×X体×每个存储单元的位数来表示.例如某SDRAM芯片的容量为4M×4×8bit,表明该存储器芯片的容量为16 M字节.或128 M bit. (2) ...
- 服务器内存UDIMM与RDIMM区别
UDIMM 全称是无缓冲双信道内存模块(Unbuffered Dual In-Lne Memory Modules),它不支持服务器内存满配,就是最高容量了,因为使用UDIMM内存时最大使用每通道只能 ...
随机推荐
- 【常见错误】--Nltk使用错误
一.错误类型 AttributeError: module 'nltk' has no attribute 'word_tokenize' 二.情形及解决办法 安装了nltk后,无法使用,报错如上,错 ...
- EF实体实现链接字符串加密
1.加密解密方法 using System;using System.Security.Cryptography; using System.Text;namespace DBUtility{ /// ...
- 深度解密HTTP通信细节
目录 HTTP报文截获 背景介绍 抓包 mac本地 远程docker 请求 && 分析 关闭服务进程 关闭docker 重启docker 正常请求 HTTP协议分析 整体介绍 编码 M ...
- [开源]Dapper Repository 一种实现方式
接着上篇[开源]Entity Framework 6 Repository 一种实现方式 由于Dapper 本身就是轻量级Orm特性,这里参考Creating a Data Repository us ...
- AspNetCore中使用Ocelot之 IdentityServer4(1)
AspNetCore中使用Ocelot之 IdentityServer4(1) 前言: OceLot网关是基于AspNetCore 产生的可扩展的高性能的企业级Api网关,目前已经基于2.0 升级版本 ...
- C# 默认访问权限
声明类.方法.字段.属性时不加访问权限修饰符时的访问权限是什么呢?1. 声明命名空间.类,前面不加限制访问修饰符时,默认访问权限为internal——访问仅限于当前程序集. 2. 声明类成员(域.属性 ...
- [转]Blue Prism Login Agent 使用指导手册
本文转自:https://cloud.tencent.com/developer/news/83035 咳!咳!咳! 第一篇RPA技术文,还是贼拉鸡冻.各位大侠要多多支持啊 1.Login Agent ...
- 前端知识复习:Html DIV 图文混排(文字放在图片下边)
Html知识复习之图文混排 练习练习基础 先上效果图: 废话不多说,直接贴代码: <!DOCTYPE html> <html xmlns="http://www.w3.or ...
- jq切换面板
<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...
- commandArgument用于绑定一个传递的参数
CommandArgument ='<%#Eval("spid")+","+Eval("piaohao")%>'