基于单片机的红外系统控制研究

    张金美 王庆福

    

    

    摘要:当前工业化的自动化水平已经成为衡量一个行业是否进步的标志,工业自动化要求能够通过简单的机器操作来减少人为干涉,从而提升社会劳动力的合理分配。文章指出,家庭电器设备自动化是当前智能家居的重点和中心实验领域,基于单片机的红外控制能够有效地解决家庭设备多路控制问题,极大地改善人们的日常生活。

    关键词:工业自动化;单片机;红外控制

    单片机作为—种微型计算机,能够将各逻辑部件按照一定的逻辑功能组合在一起,其内可以包含CPU、RAM、ROM、总线、控制系统等必需的逻辑部件,将这些逻辑部件按照各组件的有机结合固化在芯片上。当前工业的自动化水平作为检验社会生产力进步的重要标志,如何提升工业自动化程度是一个非常重要的指标。工业自动化的目标是希望通过提高机器自动化的程度来尽可能地减少人为的强行干预,极大地提升社会生产力。家庭电器作为人们日常生活中最常见的部分,实现家庭电器操作的一体化是单片机的一个重要应用领域,应对家庭电器中诸多遥控器的问题,采用基于单片机的红外控制系统,减少人为操作的复杂性,实现一键式操作模式,能够极大地方便人们的生活,具有非常重要的经济意义和社会意义。

    1.单片机

    当前单片机在日常生活中的每个方面都有涉及,几乎是人们日常生活不可或缺的一部分。小到电话、玩具、手机、各类刷卡机、电脑键盘、彩电、冰箱、空调、电磁炉,大到汽车、工业自动控制、机器人、导弹导航装置,甚至是美国的火星车,这些设备里面都含有一个或者多个单片机。单片机是一种控制芯片,一个微型的计算机,而晶振、存储器、地址锁存器、逻辑门、七段译码器(显示器)、按钮(类似键盘)、扩展芯片、接口等都是单片机系统。下面介绍单片机中一些重要概念。

    (1)时钟周期。也称为振荡周期,定义时钟频率的倒数(时钟周期就是单片机所接的外部晶振的倒数,如12MHz的晶振,它的时钟周期就是1/12us),它是单片机中最小的时间单位。在一个时钟周期内,CPU只完成一个最基本的动作。时钟脉冲是CPU的基本工作脉冲,脉冲的大小反映CPU工作频率的快漫节奏,通常可以认为时钟脉冲越高,CPU的工作效率也越高。然而因为不同单片机的内部构成不同,高脉冲的CPU不适用于任何单片机。所以,通常不同的单片机都有其自身独特的时钟脉冲。常用的STC89C系列单片机的时钟范围大概在1-40MHz。

    (2)状态周期。它是时钟周期的2倍。用作单片机内部各功能部件按序协调工作的控制信号。

    (3)机器周期。单片机的基本操作周期,在一个机器周期内,单片机完成一项基本操作,如取指令、读写存储器等。由12个时钟周期(6个状态周期)组成。

    (4)总线周期。总线上挂载了存储器、控制器和相关的I/O设备,CPU对这些设备的访问通过总线实现,因此定义以此CPU的外设访问为一个总线周期。

    (5)指令周期。顾名思义,是指执行一条指令所需要的时间。一般而言,一条指令包含多个操作,可能会需要1~4个机器周期。例如,对于一条简单的取数指令,从寄存器中获取数据并编码执行即可,一个机器周期即可完成,但对于一些较为复杂的运算指令,可能涉及取数、存储、运算等多个步骤,则可能需要一个或者多个机器周期。通常意义上,一个机器周期的指令成为单周期指令,多个机器周期的指令成为多周期指令。

    (6)总线。总线是元器件中一个重要的概念,在模拟电路中各种部件之间都是通过串行的方式连接,各部件之间的连线并不多,然而计算机中各种元器件太繁多,还涉及各部件之间相互通信和协调的问题,如果每条功能指令或者2个元器件之间的通信都通过线互联,则计算机内部的线路将会非常庞大,对于整体的维护和升级也极为不易,因此需要总线来协调各组件问的及时通信。总线是计算机内部的主干线路,一切互联的器件都通过总线进行通信。然而还存在另一个问题,当2个元器件同时对外输出信号时,一个元器件的输出信号为1,另一个元器件的输出信号为0,则接受方在接受后应该如何处理呢。这种情况依赖当前的总线是不够的,因此引入了控制总线的概念。控制总线是各元器件之间指令交互的工具,任何时候控制总线只被允许进行一种指令的传输来保证指令的有序性,这样,接受方在收到指令后则可以进行有效的判断。而数据总线是各元器件间数据交换的工具。另外,单片机内部还存在着地址的分配,某些存储单元要完成地址分配才能进行信号传输,由于存储单元过多,管理起来也较为不易,因此以地址总线进行协同控制。

    (7)数据、地址、指令。从某种意义上来说,这三者都可以认为是数字,是由一连串0101的数字串构成的。简而言之,地址和指令也可以认为是数据。地址通过0101的数字序列对应到计算机存储器件中某个具体位置,指令通过0101的数字序列表征具体的指令,指令有着比较严格的界定,不能由单片机的开发者随意更改,一个确定的数字序列指令就对应着具体的操作。同理,单片机内部器件的地址也是事先由芯片设计者设计好的,不可更改,外部的单元可以提供给开发者自由设定,不受限制。数据部分是整个单片机处理的核心,最终的结果都是为了数据的传输和运算,不同的电路中数据也有着一定的差异。

    2.红外控制系统

    红外控制是一种应用比较广泛的通信和遥感技术。因其功耗低、体积小、携带便捷、价格低等优势,已经在家用电器(空调、彩电、冰箱)中广泛应用,一些音响设备等也逐渐开始使用红外控制。一方面,红外控制在操作上简便易行;另一方面,独特的控制性能是首选。此外,在不适合人现场操作的场景下,如高压、高气流、缺氧、毒气和粉尘等环境下,红外控制也逐渐崭露头角,可靠的稳定性和操作性能够有效地隔离毒气粉尘对人身体的影响和伤害。

    红外控制系统一般由发射系统和接收系统两部分组成,发射系统通常可以由键盘、芯片和相关的红外发射源通过连接红外发射电路,将基带产生的二进制信号转换为脉冲信号,通过红外发射管发射。接收系统通过接收传递过来的红外光线进行脉冲分析,提取脉冲信号对应的二进制信号,从而进一步对二进制进行响应。

    UPD6121G通过产生连续的32位二进制编码输出指令,在32位编码中,前16位用于区分不同的发射方,防止不同电器之间的信号干扰。通常情况下,前16位身份码固定为01H;后16位为8位操作码(功能码)及其反码。UPD6121G最多有128种不同组合的编码。

    相应的操作设备按键被按下时,会周期性地输出不同的指令(即32位状态码),每组的状态码间通过0101的数据分布相区别,不同的数据分布对应不同的数据指令。

    下面介绍采用单片机的红外控制系统的具体布线细节,图1为红外遥控的系统结构。

    如前所述,通常意义上的红外控制系统由两部分组成:信号发射部分和信号接收解析部分。因此,一般需要编码器/解码器对此种功能进行解析,编码器的目的是将当前的输出指令编码成脉冲信号进行传输,解码器的作用是针对发射的脉冲信号进行解码,换成对应的电信号。此处以TC9012编码芯片为例分析红外遥控,介绍如何利用51单片机进行信号的解码。当用户使用遥控设备按下按键时,触发按键背后的单片机线路,不同的按键对应着不同的功能,不同的按键会产生不同的脉冲信号,此类遥控码具备如下特征:采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,遥控器发射的信号由一串0和1的二进制代码组成,不同的芯片对O和l的编码有所不同。编码主要以曼彻斯特编码和脉冲宽度编码2种为主,TC9012的0和1采用PWM方法编码,即脉冲宽度调制,其0码和l码如图2所示(以遥控接收输出的波形为例)。0码由0.56ms低电平和O.56ms高电平组合而成,脉冲宽度为1.12ms。l码由O.56ms低电平和1.69ms高电平组合而成,脉冲宽度为2.25ms。在编写解码程序时,通过判断脉冲的宽度,即可得到0或1,具体的编码细节如图2所示。

    当接收系统接收到来自发射方的脉冲信号后,首先对信号进行判断,判断当前的信号属于何种信号,如按下空调的遥控开关时,表示是需要调节当前空调的温度还是调节风量,又或是调节当前房间的湿度等。解码的关键就是需要根据接收的脉冲信号0101中解析具体的信号。可想而知,对于特征的设备和频段,固定的命令格式必然是固定的,否则不同型号的空调可能会对相同的按键产生不同的操作,这是不能接收的。如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为“0”,反之则为“l”,为了可靠起见,延时必须Lho.56ms长些,但又不能超过1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms最为可靠,一般取0.84ms左右均可。根据码的格式,应该等待9ms的起始码和4.5ms的结果码完成后才能读码。

    3.结语

    本文从当前工业的自动化水平为切入点,阐述当前家庭电器的重要开发领域,分析基于单片机的红外控制系统的研发,能够极大地提高经济效益,节约时间。

相关文章!
  • 融合正向建模与反求计算的车用

    崔庆佳 周兵 吴晓建 李宁 曾凡沂<br />
    摘 要:针对减振器调试过程中工程师凭借经验调试耗时耗力等局限性,引入反求的思想,开展了

  • 风廓线雷达有源相控阵天线研究

    罗琦史冰芸摘要:风廓线雷达有源相控阵天线可以显著避免来自地杂波的干扰,非常适用于气象领域。文章从系统整体设计、天线辐射模块方案、

  • 基于MATLAB 的信号时域采样及

    唐敏敏 张静摘要:频率混叠是数字信号处理中特有的现象,发生频率混叠后,信号会分析出错误的结果。而采样过程中,由于频率不够高,采样出