单片机无线数据传输系统设计的原理单片机无线数据传输系统设计的原理单片机无线数据传输系统设计的原理单
更新时间:2024-01-12 10:52:01 阅读量: 教育文库 文档下载
单片机无线数据传输系统设计的原理单片机无线数据传输系统设计的原理单片机无线数据传输系统设计的原理单片机无线数据传输系统设计的原理 1.1 单片机无线数据传输原理概述 无线数据传输有发送和接收两个组成部分。发送端采用单片机将待发送的二进制信号编码调制为一系列的脉冲串信号,通过无线数据传输模块中的发射模块发射信号。无线数据传输接收端普遍采用价格便宜,性能可靠的一体化无线数据传输接收模块(如QwikRadio射频接收模块,它接收无线数据传输信号频率为433.92 MHz,数据速率为10Kbps) 接收无线数据传输信号,它同时对信号进行放大、检波、整形,得到TTL 电平的编码信号,再送给单片机,经单片机解码并执行,去控制相关对象,如图1-1所示。
按键数目又不可能太多, 在这种情况下, 我们发射出去的温度调节信号就不能只是简单的“加”和“减”和“开”和“关”, 还应该把设置的温度值一起发射出去。这时就要使用以MCU 为核心的无线数据传输发射电路。在以MCU 为核心的无线数据传输发射电路中,MCU 完成按键的识别、编码工作, 调制既可由硬件电路完成也可以由软件模拟完成。因为如前所述, 无线数据传输的载波频率比较低, MCU 的速度完全可以满足要求。产生出来的发射信号同样只要经过驱动即可发射出去。 二进制信号的编码: 传统通讯传送的信息以模拟信号出现,表现为一种连续的信号, 而现代通讯系统传送的方式是采用数字信号的方式。无线数据传输采用不同的脉宽宽度来实现二进制信号的编码,可由发送单片机来完成。 为了满足上述对无线数据传输的要求 , 传输指令的传送可以通过改变光学载体 (红外线)的编码来传输 ,其字长可以变化 ,即一个字可以包括不同的二进制位数.在传输系统中有3 种“二进制位”的表示方法 ,即通常所说的“0”,“1”的表示方法。 第一种:FSK式(移频键控方式Frequency Shift Keying), 又称数字调频。如果用改变载波频率的方法来传送二进制符号,就是移频键控(FSK)的方法。这时其频谱可以看成码列对低频载波的开关键控加上码列的反码对高频载波的开关键控。移频键控方式用两种不同的脉冲频率分别表示二进制数的“0”和“1”。用2个频率传输1“位”二进制 ,这是最安全的方法,缺点是成本高、功耗大。所以 ,在电器的遥控器中极少应用。图1-2是表示用2个频率对“二进制位”的“0”和“1”进行编码的示意图。在FSK方式中,相邻码元的频率不变或者跳变一个固定值。在两个相邻的频率跳变的码元之间,其相位通常是不连续的。
第二种:曼彻斯特编码方式 又称双相调制编码方式 ,常用于局域网传输。在曼彻斯特编码中,每一位的中间有一跳变,位中间的跳变既作时钟信号,又作数据信号;从高到低跳变表示\,从低到高跳变表示\。,在长虹、创维等彩电的控制器中,就采用了这种双相调制方式。还有一种是差分曼彻斯特编码,每位中间的跳变仅提供时钟定时,而用每位开始时有无跳变表示\或\,有跳变为\,无跳变为\。两种曼彻斯特编码是将时钟和数据包含在数据流中,在传输代码信息的同时,也将时钟同步信号一起传输到对方,每位编码中有一跳变,不存在直流分量,因此具有自同步能 无线数据传输发射部分,一般由一个能产生等幅振荡的高频载频振荡器和一个产生低频调制信号的低频振荡器组成。用来产生载频振荡的电路一般有多谐振荡器、互补振荡器和石英晶体振荡器等由低频振荡器产生的低频调制波,一般为宽度一定
的方法。如果是多路控制可以采用每一路宽度不同的方波,或是频率不同的方法去调制高频载波,组成一组组的已调制波,作为控制信号向空中发射。 接收电路从工作方式分,可以分成超外差接收方式和超再生接收方式。超外差原理利用本地产生的振荡波与输入信号混频,将输入信号频率变换为某个预定的频率的电路。其优点是: ①容易得到足够大而且比较稳定的放大量。②具有较高的选择性和较好的频率特性。③容易调整。缺点是电路比较复杂 ,同时也存在着一些特殊的干扰 ,如相频干扰、组合频率干扰和中频干扰等。超再生电路实际上是一个受控间歇振荡的高频振荡器,这个高频振荡器采用电容三点式振荡器,振荡频率和发射器的发射频率相一致。而间歇振荡又是在高频振荡过程中产生的,反过来又控制着高频振荡器的振荡和间歇。间歇振荡的频率是由电路的参数决定的。这个频率选低了,电路的抗干扰性能较好,接收灵敏度降低;反之亦然。超再生式接收方式具有电路简单、性能适中、成本低廉的优点所以在实际应用中被广泛采用。 1.1.1 无线数据传输编码原理 无线数据传输按编码产生方式分为专用芯片编码方式和自定义编码方式两种。 (1) 专用芯片编码方式: 有固定的调制方式和帧结构,可用硬件、也可以用软件来实现解码。 (2) 自定义编码方式: 调制方式和帧结构都由自己定义,采用这种编码方式时一般都需要采用软件解码。 有许多专用的无线数据传输发射芯片把按键识别、编码、调制功能集成在一块芯片中, 输出发射信号, 只要经过驱动即可通过芯片把无线数据传输信号发射出去。这种发射方式简单可靠、基本不用调试即可使用,。大多数发射芯片采用低功耗设计, 特别适用于手持式遥控器中。虽然专用芯片使用简便, 但对于某些场合却并不适用。最简单的例子就是空调遥控器, 用户必须从遥控发射端知道空调当前的设置状态, 而遥控器的力和良好的抗干扰性能。但每一个码元都被调成两个电平,所以数据传输速率只有调制速率的1/2。曼彻斯特编码“二进制位”的表示方法如图
1-3所示。
第三种:脉宽调制编码方式 ,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。这种编码方式根据脉冲上升沿之间的距离决定“二进制位”是“0”还是“1”,两脉冲上升沿之间距离短为“0”,距离长为“1”。如图1-4 所示 ,脉宽编码用在载波或脉冲调制方式中.家用录像机 ,VCD,DVD的遥控器多采用脉宽编码方式。
脉宽调制编码方式的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换。让信号保持为数字形式可将噪声影响降到最小。噪声只有在强到足以将逻辑1改变为逻辑0或将逻辑0改变为逻辑1时,也才能对数字信号产生影响。 对噪声抵抗能力的增强是脉宽调制编码方式相对于模拟控制的另外一个优点,而且这也是在某些时候将脉宽调制编码方式用于通信的主要原因。从模拟信号转向脉宽调制编码方式可以极大地延长通信距离。在接收端,通过适当的RC或LC网络可以滤除调制高频方波并将信号还原为模拟形式。 本文采用不同的脉宽宽度来实现二进制信号的编码 ,这种编码调制方法类似于脉宽调制编码方式,编码过程可由发送单片机来完成。用图1-5(a)表示二进制信号中的高电平?1?,其
特征是脉冲中低电平与高电平的宽度均相等,即由一个脉冲的高电平和一个脉冲的低电平组成;用图1-5(b)表示二进制信号中的低电平?0?,其特征是脉冲中高电平的宽度和低电平的宽度不相等,低电平的宽度是高电平的二倍 ,相当于一个脉冲的高电平加上两个脉冲的低电平。上述的脉冲宽度可以适当地调整 ,以适应不同数据传输速度的需要。
1.1.2 无线数据传输信号的解码 硬件解码可分为专用解码集成电路和自行设计的解码电路两种。专用解码芯片一般与专用编码芯片配对设计制造。按其编码与解码功能可分为以下三类: (1) 控制数据的地址加密编码与解码器: 这类电路的特点是在地址加密编码的同时还可以进行控制数据的编解码。其编码容量大,保密性好。适用于安防、工业控制等对可靠性要求较高的场合。 (2) 地址加密编码与解码器: 这一类电路无控制数据编码仅有加密地址编解码功能。适用于可靠性要求较高,但只进行简单的开关或增减控制的场合。 (3) 控制数据编码与解码器: 这类电路无加密地址编码仅有控制数据的编解码。适用于群控或者应用环境本身就保证了其他信号发射源不会同时出现的场合,如在一个密闭的设备内部。使用专用的硬件编码解码对芯片,简便可靠,使用广泛,不再多述。一般来说硬件解码相对软件解码成本较高,并且当系统因更改或升级改变了编码方式时, 接收的硬件就要做相应的更改,缺乏一定的灵活性。当MCU 的任务不是很繁重时,可以考虑使用软件解码。对于频率调制方式, 只要测出每次脉冲的周期就可以解码出对应的二进制信息。方法有很多种,中断、查询都可以实现,具体方法因实际情况而定。对于脉宽调制(PWM),只要识别出每个脉冲的高(或低)电平宽度即可完成解码。对于2 脉位调制(2PPM),需要判断出每个周期内高低电平出现的先后次序,从而实现解码。单片机无线数据传输软件解码要保证正确无误地还原无线数据传输信息码,其主要功能包括以下几部分: (1) 过滤附加信息,得到有效信息位。(2)排除系统内外各种干扰信号。(3)丢弃接收到的不完整信息帧。(4)检验接收信息的正确性为了能够达到上述要求,本系统使用的解码方式是无线数据传输信号的解码由接收单片机来完成,它把无线数据传输接收模块送来的无线数据传输编码波形通过解码,还原出发送端发送的数据。当接收到起始帧后,进入解码部分,接收完一帧后,处理收到的数据并进入下一次接收。解码采用软件解码, 如果从一个脉冲的高电平和一个脉冲的低电平过后, 若读到的电平为低, 说明该位为“0”, 反之即可判定为编码“1”。解码一位后,需等到下一位的高电平到来,再读到一个低电平后,判断读得的电平是高还是低,进行解码。按照这种方法判断八次,从而还原出发送端发送的信号。这样,根据事先约定代码所代表的功能,单片机就可以去执行各种控制动作,从而达到无线数据传输的目的。 1.1.3 无线数据传输协议 通讯中几个重要的方面包括传输速度、数据准确度、数据的完整性等,也就是要求解码能尽可能准确。为了达到这些要求,需在一定脉冲频率下按照一定的时间约定进行数据传送,也就是一种简单的协议。为了保证数据的正确性,尽量采
用大于的脉冲,并经过多次的反复测定,对脉冲进行多次采样,选用几种延时程序等。无线数据传输协议除了规定无线数据传输信号的载波频率、编码方式、脉冲宽度等信息外,还对无线数据传输的格式进行了严格的规定,以确保发送端和接收端之间无线数据传输的准确无误。无线数据传输协议是为了进行无线数据传输所制定的标准。几乎所有的无线数据传输系统都是按照特定的无线数据传输协议来进行信号传输的。因此,要设计制作无线数据传输系统,首先要制定无线数据传输协议,以及了解与之相关的无线数据传输发射和接收模块。 基于字节传输的无线数据传输数据格式 本系统的传输数据格式是:在发送字节的开始先通过单片机发送5个脉冲宽度的高电平和5个脉冲宽度的低电平作为传输开始,接着发送8 位数据 (字节高位在前,低位在后),如下图所示。
图1-6 基于字节传输的无线数据传输数据格式
1.1.4 无线数据传输系统的调制和解调 为了使数据传送的距离较长,在发射信号前要对信号进行调制,调制的方法是将原信号与一个载波相与。QwikRadio射频接收模块,DATA是信号输出端。QwikRadio射频接收模块接收发射的已调制信号,并对信号进行解调恢复原来的调制信号。解调过的信号经过放大后送入单片机中进行解码。 对移动通信的数字调制和解调器技术的要求如下: (1)在信道衰落条件下,误码率要尽可能低; (2)发射频谱窄,对相邻信道干扰小; (3)高效率的解调,以降低移动台功耗,进一步缩小体积和成本; (4)能提供较高的传输速率; (5)易于集成。 1.2 AT89S51单片机的原理 AT89S51单片机是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4K bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器,既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价at89s51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。AT89S51提供以标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作直到下一个硬件复位。 主要性能参数 ·与MCS-51产品指令系统完全兼容 ·4K字节在系统编程(ISP)Flash闪速存储器 ·1000次擦写周期 ·4.0-5.5V的工作电压范围 ·全静态工作模式:0HZ-33MHZ ·三级程序加密锁 ·128*8字节内部RAM ·32个可编程I/O口线 ·2个16位定时/计数器 ·6个中断源 ·全双工串行UART通道 ·低功耗空闲和掉电模式 ·中断可从空闲模式唤醒系统 ·看门狗(WDT)及双数据指针
·掉电标识和快速编程特性 ·灵活的在系统编程(ISP-字节或页写模式)
引脚功能说明 VCC:电源电压 GND:地 P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端使用。在访问外部存储器或程序存储器时,这组I/O口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 P1口:P1口是一个带有内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可以作为输入口。作为输入口时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。Flash编程和程序校验期间,P1接收8位地址。 P2口:P2口是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器时,P2口线上的内容(也即特殊功能寄存器(SFR)区中P2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其他控制信号。 P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可以作为输入端口。作为输入端时,被外部拉低的P3口将用上拉电阻输出电流。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表所示:
超再生和超外差电路性能各有优缺点,超再生接收机价格低廉,经济实惠,但是缺点也很明显,那就是频率受温度漂移大,抗干扰能力差。超外差式接收机优点是频率稳定,抗干扰能力好,和单片机配合时性能比较稳定,缺点价格高于超再生接收机,而且近距离强信号时可能有阻塞现象。 无线数据传输接收芯片MICRF002的应用说明 美国Micrel半导体公司最新推出MICRF002是MICRF001和MICRF011的增强型系列产品,主要应用于无线遥控方面。它是单片无线OOK(ON-OFF Keyed)接收扫频芯片,高频信号接收功能全部集成于片内以达到用最少的外围器件和最低的成本获得最可靠的接收效果。所以说MICRF002是真正意义上的“天线高频AM信号输入,数字信号输出”的单片接收器件。同时,片内自动完成所有的RF及IF调谐,这样在开发和生产中就省略了手工调节的工艺过程,自然也降低了成本,增强了产品的竞争力。 MICRF002可以提供两种基本的工作模式,既固定模式(FIXED MODE)和 扫频模式(SWP MODE)。在FIXED工作模式下,MICRF002如同传统的超外差式接收机一样片内产生固定频率的本振信号,你需要做的仅仅是外接一只石英晶振或输入外部时钟信号。和传统的超外差式接收器类似,需要发射机的发射频率特别精确稳定,所以通常都需要石英晶振和声表面滤波SAW (Surface Acoustic Wave)。 在SWP工作模式下,MICRF002以高于基带数据传输的扫频频率对内部本振进行扫频相当于更有效的”扩宽”了RF接收的带宽,性能完全等同于传统超再生接收器。因此,可以用廉价的外围器件和免调谐LC发射机。在这种工作模式下,外部参考石英晶振也可以用低成本±0.5%误差的陶瓷振荡器代替。 相对于MICRF001/011 MICRF002增加了两项功能: (1) 关闭模式(Shutdown Mode)用于停止操作系统进入低功耗状态 (2) 唤醒功能,芯片接收到有RF信号输入后会向主控制器发出一“唤醒信号”叫醒CPU,通知其退出stand by状态。这些功能更有利于用户设计低功耗或超低功耗产品,如RKE & RFID。 AM输入信号的解调及滤波都集成在MICRF002片内,从而不需要设计外部滤波器。用户可以通过设制sel0和sel1的状态来选择四个带宽滤波器中的任何一个。FIXED模式或SWP模式带宽范围都按2^n模递变: a. FIXED模式: 从0.625KHz到5KHz. b. SWP模式: 从1.25KHz到10KHz. 用户可以设定滤波器以选择相应的数据传输率和代码解调格式。 特性: ·完全的单片UHF接收器件 ·频率范围300-440 MHz ·典型通讯距离超过200米 (用单极性天线) ·传输速率2.5kbps (SWP) 10kbps (FIXED) ·自动调谐,无需手动调节 ·无需外接滤波器和电感
·低功耗:240 μA(在315MHz,10:1占空比) ·Shutdown模式下功耗为正常操作的1% ·唤醒功能用于使能外部解码板和MCU ·RF天线辐射非常低
·标准的CMOS接 口控制及解码数据输出 ·最经济的外围器件设计方案 应用领域 ·遥控键盘 ·远距离 RFID ·遥控扇/灯
·遥控门 典型电路 385.5 MHz,1200 bps
OOK
标准的16-pin封装MICRF002提供了所有工作模式和滤波器带宽的选择。8-pin封装可以用于设计更低成本的产品。同时这种8-pin版本可以欲先设定在SWP模式,滤波器带宽设定在5000Hz,可控制SHUT脚,使MICRF002进入SHUT DOWN模式。 引脚排布(DIP 和SOIC)
额定参数 电源
电压(VDDRF,VDDBB)…..+7V
I/O端口电压…………..VSS-0.3 to VDD+0.3V 节点温度………………+150℃ 储藏温度范围…………-65℃
to +150℃ 焊接温度(焊接时间10秒)………+260℃
工作参数 电源电压(VDDRF,VDDBB)……….4.75V to 5.5V 工作环境温度范围(TA)…………….-40℃ to +85℃ 封装热敏电阻θjA(16 Pin DIP)………90℃/W
封装热敏电阻θjA(16 Pin SOIC)………120℃/W
防静电ESD灵敏度:符合1ESD级 测试要求(手工模式,HBM),依据MIL-STD-883C标准,采用方法:Method 3015要求防静电存储,防静电操作。 功能描述:
如图1-19所示:
MICRF002分为(1)UHF降频变换器(2)OOK解调器(3)参考时钟及控制和(4)唤醒功能四个功能块。用它组成一个完整的UHF接收器,只需要2个电容(CTH,CAGC)和1个时钟器件(通常为陶瓷震荡器),当然外部还需要1个电源滤波器电容。4个控制输入脚(SEL0,SEL1,SWEN,SHUT)用来选择芯片的工作模式和带宽芯片内部已有上拉电阻,不再需要外加上拉电阻。 SWEN:选择芯片工作模式。当SWEN输入地电平,芯片工作于固定(FIXED)模式;当SWEN输入高电平,芯片工作于扫频(SWP)模式。 在SWP模式下,芯片内部震荡器(LO)会在一定范围内扫动(扫动频率远大于数据波特率),这样能增加RF带宽。因此,当发射和接收中心频点不太对准时(例如发射为一低成本的LC震荡),建议使用SWP工作模式(注意:内部振荡器扫动不会影响IF带宽)。为减少内部振荡器扫动对接收的影响,在SWP模式下,数据波特率应小于2.5kbps。否则,建议使用FIXED模式。 当发射频率非常精确(例如用SAW),用户应尽可能采用FIXED模式。在FIXED模式下,内部震荡器(LO)固定,此时外部时钟应采用晶体震荡器。 SEL0,SEL1:选择解调滤波器带宽。用户应根据需要选择解调滤波器带宽。
限幅电平与
CTH电容 去除解调信号的直流成分,逻辑数据限幅完全取决于外部电容CTH和芯片内部电阻RSC(switched-cap“resistor”)。芯片内部电阻RSC为118KΩ,一旦选择好限幅电平时间常数,很容易就可计算出CTH的电容值。限幅电平时间常数根据解码器类型、数据格式和波特率不同而不同,但通常介于5-50ms。 在静止(无发送)期间,DO输出由噪音引起的无规律方波,这可能影响某些解码器的工作。解决这个问题的一般方法是在CTH加入一个小偏置,使噪音不能触发内部的比较器。通常此偏置20-30mv就够了,根据偏置的极性来确定是在CTH与电源或与地之间连接一个几兆的电阻。因为MICRF002带有自动增益控制(AGC),输入比较器的噪音总是一样的,压制噪音偏置不会随着接收噪音的变化而改变。
注意:加入压制噪音偏置会适当减少接收距离。 自动增益控制(AGC)与CAGC电容 自动增益控制(AGC)能增加输入动态范围。衰落与激励时间常数之比固定为10:1,但极力时间常数能通过选择CAGC的值来改变。 为了增大系统动态范围,在控制电平达到静止值时,应尽量减低AGC控制纹波(最好低于10mv)。推荐CAGC应大于等于0.47Uf。 参考振荡器与外部时钟 根据用户需要,可选择以下三种外部时钟:(1)陶瓷振荡器、(2)晶体振荡器或(3)外部时钟信号(如MCU输出时钟),幅度大约0.5Vpp。用户应根据发射频率和工作模式来确定时钟的值(详细情况如下)。 A.FIXED模式 内部本振频率flo与输入发射频率ftx之差应等于IF中心频率,下等式用于计算给定发射频率下的本振频率: flo=ftx±1.064(ftx/390) 选择两个值中的一个来计算参考时钟ft的值,公式如下: ft=flo/64.5 以下列出了一些常用发射频率的参考时
唤醒功能
MICRF002的唤醒功能能进一步减少无线接收系统的功率,当MICRF002在解调输出信号检测到一个恒定的数据头,WAKEB脚便会输出一逻辑电平,此输出电平去唤醒其他的外部电路,例如解码器,单片机等.注意:芯片在SHUT模式时,唤醒功能不可用。 SHUTDOWN功能。 当SHUT脚输入高电平时,芯片进入低功耗STANDBY模式,消耗电流小于1uA。此脚内部被上拉,正常工作时必须下拉到地。 2 基于单片机的无线数据传输系统的实现基于单片机的无线数据传输系统的实现基于单片机的无线数据传输系统的实现基于单片机的无线数据传输系统的实现 2.1 硬件电路设计 2.1.1概述 无线数据传输系统一般由无线数据传输的发射系统、无线数据传输接收系统、处理系统、执行机构构成。其发射系统由可编程的集成芯片及外围电路构成;接收系统由检波放大整形电路及无线数据传输接收芯片构成;处理系统由单片微处理机芯片及外围电路构成。主要芯片均系无线数据传输专用集成芯片。由无线数据传输发射系统输出的信号是经高频调制后的二进制高频编码脉冲串,它由起始码及信息码构成。这种发送方式具有下述优点: 无线数据传输脉冲宽度稳定且不会由于数据的内容而改变功率消耗;采用高频调制的无线数据传输信号抗干扰能力强,使无线数据传输信号易于分离和区别;已调脉冲列可用一个窄带接收器进行接收,可提高无线数据传输系统的抗干扰能力;在高频下间隔进行开关,可减小消耗功率。 本系统根据无线数据传输系统的发射模块和接收模块(QwikRadio射频发射模块和QwikRadio射频接收模块)的应用方式和AT89S51单片机的编码和解码的工作原理,设计了利用AT89S51单片机实现的无线数据传输系统的硬件线路示意图。该系统要实现的功能为:当电路发射部分有按键按下时,由单片机对该按键进行编码,然后发送到接收端。当接收模块接收到信号后,传送到单片机处进行解码,判断出是那一个按键被按下,然后点亮相应的发光二极管,完成无线数据传输的功能。 2.1.2发射部分 无线数据传输系统的发射部分由无线数据传输发射模块,主控芯片AT89S51和按键开关控制电路组成。发射系统主要功能是将按键电路的信息进行编码后得到编码脉冲信号,此信号调制无线电发射电路并发射出去。无线数据传输系统的发射部分电路如下图所示。电路中有4个按键开关,分别对应控制着接收部分的4个发光二极管。本电路可以使用USB接口供电,也可以直接接5伏的稳压电源。8位信息码通过编码器转换成18位串行码,该串行码通过无线数据传输发射模块发射出去此编码通过AT89S51单片机来完成。
IC1为主控芯片
AT89S51,主要完成根据按键进行编码并控制发射模块进行发射的功能。4个10K的电阻R1-R4和按键开关S1、S3、S4、S5共同构成按键开关控制电路。J1为整个无线数据传输系统的核心之一,即无线数据传输发射模块QwikRadio?射频发射模块。JP1是将程序烧入单片机的下载线接口。J9是接5伏稳压电源的电源接口。而J2就是电路的另一个电源接口,USB电源接口,可直接利用电脑USB口的电源为系统电路供电。T1是晶体振荡器,它和两个30皮法的电容构成单片机的晶体振荡电路。轻触开关K19、10uF的电容和10K的电阻构成单片机的复位电路。 下图为无线数据传输系统发射部分电路的PCB图:
2.1.3接收部分 接收部分主要
由无线数据传输接收模块、解码电路、显示电路组成。接收控制电路主要完成的功能是对接收进来的信号解调后进行解码,解码后的数据控制相应的发光二极管进行动作。 脉冲波形进入无线数据传输接收模块以后, 因为无线数据传输接收模块里要进行解调、信号放大和整形。所以要注意: 在没有无线数据传输接收信号时, 其输出端为杂波信号, 有信号时为接收
到的脉冲信号。即如果接收到的信号是高电平,那么在无线数据传输接收模块数据输出端输出的信号就为高电平,反之,如果接收到的是低电平,那么在输出端输出的也是低电平。 数据由无线数据传输接收模块接收后, 经过单片机AT89S51进行解码。数据由P2口输出, 因为P2口通常是做通用的I/O口使用的, 所以在电路结构上有其自身特点。它不需要多路转接电路MUX;其次是电路的内部有上拉电阻。这些电阻与场效应管共同组成输出驱动电路。为此, P2口作为输出使用时, 已能向外提供推拉电流负载,而无需再接上拉电阻。P2口出来的数据经过电阻的分压后直接接到发光二极管上。图4所示是一个无线数据传输系统的接收电路。 图4中, P2口出去后连接15kΩ的电阻, 然后连接到发光二极管上。当数据码为“1”时灭, 为“0”时亮,这样又直观又方便。 电路的供电方式与发射部分的供电方式相同,既可以用USB接口供电,也可以用5伏的稳压电源供电。
图2-3 无线数据传输
系统接收部分电路示意图 IC2为主控芯片AT89S51,主要完成根据按键进行解码并控制接收模块进行接收的功能。4个15K的电阻R1-R4和发光二极管D3-D6共同构成显示电路。J2为整个无线数据传输系统的核心之一,即无线数据传输接收模块QwikRadio?射频接收模块。JP2是将程序烧入单片机的下载线接口。J9是接5伏稳压电源的电源接口。而J4就是电路的另一个电源接口,USB电源接口,可直接利用电脑USB口的电源为系统电路供电。T2是晶体振荡器,它和两个30皮法的电容构成单片机的晶体振荡电路。轻触开关K6、10uF的电容和10K的电阻构成单片机的复位电路。
下图为无线数据传输系统接收部分电路的PCB图
以上应用的这一种用单片机直
接对无线数据传输信号进行解码的方案,一方面,简化了单片机系统的输入接口电路,只使用了P0 口的一根位线,因而节省了硬件的开销;另一方面,由于采用软件解码,只要知道编码的格式,就可作相应的处理,很大程度上改善了编码器和解码器的互换性,在使用和设计上增加了更大的灵活性。此外,由于充分利用了单片机的内部资源,使整个应用系统结构更为紧凑,从而降低了系统的设计和实施的成本。 2.2 软件设计 2.2.1概述 硬件解码电路较复杂,外围器件过多,且当发射模块的类型不同时不易改动,不利于模块化,而软件解码就克服了这些缺点。在软件解码无线数据传输系统中,解码的核心是单片机,电路极为简单,无须外围器件。它接收解调出的串行二进制码,在内部根据本系统的无线数据传输信号编码格式将串行码对应成发射电路上的按键,便于利用,易于兼容,当发射模块的类型不同时只需对程序稍加改动即可。本软件的主要任务是在单片机AT89S51的控制之下完成数据的正确传输。 2.2.2发射电路的软件流程设计 编码的关键是正确地发送“0”和“1”。从上文中描述的基于字节传输的无线数据传输数据格式中可以看出“0”是由一个脉冲的高电平和两个脉冲的低电平组成的,而“1”是由一个脉冲的高电平和一个脉冲的低电平组成的。通过这个不同点我们便可以设计出发送“0”和发送“1”的程序。 在发射部分,首先要判断是否有按键被按下,如果有,就必须根据按键的键值,利用单片机对按键进行编码,得到相应的码型后,将其发送到发射模块的数据输入端。在发送之前,要将无线数据传输发射模块的使能控制端口置1。 编码的过程为:首先发送5个脉冲的高电平和5个脉冲的低电平作为发送信号的起始位。根据要发送的信号码一个一个地将其发到发射模块的数据输入端。即如果第一个要发送的信号码为“1”,那么就发一个脉冲的高电平和一个脉冲的低电平到发射模块的数据输入端。然后将信号码进行移位,发送下一位数据,直到发送完8位信号码。 当发送完信号码之后就去检测是否有键被按下,如果有键被按下,那么就重复以上的过程。如果没有,那么就不断发送这一个带起始位的信号码。 本系统的按键的相应编码为(不带起始位): 左键:0xb5(十六进制) 10110101(二进制)其发送的波形脉冲如下
无线数据
传输模块发射部分程序流程图: “0”的表示方法是由一个脉冲的高电平和两个脉冲的低电平,而“1”是由一个脉冲的高电平和一个脉冲的低电平组成的
发射部分程序 #include sbit date=P0^1;//数据传输端口 sbit
TXEN=P0^0;//使能端 void delay1(unsigned int nn)//延时子程{ while(nn--); } void delay(unsigned int tt)//延时子程序 { while(tt--);//delay1(50); } void SendDate(unsigned
char d)//发射数据子程序 { unsigned char i,temp; TXEN = 1; for(i=0;i<8;i++) { date = ~date ;//发送杂波 delay(50);//延时 }
date = 1 ;//发送起始位的一个高电平 delay(500);//延时 date = 0 ;//发送起始位的一个低电平 delay(500);//延时 date = 1 ; for(i=0;i<8;i++)//判断是否发送了8位 { temp = (d<
date = 1 ; } void main(void) { delay(0xffff); TXEN = 0; delay(0xffff); TXEN = 1; while(1) { date =1; if(P2_4 == 0)//如果下键被按下 { TXEN = 1; while( ( P2_7 & P2_5 & P2_6 )==1 )
SendDate(0xe5);//发送数据0xe5 while(P2_4 == 0); } if(P2_5 == 0)//如果右键被按下 { TXEN = 1; while( ( P2_4 & P2_7 & P2_6 )==1 ) SendDate(0xd5);//发送数据0xd5 while(P2_5 == 0); } if(P2_6 == 0)//如果左键被按下 { TXEN = 1;
while( ( P2_4 & P2_5 & P2_7 )==1 ) SendDate(0xb5);//发送数据0xb5 while(P2_6 == 0); } if(P2_7 == 0)//如果上键被按下
{ TXEN = 1; while( ( P2_4 & P2_5 & P2_6 )==1 )
SendDate(0x75);//发送数据0x75 while(P2_7 == 0); } } } 2.2.3接收电路的软件流程设计 解码的关键是如何识别“0” 和“1”。从位的定义我们可以发现“0”、“1”均以一个脉冲的高电平开始的。不同的是低电平的宽度不同, “0”为两个脉冲的低电平,“1”为一个脉冲的低电平, 所以必须根据低电平的宽度区别“0” 和“1”。如果从一个脉冲的高电平和一个脉冲的低电平过后, 若读到的电平为低, 说明该位为“0”, 反之则为“1”。当8位数据都接收完两次后,判断两次接收的结果是否一样,如果一样,就进行信号码控制的相应的动作,否则就认为数据接收出错,将该组数据丢弃,再重新接收。 本系统的接收部分的程序设计流程为:首先检测是否收到起始位的5个脉冲的高电平,即先检测是否为高电平,然后延时后再检测,如此多次,若检测到超过两个脉冲的但少于五个脉冲的高电平,也可算为检测到起始位的高电平。然后检测起始位的五个低电平,检测方法与检测起始位的高电平方法相类似。检测到起始位之后就开始检测信号码的每一位数据,即解码。判断完一位数据后将数据移位存放,检测下一位数据。当检测完8位数据后,将数据保存好,再检测一次,若两次检测的结果一样,那么对相应的发光二极管进行操作。如果结果不一样,则丢弃前一组数据,继续检测,直到检测到两组相同的结果。 解码的过程:当检测到一个脉冲的高电平和一个脉冲的低电平之后,延时,检测下一个脉冲是高电平还是低电平,如果是低电平,那么该位为“0”,反之,为“1”。 无线数据传输模块接收部分程序流程图: 数据码的识别关键是0、1 代码的识别, 根据上面的无线数据传输系统编码方法和波形图可知,我们只要能测出加到单片机I/O口引脚的无线数据传输接收模块接收的信号的低电平宽度即可得到其代码。如脉冲宽度编码方法中, 表示0 的低电平宽度为两个脉冲宽度, 表示1 的低电平宽度为一个脉冲宽度,我们需要做的是判断出低电平的宽度范围。这样我们就可以比较容易用程序读取代码。程序流程
图如图2-7所示。 图2-7无线数据传
输模块接收部分程序流程图 在数据传输过程中,如果一位数据在发送出去和被接收到这段时间内发生改变,则出现了差错。差错出现的原因可能是由于热噪声或冲击噪声。热噪声(thermal noise),又称为白噪声,是由导体内电子的热运动造成的,存在于所有电子设备和传输媒体中。热噪声可以预测,有着比较固定的强度;冲击噪声(impulse noise)是非连续的,由不规则的脉冲或持续时间短而振幅大的噪声尖峰组成,比如由外部电磁波干扰(雷电)等产生。为了使传输系统能够可靠、稳定地通信,防止通信过程中发生错误,一般在通信过程中采取数据校验的办法。 接收部分程序: #include sbit date=P0^1;//数据接收端口 sbit RXEN=P0^0;//使能端口 bit overtime=0;//超时标志 unsigned char twotime=0;//标志次数 unsigned char databuf;//接收缓冲 unsigned char status=0;//接收状态 void
delay(unsigned int tt)//延时子程序 { while(tt--); } void readchar(void) { unsigned char rcnt=0;//接收位数 unsigned char dd=0;//接收数据 unsigned char temp;// overtime=0; while(date==0);//等待变为高电平 while(date==1);//等待变为低电平 while(overtime==0) { delay(120); dd=dd<<1;//数据右移一位 temp=date; dd = dd | temp; rcnt++; if(rcnt==8)//是否接收完8位数据 { status=0;//回到状态0 if( databuf == dd ) twotime++; else { databuf = dd ;twotime = 0;//将数据存到databuf } if( twotime > 1)//判断是否接收了两次
{ twotime=0; P2 = databuf;//显示 }break; } else { if(date==1)while(date==1);//等待变为低电平 else
{ while(date==0); while(date==1); } } } } void main(void) { unsigned char i; unsigned int playtime=0; bit
HighTime; bit LowTime; RXEN = 0; date = 1 ; delay(5000); twotime=0; databuf=0; while(1) { switch(status) { case 0:for(i=0;i<10;i++)//检测起始位的高电平
{ HighTime=1; if(date==0)
{ HighTime=0; break; }delay(20) ; } if(HighTime) { status=1;//跳到状态2 }else
status=0;break;//回到状态0
case 1:while(date==1);//检测起始位的低电平 for(i=0;i<10;i++) { LowTime=1; if(date==1)
{ LowTime=0; break; }delay(20) ; } if(LowTime) { status=2;//跳到状态2 }else
status=0;break;//回到状态0 case 2:readchar();//检测数据位 status=0;//回到状态0 break; default:status=0; } } } 影响无线通信距离的主要因素 在工作频率固定的前提下,影响工作距离的主要因素包括发射功率、发射天线增益、传播损耗、接收天线增益、接收机灵敏度等,通过加大发射功率,提高天线增益,提高接收机灵敏度均起到提高通信距离的作用,在影响无线通信距离的以上几个因素中,作为设计者可以控制的因素有: 接收灵敏度、天线增益、发射输出功率。不能控制的因素是由无线电波的特点所决定的,主要有: 传输损耗、路径损耗、多径损耗、周围环境的吸收。在设计者可以控制的因素中,接收灵敏度、天线增益、发射功率都是可以作为提高通信距离的手段。 3 调试调试调试调试 无线数据传输系统一般由发射部分和接收部分组成。在本次无线数据传输系统的设计制作中,遇到了很多的困难,经过了多番调试,才完成了这次制作。在硬件方面,主要是因为前期的调试当中,P0口少加了上拉电阻,导致后期的软件的调试方面遇到了很多困难。并且这个错误在硬件的测试当中不容易被察觉。因为P0口少加了上拉电阻,所以开始时,单片机对输入数据的判断不准确。而后来P0口加了上拉电阻,但由于与接收模块相连接的那一位P0.1口的上拉电阻不够大,所以导致P0.1口接收数据的低电平不够低,单片机无法判断出低电平,导致显示不准确。软件的调试方面,发射部分的程序较为简单,调试时间较短。接收部分的调试较为复杂。主要是因为要正确地判断出“0”和“1”。当仔细分析了数据编码码型的特点,根据码型特点来判断“0”和“1”之后,这个问题便迎刃而解了。在软件的调试过程当中,为了验证电路是否正确,在调试的时候把程序分解,一步一步地从最基本的程序调起。最先调试发光二极管,首先编了一个程序控制发光二极管的亮灭。成功之后,用一根导线将发射和接收模块数据传输的两个管脚连接起来调试,调试成功之后,再分析发射接收模块的用法,用一个简单的程序让发射端发射一个方波,再用示波器测试发射端和接收端是否工作正常。如果正常,就联结之前调试好的程序,测试系统是否真的可以实现功能。 利用示波器观察到的波形: 当左键被按下时在发射端发射模块数据输入端口波形
示波器波形分
析: 由于测试时传输距离较短,所以当按键按下时,观察到的发射端发射模块数据输入端输入波形与接收端接收模块数据输出端口输出波形是一样的。波形峰峰值为4.7V。波形和编码时设定的波形是一样的。 4 总结总结总结总结 当今无线数据传输系统红外有很多
编码的标准,这里我们设计了一种编码解码方式,利用单片机进行无线数据信号的发送和接收,实现近距离的无线通信。实践证明,这种编码方式效率高,没有误码,取得了良好的效果。 本系统利用单片机以及发射/接收模块电路实现无线数据传输功能。发送端采用单片机AT89S51、无线数据传输发射模块、电源电路及键盘等元器件组成。单片机判断完按键之后,将待发送的二进制信号编码调制为一系列的脉冲串信号,通过无线数据传输模块中的发射模块发射信号。无线数据传输接收端采用价格便宜,性能可靠的一体化无线数据传输接收模块QwikRadio射频接收模块,接收模块接收无线数据传输信号,它同时对信号进行放大、检波、整形,得到TTL电平的编码信号,再送给单片机,经单片机解码并执行,去控制相关对象。本系统要执行的操作是点亮与发射端键盘相对应的发光二极管。本系统可用电脑的USB口供电,也可以用5伏的稳压电源供电。当发射部分的按键被按下时,接收部分相应的发光二极管被点亮。例如,左键被按下,左边的发光二极管会亮;右键被按下,右边的发光二极管会亮;上键被按下,上边的发光二极管会亮;下键被按下,下边的发光二极管会亮。 在本系统的设计中主要应该注意以下几个问题:(1)为了减少对系统的干扰,晶振应采用6MHZ的晶振。(2)P0口没有上拉电阻,所以在使用时应记得加上上拉电阻。(3)为了正确地判断出数据的起始位和信号码,最好在发送起始位之前发送一些杂波。(4)无线数据传输模块中,发射接收时,发射端的使能控制端应置1,接收端的使能控制端应置0。(5)为了接收到准确的数据和避免进行误操作,必须在进行操作之前,检测两遍接收到的数据。(6)因为本系统是无线数据传输系统,而且电子元件相对较少,所以在PCB布线时,可将线画粗一些。 5 结束语结束语结束语结束语 本文着重介绍了无线数据传输系统的基本原理及无线数据传输的编码解码设计。这种编码方法在基于AT89S51单片机的无线数据传输设计中得到了应用。本设计非常简便可靠地实现了单片机编码、发送、接收、解码的任务,完成了无线数据传输的功能,取得了良好的效果,应用前景广阔。该系统适用于短距离的无线数据传输,也可以通过增加发射功率或中继的方式实现远距离传输,可用于需要较长时间内对目标进行连续监控的场合。系统以单片机为处理核心 ,采用软件译码方法和抗干扰技术对遥控信号进行分析判断和解码,实现了远程控制。在本系统中 ,硬件电路极为简单 ,无需外围芯片;原理简单、工作稳定可靠、易于兼容。当发射器的类型不同时只需对中断处理程序的部分参数稍加改动即可,就可以适用于多种红外遥控器信号的接收和解码 ,极大地节约了硬件实现的资源开销。所开发的系统具有较强的灵活性和实用性 ,为新型遥控器材的研制做了有益的探索,具有一定的参考和借鉴作用。本方法可以举一反三,对不同类型的发射器的基本思路和方法是相同的,只需要根据具体波形修改其参数和表达式即可,能灵活应用。对其他型号的遥控编码器及不同的硬件时钟,只需修改部分参数,即可适用。程序如果改为汇编语言编写占用空间会比使用C语言编写更小,完全可应用于各类单片机。它不仅降低了成本,同时也增加了无线数据传输接收的灵活性,对不同的无线数据传输模块,不用更换系统硬件电路,只需要修改程序即可。经实验测试,上述无线数据传输的信号的发送和接收方法没有出现传输误码,可靠实用,在编码解码方面降低了硬件成本。按上述编码方法,信号的传输速度可达20kbps。若在数据传输协议中,加上地址帧(设备号识别) 和校验帧,该方法在计算机系统中将有更广泛的应用
正在阅读:
单片机无线数据传输系统设计的原理单片机无线数据传输系统设计的原理单片机无线数据传输系统设计的原理单01-12
高考数学一轮复习 阶段回扣练1课时作业 文 北师大版12-29
《奇异地琥珀》教学设计课题10-31
局域网网络流量控制与管理方法11-19
2017年秋季新版湘教版七年级数学上学期2.2、列代数式同步练习209-18
消防水池可研究性报告05-09
九年级语文测试习题:四川省宜宾市六中2012年秋期九年级期末适应性检测语文试题及答案(13)12-29
部分家居文案精选05-09
美丽的瑞兴花园作文800字06-14
老会计经验集团内部交易:税负是重要成本11-09
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 传输系统
- 单片机
- 原理
- 无线
- 数据
- 设计
- 2011年中考总复习专题训练(九)四边形
- 思想汇报之我观时事政治
- 微电影营销的特点及宣传优势有哪些-诺亚商舟
- 老年人社区获得性肺炎的临床特点分析
- C语言期末大作业
- 新课标人教版三年级下《比较小数大小》教学设计教案及反思
- 中国铬铁行业分析报告目录
- DOP装置工艺施工图设计说明书
- 工作研究:烟叶收购工作存在的困难问题及对策建议
- 安全隐患排查整改台账记录表
- 华软学院 XML第一次作业 - 2
- 建宁路C2-01地块控制性详细规划调整可行性研究报告 - 图文
- 寒假四年级上数学解决问题2016年1月6日
- 党风廉政建设责任制执行情况民意测评表
- 离职通告函
- 项目投资习题
- 北京市海淀区2011年高三年级高考适应性试题(理科数学)+答案
- 低压电工题库
- 淄博市“市长杯”青少年校园足球联赛报名单 - 图文
- 开封城墙:巨龙盘亘帝王州