基于单片机无线通信网络的实现.docx
- 文档编号:23613953
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:33
- 大小:204.04KB
基于单片机无线通信网络的实现.docx
《基于单片机无线通信网络的实现.docx》由会员分享,可在线阅读,更多相关《基于单片机无线通信网络的实现.docx(33页珍藏版)》请在冰豆网上搜索。
基于单片机无线通信网络的实现
1绪论
1.1无线网络的应用价值
无线网络的历史起源可以追溯到50年前第二次世界大战期间。
当时,美国陆军研发出了一套无线电传输技术,采用无线电信号进行资料的传输。
这项技术令许多学者产生了灵感。
1971年,夏威夷大学的研究员创建了第一个无线电通讯网络,称作ALOHNET。
这个网络包含7台计算机,采用双向星型拓扑连接,横跨夏威夷的四座岛屿,中心计算机放置在瓦胡岛上。
从此,无线网络正式诞生。
近些年来由于电子科技的发展无线网络灵活性和移动性,安装便捷,易于进行网络规划和调整。
故障定位容易,易于扩展等优点被凸显的淋漓尽致。
因此其发展十分迅速。
最近几年,无线局域网已经在企业、医院、商店、工厂和学校等场合得到了广泛的应用。
1.2现有的无线模块介绍
1.2.1CC1100
它是一种低成本真正单片的UHF收发器,为低功耗无线应用而设计。
电路主要设定为在315、433、868和915MHz的ISM(工业,科学和医学)和SRD(短距离设备)频率波段,也可以容易地设置为300-348MHz、400-464MHz和800-928MHz的其他频率。
它还为数据包处理、数据缓冲、突发数据传输、清晰信道评估、连接质量指示和电磁波激发提供广泛的硬件支持。
CC1100为数据包处理、数据缓冲、突发数据传输、清晰信道评估、连接质量指示和电磁波激发提供广泛的硬件支持。
1.2.2nRF905
它的RF收发器集成了一个高度可配置的调制解调器。
这个调制解调器支持不同的调制格式,在915M频段其数据传输率可达500kbps。
通过开启集成在调制解调器上的前向误差校正选项,能使性能得到提升。
1.2.3nRF2401
它是是一款工作在2.4~2.5GHz世界通用ISM频段的单片无线收发器芯片,它内部无线收发器的频率发生器具有增强型SchockBurstTM模式,能高效的与低速或中速CPU结合提高发射速度和效率。
此外它内部的功率控制器,晶体振荡器,调制器,解调器,输出功率频道选择和协议的设置都可以通过SPI接口方便的被CPU设置。
他功耗极低当工作在发射模式下发射功率为-6dBm时电流消耗为9.0mA接收模式时为12.3mA,掉电模式和待机模式下电流消耗更低。
1.3无线通信协
目前比较常用的无线网络协议有如下四种:
IEEE802.11系列协议:
作为全球公认的局域网权威,IEEE802工作组建立的标准在局域网领域内得到了广泛应用。
这些协议包括802.3以太网协议、802.5令牌环协议和802.3z100BASE-T快速以太网协议等。
IEEE于1997年发布了无线局域网领域第一个在国际上被认可的协议——802.11协议。
1999年9月,IEEE提出802.11b协议,用于对802.11协议进行补充,之后又推出了802.11a、802.11g等一系列协议,从而进一步完善了无线局域网规范。
蓝牙规范(Bluetooth):
蓝牙规范是由SIG(特别兴趣小组)制定的一个公共的、无需许可证的规范,其目的是实现短距离无线语音和数据通信。
蓝牙技术工作于2.4GHz的ISM频段,基带部分的数据速率为1Mbit/s,有效无线通信距离为10~100m,采用时分双工传输方案实现全双工传输。
蓝牙技术采用自动寻道技术和快速跳频技术保证传输的可靠性,具有全向传输能力,但不需对连接设备进行定向。
在任意时间,只要蓝牙技术产品进入彼此有效范围之内,它们就会立即传输地址信息并组建成网,这一切工作都是设备自动完成的,无需用户参与。
HomeRF标:
准HomeRF工作组于1998年为在家庭范围内实现语音和数据的无线通信制订出一个规范,即共享无线访问协议(SWAP)。
该协议主要针对家庭无线局域网,其数据通信采用简化的IEEE802.11协议标准。
HomeRF标准采用扩频技术,工作在2.4GHz频带,可同步支持4条高质量语音信道并且具有低功耗的优点,适合用于笔记本电脑。
HyperLAN/2标准:
2002年2月,ETI的宽带无线接入网络(BroadbandRadioAccessNetworks,BRAN)小组公布了HiperLAN/2标准。
HiperLAN/2标准由全球论坛(H2GF)开发并制定,在5GHz的频段上运行,并采用OFDM调制方式,物理层最高速率可达54Mbit/s,是一种高性能的局域网标准。
HyperLAN/2标准定义了动态频率选择、无线小区切换、链路适配、多波束天线和功率控制等多种信令和测量方法,用来支持无线网络的功能。
基于HyperRF标准的网络有其特定的应用,可以用于企业局域网的最后一部分网段,支持用户在子网之间的IP移动性。
在热点地区,为商业人士提供远端高速接入因特网的服务,以及作为W-CDMA系统的补充,用于3G的接入技术,使用户可以在两种网络之间移动或进行业务的自动切换,而不影响通信。
1.4CSMA/CA无线网络设计实现与应用
CSMA/CA协议的工作流程分为两个分别是:
送出数据前,监听媒体状态,发现媒体空闲时,维持一段时间后,再等待一段随机的时间后依然没有被使用,才送出数据。
由於每个设备采用的随机时间不同,所以可以减少冲突的机会。
送出数据前,先送一段小小的请求传送报文(RTS:
RequesttoSend)给目标端,等待目标端回应CTS:
CleartoSend报文后,才开始传送。
利用RTS-CTS握手(handshake)程序,确保接下来传送资料时,不会被碰撞。
同时由於RTS-CTS封包都很小,让传送的无效开销变小。
CSMA/CA通过这两种方式来提供无线的共享访问,这种显式的ACK机制在处理无线问题时非常有效。
然而不管是对于802.11还是802.3来说,这种方式都增加了额外的负担,所以802.11网络和类似的Ethernet网比较总是在性能上稍逊一筹。
以协议为依据,用89s52单片机模拟SPI总线控制nRF2401无线模块,通过对无线模块合理的配置,可很容易的在物理层和数据链路层实现符合协议要求点对点的通信。
接下来我们模拟以上两条协议,安排合理的路由方式以及传输层无重复无丢失的传输控制协议。
即可实现一个具有CSMA\CA意义的无线通信网络。
并且基于这个网络,我们设计了一个具有,及步进电机控制,和LCD中文操作菜单界面的简单预警系统(应用部分由队友完成)。
2无线通信网络的实现
2.1单片机与无线模块
2.1.151单片机的性能与使用
本设计选用被普及使用的性价比很高的微处理器AT89S52作为系统核心,它是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
它还有256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
它来控制nRF2401可以很好的互相配合,发挥各自的功能。
2.1.2nRF2401的特性
(1)2.4GHz全球开放ISM频段免许可证使用。
(2)最高工作速率2Mbps,高效GFSK调制,抗干扰能力强,特别适合工业控制场合。
(3)126频道,满足多点通信和跳频通信需要。
(4)内置硬件CRC检错和点对多点通信地址控制。
(5)低功耗1.9-3.6V工作,待机模式下状态为22uA;掉电模式下为900nA。
(6)内置2.4GHz天线,体积小巧15mmX29mm。
(7)模块可软件设地址,只有收到本机地址时才会输出数据(提供中断指示),可直接接各种单片机使用,软件编程非常方便。
(8)内置专门稳压电路,使用各种电源包括DC/DC开关电源均有很好的通信效果。
(9)与51系列单片机P0口连接时候,需要加10K的上拉电阻,与其余口连接不需要上拉电阻。
关于nRF2401的内部模块结构图参照下图2-1:
图2-1nRF2401的内部模块结构图
2.1.3单片机与无线模块的接口—SPI总线
SPI就是串行外围设备接口,是一种高速的、全双工、同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便。
该接口一般使用4条线:
串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线SS(有的SPI接口芯片带有中断信号线INT或INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。
SPI的工作模式有两种:
主模式和从模式,无论那种模式,都支持3Mbit/s的速率,并且还具有传输完成标志和写冲突保护标志。
SPI总线时序格式如下图2-2:
图2-2SPI总线时序格式
2.1.4无线模块的工作模式
nRF2401工作模式有四种:
其中收发模式收发模式有EnhancedShockBurstTM收发模式、ShockBurstTM收发模式和直接收发模式三种,第四种模式为掉电等待模式。
收发模式由器件配置字决定,由于篇幅所限这里只介绍将EnhancedShockBurstTM收发模式及其配置和应用。
EnhancedShockBurstTM收发模式下,使用片内的先入先出堆栈区,数据低速从微控制器送入,但高速(1Mbps)发射,这样可以尽量节能,因此,使用低速的微控制器也能得到很高的射频数据发射速率。
与射频协议相关的所有高速信号处理都在片内进行,这种做法有三大好处:
尽量节能;低的系统费用(低速微处理器也能进行高速射频发射);数据在空中停留时间短,抗干扰性高。
EnhancedShockBurstTM技术同时也减小了整个系统的平均工作电流。
EnhancedShockBurstTM发射流程:
(1).把接收机的地址和要发送的数据按时序送入nRF24L01。
(2).配置CONFIG寄存器,使之进入发送模式。
(3).微控制器把CE置高(至少10us),激发nRF24L01进行EnhancedShockBurstTM发射。
(4).N24L01的EnhancedShockBurstTM发射a.给射频前端供电b.射频数据打包(加字头、CRC校验码)c.高速发射数据包d.发射完成,nRF24L01进入空闲状态。
EnhancedShockBurstTM接收流程:
(1).配置本机地址和要接收的数据包大小;
(2).配置CONFIG寄存器,使之进入接收模式,把CE置高;
(3).130us后,nRF24L01进入监视状态,等待数据包的到来;
(4).当接收到正确的数据包(正确的地址和CRC校验码),nRF2401自动把字头、地址和CRC校验位移去;
(5).nRF24L01通过把STATUS寄存器的RX_DR置位(STATUS一般引起微控制器中断)通知微控制器;
(6).微控制器把数据从NewMsg_RF2401读出;
(7).所有数据读取完毕后,可以清除STATUS寄存器。
nRF2401可以进入四种主要的模式之一。
2.1.5配置无线模块实现点对点的通信
首先,参照附录硬件电路,并根据SPI总线的时序格式写出SPI读写函数见附录1。
之后,即可利用上述SPI读写函数,根据附录6中的单片机硬件电路和2.1.4节中的收发流程,以及附录5——nRF2401寄存器及命令,对nRF2401进行配置,配置函数名称为voidcongfig_2401()函数体见附录2。
最后,即可通过下面两个函数方便的实现指定字节数,和指定地址的发送与接收。
发送函数为:
fasong(uchar*f,uchar*s),其中的指针f,s分别为发送数据的首地址,和目的地址的首地址。
接收函数为:
jieshou(uchar*f,uchar*s),指针f,s分别为存放数据缓冲区和接收地址。
发送函数和接收函数体见附录3。
通过软件对不同的nRF2401分配不同的地址,至此,用发送和接收函数即可进行点到点自由通信。
2.2无线通信网络
2.2.1无线网络的概念
无线网络就是用无线介质的物理链路将各个孤立的工作站或主机相连在一起,组成数据链路,从而达到资源共享和通信的目的。
凡将地理位置不同,并具有独立功能的多个计算机系统或者MCU通过通信设备,且以功能相对完善的网络软件(主要是网络协议、信息交换方式及网络操作系统等)实现网络资源共享的系统。
通俗的讲无线通信网络就是将点对点的无线通信统一遵循一套协议,从而能够有效地实现多机的资源共享。
2.2.2点对多点的无线网络实现
点对多点的网络多采取轮询的结构,一个轮询通信系统主要包括一个主站和多个连接到该主站的子站。
该主站包括一个地址控制部分和一个轮询控制部分。
地址控制部分把一个预定的轮询周期分成多种类型的轮询间隔,其中每个轮询间隔具有一个不同的轮询次数,并且保持对应于相应轮询间隔的轮询目标子站的地址。
轮询控制部分切换该轮询间隔,并且依据子站的状态改变在地址控制部分中的地址。
每一个子站包括另一个轮询控制部分,它在该子站被主站轮询时发送一个答复。
在点对点通信实现的情况上下,通过软件定义一个主站,剩余的三个作为从站,有主站顺序的发送询问指令,询问之后收到请求应答即将通信线路释放给该机使用,等其通信完毕再发送返回指令给主机,主机继续下一站轮询……
这种方法的好处在于它有效地避免了通信冲突造成的数据混乱,几乎避免了所有的冲突。
而它的缺点是数据传输的实时性很差,因为任何一个站占用无线介质的时间都是未知的。
这样可能会延误其他基站的紧急信息。
2.3单片机的rs232串口在通信过程中的应用
2.3.1单片机的rs232串口的原理
串口通讯对单片机而言意义重大,不但可以实现将单片机的数据传输到计算机端,而且也能实现计算机对单片机的控制。
由于其所需电缆线少,接线简单,所以在较远距离传输中,得到了广泛的运用。
波特率(BoudRate)就是在串口通信中每秒能够发送的位数(bits/second)。
89S52串行端口在四种工作模式下有不同的波特率计算方法。
其中,模式0和模式2波特率计算很简单,请同学们参看教科书;模式1和模式3的波特率选择相同,故在此仅以工作模式1为例来说明串口通信波特率的选择。
在串行端口工作于模式1,其波特率将由计时/计数器1来产生,通常设置定时器工作于模式2(自动再加模式)。
在此模式下波特率计算公式为:
波特率=(1+SMOD)*晶振频率/(384*(256-TH1))
其中,SMOD——寄存器PCON的第7位,称为波特率倍增位;TH1——定时器的重载值。
在选择波特率的时候需要考虑两点:
首先,系统需要的通信速率。
这要根据系统的运作特点,确定通信的频率范围。
然后考虑通信时钟误差。
使用同一晶振频率在选择不同的通信速率时通信时钟误差会有很大差别。
为了通信的稳定,我们应该尽量选择时钟误差最小的频率进行通信。
2.3.2单片机的rs232串口在无线网络设计调试中的应用
在本设计中所有站收到的和发送出的数据(除系统时钟数据外)都会被MCU都会通过RS232串口上传到PC机,并通过串口调试助手软件显示在电脑上。
有了RS232串口,单片机在无线通信过程中发送的和接收到的数据都可以很容易的串行发送到PC机上,这样就可以通过PC机的屏幕很直观的读出无线系统现在的工作状态与数据传递的具体情况,便于及时的发现问题,调试出错误,并改正、更新、升级软件系统。
3CSMA-CA的多点多主机式无线网络的具体实现方法
物理层:
通信占用2.4GHz全球开放ISM免费使用频段。
最高工作速率2Mbps,高效GFSK调制,抗干扰能力强,126频道,内部寄存器控制,满足多点通信和跳频通信需要,内置硬件CRC检错和点对多点通信地址控制。
数据链路层:
数据帧格式为
前导码
地址(3-5字节)
9位(标志位)
数据1-32字节
CRC校验
数据帧格式
地址、数据和CRC校验的字节数有MCU配置控制。
网络层:
对数据帧加入路由1字节路由信息然后封装,每个系统开机后首先自检然后自动建立自己的路由表,控制本字节实现路由功能(由于本设计只有4个基站,所以最多支持1级中继路由表最多只有三级比较简单)。
传输层:
每次发送数据之前进行载波监听,当检测到载波之后,自动转换载波频率,再次监听..直到发现空白频段,在空白频段首先发送一个字节的询问字节,若正确接收到对方的应答则开始正常通信,若超时未收到应答则说明通信冲突,系统会随机延时一段时间重新询问,继续上边的过程。
网络层的数据包在这里还会被加上一个字节的数据计数信息,以辅助完成滑动窗口流控制传输,保证数据包无重复无丢失的传到目的地。
应用层:
在这里只是在每秒三次时间信息作为冲突演示的对象。
通过串口将每个数据包剥去应用无关的传输层以下的信息,只留下应用信息上传至PC显示。
网络实现的主程序见附录4。
4网络系统的主要流程图
4.1基站的流程图
图4-1基站的流程简图
4.2网络系统流程图
多主式,突发性处理,多路径频段,CSMA/CA无线网络
图4-2网络系统框图
5硬件电路设计介绍
5.1系统电平介绍
5.1.1TTL电平标准
51单片机采用TTL电平标准,TTL集成电路的全名是晶体管-晶体管逻辑集成电路(Transistor-TransistorLogic),主要有54/74系列标准TTL、高速型TTL(H-TTL)、低功耗型TTL(L-TTL)、肖特基型TTL(S-TTL)、低功耗肖特基型TTL(LS-TTL)五个系列。
标准TTL输入高电平最小2V,输出高电平最小2.4V,典型值3.4V,输入低电平最大0.8V,输出低电平最大0.4V,典型值0.2V。
S-TTL输入高电平最小2V,输出高电平最小Ⅰ类2.5V,Ⅱ、Ⅲ类2.7V,典型值3.4V,输入低电平最大0.8V,输出低电平最大0.5V。
LS-TTL输入高电平最小2V,输出高电平最小Ⅰ类2.5V,Ⅱ、Ⅲ类2.7V,典型值3.4V,输入低电平最大Ⅰ类0.7V,Ⅱ、Ⅲ类0.8V,输出低电平最大Ⅰ类0.4V,Ⅱ、Ⅲ类0.5V,典型值0.25V。
nRF2401采用CMOS点评标准CMOS是场效应管构成,TTL为双极晶体管构成CMOS的逻辑电平范围比较大(5~15V),TTL只能在5V下工作CMOS的高低电平之间相差比较大、抗干扰性强,TTL则相差小,抗干扰能力差CMOS功耗很小,TTL功耗较大(1~5mA/门)CMOS的工作频率较TTL略低,但是高速CMOS速度与TTL差不多相当。
为了降低功耗nRF2401采用的工作电压为3.3V。
5.1.2两种电平供电与转化的解决方案
在本设计中采用1117—3.3来讲5V的TTL电平转化为3.3V的CMOS电平供nRF2401使用。
而他们的I/O接口具有兼容性,因此不必做其他的处理。
5.2单片机相关电路
表5-1P1的特殊功能
引脚号
第二功能
P1.0
T2(外部定时计数器输入),时钟输出
P1.1
T2EX(定时计数器T2的)捕捉重载触发信号
P1.5
MOSI(在线编程系统用)
P1.6
MISO(在线编程系统用)
P1.7
SCK(在线系统编程用)
表5-2P3的特殊功能
引脚号
第二功能
P3.0RXD
串行输入口
P3.1TXD
串行输出口
P3.2/INT0
外部中断0
P3.3/INT1
外部中断1
P3.4T0
计时器0外部输入
P3.5T1
计时器1外部输入
P3.6/WR
外部数据存储器写选通
P3.0/RD
外部数据存储器读选通
5.2.1单片机复位电路
为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。
一般微机电路正常工作需要供电电源为5V±5%,即4.75~5.25V。
由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。
目前为止,单片机复位电路主要有四种类型:
(1)微分型复位电路;
(2)积分型复位电路;(3)比较器型复位电路;(4)看门狗型复位电路。
电路图如下:
图5-1复位电路
5.2.2晶振电路
电路图如下:
图5-2晶振电路
晶振是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率是串联谐振,较高的频率是并联谐振。
由于晶体自身的特性致使这两个频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路。
这个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路,由于晶振等效为电感的频率范围很窄,所以即使其他元件的参数变化很大,这个振荡器的频率也不会有很大的变化。
晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。
一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载电容,请注意一般IC的引脚都有等效输入电容,这个不能忽略。
5.2.3单片机串口电路
单片机内部串口与RS232电平转化电路:
图5-3单片机内部串口与RS232电平转化电路
5.3单片机与nRF2401接口电路
5.3.1电平转化
图5-411173.3v电压转换电路
5.3.2单片机和nRF2401的连接
图5-5nRF2401接口电路
5.4系统总体电路图
见附录6
6结论
本设计采用以CSMA/CA为基础的无线网络通信协议,以89S52和nRF2401为硬件平台,不仅有处理突发性多主式通信需求的能力并具有一定的纠错能力和抗干扰能力,和自动识别路由的能力。
从很大程度上改善了旧无线网络轮询式工作,效率较低和通信不可靠的问题;同时也具有很好的移植性,能应与用于现今大部分系统与场所。
同时本系统具有很好的扩展性能。
虽然我们的设计基本实现了我们计划的功能,但是还是有很多的不足,比如说在系统的稳定性和系统反应速度方面还有很大的欠缺,可这些不足正是我们去更好的研究更好的创造的最大动力,只有发现问题面对问题才有可能解决问题,不足和遗憾不会给我打击只会更好的鞭策我前行,今后我更会关注新技术新设备新工艺的出现,并争取尽快的掌握这些先进的知识,更好的为祖国的四化服务。
通过这次比较完整的无线网络应用系统的设计,我摆脱了单纯的理论知识学习状态,和实际设计的结合锻炼了我的综合运用所学的专业基础知识,解决实际工程问题的能力,同时也提高我查阅文献资料、设计手册、设计规范以及电脑编程等专业能力水平,而且通过对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我的能力得
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 无线通信 网络 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)