微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 基于单片机的智能学习型红外空调遥控器

基于单片机的智能学习型红外空调遥控器

时间:06-25 来源:互联网 点击:

只发送一次、完整帧重复发送两次、先发 送一个完整帧,后重复发送帧头和一个脉冲。面对如此多样化的编码方式,如果区分每种编码的含义进行学习,学习的复杂度将会很高,并且通用性也会受到影响。 所以,为了避开各色码型的干扰,系统在学习时并不关心码型数据的实际意义,只记录脉冲的时间宽度。系统主要针对载波频率为38KHz(周期为26us)的 红外遥控器,利用变量IR_time记录接收到的脉冲宽度。学习程序流程如图4所示。

  

  图4学习程序流程图。

3.1.2  压缩存储

由于不考虑具体的码型数据意义,只记录脉冲的宽度,系统的学习功能通用性得到了提高,但这种方式学习到的数据量很大,对存储的要求就变得很高。

尽管系统针对存储的大容量需求设计了单独的存储模块,但考虑到应在不增加硬件开销的情况下保证足够的存储容量,以及满足未来扩展的需要,在进行数据存储时,采取了数据压缩技术。

从学习到的电平数据可以发现,无论数据是1还是0,都有相同时长的电平出现,这符合游程编码的特点。游程编码是一种简单的非破坏性资料压缩法,其好处是加压缩和解压缩都非常快,其方法是计算连续出现的资料长度压缩之。比如:一张二值图像的数据为:

  WWWWWWWWBWWWWBBBWWWWWWWBWWWWW

使用游程编码压缩可得:8W1B4W3B7W1B 5W.

可见,压缩效率极高,且可避免复杂的编码和解码运算。所以,在存储时,系统对学习到的数据进行游程编码压缩[7,8].例如,学习到的一组空调 遥控器的数据为[157 153 23 53…23 53 23 180 156 152 23 53…53 23],如图5所示,对重复的电平数据采用游程编码压缩后,原本需要199字节的空调遥控码,只需要106个字节即可存储,压缩率达53.27%.因此, 在存储时针对学习到的数据特点采取游程编码压缩,可以有效节约存储空间。

  

  图5一组典型的空调数据帧。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top