基于nRF24L01的无线通信模块设计报告正文 - 图文 下载本文

内容发布更新时间 : 2024/12/26 23:56:38星期一 下面是文章的全部内容请认真阅读。

1前言

本次我们三人小组设计的是无线通信模块,根据设计要求我们选择了无线收发模块

nRF24L01、单片机STC89C52、LCD1602和键盘模块等作为本次设计的硬件需求。首先我们与老师一起讨论了一些设计的相关事宜和设计思路。接下来我们一起画好了模拟电路图,在老师的帮助下我们对电路图进行了补充和完善。完成这些基本工作后,在老师和同学的帮助下我们买回了自己所需的元器件。接着我们变分工完成了元器件的焊接连接和程序的编写,然后便是模块的上电调试,设计的答辩和设计报告的完善。

我们本次之所以会选择无线通信模块的设计,是我们觉得无线通信技术是现代社会中一门很重要的技术,我们掌握好了这门技术对以后我们的工作生活都有很大的帮助。我们本次设计的无线通信模块虽然只是我们的一次小小的体验,但我们都知道无线通信在我们现在所处的信息时代是多么的重要,如今我们生活的方方面面无不与无线通信息息相关。我们所熟悉的手机、电脑、电视等等都与无线通信有着直接的联系。甚至在某些高端领域方面无线通信技术能反映一个国家的科技水平和综合国力。我们国家的无线通信技术虽然在世界上排在了前面的位置,但与一些发达国家相比我们任然有很大差距,如太空中有差不多80%的通信卫星是美国的。

当然我们本次设计的无线通信模块只是很基础的无线通信模块,我们所达到的效果就是两个模块间能相互发送一些简单的字符和数字。

第 1 页

2总体方案设计

本次设计我们考虑用C语言和汇编去实现模块的无线通信功能,但我们编写程序时

发现汇编语言较难写且可读性差,因此我们选择了用C语言作为本次的软件实现。要实现无线通信功能,我们选择了小巧轻便的无线收发模块nRF24L01。在单片机方面考虑到52系列优于51系列且很好购买,我们选择了STC89C52单片机。在液晶显示上,我们只要求能显示一些简单的数字和字母,我们选择了LCD1602。键盘输入方面我们选择的是4×4矩阵键盘。以上各模块的功能信息在后面都有更为具体的介绍。

图2.1无线通信模块框图

第 2 页

3单元模块设计

3.1 nRF24L01的简单介绍

nRF24L01 是 NORDIC 公司最近生产的一款无线通信通信芯片,采用 FSK 调制,内

部集成 NORDIC 自己的 Enhanced Short Burst 协议。可以实现点对点或是 1对 6 的无线通信。无线通信速度可以达到 2M(bps)。NORDIC 公司提供通信模块的 GERBER 文件,可以直接加工生产。嵌入式工程师或是单片机爱好者只需要为单片机系统预留 5 个 GPIO,1 个中断输入引脚,就可以很容易实现无线通信的功能,非常适合用来为 MCU系统构建无线通信功能。

2.4GHz 全球开放ISM频段,最大0dBm发射功率,免许可证使用支持六路通道的数据接收低工作电压:1.9V ~3.6V 低电压工作高速率:2Mbps,由于空中传输时间很短,极大的降低了无线传输中的碰撞现象(软件设置1Mbps或者2Mbps的空中传输速率)多频点:125频点,满足多点通信和跳频通信需要超小型:内置2.4GHz天线,体积小巧,15×29mm(包括天线)低功耗:当工作在应答模式通信时,快速的空中传输及启动时间,极大的降低了电流消耗。低应用成本:nRF24L01集成了所有与RF协议相关的高速信号处理部分,比如:自动重发丢失数据包和自动产生应答信号等,nRF24L01的SPI接口可以利用单片机的硬件SPI口连接或用单片机I/O口进行模拟,内部有FIFO可以与各种高低速微处理器接口,便于使用低成本单片机。便于开发:由于链路层完全集成在模块上,非常便于开发。自动重发功能,自动检测和重发丢失的数据包,重发时间及自动存储未收到应答信号的数据包自动应答功能,在收到有效数据后,模块自动发送应答信号,无须另行编程载波检测—固定频率检测内置硬件CRC检错和点对多点通信地址控制数据包传输错误计数器及载波检测功能可用于跳频设置可同时设置六路接收通道地址,可有选择性的打开接收通道标准插针Dip2.54MM间距接口,便于嵌入式应用。

第 3 页

nRF24L01 功能框图

图3.1nRF24L01 功能框图

Fig.1 nRF24L01 BLOCK DIAGRAM

nRF24L01 的框图如 Fig.1所示,从单片机控制的角度来看,我们只需要关注 Fig.1 右面

的六个控制和数据信号,分别为 CSN、SCK、MISO、MOSI、IRQ、CE。 CSN:芯片的片选线,CSN为低电平芯片工作。 SCK:芯片控制的时钟线(SPI 时钟)

MISO:芯片控制数据线(Master input slave output) MOSI:芯片控制数据线(Master output slave input)

IRQ:中断信号。无线通信过程中 MCU主要是通过 IRQ与 nRF24L01 进行通信。 CE: 芯片的模式控制线。 在 CSN 为低的情况下,CE 协同 nRF24L01 的 CONFIG 寄 存器共同决定 nRF24L01 的状态(参照 nRF24L01 的状态机)。

图3.2 nRF24L01实物图

第 4 页

nRF24L01的引脚级说明

图3.3nRF24L01的引脚级说明

说明:(1)VCC脚接电压范围为1.9V ~3.6V之间,不能在这个区间之外,超过3.6V将会烧毁模块。推荐电压3.3V左右。

(2)除电源VCC和接地端,其余脚都可以直接和普通的5V单片机IO口直接相连,无需电平转换。当然对3V左右的单片机更加适用了。

(3)硬件上面没有SPI的单片机也可以控制本模块,用普通单片机IO口模拟SPI不需要单片机真正的串口介入,只需要普通的单片机IO口 就可以了,当然用串口也可以了

3.2 STC89C52的简单介绍

STC89C52是一个低电压,高性能cmos8位单片机,片内含8k bytes的可反复擦写的

Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,STC89C52单片机在电子行业中有着广泛的应用。

其主要特性功能: 1、兼容MCS51指令系统 2、8k可反复擦写(大于1000次)Flash ROM; 3、32个双向I/O口; 4、256×8bit内部RAM; 5、3个16位可编程定时/计数器中断; 6、时钟频率0-24MHz; 7、2个串行中断,可编程UART串行通道; 8、2个外部中断源,共8个中断源; 9、2个读写中断口线,3级加密位; 10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能; 11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。

第 5 页