APP下载

一类基于软件载波的学习型遥控器的设计与实现

2009-05-12何明华汤云东

现代电子技术 2009年2期

徐 志 何明华 林 武 汤云东

摘 要:提出了一类学习型遥控器的设计与实现,并对其工作原理、软硬件进行简单的介绍,详细概述软件中红外遥控编码学习的实现过程。该红外遥控器采用测量脉冲宽度的原理,复制其红外脉冲信号进行自学习,以软件形式实现38 kHz载波,最后成功完成了对其他遥控器的学习。该装置可以代替各种不同的遥控器控制家用电器。

关键词:红外遥控器;自学习;软件载波;红外脉冲信号

中图分类号:TP368.1文献标识码:B

文章编号:1004 373X(2009)02 036 03

Design and Implement of a New Learning Remote-controller Based on Software Carrier Wave

XU Zhi,HE Minghua,LIN Wu,TANG Yundong

(College of Electrical Engineering and Automation,Fuzhou University,Fuzhou,350108,China)

Abstract:The design and realization of a new learning remote-controller are preposed,and the operating principle,the software and hardware about it is introduced simply,and the realization course of infrared controller′s code learning through software is narrated in details.The infrared remote controller is implemented by pulse width measuring,realizes self-learning function by copying infrared pulse signal and realizes 38kHz carrier wave based on software.At last,it has been successfully used in learning other remote controllers.The equipment can instead of several remote controllers and control many different electro-appliances.

Keywords:infrared remote controller;self-learning;software carrier wave;infrared pulse signal

0 引 言

红外线遥控是目前使用最广泛的一种通信和遥控方式,由于其具有结构简单、体积小、功耗低、功能强、成本低等特点,因而广泛应用于彩电、空调机、CD/VCD、录像机家用电器设备及其工业控制中。随着现在人们生活中家电日益增加的需要,使用红外遥控器也越来越频繁。因其各种红外遥控器编码格式不同[1],使得各种红外遥控器不能兼容。经常需要更换遥控器,这也给人们生活带来了不便。

目前国内学习型遥控器大多采用复制遥控器红外波形达到学习目的,其方法简单,实现起来较方便。但其采用专用遥控集成的芯片,导致设计复杂,成本高,并且遥控器的红外信号形成都是采用红外线遥控发射芯片产生,其集成度高,但价格昂贵。

在此介绍一种基于以AT89S52为核心的学习型红外遥控器,通过测量红外一体化接收头输出信号,并原样地记录其输出脉冲宽度[2],然后保存在E2PROM,最后利用单片定时器中断产生38 kHz载波信号,以软件代替了硬件,节约了资源。该学习型红外遥控器能成功地学习各种红外遥控设备的编码,并通过38 kHz载波发送学习到的记忆信号。实现了对各种各样红外遥控的学习,从而变成了真正的自学习遥控器。

1 学习型红外遥控器系统

1.1 学习型红外遥控器的原理

从家用万能学习型红外遥控一般原理出发,其可以分为2类:固定码式学习遥控器和波形拷贝式学习遥控器[3]。前者,主要通过收集各种不同种类的遥控器信号,然后分而治之。这种学习型遥控器对硬件要求相对简单,控制器的工作频率不高,存储容量大,其缺点是对未知遥控器无效。后者,主要是把原始遥控器所发出的信号进行完全拷贝,而不管遥控器是什么格式,进行适当的压缩后,存储在ROM存储器中,当发射时,只需将储存器中读出的遥控编码,还原成原始信号,便完成了学习功能。此学习型遥控器对MCU的主频要求高,RAM要求大,其优点是对任何一种红外遥控器可以进行学习。下面主要以第二种方法进行设计。

1.2 学习型红外遥控器基本硬件组成

学习型红外遥控器由单片机、红外发射电路、红外一体化接收头、E2PROM存储电路,矩阵键盘及LED指示灯构成[4],如图1所示。单片机AT89S52构成红外遥控的处理器,其数据存储器RAM(258 B)用来存储学习过程中编码信号的脉冲宽度;红外发射电路:用遥控脉冲信号调制38 kHz方波,经过三极管放大后,驱动红外发光二极管,其中38 kHz载波由AT89S52定时器T0产生。红外一体化接收头:红外接收头输出的信号经过检波、整形、放大、解调38 kHz载波信号,其输出信号为TTL高低电平。外接E2PROM存储器:存放学习到的高低电平信号的脉宽值。

1.3 系统软件设计

学习型遥控器的设计性能及实现与其软件设计编写具有密切的关系,特别是码宽计数的采集周期及计数器采用的位数都关系到能否精确采集到遥控编码信号。编码宽度计数的采样周期在编程中须经过多次实验测试才能决定。该设计读码采样周期大约为12 μs。

读遥控编码的计数器采用16位计数器,采样时间在0~786.432 ms之间。其值保存在设定的数据存储器中,然后写入到外部E2PROM存储器中,发射过程再从外部的E2PROM存储器读出,通过38 kHz载波发送编码信号。

2 红外遥控编码学习与软件载波的发射

2.1 红外遥控信号编码结构分析

红外遥控器发射的遥控编码脉冲由起始码、系统码、功能码、功能码的反码组成[5],如图2所示。起始码是1个遥控码的起始部分,由1个高电平和1个低电平组成,作为接收数据的准备脉冲。这些编码是经38 kHz的载波脉冲调制后发射出去。

通过分析大量不同类型的红外遥控码波形,遥控码的数据帧间歇宽度均为10 ms以上,起始码的高电平均为5 ms 以上,通常为9 ms左右。编码位在10 μs~5 ms之间,在设计中,只考虑遥控器发射信号的高低电平宽度,不考虑其编码方式,以简化设计[6]。

2.2 红外遥控信号编码学习软件设计

一般红外遥控器的的红外信号都是通过38~40 kHz(周期大约为26.3 μs)进行载波调制而成的,经过载波后信号的脉冲宽度与单片机的指令周期时间(12 MHz晶振的指令周期为1 μs)数量级差不多。如果直接记录载波信号的脉冲宽度,这样误差很大,必须对载波信号进行解调后,方可记录此时遥控编码信号的脉冲宽度。

在设计中采用计数器对信号高低电平计时的方法来采集数据并保存。当系统识别到起始码的低电平时,系统启动设计的采集信号对低电平进行采集,同时计数器开始计数,当起始码的低电平结束时,并保存计数器此时的值,记录下起始码的低电平信号脉冲宽度值。然后依次保存采集到的编码信号脉冲宽度值,如果采集到编码信号位数大于设定值M(程序中设定值),就认为编码采集已经结束,学习子程序结束,如图3所示:

2.3 红外遥控信号的发射

由软件实现遥控信号的载波合成,用定时中断0产生38 kHz的载波信号,用学习到的遥控编码信号的低电平去控制载波的输出,此时定时器0定时长度由相应的遥控信号低电平宽度计数值确定,即如果需发射的遥控信号为高电平时,关定时中断0;如果为低电平,则开定时中断0。输出38 kHz 载波信号到红外发射控制脚(P3.7),从而实现遥控信号的脉宽调制发射。不考虑红外信号的编码方式,只采集其高低电平宽度的方法,如图4所示。

发射时并不需要用到38 kHz载波电路,而是采用以单片机的定时器T0产生载波,程序代码[7]如下所示:

TMOD=0X02;//定时器0工作于方式2

TH0=0XF3; //定时器0定时26.3 μs,以产生38 kHz载波

TL0=0XF3;

EA=1;//开总中断允许

ET0=1; //开定时器1中断允许

TR0=1;//开定时器0,产生38 kHz载波

void timer0(void)interrupt 1

{ remoteout=~remoteout;}//遥控信号38 kHz载波输出

用学习到的脉冲高低电平(0和1信号)来控制38 kHz的输出,然后经三极管放大信号,编码信号经二极管以38 kHz载波形式发射,这样以软件替代硬件,使电路简化,有效实现了红外遥控信号的接收和转发。如图5所示。

2.4 红外编码脉冲

学习型红外遥控器对微处理器的频率要求比较高,选择单片机的晶振频率12 MHz,其频率大小直接影响到遥控器的学习效果。通过系统设计的遥控器学习效果优良,能学习到的各种红外脉冲。

图6以Ht6221标准红外遥控器为例,其波形为“1”键的红外编码脉冲。图6(a)的编码脉冲是学习型红外遥控器学习到的,图6(b)的编码脉冲是Ht6221标准红外遥控器发射出的,学习到的“1”号键完全能取代原始的遥控器的“1”号键。遥控器发射电路中的38 kHz载波用单片机中的定时器产生,这样节约了硬件资源,简化了电路。

3 结 语

该次设计中红外遥控器,可以准确采集到红外编码脉冲信号,并将原始的红外编码信号保存,发送,能成功学习各种不同家用红外遥控器,对各种家用红外遥控器进行控制,解决了家庭用户众多遥控器的烦劳。

参考文献

[1]邱士安.通用遥控器的解决方案[J].昆明理工大学学报 2001(26):197-199.

[2]芦健,彭军,颜自勇,等.自学习智能型红外遥控器的设计[J].国外电子测量技术,2006,25(8):63-65.

[3]张劲.浅谈学习型遥控器[J].有线电视技术,2007(6):12-13.

[4]徐淑萍,谭宝成.智能型红外遥控器的研制[J].现代电子技术,2002,25(1):44-45.

[5]王永华,周卫,詹宜巨,等.一种通用学习型红外遥控器设计与实现[J].应用技术,2005(2):18-19.

[6] 楼然苗,李光飞.51系统单片机设计实例[M].北京:北京航空航天大学出版社,2006.

[7]苏长赞.实用遥控技术手册[M].北京:北京人民邮电出版社,1996.

[8]李迟生.智能遥控器的设计[J].电子技术应用,1997(3):38-40.

[9]严后选,孙健国,张天宏.无线红外智能遥控器的设计[J].测控技术,2003,22(3):54-56.

[10]马忠梅,籍顺心,马凯,等.单片机的C语言应用程序设计[M].北京:北京航空航天大学出版社,2007.

作者简介 徐 志 男,1981年出生,硕士研究生。主要研究方向为单片机、嵌入式、无线遥控。

何明华 男,1971年出生,教授。主要研究方向为嵌入式系统与系统级芯片设计。

林 武 男,1984年出生,硕士研究生。主要研究方向为嵌入式系统。