新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 红外遥控发射器Proteus仿真研究

红外遥控发射器Proteus仿真研究

作者:时间:2016-10-15来源:网络收藏

0 引言

本文引用地址:http://www.eepw.com.cn/article/201610/307425.htm

在家电、玩具、工控、智能仪表中是使用最广泛的一种通信和遥控手段。能大大加快该遥控系统的开发周期和提高其性能,但是当前版本的Proteus中尚没有红外的仿真元器件,只有一个IRLINK模块可以用于接收并解调红外信号,给红外系统仿真带来了较大的难度。目前学者对系统的接收部分仿真已经有较多的研究,但是还很少有针对发射部分的典型仿真研究。可以设计一种典型的红外仿真模块,该模块在仿真中相当于实际的遥控器。进行红外遥控系统开发仿真时,可以将此模块用于红外遥控接收电路以及其软件的快速验证,加快产品开发周期。

1 红外遥控调制解调过程简介

红外遥控发射器发射的一帧数据一般由引导码、低8位用户编码、8位数据码、8位数据码的反码等4部分组成。其中用户识别码能区别不同的红外遥控设备,防止不同机种遥控码互相干扰。后16位为8位数据码和8位数据码的反码,每次8位的数据码被传送之后,它的反码也随即被传送,用于确保接收数据准确。这种遥控码是采用脉冲宽度调制方式,它的特征是:采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”。

红外数据帧经编码后,还要用38kHz的方波进行脉冲幅度调制。如图1所示,最上面一行为待发射数据的波形,第二行为38k载波,第三行为经载波调制后的红外发射信号波形,第四行是经过一种专门的红外接收滤波后的数据还原。可以看出,最后通过解码还原出来的数据波形与红外遥控器发射的数据波形相位刚好反向。

红外遥控发射器Proteus仿真研究

2 红外遥控仿真硬件电路设计

图2所示是红外发射接收一体化仿真电路。U2部分为红外接收,并显示接收到的红外编码,显示部分可采用数码管,LCD等显示器件,学者已经对红外接收及显示有较详细的研究,在此不作论述,只用作验证红外遥控发射器模块的有效性。

红外遥控发射器Proteus仿真研究

U1部分为模拟红外遥控器发射。因软件里面没有常见的红外遥控发射器处理芯片,这里用8051U1来实现,其P3.4口输出待发射数据,该数据经与门U3和38k载波信号调制后发射到接收电路,接收电路再通过Proteus软件自带的IRLINK模块解调后送到U2的外部中断INT0。遥控发射器按键输入采用4×4矩阵键盘,当按下某一个键后会发出对应的编码。例如按下键K6,按照红外发射数据帧结构,将通过P3.4口串行发送“00,00,0x06,0xf9”,其中,前面的“00,00”为用户码,对于不同的设备需作相应的修改;“0x06”是代表6号键,“0xf9”是“0x06”的反码,用于校验,提高传输准确性。只要在单片机的程序中对用户码和按键编码作相应的修改,就能使该遥控发射器在各类红外遥控系统仿真中通用。

3 红外遥控发射器程序设计

3.1 软件功能概述

根据仿真硬件电路设计,单片机的软件程序需要完成以下2个功能:1)按键扫描:实时对4×4矩阵键盘扫描,得到按键码,并根据按键码查找出对应的红外发射编码。2)编码发射:根据前述2.1和2.2的编码协议通过P3.4口发射红外编码。

单片机程序功能较简单,但是对于按键扫描和编码发射的时序要求较高,既要保证实时扫描到按键,又要保证红外编码的实时发射。

3. 2 程序设计

程序流程图如图3所示,在时序上,整个程序基本上所有的时间都是在调用键盘扫描子程序,因此能检测到任何时候的按键。只有在扫描到有按键时才会调用发射红外编码程序,发射一次红外编码程序耗时为58.5ms至76.5ms,该时间很短,对于按键时序不会产生任何影响。

红外遥控发射器Proteus仿真研究

发射红外编码采用定时器中断的方式来实现,设定时值为38k,也就是每隔26 μs中断一次。这样,要发送9ms的引导码,只需要将P3.4置为1,并控制定时器中断次数为346次即可。同样,要发送4.5ms的起始码,只需要将P3.4清0,并控制定时器中断次数为173次即可。其它部分类似。得到的红外编码数据发送子程序如下:

红外遥控发射器Proteus仿真研究
红外遥控发射器Proteus仿真研究

在红外编码数据发送子程序中,“IR_data[]”数组里存放的是一帧数据的4个编码,每个编码8位,共32位;“endcount”用于控制定时时间,例如“endcount=346;”指令将控制发送9ms的起始码。

4 仿真及实物验证

4. 1 仿真结果

红外遥控发射数据时的仿真波形图如图4所示:第一个波形为由单片机U1的P3.4口发送出来的数据,第二个波形为38k载波,第三个波形为调制后的红外发射信号,第四个波形为红外接收滤波后的数据还原。可以看出还原后的数据波形与发射出的数据波形相位刚好反向。这种红外遥控码波形与前述遥控器厂家提供的如图1所示的数据完全吻合。

红外遥控发射器Proteus仿真研究

4.2 实物验证结果

图5所示为用实物验证模拟红外发射接收。其中(b)部分为接收红外遥控信号,解调并用两位数码管来显示接收到的红外编码。(b)部分的解调和显示程序是事先经海信电视CN-22601遥控器、开博尔电视盒遥控器、志高空调ZH/JT-06遥控器等三款红外遥控器测试通过的,可以确保解调和显示程序是正确的。(a)部分为模拟红外遥控发射数据。(a)和(b)两部分通过两根线相连,白色的一根是地线,使两块电路板共地;红色的一根连接(a)部分的P3.4口和(b)部分的外部中断INT0。图5中显示的是当(a)部分按下按键“K14”时,(b)部分显示“14”。

红外遥控发射器Proteus仿真研究

实验结果证明,仿真结果在实物电路板上同样是正确的,说明此发射模块就等同于一个实际的遥控器。

5 结论

红外遥控发射器模块具有结构简单、可靠性高、可移植性强等优点。本模块填补了Proteus仿真软件对于红外遥控发射器件的空白。借助本模块,红外遥控系统开发者能大幅度地缩短产品的开发时间,大大提高工作效率。



评论


相关推荐

技术专区

关闭