SX126x-数字接口SPI和控制功能
目录
1 前言
2 Reset
3 SPI接口
3.1 属性要求
3.2 时序参数要求
1)离开Sleep模式时的时序
4 BUSY引脚
4.1 Tsw
4.2 TswMode
5 DIO
5.1 DIO1
5.2 DIO2
5.3 DIO3
6 IRQ
7 各模式下引脚状态
1 前言
本文主要介绍SX126x系列芯片的数字接口和控制引脚。主要包括如下几个部分:
- Reset引脚
- SPI接口
- Busy引脚
- IRQ
- DIO引脚
2 Reset
该引脚用于芯片内部逻辑复位,需要注意的是,至少保证引脚拉低100us
3 SPI接口
3.1 属性要求
- 芯片作为Slave设备端
- 满足CPOL = 0; CPHA = 0
- 最大速率支持16M
3.2 时钟来源
内部的13M Hz RC
3.3 时序参数要求
1)离开Sleep模式时的时序
退出Sleep模式的方法之一就是NSS的下降沿,通俗点理解就是会存在Sleep模式对某些寄存器进行操作,此时处于Sleep模式下的芯片接收到NSS下降沿后,会自动开启唤醒序列以及内部硬件初始化,在此阶段BUSY引脚会一直处于高电平。所以此时使用SPI通信时,需注意NSS下降沿到SCK的第一个上升沿之间需预留足够的时间,即时间t10,需要满足大于100us
- 这点在移植驱动时需要尤为注意,Semetch官方代码中在所有会操作SPI接口的函数中先执行SX126xCheckDeviceReady()
void SX126xCheckDeviceReady( void )
{//通过全局变量判断是否在Sleep模式,如果是的则执行SX126xWakeup()//这里的MODE_RX_DC模式其实是receive duty cycle mode,该模式执行完后会自动进入Sleep模式,所以也默认做为Sleep模式处理if( ( SX126xGetOperatingMode( ) == MODE_SLEEP ) || ( SX126xGetOperatingMode( ) == MODE_RX_DC ) ){SX126xWakeup( );}SX126xWaitOnBusy( );
}void SX126xWakeup( void )
{//执行一次获取状态的命令(本质还是NSS的下拉沿)来使芯片唤醒。GpioWrite( &SX126x.Spi.Nss, 0 );SpiInOut( &SX126x.Spi, RADIO_GET_STATUS );SpiInOut( &SX126x.Spi, 0x00 );GpioWrite( &SX126x.Spi.Nss, 1 );//等待BUSY引脚拉低SX126xWaitOnBusy( );//全局变量记录当前处于的工作模式SX126xSetOperatingMode( MODE_STDBY_RC );CRITICAL_SECTION_END( );
}
4 BUSY引脚
表示芯片内部的状态,低电平表示内部空闲允许接收命令;拉高表示内部已占用不能接受SPI命令。
4.1 Tsw
- 写命令操作过程中,当NSS上升沿,表示一个完整命令的结束。芯片接收到命令后,内部状态机需环境并开始处理命令,这个时间就是Tsw。即NSS上升沿到BUSY拉高的时间
- 读命令不影响内部状态机,因此命令发送完后,BUSY会一直低电平
- Tsw最大值600ns
- 虽然Tsw过程中,BUSY引脚是低电平,但该阶段是无法接收命令的
4.2 TswMode
- CS上拉到BUSY下拉的时间,即转换时间
- 写命令会导致模式之间的切换,该切换对应时间如下
5 DIO
- 用于中断输出引脚或者特殊功能引脚,总共有3个:DIO1,DIO2,DIO3。
- 如果映射到DIOx上的中断出发,DIOx会输出上升沿
5.1 DIO1
- 通用中断引脚,任何芯片内部的中断源都能映射到该引脚
- 可以通过命令SetDioIrqParams来配置
Irq Mask - 中断源使能,对应bit置1即使能
DIO1 Mask - 映射到DIO1的中断源使能,对应BIT置1即使能
DIO2 Mask - 映射到DIO2的中断源使能,对应BIT置1即使能
DIO3 Mask - 映射到DIO3的中断源使能,对应BIT置1即使能
5.2 DIO2
- 两个功能2选一:1)和DIO1一样,通用中断引脚; 2)可以配置成RF开关控制引脚
- RF开关控制引脚是通过命令 SetDIO2AsRfSwitchCtrl来使能的。在这种模式下,DIO2将在Tx期间输出高电平,在任何其他模式下输出低电平。
5.3 DIO3
- 两个功能2选一:1)和DIO1一样,通用中断引脚; 2)可以配置成TCXO(温度补偿晶振)的电源
- 电源功能是通过命令 SetDio3AsTCXOCtrl来使能的。
tcxoVoltage - 输出电源电压值
delay - 等待TCXO起振的超时时间
6 IRQ
- 总共有10各中断源
- 每个中断源都能映射到引脚DIO1,DIO2,DIO3上
7 各模式下引脚状态
- PU = 50kΩ上拉
- PD = 50KΩ下拉
SX126x-数字接口SPI和控制功能相关推荐
- 数字接口系列文章:SPI 总线
数字接口系列文章:SPI 总线 SPI总线 SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,地位在后,为全双工通信,数据传输速度总体来说比I2 ...
- 计算机中音乐设备数字接口,一种计算机用声卡封存装置的制作方法
本实用新型涉及计算机声卡领域,尤其涉及一种计算机用声卡封存装置. 背景技术: 声卡的基本功能是把来自话筒.磁带.光盘的原始声音信号加以转换,输出到耳机.扬声器.扩音机.录音机等声响设备,或通过音乐设备 ...
- C# WinForm使用乐器数字接口
继续,前面已经实现了C#调用Windows API实现了弹出对话框功能.使用了User32.dll文件,主要代码如下: [DllImport("User32.dll")] publ ...
- Arduino 解读系列(1)数字接口/模拟接口
原文地址:https://www.jianshu.com/p/839e8f58335c 最近接触到一款入门级嵌入式产品------ Arduino,非常容易上手且很有趣,可以很方便的搭建出 ...
- 网络编程之Winsock2 服务提供者接口(SPI)
[1]Winsock2 服务提供者接口(SPI): 一.简述: 1.一般用于提供给操作系统开发商.传输堆栈商在基础协议的基础上,开发更高级的服务. 2.因为Winsock服务体系符合Windows开放 ...
- LCD显示器的模拟和数字接口
LCD显示器的模拟和数字接口 1 模拟接口 模拟和数字视频信源已经存在了很长时间,模拟视频常用于台式机,而数字视频则在笔记本电脑中比较流行.当前大量计算机使用的模拟视频输出,因此保证了模拟接口支持 ...
- 串行数字接口(SDI)
BT.656-2中建议,采用smpte 259M中定义的新型串行数字接口,在传送BT.601 422的视频信号时,时钟速率为270Mbit/s,比特深度为10bit,这就是普遍使用的数字视频的串行数字 ...
- LED数码管显示驱动芯片-VK1668,LED驱动控制电路,内部集成有MCU数字接口、数据锁存器、LED 高压驱动、键盘扫描等电路
产品型号:VK1668 产品品牌:VINKA/永嘉微电 封装形式:SOP24/SSOP24 产品年份:新年份 概述 VK1668 是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路,内部 ...
- 《SMPTE 292 - 1998 HDTV的数字接口》 阅读整理
HDTV的数字接口 1.范围 HDTV,1.485Gbps串行比特数字接口: 2. 数据源格式 Y,CB,CR均为10 bit,其中 Y为一个10bit并行的数据流,CB/CR复用另一个10bit并行 ...
最新文章
- DQL数据查询语言——连接查询
- java编程思想第四版第十章总结
- python完全支持面向对象编程_Python面向对象编程
- VC中海量文件读写类设计与应用(转)
- MessageBox 弹框
- java biginteger 运算_Java大数字运算之BigInteger 原创
- 华为MatePad 11开启预售:鸿蒙OS加持 2499元起!
- boot sprint 项目结构_完美起航-【知识】SpringBoot项目结构目录
- Windows Mobile 编程 (Win32) - 开篇
- VS2013 MFC 中DLL链接库断点不能命中的解决方案总结
- 前端面试题集锦——算法
- win10系统如何配置web服务器,如何在windows10下搭建web服务器
- img标签,图片占位
- dede织梦网站源码安装教程
- VR视频为什么都是弯的?
- 移动宽带连接电信服务器不稳定,如何解决移动宽带网速不稳定的問題?
- 在UC浏览器投放广告的优势、效果!
- Android studio关闭启动默认打开上次项目
- 【Python入门教程】第85篇 常用字符串方法之大小写判断
- 欧国联 法国 vs 德国