基于FPGA的红外遥控信号接收模块的设计
红外遥控技术已经在日常家用电器中得到了广泛应用,其使用方便、功耗低、抗干扰能力强的优点也越来越在智能仪器系统中受到重视。市场上的各种家电红外遥控系统技术成熟、成本低廉,但都是针对各自的遥控对象(彩电、冰箱、空调等),不能直接用于智能仪器。本文探讨了如何借鉴家电红外遥控系统的原理,自行设计解码电路,使智能仪器具有遥控功能。该模块是建立在遥控器内部使用的芯片为HS622 1的基础上的。红外接收头型号为IRM3638,输出为IR管脚。而该模块则是对IR的输出信号进行译码处理,并从中提取红外发射包中的有效数据,然后并行输出8位数据以及8位遥控器用户码(地址码)供别的模块调用。
1 红外接收控制模块设计原理
遥控器发射的信号由一串0和1的二进制代码组成。不同的芯片对0和1的编码有所不同,通常有曼彻斯特编码和脉冲宽度编码。HS6221的0和1采用PWM方法编码,即脉冲宽度调制,0码由0.56ms低电平和0.565ms高电平组合而成,脉冲宽度为1.125ms。1码由0.56ms低电平和1.69ms高电平组合而成,脉冲宽度为2.25ms。在编写解码程序时,通过判断脉冲的宽度,即可得到0或1。HS6221以及同类的芯片的数据格式包括引导码(起始码),用户码(地址码),用户反码(地址反码),数据码,数据反码,编码总共32位,数据反码是数据码取反后的编码,用户反码原理一样,可以用来对数据的纠错。具体格式见图1。
当按下遥控器的按键时。遥控器将发出如图1的一串二进制代码,称它为一帧数据。根据各部分的功能,可将它们分为5部分,分别为引导码、用户码、用户反码、数据码、数据反码。遥控器发射代码时,均是低位在前,高位在后。红外接收头会将高低电平变反,所以实际从IR端出来的电平是上述格式图中的波形取反,即停止状态时IR为高电平,然后接收到9ms左右的低电平后进入准备状态。由图中分析可以得到,引导码高电平为9ms,低电平为4.5ms,当接收到此码时,表示一帧数据的开始,FPGA可以准备接收下面的数据。用户码(地址码)由8位二进制组成,共256种,图中用户反码(地址反码)主要是加强遥控器的可靠性,不同的设备可以拥有不同的用户码(地址码)。因此,同种编码的遥控器只要设置用户码(地址码)不同,也不会相互干扰。在同一个遥控器中,所有按键发出的地址码都是相同的。数据码为8位,可编码256种状态,代表实际所按下的键。数据反码是数据码的各位求反,通过比较数据码与数据反码,可判断接收到的数据是否正确。如果数据码与数据反码之间的关系不满足相反的关系,则本次遥控接收有误,数据应丢弃。在同一个遥控器上,所有按键的数据码均不相同。
相关文章
- 2021-12-20DSP和FPGA在大尺寸激光数控加工系统中的运用
- 2023-03-22SolidWorks在管路补偿接头系列化设计中的应用
- 2023-04-12全电子包装秤故障原因分析及策略
- 2023-04-04基于NX的FANUC系统四轴加工中心后置处理器构建
- 2023-05-28锁相红外热成像技术在无损检测领域的应用
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。