论文部分内容阅读
随着智能家居概念的推行,越来越多的现代化电器被用于现代家庭。家电设备得以进行遥控的最廉价的方式是通过红外线。因此,实现一个模块化的通用型红外遥控器软件系统,用于控制各种家用电器,已成为家居生活的迫切需求。该课题运用一款特定的可编程电路,其包含数据通信I/O 口、红外接收发射电路、掉电存储数据模块,用于实现软件功能。程序设计的难点主要在以下几个方面:可复制市面上99%厂家的红外遥控编码;通过I2C通信数据接口和其他设备进行有效的数据交互,实现控制多种家电设备的功能;系统可作为学习型遥控器的模板方案,市场应用指定功能遥控器可以在该软件系统中抽取必要模块进行再次开发。论文通过分析红外遥控发射电路、接受电路的基本原理,对红外编码信号波形进行了较为详细的分析,为红外信号无损接收、还原发射的实现提供可能。在实现系统主要功能时,先从硬件角度考虑可编程电路基本功能模块,这些模块的设计保证电路符合可被编程、可运行、可与外界通信、可自行存储数据等要求。从软件角度将编程实现过程分成接收子程序、码型识别处理子程序、存储子程序和发射子程序四个子程序块。各个子程序块设计如下:接收子程序,红外接收头把接收到的红外信号经过电路内部的比较器转化为不同长度的高低电平序列,利用电路的捕捉模块捕捉载波的周期和占空比,并通过定时器计时记下红外信号的波形特征,实现实时编码;码型识别处理子程序,对特殊码型进行识别和优化,设定相应码型特征值;存储子程序,采用电路内置的存储模块(MTPROM)可掉电存储码型参数,通过对码型参数的压缩,控制每种码型仅占用64个字节的存储空间;最后是发射子程序,当从MTPROM中读出有效数据后,提取红外信号的数据信息并进行波形还原,将其调制到对应的载波信号上,通过内置驱动电路驱动发射口的红外发光二极管发射红外信号。该软件系统可以实现对通用码型的复制功能,既可以作为从机使用又可以作为主机使用。当作为从机使用时,只使用其复制红外遥控码的功能,码型数据的发送和接收通过I2C通信协议交由其他设备实现,使该系统仅成为家用智能管理系统的一个模块;作为主机使用时,系统的红外发射口直接发送和接收码型数据。开发完成后对该软件系统的功能和性能进行了测试,测试结果与设计指标相符。