基于EFM32GG230单片机的红外无线自学习系统
引言
当前民用遥控设备,主要分为两种遥控方式:红外和无线。无线设备通常采用315 MHz与433 MHz频段无线电或者红外线进行遥控操作。多数遥控器都采用了“一对一”的控制方式,不同设备之间采用的频率一般都不相同,波形长短也不一样,这样就导致人们生活中有很多遥控器,需要控制一个设备的时候,必须寻找到对应的遥控器才能进行相关控制,这给实际生活带来了麻烦与不便。无线自学习转发系统可任意学习无线和红外波形,进行数据压缩后存储到EFM32GG230的FLASH中,将多个遥控器的功能综合到一个系统上,实现“一机多发”。
1 红外无线自学习系统设计概况
1.1 EFM32GG230系列简介
遥控器是需要长期待机的设备控制器件,传统遥控器采用电池供电,功耗大、耗电快。本系统采用了EFM32GG230,该款芯片是挪威Energy Micro推出的超低功耗ARM架构的MCU,具有丰富的外设接口。在活动模式下执行来自FLASH实际代码时,每MHz所耗电量为180μA,在深度睡眠EM3模式下为900 nA,在关机模式下为20 nA,EFM32GG230的LESENSE、LEUART,以及LETIMER模块均针对低功耗设置。LESENSE能够在低功耗模式EM2下对电流进行检测,无需CPU干预,待检测完成后唤醒CPU进行数据处理及运算。LEUART在9 600 bps的波特率下仅为150 nA。在应用基准测试中,EFM32GG230微控制器的低电流性能加上低于2μs的启动时间,使其电池寿命延长了至少4倍。
1.2 红外、无线遥控原理
红外线是波长在750 nm至1μm之间的电磁波,它的频率低于可见光,是一种人的眼睛看不到的光线。红外遥控具有抗干扰能力强、信息传输可靠、功耗低、成本低、易于实现等显著优点。
一般的红外遥控系统由红外遥控信号发生器、红外遥控信号接收器、微处理器和外围电路构成。当遥控器某个按键按下,其内部的信号发射器产生预先设定好的编码脉
冲,经过载波调制后由红外发射管串行输出,红外信号的调制有脉冲宽度调制(PWM)和脉冲位置调制(PPM)等方法。二进制的调制由发射端单片机来完成,不同的遥控器有不同的载波频率。以常见的电视红外遥控为例,它把编码后的二进制信号调制成频率为38 kHz的间断脉冲串,此脉冲串即是用于红外发射二极管发送的信号。其调制原理如图1所示。
另一端遥控接收模块完成对红外遥控信号的接收、放大、检波、整形、解调出遥控编码脉冲。遥控编码脉冲是一组串行二进制编码,对于一般的红外遥控系统,此串行编码输入到微控制器,由其内部完成遥控指令解码,并执行相应的遥控功能。
无线发射的原理与红外基本一致,433和315分别指的是工作频率在433 MHz和315 MHz的无线信号,其采用调幅方式进行发射,发射距离一般在50~120 m,无线方式优势在于传输距离比红外远,而且可穿墙。
1.3 整体设计
从整体设计来看,本系统分为信号接收学习模块、MCU控制模块、信号转发模块。通过红外接收头接收红外波形信号(433、315分别采用各自的接收模块),然后利用EFM32GG 230的引脚捕获CC0、CC1、CC2对信号进行捕获,完全捕获的原始信号进入EFM32GG230主控MCU,由EFM32GG230进行数据压缩,压缩后存储到FLASH中。当需要发射时,通过EFM32GG 230从FLASH中提取压缩后的数据,进行数据还原,而后与EFM32GG230内部的PWM功能产生的载波进行信号调制,调制好的信号经由发射处理模块进行发射操作,完成一次遥控转发。图2为学习转发系统框图。
2 软件设计
2.1 软件设计流程
进入程序后开始等待信号,如果得到学习信号,则进一步判断是红外学习还是无线学习,无线学习有自适应能力,能够自动判断收到的信号是433 MHz还是315 MHz,然后进
行相关的数据压缩,压缩后存储到FLASH中以待后期取用。如果得到的是发射信号,则进行判断是红外信号还是无线信号,然后从FLASH中读取相应数据,如果FLASH中并没有数据(即没有学习),则返回到开始处继续等待,若有数据则进行解压缩操作,然后进行载波调制(红外信号),最后由相关模块发射出去。发射模块配有多个发射探头,可根据需要选择不同通道进行发射,也可以多通道共同发射信号,发射完毕后回到开始处等待新指令。本系统的程序流程图如图3所示。
2.2 数据压缩算法
本系统采用的波形数据压缩算法为替代压缩算法,经过大量的分析,遥控器基本分为红外遥控器、433遥控器和315遥控器,后两种合称为无线遥控器。红外遥控器控制的设备包括电视、DVD、电动窗帘、电风扇、热水器、空调等。据大量红外遥控器的波形分析,空调遥控器的波形为最长,测试中波形最长的空调遥控器为日本的DAIKIN空调,
EFM32GG230 低功耗 自学习 红外 无线 数据压缩 遥控 相关文章:
- 基于μC/OS-II嵌入式系统的低功耗开发(07-08)
- 数字信号处理(DSP)应用系统中的低功耗设计(05-02)
- AVR单片机介绍(07-09)
- 基于WinCE5.0的嵌入式设备休眠唤醒技术研究(09-27)
- DSP电源系统的低功耗设计(11-13)
- 基于DSP的低功耗接收机单边带解调方法(01-10)