资源描述
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
红外遥控系统设计与应用
一、 实验目的
1.了解各种红外收发器件, 设计红外收发电路。
2.掌握红外遥控的收发方式, 掌握红外遥控的编码、 解码方式。
3.进一步掌握微机综合设计方法。
二、 实验内容与要求
要求以红外波为无线传输介质, 实现一个PC机作为控制系统, 另一个PC机能被遥控操作, 控制PC总线微机应用实验箱上相应的LED发光二极管亮灭。
主要技术指标:
( 1) 最大遥控距离: 10m。
( 2) 发射接收角: 水平最大90度。
( 3) 遥控器发射时工作电流: 8mA。
( 4) 遥控器静态电流: 0.6mA。
三、 实验报告要求
1.设计目的和内容
2.总体设计
3.硬件设计: 原理图( 接线图) 及简要说明
4.软件设计框图及程序清单
5.设计结果和体会( 包括遇到的问题及解决的方法)
四、 总体设计思路
本次设计的基本目标是, 以红外线为无线传输介质, 实现一个PC机作为控制系统, 另一个PC机能被遥控操作, 控制PC总线微机应用实验箱上相应的LED发光二极管亮灭。借鉴红外数据协会对IrDA标准的定义, 对本遥控系统的设计能够分为硬件和软件两大部分。
1.红外传输系统的设计
本次设计的是一无线通信系统。故必须要将PC机中的数据以红外线的形式发射到开放空间中去, 并正确无误的接收回PC系统。市场上有多种红外电子器件用以红外通信电路的搭建, 主要能够分为两类: IrDA标准器件和其它红外传输器件。IrDA标准器件一般为大型半导体器件制造商设计的红外通信解决方案, 器件集成度高、 成套使用性能稳定。此类器件中的编/解码器能够实现符合IrDA规范的编/解码机制, 如3/16 ENDEC或4PPM (Pulse Position Modulation, 脉冲相位调制)等。一些芯片甚至自带晶振, 能够独立完成编码后的调制任务( 38kHz载频) 。IrDA标准器件依托成熟的制作工艺和完备的传输协议, 能够轻松实现各种复杂的红外信息传输系统。可是实际应用中, 在很多情况下不需要使用这些芯片就能够达到无线传输或遥控的目的。比如一些家用电器的遥控器、 楼宇或交通工具使用的电子钥匙以及一些传感器的信号采集通道等。这些装置一般较为简单: 传输数据内容比较单一或是固定的; 对传输速率要求较低或不需要传输连续数据, 这时IrDA标准器件就显得过于累赘了。
结合本次设计目标的特点: 对红外信道中数据的传输速率要求很低且为单向传输, 但需要尽可能详细了解并掌握信号发射与接收的实际过程。本次设计决定不采用IrDA标准器件, 基本方案为: 发射端使用普通红外发射管配以必要的外围电路, 接收端使用集成接收头直接输出数字电平。如此的硬件设计要求在软件设计中完成某种形式的编/解码工作以达到遥控的目的。根据设计任务特点与要求, 在软件设计中拟采用脉冲个数编码的方法区分不同的控制信号。图1所示为对编码形式的初步构想:
图1 脉冲个数编码格式
其中3ms脉冲为命令起始信号, 若起始信号超过或不足3ms, 接收端将作无效命令处理。起始信号后是码宽1ms、 码距1ms的命令编码。此种编码格式简单而实用, 易于理解和编程, 有利于对红外信道传输性能的初步了解与探索。可是此种编码方式的缺点也是显而易见的。随着命令种类的增加, 脉冲个数也在增加。这使得对不同命令的处理在时间上存在很大的差异。因此, 这种编码方式只适用于命令种类较少的简单遥控系统( 如本次设计任务) , 而要实现复杂的遥控或传输系统则必须使用其它编码方式。
2.红外传输系统与PC控制系统的连接
1) 发射部分的连接
用于无线传输的红外线频率一般为38kHz~40kHz, 因此发射端的命令码必须经过调制才能被发射管以红外线的形式释放到开放空间。脉冲个数编码能够很方便的实现对载波频率的幅度调制, 其原理如图2所示。命令码与载波信号的乘积便是能够用于发射的以调信号。于是我们需要解决两个问题: 其一是载波由谁怎样来提供; 其二是怎样实现两路信号的相乘运算。
经过实验箱上的晶振电路和计数器芯片8253正好能够解决这两个问题。图3是8253芯片的简化引脚图以及本次设计准备使用的电路接法。
使用8253芯片的0通道以工作方式3( 方波发生器) 产生38kHz的方波。在工作方式3下计数过程可由GATE信号控制: GATE变低将使计数暂停且OUT立即为高; 在GATE变高后的下一个CLK下降沿计数器重新从初值开始计数。在本设计中正是利用门控信号完成了对遥控脉冲信号的调制工作。
2) 接收部分的连接
由于接收端使用集成接收头直接输出数字电平, 因此能够直接输入到8255的一个位, 然后分析接收到的信号, 判断命令的类型进行相应的操作。
五、 发射机的设计与实现
发射系统如图4所示主要分为三个部分: 遥控信号生成系统、 调制系统和发射系统。其中遥控信号生成部分即为PC机系统, 主要依靠编写软件进行控制; 调制部分主要基于实验箱上的可编程计数器芯片8253和可编程并行接口芯片8255A; 发射部分由普通红外发射管和三极管放大电路组成。
1.发射机硬件电路的设计与实现
使用8255任一通道中的任意一位, 与8253的GATE0位相连, 只需在控制程序里改变该位的输出即可实现对8253输出信号的控制。在电路搭建中实际使用情况如下: 8253使用0通道, 8255A使用端口B的最高位及PB7。
基本发射电路十分简单, 如图5左方所示发射管串联一个适当阻值的限流电阻即可。但考虑到实际发射效果和前文中提到的信号反相问题, 在实际电路中加入了一个反相放大电路( 如图5右方所示) 。该电路使用普通三极管9013, 虽属于模拟放大电路但在后续工作中表现良好。
完成发射电路的连接后, 将8253通道0的OUT端引致发射电路的输入端, 再经过ISA总线转接卡将实验箱与PC机相连即完成了全部发射机部分硬件搭建。
2.发射机软件系统的设计与实现
发射机控制程序的作用是按照使用者的意图产生不同的控制命令, 其流程图如图6所示。根据发射子程序流程图所示, 需要设计一种合适的延时子程序。这边采用了一种不依赖于CPU工作周期的延时方法。
此程序源于IBM PC AT BIOS中的WAITF子程序, 程序段如下:
WAITF PROC NEAR
PUSH AX
WAITF1: IN AL, 61H
AND AL,10H
CMP AL,AH
JE WAITF1
MOV AH,AL
LOOP WAITF1
POP AX
RET
WAITF ENDP
其原理是: 经过监控端口61H的PB4,使PB4每15.08μs触发一次, 以产生一种固定不变的时间基准。调用该程序之前, CX寄存器必须装入15.08μs的倍数N, 其延时即等于N与15.08μs的乘积。
控制软件的初始版本为命令行形式, 能够产生3个不同的遥控命令, 功能基本满足设计要求。
六、 接收机的设计与实现
接收机部分的硬件电路较简单, 主要是软件的设计和实现。接收机的结构图如图7。
1.接收机硬件电路的设计与实现
借鉴发射机的硬件设计, 利用可编程并行接口芯片8255A端口B的最高位PB7读进接收信号进行分析。其原理图如图8所示。其中红外接收头使用型号为HS0038
2.接收机软件系统的设计与实现
接收机控制软件的作用是等待命令信号的到来, 在信号到来之后启动分析功能正确执行命令。其流程图如图9所示。接收程序与发射程序使用相同的延时子程序, 以保证程序的兼容性。该软件的初级版本为命令行形式, 识别发射程序所生成的3个命令, 并以监视器屏幕显示的形式输出, 然后控制LED的亮灭。
在判断起始脉冲和1ms脉冲个数的方法上, 本程序借鉴了串行通信中UART( Universal Asynchronous Receiver/Transmitter, 通用异步接收器/发送器) 的接收原理。如图10所示, 当有信号读入时程序首先对其进行一定时间间隔的抽样以计算脉冲持续时间。具体的抽样间隔时间将在后续的测试中根据实际工作效果确定。起始脉冲检验合格后首先间隔1.5ms对信号进行抽样, 剩下的将每隔2ms抽样一次。如果抽样数据为零则说明信号结束。这种判断方法十分简单, 变成思路相当清晰也便于错误分析。
展开阅读全文