本文介绍由单片机STM32F103控制无线数字传输芯片nRF24L01的WIFI模块的设计原理,通过无线方式进行数据双向远程传输,两端采用全双工方式通信,该系统具有成本低,功耗低,软件设计简单以及通信可靠等优点。
nRF24L01引脚功能及描述
nRF24L01nRF24L01的封装及引脚排列如图所示。各引脚功能如下:
nRF24L01引脚示意图
CE:使能发射或接收;
CSN,SCK,MOSI,MISO:SPI引脚端,微处理器可通过此引脚配置nRF24L01;
IRQ:中断标志位;
VDD:电源输入端;
nRF24L01模块
nRF24L01模块有八个引脚需要连接到STM32,在这里由于用到了SPI1的四个引脚,直接与PA(4-6)引脚相连,设置GPIO复用功能就直接可用SPI1,无线模块的其他引脚分别与PA1和PA7相连,这样可以简化电路,如下:
VSS:电源地;
XC2,XC1:晶体振荡器引脚;
VDD_PA:为功率放大器供电,输出为1.8V;
ANT1,ANT2:天线接口;I
REF:参考电流输入。
工作模式
nRF24L01有工作模式有四种:收发模式、配置模式、空闲模式和关机模式。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连接原理图,如下:
LCD原理图
按键模块
按键模块用到了按键控制发送数据,按键原理图,如下:
按键连接原理图
nRF24L01模块
nRF24L01模块有八个引脚需要连接到STM32,在这里由于用到了SPI1的四个引脚,直接与PA(4-6)引脚相连,设置GPIO复用功能就直接可用SPI1,无线模块的其他引脚分别与PA1和PA7相连,这样可以简化电路,如下:
nRF24L01原理图