本文介绍了用单片机STM32F103控制无线数字传输芯片nRF24L01的WIFI模块的设计原理,通过无线方式进行数据双向远程传输,两端全双工方式通信,该系统成本低、功耗低、软件设计
nRF24L01引脚的功能和说明
nRF24L01nRF24L01的封装和针脚排列如图所示。 各引脚的功能如下。
nRF24L01端子示意图
CE :允许发送或接收
CSN、SCK、MOSI、MISO:SPI端子侧,微处理器可以从该端子配置nRF24L01;
IRQ :中断标志位;
VDD :电源输入端子;
nRF24L01模块
nRF24L01模块的8个针脚必须连接到STM32。 这里使用的是SPI1的4个引脚,直接连接到pa(4-6)的引脚,所以只要设定GPIO复用功能,就可以直接使用SPI1。 无线模块的其他引脚分别连接到PA1和PA7,从而简化电路。 这如下。
VSS :电源接地;
XC2,XC1 )晶体振荡器引线;
VDD_PA :为功率放大器供电,输出为1.8V;
ANT1、ANT2:天线接口; I
REF :参考电流输入。
动作模式
nRF24L01分为收发模式、设定模式、空闲模式、关机模式4种。 nRF24L01的工作模式如表所示,由PWR_UP、CE、TX_EN、CS三个端子决定。
收发模式: nRF24L01的收发模式有ShockBurstTM收发模式和直接收发模式两种,收发模式由设备配置字决定。
在ShockBurstTM收发模式下,使用芯片内的先进先出堆栈区域,从微控制器低速发送数据,但通过高速(1Mbps )发送,尽可能实现节能,因此低速的微控制器与射频协议相关的所有高速信号处理都是片上完成的,这种方法有三个好处:
1 )尽量节能
2 )系统成本低)低速微处理器也能进行高速无线发送);
3 )数据空中停留时间短,抗干扰能力强。 nRF24L01的ShockBurstTM技术同时减少了整个系统的平均工作电流。 在ShockBurstTM发送和接收模式下,nRF24L01自动处理标头和CRC校验码。
接收数据时,自动删除页眉和CRC校验码。 发送数据时,自动添加报头和CRC校验码,发送过程完成后,数据准备引脚通知微处理器数据发送完成。
配置模式:在配置模式下,15字节的配置字发送到nRF24L01,在CS、CLK1和DATA三个管脚上完成。
空闲模式: nRF24L01的空闲模式旨在减小平均工作电流,最大的好处是在实现节能的同时,缩短芯片的启动时间。 在空闲模式下,一些芯片内晶体振子还在工作,此时的工作电流与外部晶体振子的频率有关,例如,外部晶体振子为4MHz时的工作电流为12uA,外部晶体振子为16MHz时的工作电流为32uA。 在空闲模式下,配置文件字的内容保持在nRF24L01片内。
关机模式:在关机模式下,为了获得最小的工作电流,通常此时的工作电流小于1uA。 在关闭模式下,配置字的内容也保留在nRF24L01片内。 这是此模式与电源关闭状态的最大区别。
STM32F103模块电路
电源电路由STM32直接由PC的USB供电,提供5V电源,因此不需要总电源,但nRF24L01模块需要3.5V以下的电压,因此如下所示,需要3.3V稳压电路。
3.3V稳压电路
显示模块
2.8英寸TFT-LCD与STM32的连接原理图如下。
液晶屏原理图
键块
关键模块使用关键控件发送数据。 关键原理图如下。
按键连接电路图
nRF24L01模块
nRF24L01模块的8个针脚必须连接到STM32。 这里使用的是SPI1的4个引脚,直接连接到pa(4-6)的引脚,所以只要设定GPIO复用功能,就可以直接使用SPI1。 无线模块的其他引脚分别连接到PA1和PA7,从而简化电路。 这如下。
nRF24L01原理图