APP下载

基于XML的红外发射编译器设计

2022-04-14中科芯集成电路有限公司吴志玲胡凯张弘武亚恒王琪严丹丹

数字技术与应用 2022年3期
关键词:编译器遥控按键

中科芯集成电路有限公司 吴志玲 胡凯 张弘 武亚恒 王琪 严丹丹

为解决传统红外发射编译器无法实现多用户编码以及新增编码格式较为复杂的问题,本文提出了一种基于XML的红外发射编译器的设计,该设计采用XML文件数据格式调用的方法,将不同类型的红外发射码以特定信息格式存储在库文件中,该格式中包含定制用户码信息,编译器进行编译操作时直接调用XML文件库中的配置信息及编码数据信息即可完成一种红外发射码的编译操作,实现了可定制化多用户编码及支持多种编码格式的可扩充性需求。

近年来随着物联网的发展,智能家居展现出强劲的活力。智能遥控器作为智能家居中一种用于远程控制的装置得到了广泛的应用。随着射频技术的不断进步,遥控器信号的传送接口类型也在不断增多,目前主要包括红外线、2.4GHz频带电波(RF)、蓝牙等,如今最为常见和产量最大的遥控器类型仍然是红外遥控器。

红外遥控器作为一种无线发射装置,采用数字编码技术将按键信息进行编码,并以高低电平的形式通过红外二极管发射出光信号,光信号经接收端的红外接收器接收并将其转换为电信号,再由解码处理器进行解码操作,解调出相应的指令发送至执行端[1]。目前已有的红外发射编译器无法实现多用户码编码,也不能满足不同格式红外码的扩充性需求。本文介绍了一种基于可编程智能遥控微控制器的红外发射编译器的设计,该编译器可实现多用户码编码,同时采用了XML文件数据格式调用的方法解决了传统编译器无法扩充新编码格式的问题。

1 红外发射与接收原理

红外发射与接收工作原理[2]:编码IC通过三极管将信号进行放大调变,然后将此电信号(脉冲波)经由红外发射管(940nm波长)转变为光信号发射出去。红外接收部分主要由光电二极管加红外接收IC组成,光电二极管接收到的红外发射管发射出的光信号后将其转换为电信号(微安级的电流),此电信号输入到接收IC内部经过放大—增益—滤波—解调—整形等一系列处理后,还原遥控器给出的原始编码,通过接收头端将信号输出到代码识别电路[3]。

调制解调原理:红外遥控是以调制的方式发射数据,即把数据和一定频率的载波进行“与”操作,既可以提高发射效率又可以降低电源功耗[4]。调制载波频率一般在30kHz到60kHz之间,大多数使用的是38kHz,占空比1/3的方波,占空比取决于发射端所使用的455kHz晶振[5]。在发射端要对晶振进行整数分频,分频系数一般取12,所以455kHz÷12≈37.9 kHz≈38kHz。

2 红外发射编译器设计与实现

本文所设计红外发射编译器软件目前可支持20种常用的红外编码格式,均可实现三种定制用户码的编译功能。除此之外,编译器因采用XML库调用的模式存储不同编码格式,故对编码格式的扩充性较好,可快速便捷的新增编码格式,目前支持格式如下:uPD6121G、SAA3010_RC5_38K、rc6-1、rc6-2、rc6-3、7461、50462、TC9012、TC9012F、50560-1、50560-2、0773、7051、2185、6014、Jvc、y261、SONY_1、SONY_2、SONY_3。

2.1 数据编码格式

本文以常用编码格式uPD6121G为例说明红外发射编译过程,uPD6121G编码格式如图1所示。该数据格式包括起始码、用户码、数据码和数据反码,用户码、数据码和数据反码均为8位,故编码共计32位,数据反码为数据码取反后的编码,编码时可用于对数据的纠错。

图1 uPD6121G数据编码格式Fig.1 Data coding format of uPD6121G

2.2 位定义

用户码或数据码中的每一位可以是位‘1’,也可以是位‘0’,‘1’和‘0’是利用脉冲的时间间隔来区分,这种编码方式为脉冲位置调制方式(PPM)[6]。PPM以脉宽0.56ms、间隔0.565ms、周期1.125ms的组合表示二进制的‘0’,以脉宽0.56ms、间隔1.69ms、周期2.25ms的组合表示二进制的‘1’。

2.3 按键输出波形

uPD6121G按键输出有两种方式,一种是每次按键都输出完整的一帧数据;另一种是按下相同的按键后每发送完整的一帧数据后再发送重复码,再到按键被松开。

2.4 红外发射编译器编码过程

为更好实现人机交互,方便用户对编码格式、配置信息等快捷更新,红外发射编译器共设计了两大模块,即上位机界面与后台运行编译程序,红外发射编译器编码过程如图2所示,本文以uPD6121G为例对编译过程进行说明。

图2 编译器工作流程图Fig.2 Workflow diagram of compiler

(1)红外发射编译器上位机软件界面如图3所示,在界面左侧配置页设计了可配置编码格式名称、用户码位数、用户码数值、第二帧发射格式等信息的选择框,便于用户根据编码需求自主设置配置信息。

图3 红外发射编译器软件界面Fig.3 Software interface of infrared emission compiler

具体实现如下:

(2)XML库文件中包含20种编码格式的配置信息,用户可通过界面选择其中一种编码格式,通过对用户设置的编码格式进行分析,调用XML库文件中的编码格式进行匹配,并读取XML库文件中对应格式的配置信息,uPD6121G编码在XML中部分配置信息如下:

软件实现如下:

(3)在配置信息中查询是否包含定制用户码,若有,则提取界面中用户设置的用户码并经数据转换后存储至烧录文件对应区域内;若无定制用户码则进行后续发射码的编译;

软件实现如下:

本设计中的三组用户码UserACom、UserBCom、UserDCom是在原编码格式用户码基础之上再次扩充的,可将发射按键数量扩充至原来的3倍,如常规发射按键78个,通过实现多用户码的编译,可将按键数量扩充至234个。

(4)根据uPD6121G格式的位定义编译起始码、常规用户码、用户反码(uPD6121G格式中用户反码8位数据与用户码一样,未取反,保持不变)、数据码及数据反码等信息,并存储至烧录文件;实现如下:

(5)将步骤(2)中读取的配置信息编译存储至烧录文件指定的配置区域;

(6)将包含发射码所有格式信息及数据信息的二进制文件烧录至微控制器,此时连接外部发射单元,按下按键即可实现红外遥控的发射操作。

3 编译器发码测试

对本文所设计编译器进行发码测试,设置如图4所示,选择用户码D,用户码数值为33,其用户反码为CC,经编译器编译并将文件烧录至硬件中,按下按键值为4E的按钮,其数据反码为B1,发射成功后,用通用红外遥控编码分析仪接收到的数据如图5所示,与图4中配置信息对比发现,红外遥控编码分析仪解析到的数据与按键值为4E的uPD6121G码完全一致(注:编译器编码格式正确,红外遥控编码分析仪接收到信号后将自动匹配编码类型并显示出编码格式及码值;若编码错误,红外遥控编码分析仪将解析不出任何波形)。

图4 红外发射编译器发码测试Fig.4 Code sending test of infrared emission compiler

图5 红外遥控编码分析仪接收的uPD6121G格式码形Fig.5 uPD6121G format code received by infrared remote control coding analyzer

用同样的方法测试LC7461M-C13、MIT-C8D8、TC9012F、Sharp等格式,结果如图6所示。

图6 红外遥控编码分析仪接收的LC7461M-C13、MIT-C8D8、TC9012F、Sharp格式码形Fig.6 LC7461M-C13、MIT-C8D8、TC9012F、Sharp format codes received by infrared remote control coding analyzer

4 结论

传统红外发射编译器无法实现多用户码编码,也不能满足不同格式红外码的扩充性需求。本文设计的基于可编程智能遥控微控制器的红外发射编译器可实现多用户码编码,同时因采用XML文件数据格式调用的方法解决了传统编译器无法扩充新编码格式的问题,只需在XML文件数据库中添加新的编码格式即可完成新增编码类型的编译工作,可扩展性较强。

猜你喜欢

编译器遥控按键
基于有限状态机的按键检测程序设计
基于相异编译器的安全计算机平台交叉编译环境设计
他是如何遥控引爆的
一种多方向导光按键结构设计
遥控赛车
通用NC代码编译器的设计与实现
按键的多种状态检测及消抖处理方法
遥控提琴
解析某型号手机按键检测程序的缺陷
编译器无关性编码在微控制器中的优势