摘 要: 介绍了一种基于多路开关检测接口芯片MC33993" title="MC33993">MC33993与单片机芯片AT89C2051" title="AT89C2051">AT89C2051的多路红外家电集中遥控管理系统的硬件电路的设计,使用微处理器少量的I/O口资源实现了较多路用电设备的控制管理,使得整个遥控系统的硬件设计及软件设计都更加简洁。
关键词: 多路开关检测接口 三端双向可控硅 MC33993 AT89C2051 HX2262/2272
红外遥控" title="红外遥控">红外遥控技术由于通过光信号传递数据,因而不易受到电磁干扰,其频率的使用也不象无线遥控技术那样受到许多的限制,而且通讯的可靠性高。因此在短距离遥控领域,更多地使用红外遥控技术,而不是无线遥控技术。本文设计的多路遥控系统主要针对的是目前家庭众多的家用电器设备需要集中控制管理。其主要特点是一改传统键盘控制电路设计往往以总线方式外接8155、8255或8279芯片来扩展并行口,而采用MOTOROLA公司最新推出的串行可编程多路开关检测接口芯片MC33993与价格低廉的单片机芯片AT89C2051实现键盘控制;并且在遥控输出控制方面,利用MC33993可以驱动MOSFET/LED之功能,再次采用MC33993与AT89C2051实现多路输出控制,从而以CPU较少的I/O口资源满足了较多路的输出控制。因此,MC33993的使用大大节省了系统有限的I/O口资源,同时有利于实现系统更多的其它控制功能,而且也使系统的硬件设计和软件设计更加简洁。
1 多路红外系统组成及其原理
红外遥控本质上是利用红外线传递数字编码信号。通常红外遥控系统是由红外遥控发射电路、红外遥控接收电路及其输出控制电路两部分组成,如图1所示。
红外遥控发射电路的功能是对输入控制指令信号进行扫描、产生遥控编码脉冲、驱动红外发射管输出红外遥控信号。红外遥控接收电路的功能是接收红外遥控信号并将之放大、检波、整形,解调出编码脉冲。遥控编码脉冲是一组组串行二进制码,对于一般的红外遥控系统,此串行码输入到微控制器,由其完成遥控指令的解码;微控制器根据解出的控制指令输出相应的控制信号,由输出控制电路去执行相应的遥控功能。
2 红外遥控发射电路的设计
整个多路红外遥控发射电路包括遥控指令输入电路部分和编码发射电路部分。多路红外发射电路如图2所示。它主要由MC33993、AT89C2051、HX2262、LTE5208A等器件构成。
2.1 遥控指令输入电路设计
系统的遥控指令输入电路是基于MOTOROLA公司新近推出的可编程多路开关检测接口集成电路MC33993设计的,它可检测多达22路开关量输入信号,并可将检测到的多路开关的状态(三态)信号通过该芯片的SPI(串行外围接口)传送给单片机。该器件具有22路模拟多路开关的功能,用以读取多路模拟输入信号,模拟输入信号经缓冲器缓冲后由模拟多路开关输出以供单片机读取。除此之外,MC33993还具有许多其它灵活的应用,诸如可为传感器提供电源、作为模拟传感器的输入、驱动MOSFET/LED和控制管理系统电源等。
在这里主要利用其基本的开关检测功能。MC33993与单片机AT89C2051的接口电路设计(参见图2)如下:22路遥控开关分别与MC33993的SP0~SP7及SG0~SG13共22个输入端口连接,MC33993的SPI通信口的SI、SO、CS、SCLK分别与AT89C2051的P3.0、P3.1、P3.4、P3.5相连接,MC33993的中断输出与AT89C2051的中断输入连接。MC33993的WAKE端控制电源管理芯片MC33998的5V电源输出,平时MC33993等处于睡眠模式。遥控指令的检测工作原理是这样的:首先单片机通过与MC33993的SPI口的通信对MC33993进行初始化,将MC33993的22个检测输入口全部设置为高电平。当有键盘按下时,MC33993可被唤醒,即可向单片机产生中断请求,单片机通过MC33993的SPI口读取键盘的状态变化,并将按下的按键指令编成一个6比特数,由AT89C2051的P1.0、P1.1、P1.2、P1.3、P1.4、P1.5输出给编码芯片HX2262。MC33993的应用使系统省去了CPU对键盘的不断扫描,因此提高了CPU 的利用率。
2.2 编码发射电路设计
红外遥控编码电路采用HX2262芯片,它的A0~A5为地址输入,可编程三种状态:1、0、浮空。在这里A0~A5全部设为低电平。D0~D5为数据输入,可为1或0两种状态,输入的指令编码由AT89C2051的P1口提供。HX2262与单片机的接口参见图2。TE为发射使能端,低电平有效,它由单片机的P3.7控制。OSC1与OSC2外接振荡电阻,决定电路时钟频率,振荡频率 f =1000×16/Rosc(kHz),Rosc为振荡器电阻,其值选为470kΩ。DOUT为数据串行输出。每传送一组编码,编码串都自动连发四次,编码器用不同的占空比及组合表示不同的状态。输出数据调制在38kHz的载波上,非门芯片CD4011构成38kHz的振荡器。整个编码(地址编码与指令编码)脉冲调制在38kHz的载波上后由红外发射管LTE5208A发射出去。
3 红外接收及遥控输出电路设计
3.1红外接收及其解码电路的设计
红外接收电路如图3所示,它由集成红外接收管(红外放大解调于一体的组件产品)、解码芯片HX2272、AT89C2051组成。其中HX2272是与HX2262配对使用的解码芯片,A0~A5是地址输入,要求与发射端的HX2262设定的状态一致,因此全都设置为低电平。D0~D5为数据输出,脉冲编码信号自Din输入,振荡器电阻选为1M?赘。当接收到有效信号时,VT端由低电平变为高电平。HX2272与AT89C2051的接口参见图3,HX2272的6位数据口D0~D5分别与AT89C2051的P1口连接。当NJL41V328的感光窗接收到红外发射器发来的红外线调制信号时,经内部电路处理输出给HX2272解码芯片;在HX2272对接收的数据解码成功后, VT端由低电平变为高电平,三极管导通,给单片机INT0中断口一个低电平,AT89C2051立即响应中断,通过P1口读取HX2272的输出数据;然后单片机根据读取的来自发射端的控制指令编码,通过其P3口与MC33993的SPI口的串行通信输出相应的控制信号给MC33993,利用MC33993的22个可编程开关检测口驱动MOSFET/LED的功能去控制三端双向可控硅的光绝缘驱动电路MC3021。AT89C2051与MC33993的接口如图3所示。
3.2 遥控输出电路设计
由于本多路遥控系统主要是针对目前家庭众多的家电设备的集中管理,所以该系统的控制对象大都是220V交流负载。首先AT89C2051对MC33993进行初始化,将MC33993的所有的开关检测端口均设置为浮空状态,在遥控接收电路成功解调出遥控指令后,由AT89C2051通过与MC33993的SPI口的串行通信输出对应的控制信号给MC33993,使MC33993相应的端口为可控硅光绝缘驱动器MC3021的输入发光二极管提供驱动电流,然后MC3021驱动三端双向可控硅BT136导通,交流负载接通电源开始工作。当再次按下同一遥控按键时,AT89C2051输出控制信号取反,使MC33993相应的端口断开,不再为可控硅光绝缘驱动器MC3021的输入发光二极管提供驱动电流,BT136丧失了MC3021的驱动,BT136截止,交流负载电源断开使其停止工作。输出控制电路参见图3。由于篇幅限制,图中只画出了第一路和第22路输出控制。
通常,需要大量开关接口和输出控制电路的系统往往由许多分立器件组成,众多的分立器件不仅在电路板上占据较大空间,而且必须仔细检查焊接的完整性。而将功能灵活的MC33993应用于多路遥控的键盘控制与输出控制中,减少了电路板的焊接和尺寸,同时又可提供非常灵活的接口,并且还具有睡眠工作模式,大大降低了系统的功耗。这样,用较少的CPU资源和简洁的电路设计,既解决了多控制按键的输入问题,又解决了多控制输出问题。MC33993是电子产品开发中非常理想的选择。
参考文献
1 MC33998.PDF.http://www.motorola.com
2 余永权.ATMEL89系列单片机应用技术.北京:北京航天航空大学出版社,2001
3 石东海.单片机数据通信技术从入门到精通.西安:西安电子科技大学出版社,2002