1、本科生毕业论文(设计) 基于2.4GHz射频的无线串口通信设计 院系名称姓名学号专业指导教师 . 年5月1日摘 要本文介绍了一套基于2.4GHz,结合nRF24L01无线通信模块的无线数据传输系统。nRF24L01无线通信系统是基于nRF24L01无线收发芯片,以STM32F103单片机为核心的半双工无线通信系统,文中详细阐述了该无线通信系统的硬件和软件设计。该系统主要由一个nRF24L01无线通信模块组成,在硬件基础上,结合nRF24L01的特点,实现了两个nRF24L01无线通信模块之间的通信。关键词:nRF24L0l;STM32;无线通信 Abstract This paper intr
2、oduces a wireless communication system , a system based on 2.4Ghz, combined with nRF24L01 wireless communication module . nRF24L01 wireless communication system is based on nRF2L01 wireless transceiver chip, half duplex wireless communication system with a control core of STM32F103 MCU.This paper de
3、scribes the hardware and software design of the wireless communication system. The system mainly consists of a nRF24L01 wireless communication module, basing on the hardware and combining with the characteristics of nRF24L01, and realize the implementation of communication between two nRF24L01 wirel
4、ess communication modules .Key words:nRF24L01,STM32,Wireless Communication 目 录 摘 要- 2 -Abstract- 3 -1 引言12 nRF2401无线通信系统设计方案与论证22.1 CPU的选择22.2 无线通信模块的选择22.3 显示模块的选择22.4 系统整体的最终方案22.5 系统工作流程图32.6 关键技术43 nRF2401无线通信系统的硬件设计43.1 nRF24L01 引脚介绍43.2.nRF24L01与STM32的接口设计54 nRF2401无线通信系统的软件设计64.1 nRF24L01无线通信
5、分系统的软件结构64.1.1 nRF24L01无线通信模块软件74.1.2.nRF24L01无线通信模块数据发送与接收74.2初始化程序的设计84.2.1 RCC时钟初始化配置94.2.2nRF24L01初始化配置104.3 nRF24L01无线通信软件设计104.3.1 nRF24L01射频芯片特性104.3.2 SPI的读写程序144.3.3 nRF24L01发送程序设计154.3.4 nRF24L01接收程序设计165 nRF24L01无线通信系统的调试与实现185.1 nRF24L01无线通信系统调试185.1.1 硬件调试185.1.2软件调试185.2 nRF2401无线通信系统总
6、体调试186 总结206.1 nRF2401无线通信系统的功能实现206.2 nRF2401无线通信系统功能展示206.2.1 发送数据206.2.2 接受数据216.2.3 最远有效通信距离226.3结论227参考文献238致谢241 引言伴随信息技术的快速发展,人们对通信技术的需求越来越多,摆脱有线网络从而实现无线通信一直是大家关心的问题,当今世界无线通信越来越热,应用非常广泛,使人与人之间的通信更加方便快捷,具有巨大发展前景。本文基于STM32微处理器,结合nRF24L01无线通信模块的通讯的核心,设计了无线通信系统。方案广泛应用于布线繁锁以及不允许布线的地方,目前在无线标签、身份识别、
7、非接触RF智能卡、小型无线数据终端、安全防火系统、无线遥控系统等应用领域,都采用了无线方式进行远距离数据传输。本传输系统采用Nordic公司推出的工作于2.4GHz 频段的nRF2401 射频芯片。nRF2401 射频芯片没有复杂的通信协议,它完全对用户透明,以及其较为廉价的特点而被广泛运用。nRF2401具有成本低,功耗低,软件设计简单以及通信可靠等优点。222 nRF2401无线通信系统设计方案与论证2.1 CPU的选择本设计中MCU使用的CPU是STM32F103xx增强型系列。STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M内核。增强型系列
8、时钟频率达到72MHz,是同类产品中性能最高的产品。具有丰富的增强型I/O端口和连接到两条高性能外设总线(Advanced Peripheral Bus,APB)的外设。片上集成了高速存储器,通过APB总线连接了丰富、增强的外设和IO。所有的设备都提供标准的通信接口。最大功耗118mW,待机功耗7uW,属于高性能低功耗微处理器,在很大程度上提高了系统设计的nRF24L01无线通信分系统的工作性能。2.2 无线通信模块的选择nRF24L01是由NORDIC生产的工作在2.4GHz2.5GHz的ISM 频段的单片无线收发器芯片。用于短距离无线数据传输。该芯片内部集成了2.4GHz无线收发内核。体积
9、小,功耗较低,外围电路简单。输出功率频道选择和协议的设置可以通过SPI 接口进行设置。几乎可以连接到各种单片机芯片,并完成无线数据传送工作。极低的电流消耗:当工作在发射模式下发射功率为0dBm 时电流消耗为11.3mA ,接收模式时为12.3mA,掉电模式和待机模式下电流消耗更低。nRF24L01芯片已经被广泛应用到键盘、遥控器等小型电子设备以及安防系统、门禁系统、遥感勘测系统等大型系统中。2.3 显示模块的选择 LED数码管具有响应时间短,对环境没有污染,廉价,编程简单等优点,完全适用于本次设计的要求,所以采用LED显示。2.4 系统整体的最终方案LED显示显示nRF24L01无线通信模块中
10、心模块 综合考虑以上各个模块的设计方案,nRF24L01无线通信系统的系统结构框图如下:LED显示中心模块nRF24L01无线通信模块 根据功能不同,可以把整个系统分为中心模块、nRF24L01无线通信模块、LED显示模块。中心模块为STM32,主要功能是控制nRF24L01无线通信和LED显示。nRF24L01无线通信模块与中心模块连接。LED显示模块显示数据。2.5 系统工作流程图 当按下某一键时,STM32控制LED显示相应的数字,同时通过nRF24L01将该数字发送出去,另一个nRF24L01接收到该数字,经由STM32显示于数码管上。本系统的工作流程图如下:结束LED显示LED显示中
11、心模块nRF24L01无线通信模块nRF24L01无线通信模块中心模块按下键盘开始图2.2 系统工作流程图2.6 关键技术 在本系统中,使用的关键技术如下:1. 基于ARM7的STM32微处理器控制2. nRF24L01 2.4G通信3. 矩阵键盘4. LED显示3 nRF2401无线通信系统的硬件设计 本次设计使用的硬件主要是STM32开发板和nRF24L01无线通信模块,集成度较高,所以硬件设计的重点就在于nRF24L01与STM32的接口设计。3.1 nRF24L01 引脚介绍 图 3-1 nRF24L01功能框图 nRF24L01 功能框图如图3-3所示,从单片机控制的角度来看,我们只
12、需要关注框图右面的六个控制和数据信号,分别为CSN(PG7)、SCK(PB13)、MISO(PB14)、MOSI(PB15)、IRQ(PG8)、CE(PG6)。 控制线:CSN :芯片的片选线,CSN 为低电平芯片工作。 SCK :芯片控制的时钟线(SPI 时钟)。CE:芯片的模式控制线。在CSN 为低的情况下,CE协同NRF24L01 的CONFIG 寄存器共同决定NRF24L01 的状态。IRQ :中断信号。无线通信过程中MCU主要是通过IRQ 与NRF24L01 进行通信。数据线:MISO:芯片控制数据线(主机输入,从机输出)。 MOSI:芯片控制数据线(从机输入,主机输出)。3.2.n
13、RF24L01与STM32的接口设计 STM32的串行外设接口(SPI)提供与外部设备进行同步串行通讯的功能,通过接口可以被设置工作在主模式或者从模式。nRF24L01的控制电路与STM32控制器的SPI口相连接,以串行方式进行通信以交换信息,实现nRF24L01串行口高速通信。 该射频芯片与MCU的接口原理图如下图3-2所示。图3-2 nRF24L01与MCU接口原理图 nRF24L01芯片的片选线CS与MCU的PB0相连接、芯片的片选线SCK与MCU的PA5相连接、中断信号IRQ与MCU的PB1相连接、芯片的模式控制线CE与MCU的PA4相连接,数据信号引脚MISO、MOSI分别和MCU的
14、PA6和PA7相连接4 nRF2401无线通信系统的软件设计4.1 nRF24L01无线通信分系统的软件结构 无线通信系统的软件模块主要包括,nRF24L01与STM32F103微处理器MCU串行外设接口(SPI )之间的通信程序,nRF24L01之间的收发程序,矩阵键盘程序,中断程序,数码管的显示程序以及STM32F103微处理器对收发到数据的处理程序。建立在硬件的基础上,软件程序的设计完成了对硬件工作的调度和协调,实现了nRF24L01无线通信系统的通信。如下图4-1所示。矩阵键盘数码管显示 MCUSPI射频芯片 双向通信射频芯片SPI矩阵键盘数码管显示MCU图4-1 nRF24L01无线通信系统软件设计结构4.1.1 nRF24L01无线通信模块软件 nRF24L01无线通信模块所要实现的软件功能有:将主机数码管显示的数据发送到从机,从机进行接收,处理并显示在数码管上。如下图4-2所示通过nRF24L01接受数据Nrf24L01无线通信模块 显示于数码管图4-2 nRF24L01无线通信模块软件结构