红外遥控发射器Proteus仿真研究
0 引言
红外遥控在家电、玩具、工控、智能仪表中是使用最广泛的一种通信和遥控手段。Proteus仿真能大大加快该遥控系统的开发周期和提高其性能,但是当前版本的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载波,第三行为经载波调制后的红外发射信号波形,第四行是经过一种专门的红外接收滤波后的数据还原。可以看出,最后通过解码还原出来的数据波形与红外遥控器发射的数据波形相位刚好反向。
2 红外遥控仿真硬件电路设计
图2所示是红外发射接收一体化仿真电路。单片机U2部分为红外接收,并显示接收到的红外编码,显示部分可采用数码管,LCD等显示器件,学者已经对红外接收及显示有较详细的研究,在此不作论述,只用作验证红外遥控发射器模块的有效性。
单片机U1部分为模拟红外遥控器发射。因Proteus仿真软件里面没有常见的红外遥控发射器处理芯片,这里用8051单片机U1来实现,其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,该时间很短,对于按键时序不会产生任何影响。
发射红外编码采用定时器中断的方式来实现,设定时值为38k,也就是每隔26 μs中断一次。这样,要发送9ms的引导码,只需要将P3.4置为1,并控制定时器中断次数为346次即可。同样,要发送4.5ms的起始码,只需要将P3.4清0,并控制定时器中断次数为173次即可。其它部分类似。得到的红外编码数据发送子程序如下:
在红外编码数据发送子程序中,“IR_data[]”数组里存放的是一帧数据的4个编码,每个编码8位,共32位;“endcount”用于控制定时时间,例如“endcount=346;”指令将控制发送9ms的起始码。
4 仿真及实物验证
4. 1 仿真结果
红外遥控发射数据时的仿真波形图如图4所示:第一个波形为由单片机U1的P3.4口发送出来的数据,第二个波形为38k载波,第三个波形为调制后的红外发射信号,第四个波形为红外接收滤波后的数
- 给弱势群体的一份关爱,语音识别助老助残服务系统的完整解决方案(06-04)
- 红外通信—红外遥控器NEC解码程序(12-02)
- 通过串口发送红外遥控器的解码值到PC(12-02)
- 单片机红外遥控解码HS0038B用1602液晶显示(12-02)
- 51单片机万能红外遥控解码程序(12-01)
- 1602屏配合红外遥控(实现光标移动)与对1602新的认识(12-01)