基于单片机无线网络通信模块设计

上传人:第*** 文档编号:55149204 上传时间:2018-09-25 格式:DOC 页数:18 大小:402KB
返回 下载 相关 举报
基于单片机无线网络通信模块设计_第1页
第1页 / 共18页
基于单片机无线网络通信模块设计_第2页
第2页 / 共18页
基于单片机无线网络通信模块设计_第3页
第3页 / 共18页
基于单片机无线网络通信模块设计_第4页
第4页 / 共18页
基于单片机无线网络通信模块设计_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《基于单片机无线网络通信模块设计》由会员分享,可在线阅读,更多相关《基于单片机无线网络通信模块设计(18页珍藏版)》请在金锄头文库上搜索。

1、前言无线方案适用于布线繁杂或者不允许布线的场合,目前在遥控遥测、门禁系统、无线抄表、小区传呼、工业数据采集、无线遥控系统、无线鼠标键盘等应用领域,都采用了无线方式进行远距离数据传输。目前,蓝牙技术和 Zigbee 技术已经较为成熟的应用在无线数据传输领域,形成了相应的标准。然而,这些芯片相对昂贵,同时在应用中,需要做很多设计和测试工作来确保与标准的兼容性,如果目标应用是点到点的专用链路,如无线鼠标到键盘,这个代价就显得毫无必要。本无线数据传输系统采用挪威 Nordic 公司推出的工作于 2.4GHzISM 频段的nRF24L01 射频芯片。与蓝牙和 Zigbee 相比,nRF24L01 射频芯

2、片没有复杂的通信协议,它完全对用户透明,同种产品之间可以自由通信。更重要的是,nRF24L01 射频芯片比蓝牙和 Zigbee 所用芯片更便宜。系统由单片机 STM32F103 控制无线数字传输芯片nRF24L01,通过无线方式进行数据双向远程传输,两端采用全双工方式通信,该系统具有成本低,功耗低,软件设计简单以及通信可靠等优点。1. 总体设计方案无线通信技术迅速发展,有多种通讯方案可供选择,这里从实用,经济和实现等方面进行综合的考虑分析,选出合适的设计方案。1.1 无线通信方式的比较和选择方案一:采用 GSM 模块进行通信,GSM 模块需要借助移动卫星或者手机卡,虽说能够远距离传输,但是其成

3、本较大、且需要内置 SIM 卡,通信过程中需要收费,后期成本较高。方案二:采用 TI 公司 CC2430 无线通信模块,此模块采用 Zigbee 总线模式,传输速率可达 250kbps,且内部集成高性能 8051 内核。但是此模块价格较贵,且 Zigbee 协议相对较为复杂。方案三:采用 nRF24L01 无线射频模块进行通信,nRF24L01 是一款高速低功耗的无线通信模块。他能传输上千米的距离(加 PA),而且价格较便宜,采用 SPI 总线通信模式电路简单,操作方便。考虑到系统的复杂性和程序的复杂度,我们采用方案三作为本系统的通信模块。1.2 微控制器的比较和选择方案一:采用传统的 AT8

4、9S52 单片机作为主控芯片。此芯片价格便宜、操作简便,低功耗,比较经济实惠,但是应用很局限,且要求较高时传统的 AT89S52 单片机达不到要求。方案二:采用 TI 公司生产的 MSP430F149 系列单片机作为主控芯片。此单片机是一款高性能的低功耗的 16 位单片机,具有非常强大的功能,且内置高速 12 位 ADC。但其价格比较昂贵,而且是 TPFQ 贴片封装,不利于焊接,需要 PCB 制板,大大增加了成本和开发周期。方案三:基于 ARM 公司 Cortex-M3 内核的 STM32F103 系列处理器,采用串行单线调试和 JTAG,通过 JTAG 调试器你可以直接从 CPU 获取调试信

5、息,从而使产品设计大大简化,主要应用于要求高性能、低成本、低功耗的产品。根据系统需要,从性能和价格上综合考虑我们选择方案三,即用 STM32F103 作为本系统的主控芯片。1.3 串行通信方式比较和选择RS-485 串行通信:该接口是采用平衡驱动器和差分接收器的组合,抗噪声干扰性好。具有多机通信能力,这样用户可以利用单一的 RS-485 接口方便地建立起设备网络。接口组成的半双工网络,一般只需二根信号线,所以它的接口均采用屏蔽双绞线传输,数据信号采用差分传输方式。但是由于电脑上没有 485 接口,所以设计的时候还需要一个 485 转 232 转换器,较为麻烦。RS-232 串行通信:它是无处不

6、在的,每一台 PC 机都有一个或者更多的接口。在微控制器中,接口芯片使得将一个 5V 串口转换成 RS-232 变的更容易。连接距离可以达到 50 到 100ft,大多数的外设接口都不会用于太长的距离。对于一个双向选择,只需要 3 条导线。一个并行连接器一般需要 8 条数据线,两条或者更多的控制信号线和几根接地线。它作为一种标准,与很多设备兼容,目前已经在很多的微机通信接口中广泛的被采用。所以这里采用该通信方式。1.4 显示模块方案方案一:选择主控为 ST7920 的带字库的 LCD12864 来显示信息。12864 是一款通用的液晶显示屏,能够显示多数常用的汉字及 ASCII 码,而且能够绘

7、制图片,描点画线,设计成比较理想的结果。方案二:采用 2.8 寸 TFT-LCD 显示信息,这款 LCD 比较通用的字符液晶模块,能显示字符和数字等信息,且价格便宜,容易控制。方案三:采用 LCD7 段数码显示管显示,其成本低,容易显示控制,但不能显示字符。综合以上方案,方便我们对信息的观看和理解,我们选择了经济实惠的 2.8 寸TFT-LCD 显示,可以直接显示数据、字符等。2. 单元模块设计2.1 nRF24L01 射频模块电路设计2.1.1 nRF24L01 芯片概述nRF24L01 是一款新型单片射频收发器件,工作于 2.4 GHz2.5 GHz ISM 频段。内置频率合成器、功率放大

8、器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst 技术,其中输出功率和通信频道可通过程序进行配置。nRF24L01 功耗低,在以-6 dBm 的功率发射时,工作电流也只有 9 mA;接收时,工作电流只有 12.3 mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。 nRF24L01 主要特性如下: 1)2.4GHz 全球开放的 ISM 频段,免许可证使用。2)最高工作速率 2Mbps,高校的 GFSK 调制,抗干扰能力强。3)125 个可选的频道,满足多点通信和调频通信的需要。4)内置 CRC 检错和点对多点的通信地址控制。5)低工作电压(1.93.6V)。6

9、)可设置自动应答,确保数据可靠传输。2.1.2 引脚功能及描述nRF24L01 的封装及引脚排列如图所示。各引脚功能如下:图 1 nRF24L01 引脚示意图CE:使能发射或接收 ; CSN,SCK,MOSI,MISO:SPI 引脚端,微处理器可通过此引脚配置 nRF24L01; IRQ:中断标志位 ; VDD:电源输入端 ; VSS:电源地; XC2,XC1:晶体振荡器引脚 ; VDD_PA:为功率放大器供电,输出为 1.8V; ANT1,ANT2:天线接口; IREF:参考电流输入。2.1.3 工作模式nRF24L01 有工作模式有四种:收发模式、配置模式、空闲模式和关机模式。nRF24L

10、01 的工作模式由 PWR_UP、CE、TX_EN 和 CS 三个引脚决定,如表。表格 1 nRF24L01 工作模式工作模式收发模式配置模式空闲模式关机模式收发模式:nRF24L01 的收发模式有 ShockBurstTM 收发模式和直接收发模式两种,收发模式由器件配置字决定。这里只介绍 ShockBurstTM 收发模式。ShockBurstTM 收发模式下,使用片内的先入先出堆栈区,数据低速从微控制器送入,但高速(1Mbps)发射,这样可以尽量节能,因此,使用低速的微控制器也能得到很高的射频数据发射速率。与射频协议相关的所有高速信号处理都在片内进行,这种做法有三大好处:1)尽量节能;2)

11、低的系统费用(低速微处理器也能进行高速射频发射);3)数据在空中停留时间短,抗干扰性高。nRF24L01 的 ShockBurstTM 技术同时也减小了整个系统的平均工作电流。在 ShockBurstTM 收发模式下,nRF24L01 自动处理字头和 CRC 校验码。在接收数据时,自动把字头和 CRC 校验码移去。在发送数据时,自动加上字头和 CRC 校验码,当发送过程完成后,数据准备好引脚通知微处理器数据发射完毕。配置模式:在配置模式,15 字节的配置字被送到 nRF24L01,这通过 CS、CLK1和 DATA 三个引脚完成。空闲模式:nRF24L01 的空闲模式是为了减小平均工作电流而设

12、计,其最大的优点是,实现节能的同时,缩短芯片的起动时间。在空闲模式下,部分片内晶振仍在工作,此时的工作电流跟外部晶振的频率有关,如外部晶振为 4MHz 时工作电流为 12uA,外部晶振为 16MHz 时工作电流为 32uA。在空闲模式下,配置字的内容保持在 nRF24L01片内。关机模式:在关机模式下,为了得到最小的工作电流,一般此时的工作电流小于1uA。关机模式下,配置字的内容也会被保持在 nRF24L01 片内,这是该模式与断电状态最大的区别。2.2 STM32F103 模块电路2.2.1 电源电路由于 STM32 直接由 PC 的 USB 供电,提供 5V 电源,所以不需要总电源,但nR

13、F24L01 模块需要低于 3.5V 电压,所以需要 3.3V 稳压电路,如下:图 2 3.3V 稳压电路2.2.2 显示模块2.8 寸 TFT-LCD 与 STM32 连接原理图,如下:图 3LCD 原理图2.2.3 按键模块在课程设计中用到了按键控制发送数据,按键原理图,如下:图 4 按键连接原理图2.2.4nRF24L01 模块nRF24L01 模块有八个引脚需要连接到 STM32,在这里由于用到了 SPI1 的四个引脚,直接与 PA(4-6)引脚相连,设置 GPIO 复用功能就直接可用 SPI1,无线模块的其他引脚分别与 PA1 和 PA7 相连,这样可以简化电路,如下:图 5 nRF

14、24L01 原理图3. 系统功能与软件设计3.1 系统总结构与流程系统主要包括两个分别具有收发功能的无线通信模块,每个模块均由 STM32F103和无线收发芯片 nRF24L01 组成。系统的原理框图如图所示,发送时,单片机通过 IO总线向 nRF24L01 写人控制命令及所需发送的数据,nRF24L01 通过天线发送出去;接收时,单片机通过 IO 总线读取 nRF24L01 的工作状态,获取芯片相关信息及接收到的数据。两个收发模块之间相互通信,从而实现数据的无线传输。同时接收端将接收到的数据存储到扩展的片外数据存储器中。系统结构框图:图 6 整体结构框图根据功能不同,可以把整个系统分为 ST

15、M32、nRF24L01 无线通信模块、LCD 显示模块、按键发送模块。STM32 主要功能是控制 nRF24L01 无线通信和 LCD 显示,按键中断控制 nRF24L01 无线模块发送数据,LCD 显示模块显示数据。当按下按键时,STM32 控制 LCD 显示相应的数字,同时通过 nRF24L01 将该数字发送出去,另一个 nRF24L01 接收到该数字,经由 STM32F103 显示于 LCD 上。系统的工作流程图如下:图 7 系统流程图3.2 初始化程序的设计系统在正式工作前,都要进行一些初始化工作。因此在系统启动之初,为了能够让 STM32F103 单片机各项功能合理有序的工作,需要

16、进行一系列的初始化配置。本文系统设计中初始化程序主要包括微处理器 STM32F103 开发板的初始化程序、串行外设接口(SPI)的初始化程序、nRF24L01 芯片的初始化程序、按键的初始化程序、LCD 显示模块的初始化程序等。其中 STM32F103 单片机的初始化又包括 GPIO 口初始化配置、中断初始化配置等。3.2.1 SPI 的初始化配置STM32F103 的串行 SPI 接口置配置时,设 SPI 为主,串行时钟在 SCK 脚产生。配置程序软件及步骤如下:1.配置 nRF24L01 的 MOSI、MISO 输入输出线和 SCLK 时钟线分别同 CPU 的 SPI 对应的外设线相连接,即 SPI1 与 SCK(PA5/SPI1_SCK)、MISO(PA6/SPI1_MISO)、MOSI(PA7/SPI1_MOSI)、NSS(PA4/SPI1_NSS)相连接。2.通过 SPI_CR1 寄存器的 BR 位定义串行时钟波特率分频值为 16。3.选择 CPOL 和 CPHA 位,定义数据传输和串行时钟的相位关系,选择了串行时钟的稳

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号