简单介绍2.4G芯片Si24R1的几种工作模式和功耗电流


一、 前言

2.4Ghz的优势

1.无线传输:2.4GHz无线通信通过无线电波进行数据传输,不需要物理连接线,提供了更大的灵活性和便利性。相比较于串口需要有物理连接线,无线通信可以克服距离和布线限制。

2.大范围覆盖:2.4GHz频段在室内和室外都能提供相对较远的传输距离,使得设备之间可以实现广泛的通信覆盖。

3.多设备连接:2.4GHz无线通信技术可以支持多个设备同时连接和通信,这对于无线传感器网络、智能家居、工业自动化等应用非常重要。

4.低功耗选项:2.4GHz无线通信技术针对低功耗应用提供了一些优化方案,在电池供电设备和对功耗要求较高的应用中具有优势。

5.应用广泛:2.4GHz无线通信技术在众多领域得到了广泛应用,包括物联网、远程控制、传感器数据采集、智能家居、工业自动化等。


二、Si24R1是什么?

Si24R1是一款2.4GHz的低功耗无线收发器模块,基于Nordic Semiconductor的nRF24L01+芯片。该模块具有良好的性能和稳定的数据传输能力,常被用于无线通信领域。

Si24R1模块可以通过SPI接口与主控芯片(如单片机)进行通信,实现无线数据传输。它具有较远的传输距离、多通道选择、多种工作模式等特点,适用于各种无线控制、监测、数据采集等场景。

如果您需要在嵌入式系统中实现无线通信功能,Si24R1模块可以作为一个可靠的选择。

在这里插入图片描述

三、应用

1.硬件

1.连接图(如下图所示):SPI接口
2.4G

2.软件

2.1 各个工作模式介绍

2.4G mode

2.1.1 关断模式

1.关断模式:不再接收或发送数据,是功耗最低的模式,低至0.7uA。可以通过SPI接口唤醒并切换到待机模式。

代码如下(示例):

/********************************************************
函数功能:关断模式
入口参数:void
返回  值:void
*********************************************************/
void ST24R1Shotoff(void)
{
	IO_CE_LOW();
	SI24R1_Write_Reg(WRITE_REG + CONFIG, 0x0c); // 关断模式
}
2.1.2 待机模式

2.待机模式:时钟处于工作,也不再接收或发送数据,功耗较低,大概在15uA。可以通过拉高CE引脚进入发送空闲模式或接收模式。

代码如下(示例):

/********************************************************
函数功能:将CE引脚拉低,使SI24R1进入待机模式
入口参数:void
返回  值:void
*********************************************************/
void ST24R1EnterStandby(void)
{
	IO_CE_LOW();
}

/********************************************************
函数功能:将CE引脚拉高,使SI24R1退出待机模式
入口参数:void
返回  值:void
*********************************************************/
void ST24R1ExitStandby(void)
{
	IO_CE_HIGH();
}

2.1.3 发送模式

3.发送模式:模块被配置为发送数据的设备。它使用无线电信道将数据传输给一个或多个接收设备,发射电流为12mA。

代码如下(示例):

/********************************************************
函数功能:SI24R1发送模式
入口参数:void
返回  值:void
*********************************************************/
void SI24R1_TX_Mode(void)
{
	IO_CE_LOW();
	SI24R1_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH);		  // 写入发送地址
	SI24R1_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH);		  // 为了应答接收设备,接收通道0地址和发送地址相同
	SI24R1_Write_Reg(WRITE_REG + EN_AA, 0x01);								  // 使能接收通道0自动应答
	SI24R1_Write_Reg(WRITE_REG + EN_RXADDR, 0x01);							  // 使能接收通道0
	SI24R1_Write_Reg(WRITE_REG + SETUP_RETR, 0x0A);							  // 自动重发延时等待250us+86us,自动重发30次
	SI24R1_Write_Reg(WRITE_REG + RF_CH, DEFAULT_FREQUENCY);					  // 选择射频通道0x40
	SI24R1_Write_Reg(WRITE_REG + RF_SETUP, TX_TRANSMIT_POWER | RF_DATA_RATE); // 数据传输率2Mbps,发射功率7dBm
	SI24R1_Write_Reg(WRITE_REG + CONFIG, 0x0e);								  // CRC使能,16位CRC校验,上电,发送模式
	SI24R1_Write_Reg(WRITE_REG + STATUS, 0xff);								  // 清除所有的中断标志位
	SI24R1_Write_Reg(FLUSH_TX, 0xff);										  // 清除TX FIFO寄存器
	IO_CE_HIGH();
}
2.1.4 接收模式

4.接收模式:模块被配置为接收数据的设备。它通过无线电信道接收来自发送设备的数据,接收电流为15mA。

代码如下(示例):

/********************************************************
函数功能:SI24R1接收模式
入口参数:void
返回  值:void
*********************************************************/
void SI24R1_RX_Mode(void)
{
	IO_CE_LOW();
	SI24R1_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH);		  // 接收设备接收通道0使用和发送设备相同的发送地址
	SI24R1_Write_Reg(WRITE_REG + EN_AA, 0x01);								  // 使能接收通道0自动应答
	SI24R1_Write_Reg(WRITE_REG + EN_RXADDR, 0x01);							  // 使能接收通道0
	SI24R1_Write_Reg(WRITE_REG + RF_CH, DEFAULT_FREQUENCY);					  // 选择射频通道0x40
	SI24R1_Write_Reg(WRITE_REG + RX_PW_P0, TX_PLOAD_WIDTH);					  // 接收通道0选择和发送通道相同有效数据宽度
	SI24R1_Write_Reg(WRITE_REG + RF_SETUP, TX_TRANSMIT_POWER | RF_DATA_RATE); // 数据传输率2Mbps,发射功率7dBm
	SI24R1_Write_Reg(WRITE_REG + CONFIG, 0x0f);								  // CRC使能,16位CRC校验,上电,接收模式
	SI24R1_Write_Reg(WRITE_REG + STATUS, 0xff);								  // 清除所有的中断标志位
	IO_CE_HIGH();															  // 拉高CE启动接收设备
}

四、总结

以上就是今天聊的内容,本文仅仅简单介绍了Si24R1的各种工作模式,而si24R1是怎么发送数据,怎么接收数据的,有兴趣的可以下载附件参考,感谢你的观看,谢谢!

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

xiaobuding_QAQ

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值