0 引言
在智能化家居控制系统应用中,无线通信和控制已经越来越广泛地被运用。为了实现对居室电器设备的集中无线控制,可采用电话遥控、手持遥控器进行远程或短距离的无线控制,但所控制和传输的信号都是RF信号。然而有些被控对象本身是用红外信号遥控的,例如电视机、空调,由于各种品牌的空调都有自己的红外编码信号,相互不能通用,这就给智能化家居控制系统中红外遥控器的集中无线控制带来了极大的不便。本文就基于MSP430的低功耗RF/红外控制器的设计与实现进行介绍。
1 工作原理
大多数红外遥控信号的输出都是用编码后串行数据对38~40KHz的方波进行脉冲幅度调制而产生的PWM信号,如图1所示。各种品牌的红外遥控器的编码信号互不兼容 [1][2]。
对该波形进行测量,并将高低电平的宽度存于 Flash中,而不管其如何编码。当需要对远端的红外设备进行无线控制时,在内存中取出该数字序列,经 Msp430单片机中的捕获比较功能模块,将其还原成红外编码信号。为了实现无线传输,将该信号调制到 350MHz或 420MHz的无线电波上进行传送。
由于红外编码信号的频率只有几十 K左右,而无线载波的频率是350MHz,以上变换的误差很小。而防止产生误动作的关键是脉冲函数的宽度的选取。采样频率越高,误差就越小,但内存的用量就越大。本文选取采样频率为红外基波频率(20KHz)的 6倍 [6][7]。
接收端的电路先将收到的调制信号解调,得到与图 1相似的红外波形,该信号通过红外驱动电路将驱动红外发光两极管,就可以得到遥控发射信号,完成要求的控制动作。只要解调信号和实际的红外波形有很好的一致性,就能够正确的实现红外遥控。
2 系统的硬件结构
本控制器分主控制器和接收节点两个部分。如图 2所示。
1)电源模块
电源模块的主要功能是实现电压的转换。把220V的交流电转换成数字电路工作所需要的3V和6V的直流电,其中3V是主要供单片机所使用的,6V供给红外一体化接收头和RF发射、接收模块使用的。此系统的电源回路设计采用无变压器的有源电路,它主要由一些电容、电阻、二极管、稳压管等组成,可达到体积小,耗电少、经济实用、性能稳定可靠的指标。
2)控制器模块
控制器模块以MSP430F1121单片机为控制器,它的主要功能是完成与其它模块的接口,控制和协调各模块的工作。MSP430是TI公司推出的16位系列单片机,它具有4kB+256字节的FLASH ROM和256字节的RAM的存储空间。因此,在整个硬件电路上无须外加程序存储器。在电池供电的低功耗应用中具有独特的优势,其工作电压在1.8-3.6V之间,正常工作时功耗可控制在200μA左右,低功耗模式可实现2μA甚至0.1μA的低功耗。当单片机处于闲置状态时,可以让其处于睡眠状态以降低供耗,可供选择的有6种模式:活动方式(AM)和低功耗方式(LM0,LM1,LM2,LM3,LM4),低功耗方式可让其最低功耗几乎为零[3][4]。
3)红外自学习模块
红外自学习模块的主要功能是能够学习并记录各种格式红外编码波形,常规的方法是将各种型号的红外编码存于一个表中,但这需要海量存储器。本模块由MSP430单片机内的捕获/比较功能模块、红外一体化接收头,2个开关,一个为自学习开关,另一个为复位开关,以及指示用的LED组成。
图3是捕获比较模块的结构框图 [5]。捕获比较模块用于捕获应用事件的发生时间,或产生定时间隔。利用Timer_Ad定时器的捕获功能,将CCTL1中的模式位CAP置位,并选定任意跳变的脉冲触发模式,当被测的红外波形产生上升沿或下降沿时,定时器计数值将被复制到捕获寄存器CCR1中。相邻两次跳变时所记录的定时器计数值之差就是高电平或低电平的持续时间。将每个时间值保存在FLASH中,就是将红外编码波形完整的记录下来。由于是波形的复制,可以避免由于厂家不同,红外遥控器发出的红外编码信号不统一而带来的麻烦。由于每发生一次捕获,捕获/比较模块寄存器将产生中断,因此程序能方便的判断红外波形是否结束。另外,捕获/比较模块中的输出单元可根据定时器计数到CCRx和CCR0时,输出PWM波形。
由于MSP430具有高稳定度的时钟,所以所捕获的红外编码有较精确的波形,能够准确地复现红外编码信号,实现红外编码的自学习和存储,以供红外-射频调制模块的使用。
4)红外-射频调制发射模块和射频-红外解调模块
该模块将事先存储在FLASH中代表红外编码波形高低电平的时间值,放入CCRx和CCR0作为定时器计数值,当定时器计数到CCRx和CCR0时,捕获/比较模块中的输出单元输出PWM波形,通过无线发射模块,将该PWM信号携载在315MHz的载波上发射出去。无线发射模块采用ASK调制,其工作频率为315MHz,采用声表谐振器SAW,频率稳定度较高。
接收模块采用315MHz的超外差接收模块, 其优点是频率稳定,抗干扰能力好,和单片机配合时性能比较稳定,缺点是灵敏度比较低。通过该模块,将接收到的ASK信号解调成PWM信号,该信号就是红外编码信号,故通过红外驱动-发射模块将驱动红外发光两极管,就可以得到遥控发射信号,完成要求的控制动作。
3 系统的软件设计
系统软件设计主要包括监控程序、中断程序以及数据处理程序等。流程图见图4。监控程序 主要完成 P1 P2口各位的输入、输出引脚定义,中断设置,定时器捕获模式设定等系统初始化,等初始化程序结束后,设定 MSP430F413工作在低功耗模式LPM4, 使 CPU处于休眠状态,其能耗最低(0.1μA)。由于P1 、P2口具有中断功能,能够实时的捕捉触发事件,P2.1和P2.2口线连接红外学习开关,P2.3连接复位开关。P1.0和 P1.1口线连接 RF接收模块,P1.2线则接收来自红外一体化接收头的信号,P1.3口线发射红外信号,当其中任何一个引脚收到跳变信号时,就触发一个中断事件将系统从休眠中唤醒,这样使得系统的用电大大的节约下来。
开发工具选择TI公司的MSP430系列单片机配套的IAR Embebbed Workbench 集成软件开发系统,它可以通过仿真器对目标系统实现在线编程,将程序通过仿真器写到单片机中实时的运行,设置断点等调试,通过强大的调试窗口功能可观察分析运行结果。
4.结束语
应用本文的设计思想和方法,可以较好地实现用无线信号对原红外遥控设备的控制,该控制器在实际应用中已经得到较好的验证,具有精度高、控制准确、抗干扰性强等特点。为智能化家居控制系统中红外遥控设备的集中无线控制提供了一套可行方案。 本文作者创新点:
1 对红外编码信号的波形进行测量,并将高低电平的宽度存于 Flash中,而不管其如何编码,可实现各种型号红外遥控器的自学习。
2 将红外信号调制在射频信号上,可解决红外信号传播的方向性缺点以及不能穿墙的问题,实现远距离的无线控制
3 超低功耗的系统设计方法对于功耗敏感的应用提供了一种很好的解决方案。