您现在的位置: 主页 > 社区 >  正文
基于EFM32GG230单片机的红外无线自学习系统
发布日期:2021-11-23 04:40   来源:未知   阅读:

  澳门123656com开奖地方冲刺全年经济“收官战”,操作。多数遥控器都采用了“一对一”的控制方式,不同设备之间采用的频率一般都不相同,波形长短也不一样,这样就导致人们生活中有很多遥控器,需要控制一个设备的时候,必须寻找到对应的遥控器才能进行相关控制,这给实际生活带来了麻烦与不便。无线的FLASH中,将多个遥控器的功能综合到一个系统上,实现“一机多发”。

  遥控器是需要长期待机的设备控制器件,传统遥控器采用电池供电,功耗大、耗电快。本系统采用了EFM32GG230

  低功耗ARM架构的MCU,具有丰富的外设接口。在活动模式下执行来自FLASH实际代码时,每MHz所耗电量为180A,在深度睡眠EM3模式下为900 nA,在关机模式下为20 nA,EFM32GG230的LESENSE、LEUART,以及LETIMER模块均针对低功耗设置。LESENSE能够在低功耗模式EM2下对电流进行检测,无需CPU干预,待检测完成后唤醒CPU进行数据处理及运算。LEUART在9 600 bps的波特率下仅为150 nA。在应用基准测试中,EFM32GG230微控制器的低电流性能加上低于2s的启动时间,使其电池寿命延长了至少4倍。1.2 红外、无线遥控原理

  冲,经过载波调制后由红外发射管串行输出,红外信号的调制有脉冲宽度调制(PWM)和脉冲位置调制(PPM)等方法。二进制的调制由发射端单片机来完成,不同的遥控器有不同的载波频率。以常见的电视红外遥控为例,它把编码后的二进制信号调制成频率为38 kHz的间断脉冲串,此脉冲串即是用于红外发射二极管发送的信号。其调制原理如图1所示。

  另一端遥控接收模块完成对红外遥控信号的接收、放大、检波、整形、解调出遥控编码脉冲。遥控编码脉冲是一组串行二进制编码,对于一般的红外遥控系统,此串行编码输入到微控制器,由其内部完成遥控指令解码,并执行相应的遥控功能。

  无线发射的原理与红外基本一致,433和315分别指的是工作频率在433 MHz和315 MHz的无线信号,其采用调幅方式进行发射,发射距离一般在50~120 m,无线方式优势在于传输距离比红外远,而且可穿墙。

  从整体设计来看,本系统分为信号接收学习模块、MCU控制模块、信号转发模块。通过红外接收头接收红外波形信号(433、315分别采用各自的接收模块),然后利用EFM32GG 230的引脚捕获CC0、CC1、CC2对信号进行捕获,完全捕获的原始信号进入EFM32GG230主控MCU,由EFM32GG230进行

  ,压缩后存储到FLASH中以待后期取用。如果得到的是发射信号,则进行判断是红外信号还是无线信号,然后从FLASH中读取相应数据,如果FLASH中并没有数据(即没有学习),则返回到开始处继续等待,若有数据则进行解压缩操作,然后进行载波调制(红外信号),最后由相关模块发射出去。发射模块配有多个发射探头,可根据需要选择不同通道进行发射,也可以多通道共同发射信号,发射完毕后回到开始处等待新指令。本系统的程序流程图如图3所示。

  本系统采用的波形数据压缩算法为替代压缩算法,经过大量的分析,遥控器基本分为红外遥控器、433遥控器和315遥控器,后两种合称为无线遥控器。红外遥控器控制的设备包括电视、DVD、电动窗帘、电风扇、热水器、空调等。据大量红外遥控器的波形分析,空调遥控器的波形为最长,测试中波形最长的空调遥控器为日本的DAIKIN空调,捕获的脉冲数达到了5000多个,将信号和载波分离解调后实际波形达到了300多个,如果直接保存,将大大浪费FLASH的宝贵空间。相关的压缩代码如下所示:

  由以上代码可以看出,本系统采用结构体来存储一个码的相关信息,包括该码波形的波形类型个数、各种波形的长度、数据长度、压缩后的数据以及学习标志。

  经过仔细观察分析,发现现有的绝大部分遥控器的编码都有一个共性,就是其中整段码中单个脉冲的类型为有限个数,除了开头和结尾部分存在部分不同的波形,其他中间部分的波形一般为两三种,加上几种比较少见的波形,整体而看,波形个数为5或6个。