单片机无线传输系统设计89C51Word格式文档下载.docx
- 文档编号:20358247
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:25
- 大小:814.44KB
单片机无线传输系统设计89C51Word格式文档下载.docx
《单片机无线传输系统设计89C51Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《单片机无线传输系统设计89C51Word格式文档下载.docx(25页珍藏版)》请在冰豆网上搜索。
单片机无线传输系统设计
作者:
指导教师:
摘要:
当今社会发展迅速,人们迫切的期望能随时随地、不受时空限制地进行信息交互。
当今的各种智能化控制系统也离不开数据信息的传输。
其中,无线数据传输是区别于传统的有线传输的新型传输方式,系统不需要传输线缆、成本低廉、施工简单。
现在,有很多的电器产品(如一些家用电器)的操作控制也都采用了无线数据传输方式,一些无线数据传输功能相对简单的电器产品,无线数据传输信号的接收识别往往采用与编码调制芯片配套的译码芯片。
而无线数据传输功能比较复杂的一些电器产品,无线数据传输信号的识别与译码多采用单片机,其编码调制方法也有多种。
本文介绍一种基于AT89S51单片机以及无线收发模块nRF905的无线数据传输方案,以及用单片机对其进行识别的程序设计方法,以供参考。
关键词:
AT89S51单片机,nRF905模块,无线数据传输;
引言
当今的各种智能化控制系统,比如智能化小区内部的无线抄表系统、门禁系统、防盗报警系统和安全防火系统等,工业数据采集系统,水文气象控制系统,机器人控制系统、数字图像传输系统等等,都离不开数据信息的传输。
可以说,数据信息传输系统是各种智能化控制系统的重要组成部分。
[1]在有线数据传输方式当中,数据的传输载体是双绞线、同轴电缆或光纤。
在一些单片机监测系统中,数据采集装置是安装在环境条件恶劣的现场或野外。
采集到的数据通信传输到手持终端,然后通过手持终端送到后台机(PC机)进行数据分析、处理。
这样,数据采集装置与手持终端之间的数据传输需解决通信问题。
若采用有线数据传输方式显然是不合适的。
相比于传统的有线数据传输方式,无线数据传输方式可以不考虑传输线缆的安装问题,从而节省大量电线电缆,并且降低施工难度和系统成本,是一个很有发展潜力的研究课题。
无线数据传输因其传输距离远和受障碍影响小而得到广泛应用,随着各种专用无线数据传输集成电路和无线数据传输发射和接收专用集成电路的不断涌现,使许多复杂的无线数据传输系统的设计变得愈来愈简单,而且工作稳定性可靠。
本文介绍利用单片机以及发射/接收模块电路实现的一种无线数据传输系统的设计思想。
给出了无线数据传输系统的工作原理、硬件设计方案和软件设计方案。
1总体设计
1.1设计技术背景
1.1.1AT89S51单片机简介
AT89S51是一个低功耗,高性能CMOS
8位单片机,片内含4k
Bytes
ISP(In-system
programmable)的可反复擦写1000次的Flash只读程序存储器[2],器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,其DIP封装的引脚图如图1所示,芯片内集成了通用8位中央处理器和ISP
Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
图1AT89S51芯片DIP封装引脚
此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
1.1.2AT89S51主要功能特点
1、为一般控制应用的8位单芯片
2、晶片内部具时钟振荡器(传统最高工作频率可至12MHz)
3、内部程式存储器(ROM)为4KB
4、内部数据存储器(RAM)为128B
5、外部程序存储器可扩充至64KB
6、外部数据存储器可扩充至64KB
7、32条双向输入输出线,且每条均可以单独做I/O的控制
8、5个中断向量源
9、2组独立的16位定时器
10、1个全多工串行通信端口
11、8751及8752单芯片具有数据保密的功能
图1
12、单芯片提供位逻辑运算指令
13、看门狗(WDT)电路
1.2单片机无线数据传输原理
1.2.1单片机无线数据传输原理概述
无线数据传输有发送和接收两个组成部分。
[3]发送端采用单片机将待发送的二进制信号编码调制为一系列的脉冲串信号,通过无线数据传输模块中的发射模块发射信号。
无线数据传输接收端普遍采用价格便宜,性能可靠的一体化无线数据传输接收模块、接收无线数据传输信号,它同时对信号进行放大、检波、整形,得到TTL电平的编码信号,再送给单片机,经单片机解码并执行,去控制相关对象,其原理如图2所示。
图2无线数据传输原理
1.2.2无线数据传输常用编码方式
第一种:
FSK式(移频键控方式FrequencyShiftKeying),又称数字调频。
[4]如果用改变载波频率的方法来传送二进制符号,就是移频键控(FSK)的方法。
这时其频谱可以看成码列对低频载波的开关键控加上码列的反码对高频载波的开关键控。
移频键控方式用两种不同的脉冲频率分别表示二进制数的“0”和“1”。
用2个频率传输1“位”二进制,这是最安全的方法,缺点是成本高、功耗大。
所以,在电器的遥控器中极少应用。
图3是表示用2个频率对“二进制位”的“0”和“1”进行编码的示意图。
在FSK方式中,相邻码元的频率不变或者跳变一个固定值。
在两个相邻的频率跳变的码元之间,其相位通常是不连续的。
图3FSK编码方式
第二种:
曼彻斯特编码方式又称双相调制编码方式,常用于局域网传输。
在曼彻斯特编码中,每一位的中间有一跳变,位中间的跳变既作时钟信号,又作数据信号;
从高到低跳变表示"
1"
,从低到高跳变表示"
0"
。
在长虹、创维等彩电的控制器中,就采用了这种双相调制方式。
还有一种是差分曼彻斯特编码,每位中间的跳变仅提供时钟定时,而用每位开始时有无跳变表示"
或"
,有跳变为"
,无跳变为"
两种曼彻斯特编码是将时钟和数据包含在数据流中,在传输代码信息的同时,也将时钟同步信号一起传输到对方,每位编码中有一跳变,不存在直流分量,因此具有自同步能无线数据传输发射部分,一般由一个能产生等幅振荡的高频载频振荡器和一个产生低频调制信号的低频振荡器组成。
用来产生载频振荡的电路一般有多谐振荡器、互补振荡器和石英晶体振荡器等由低频振荡器产生的低频调制波,一般为宽度一定的方法。
如果是多路控制可以采用每一路宽度不同的方波,或是频率不同的方法去调制高频载波,组成一组组的已调制波,作为控制信号向空中发射。
但每一个码元都被调成两个电平,所以数据传输速率只有调制速率的1/2。
曼彻斯特编码“二进制位”的表示方法如图4所示。
图4曼彻斯特编码方式
第三种:
脉宽调制编码方式,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。
这种编码方式根据脉冲上升沿之间的距离决定“二进制位”是“0”还是“1”,两脉冲上升沿之间距离短为“0”,距离长为“1”。
如图5所示,脉宽编码用在载波或脉冲调制方式中.家用录像机,VCD,DVD的遥控器多采用脉宽编码方式。
图5脉宽调制编码方式
1.2.3无线数据传输解码
无线数据传输信号的解码硬件解码可分为专用解码集成电路和自行设计的解码电路两种。
专用解码芯片一般与专用编码芯片配对设计制造。
[5]按其编码与解码功能可分为以下三类:
(1)控制数据的地址加密编码与解码器:
这类电路的特点是在地址加密编码的同时还可以进行控制数据的编解码。
其编码容量大,保密性好。
适用于安防、工业控制等对可靠性要求较高的场合。
(2)地址加密编码与解码器:
这一类电路无控制数据编码仅有加密地址编解码功能。
适用于可靠性要求较高,但只进行简单的开关或增减控制的场合。
(3)控制数据编码与解码器:
这类电路无加密地址编码仅有控制数据的编解码。
适用于群控或者应用环境本身就保证了其他信号发射源不会同时出现的场合,如在一个密闭的设备内部。
使用专用的硬件编码解码对芯片,简便可靠,使用广泛,不再多述。
一般来说硬件解码相对软件解码成本较高,并且当系统因更改或升级改变了编码方式时,接收的硬件就要做相应的更改,缺乏一定的灵活性。
当MCU的任务不是很繁重时,可以考虑使用软件解码。
对于频率调制方式,只要测出每次脉冲的周期就可以解码出对应的二进制信息。
方法有很多种,中断、查询都可以实现,具体方法因实际情况而定。
对于脉宽调制(PWM),只要识别出每个脉冲的高(或低)电平宽度即可完成解码。
对于2脉位调制(2PPM),需要判断出每个周期内高低电平出现的先后次序,从而实现解码。
单片机无线数据传输软件解码要保证正确无误地还原无线数据传输信息码,其主要功能包括以下几部分:
(1)过滤附加信息,得到有效信息位。
(2)排除系统内外各种干扰信号。
(3)丢弃接收到的不完整信息帧。
(4)检验接收信息的正确性。
为了能够达到上述要求,解码方式采用无线数据传输信号的解码由接收单片机来完成,它把无线数据传输接收模块送来的无线数据传输编码波形通过解码,还原出发送端发送的数据。
当接收到起始帧后,进入解码部分,接收完一帧后,处理收到的数据并进入下一次接收。
解码采用软件解码,如果从一个脉冲的高电平和一个脉冲的低电平过后,若读到的电平为低,说明该位为“0”,反之即可判定为编码“1”。
解码一位后,需等到下一位的高电平到来,再读到一个低电平后,判断读得的电平是高还是低,进行解码。
按照这种方法判断八次,从而还原出发送端发送的信号。
这样,根据事先约定代码所代表的功能,单片机就可以去执行各种控制动作,从而达到无线数据传输的目的。
1.2.4无线数据传输调制和解调
无线数据传输系统的调制和解调为了使数据传送的距离较长,在发射信号前要对信号进行调制,调制的方法是将原信号与一个载波相与。
射频接收模块接收发射的已调制信号,并对信号进行解调恢复原来的调制信号。
解调过的信号经过放大后送入单片机中进行解码。
[6]对移动通信的数字调制和解调器技术的要求如下:
(1)在信道衰落条件下,误码率要尽可能低;
(2)发射频谱窄,对相邻信道干扰小;
(3)高效率的解调,以降低移动台功耗,进一步缩小体积和成本;
(4)能提供较高的传输速率;
(5)易于集成。
2无线数据收发模块
2.1无线收发模块nRF905简介
nRF905是挪威NordicVLSI公司推出的单片射频收发器,工作电压为1.9~3.6V,32引脚QFN封装(5×
5mm),工作于433/868/915MHz三个ISM(工业、科学和医学)频道,频道之间的转换时间小于650μs。
nRF905由频率合成器、接收解调器、功率放大器、晶体振荡器和调制器组成,不需外加声表滤波器,ShockBurstTM工作模式,自动处理字头和CRC(循环冗余码校验),使用SPI接口与微控制器通信,配置非常方便。
此外,其功耗非常低,以-10dBm的输出功率发射时电流只有11mA,工作于接收模式时的电流为12.5mA,内建空闲模式与关机模式,易于实现节能。
nRF905适用于无线数据通信、无线报警及安全系统、无线探测、无线监测、家庭自动化和玩具等诸多领域。
2.2nRF905无线模块特点
(1)
433Mhz开放ISM
频段免许可证使用
(2)
最高工作速率50kbps,高效GFSK调制,抗干扰能力强,特别适合工业控制
场合
(3)
125
频道,满足多点通信和跳频通信需要
(4)
内置硬件CRC
检错和点对多点通信地址控制
(5)
低功耗1.9
-
3.6V
工作,待机模式下状态仅为2.5uA
(6)收发模式切换时间<
650us
(7)
模块可软件设地址,只有收到本机地址时才会输出数据(提供中断指示),可直接接各种单片机使用,软件编程非常方便
(8)
TX
Mode:
在+10dBm情况下,电流为30mA;
RX
12.2mA
(9)
标准DIP间距接口,便于嵌入式应用
(10)RFModule-Quick-DEV
快速开发系统,含开发板
2.3工作模式及芯片结构
nRF905有两种工作模式和两种节能模式。
两种工作模式分别是ShockBurstTM接收模式和ShockBurstTM发送模式,两种节能模式分别是关机模式和空闲模式。
[7]nRF905的工作模式由TRX_CE、TX_EN和PWR_UP三个引脚决定,如表1所示:
表1nRF905的工作模式与引脚关系
PWR_UP
TRX_CE
TX_EN
工作模式
X
掉电和SPI编程
1
Standby和SPI编程
ShockBurstRX
ShockBurstTX
与射频数据包有关的高速信号处理都在nRF905片内进行,数据速率由微控制器配置的SPI接口决定,数据在微控制器中低速处理,但在nRF905中高速发送因此中间有很长时间的空闲,这很有利于节能。
[8]由于nRF905工作于ShockBurstTM模式,因此使用低速的微控制器也能得到很高的射频数据发射速率。
在ShockBurstTM接收模式下,当一个包含正确地址和数据的数据包被接收到后,地址匹配(AM)和数据准备好(DR)两引脚通知微控制器。
在ShockBurstTM发送模式,nRF905自动产生字头和CRC校验码,当发送过程完成后,数据准备好引脚通知微处理器数据发射完毕。
由以上分析可知,nRF905的ShockBurstTM收发模式有利于节约存储器和微控制器资源,同时也减小了编写程序的时间。
下面具体详细分析nRF905的发送流程和接收流程。
nRF905片内集成了电源管理、晶体振荡器、低噪声放大器、频率合成器、功率放大器等模块,曼彻斯特编码/解码由片内硬件完成,无需用户对数据进行曼彻斯特编码,使用非常方便。
3系统软硬件设计
3.1硬件设计
3.1.1概述
无线数据传输系统一般由无线数据传输的发射系统、无线数据传输接收系统、处理系统、执行机构构成。
其发射系统由可编程的集成芯片及外围电路构成;
接收系统由检波放大整形电路及无线数据传输接收芯片构成;
处理系统由单片微处理机芯片及外围电路构成。
[9]主要芯片均系无线数据传输专用集成芯片。
由无线数据传输发射系统输出的信号是经高频调制后的二进制高频编码脉冲串,它由起始码及信息码构成。
这种发送方式具有下述优点:
无线数据传输脉冲宽度稳定且不会由于数据的内容而改变功率消耗;
采用高频调制的无线数据传输信号抗干扰能力强,使无线数据传输信号易于分离和区别;
已调脉冲列可用一个窄带接收器进行接收,可提高无线数据传输系统的抗干扰能力;
在高频下间隔进行开关,可减小消耗功率,单片机与模块连接设计如图6所示。
图6单片机与模块连接设计
3.1.2电路原理
nRF905在使用中,根据不同需要,其电路图不尽相同,图7所示为典型的应用原理图,该电路天线部分使用的是50Ω单端天线。
[10]在nRF905的电路板设计中,也可以使用环形天线,把天线布在PCB板上,这可减小系统的体积。
图7nRF905典型应用电路图
3.1.3SPI接口配置
所有配置字都是通过SPI接口送给nRF905。
[11]SPI接口的工作方式可通过SPI指令进行设置。
当nRF905处于空闲模式或关机模式时,SPI接口可以保持在工作状态。
SPI读操作如图8,写操作如图9
图8SPI读操作
图9SPI写操作
SPI接口由状态寄存器、射频配置寄存器、发送地址寄存器、发送数据寄存器和接收数据寄存器5个寄存器组成。
状态寄存器包含数据准备好引脚状态信息和地址匹配引脚状态信息;
射频配置寄存器包含收发器配置信息,如频率和输出功能等;
[12]发送地址寄存器包含接收机的地址和数据的字节数;
发送数据寄存器包含待发送的数据包的信息,如字节数等;
接收数据寄存器包含要接收的数据的字节数等信息,串行接口指令如表2。
表2串行接口指令
SPI串行接口指令
指令名称
指令格式
操作
W_CONFIG(WC)
0000AAAA
写配置寄存器。
AAAA指出写操作的开始字节,字节数量取决于AAAA指出的开始地址。
R_CONFIG(RC)
0001AAAA
读配置寄存器。
AAAA指出读操作的开始字节,字节数量取决于AAAA指出的开始地址
W_TX_PLAYLOAD(WTP)
00100000
写TX有效数据:
1-32字节。
写操作全部从字节0开始。
R_TX_PLAYLOAD(RTP)
00100001
读TX有效数据:
读操作全部从字节0开始。
W_TX_ADDRESS(WTA)
00100010
写TX地址:
1-4字节。
R_TX_ADDRESS(RTA)
00100011
读TX地址:
R_RX_PLAYLOAD(RRP)
00100100
读RX有效数据:
读操作全部从字节0开始
CHANNEL_CONFIG(CC)
1000pphccccccccc
快速设计配置寄存器中CH_NO,HFREQ_PLL和PA_PWR的专用命令。
CH_NO=ccccccccc;
HFREQ_PLL=h;
PA_PWR=pp
射频配置寄存器和内容如表3
表3射频配置寄存器和内容
参数
位宽
说明
CH_NO
9
同HFREQ_PLL一起设置中心频率默认值=001101100b=180d
FRF=422.4+CH_NOd/10*(1+HFREQ_PLLd)MHZ
HFREQ_PLL
设置PLL在433或868/915MHZ模式默认值=0。
0‐器件工作在433MHZ频段
1‐器件工作在868/915MHZ频段
PA_PWR
2
输出功率默认值=0000‐10dBm01‐2dBm
10+6dBm11+10dBm
RX_RED_PWR
降低接收模式电流消耗至1.6mA灵敏度降低默认值=0。
0‐正常模式;
1‐低功耗模式
AUTO_RETRAN
重发数据如果TX寄存器的TRX_CE和TX_EN被设置为高默认值=0。
0‐不重发数据;
1‐重发数据包
RX_AWF
3
RX地址宽度默认值=100
001‐1字节RX地址宽度;
100‐4字节RX地址宽度
TX_AWF
TX地址宽度默认值=100
001‐1字节TX地址宽度;
100‐4字节TX地址宽度
RX_PW
6
RX接收有效数据宽度默认值=100000
000001‐1字节RX有效数据宽度
000010‐2字节RX有效数据宽度
100000‐32字节RX有效数据宽度
TX_PW
TX有效数据宽度默认值=100000
000001‐1字节TX有效数据宽度
000010‐2字节TX有效数据宽度
100000‐32字节TX有效数据宽度
3.2软件设计
3.2.1概述
硬件解码电路较复杂,外围器件过多,且当发射模块的类型不同时不易改动,不利于模块化,而软件解码就克服了这些缺点。
在软件解码无线数据传输系统中,解码的核心是单片机,电路极为简单,无须外围器件。
[13]它接收解调出的串行二进制码,在内部根据本系统的无线数据传输信号编码格式将串行码对应成发射电路上的按键,便于利用,易于兼容,当发射模块的类型不同时只需对程序稍加改动即可。
本软件的主要任务是在单片机AT89S51的控制之下完成数据的正确传输。
3.2.2发射程序
#include<
reg52.h>
intrins.h>
#defineuintunsignedint
#defineucharunsignedchar
sbitTX_EN=P3^5;
sbitTRX_CE=P1^1;
sbitPWR_UP=P3^4;
sbitCD=P3^3;
sbitAM=P1^3;
sbitDR=P3^2;
sbitMISO=P1^6;
sbitMOSI=P1^4;
sbitSCK=P1^7;
sbitCSN=P1^5;
sbitled=P3^0;
sbitkey1=P1^2;
sbitkey2=P1^0;
sbitkey3=P3^7;
ucharkey_value=0;
voidDelay(uintx)
{
uinti;
for(i=0;
i<
x;
i++)
{
_nop_();
}
}
voidSpiWrite(uchardate)
uchari=8;
while(i--)
Delay(10);
MOSI=(bit)(date&
0x80);
date<
<
=1;
SCK=1;
SCK=0;
voidTxPacket(void)
{
PWR_UP=1;
TX_EN=1;
TRX_CE=0;
Delay
(2);
CSN=0;
SpiWrite(0x22);
//写发送地址,后面跟4字节地址//
SpiWrite(0xE7);
CSN=1;
SpiWrite(0x20);
//写发送数据命令,后面跟三字节数据//
SpiWrite(0x01);
SpiWrite(0x02);
SpiWrite(key_value);
Delay(5);
TRX_CE=1;
//使能发射模式//
Delay(500);
//等带发送完成//
while(!
DR);
}
////////////初始化配置寄存器////////////////
voidIni_System(void)
S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 无线 传输 系统 设计 89 C51