基于FPGA的红外遥控信号接收模块的设计

发布者:TP9111最新更新时间:2011-07-11 来源: 电子元器件应用 关键字:红外遥控  数据编码  Verilog 手机看文章 扫描二维码
随时随地手机看文章
    红外遥控技术已经在日常家用电器中得到了广泛应用,其使用方便、功耗低、抗干扰能力强的优点也越来越在智能仪器系统中受到重视。市场上的各种家电红外遥控系统技术成熟、成本低廉,但都是针对各自的遥控对象(彩电、冰箱、空调等),不能直接用于智能仪器。本文探讨了如何借鉴家电红外遥控系统的原理,自行设计解码电路,使智能仪器具有遥控功能。该模块是建立在遥控器内部使用的芯片为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种状态,代表实际所按下的键。数据反码是数据码的各位求反,通过比较数据码与数据反码,可判断接收到的数据是否正确。如果数据码与数据反码之间的关系不满足相反的关系,则本次遥控接收有误,数据应丢弃。在同一个遥控器上,所有按键的数据码均不相同。

2 红外接收控制模块的HDL设计

2.1 红外接收控制模块功能简介

    红外接收控制模块是基于遥控器内部使用的芯片为HS6221。在红外接收控制方面,抗干扰能力强、使用灵活。红外接收控制模块的功能包括消除时钟的延时、频率的合成、时钟相位的调整等系统方面的需求。红外接收控制模块的主要优点在于以下四点:
(1)实现红外数据译码功能,提取数据包中有效内容并并行输出;
(2)由于红外收发协议中利用了PWM协议,更加增强了数据的抗干扰能力;
(3)可以通过改变地址参数实现对不同地址发射器的接收;
(4)将数据包中的数据与数据包中的数据反码进行比较从而确保接收过程中没有出错。
对于红外接收控制模块来说,其关键参数为起始码、数据1、数据0的各自高低电平的脉宽以及本地地址等。

2.2 红外接收控制模块组成

    红外接收控制模块共由2部分组成,如图2所示。主要由时钟分频器和红外接收控制模块组成。图中的[15:0] Data是由8位数据以及8位地址组成。



2.3 红外接收控制模块各组成部分说明

    时钟分频器:主要是将系统时钟(50MHz)分频成0.01MHz的时钟以驱动红外接收控制模块正常工作。PERIOD时钟分频模块的分频周期,当为15’d2500时分频得到周期为0.1ms的irda_clk时钟信号;仿真时候取15’d2是为了缩短仿真周期,减少工作量,产生周期为80ns的irda_clk时钟信号[2,3]。

    注意:同时只能取一个值,仿真用15’d2,下到FPGA时用15’d2500数据处理模块:该模块是红外接收控制模块的核心部分主要由状态机构成(FSM),如图3所示。

FSM各个状态说明如表1所列。


3 电路仿真、FPGA实现及应用测试

    编写测试向量文件,在VCS和VirSim仿真工具中进行功能仿真,经检验完全符合设计要求。仿真结果图如图4所示。本设计的实现平台采用Xilinx公司的SPARTANIII OFP封装的XC3S400-4PQ208C,总逻辑门为400k门。经综合、适配、仿真、布局布线后仅占用比较少的器件资源。整个系统下载到FPGA后在50MHz时钟频率下能正常工作,在RM-139C超级版万能电视机遥控器遥控下,按下不同的按键,LED七段四位数码管经过译码后显示不同的按键遥控码。


4 结束语

    用HDL和可编程逻辑器件(FPGA/CPLD)设计数字系统有传统方法无可比拟的优越性,它已经成为大规模集成电路设计最有效的一种手段。本文采用VerilogHDL设计了红外遥控信号接收模块电路。为简单起见,本设计中只对遥控传输的数据部分进行解码,不失一般性。本文提出的基于FPGA的红外遥控信号接收模块的设计方案经过电路仿真、FPGA实现及应用测试验证该模块完全符合红外遥控通信协议的要求。

关键字:红外遥控  数据编码  Verilog 引用地址:基于FPGA的红外遥控信号接收模块的设计

上一篇:基于FPGA的工控领域监控系统设计
下一篇:基于XC2C64A芯片的无线录井绞车信号检测电路设计

推荐阅读最新更新时间:2024-05-02 21:29

51单片机—红外遥控
- 什么是红外遥控 红外遥控系统主要由红外发射装置和红外接收装置构成。 红外发射装置主要由键盘电路、红外编码芯片、电源和红外发射电路组成(比如遥控器),如图: 红外接收装置主要由红外接收电路、红外解码芯片、电源和应用电路组成,在单片机开发板上有红外接收电路,而且单片机充当解码芯片。 - 红外信号是怎么传输的 人的眼睛能看到的可见光按波长从长到短排列依次为:红、橙、黄、绿、青、蓝、紫。其中红光的波长范围为0.62~0.72微米,红外遥控就是利用波长为0.76至1.5微米之间的近红外线来传送控制信号的。 红外信号的发射由红外发射电路中的红外发光二极管完成,通常情况下为了提高抗干扰能力与降低电源消耗,遥控器将遥控信号(二进制
[单片机]
51单片机—<font color='red'>红外遥控</font>
基于Verilog的多路相干DDS信号源设计
实现信号源的多路同步输出且各路间拥有固定的相位关系,在雷达、通信等多领域有着重要的应用。为了实现此功能,大多数设计是利用单片机控制多个专用DDS芯片,实现多信号同步输出,如图1所示。但腱由于采用分立的专用DDS芯片,各芯片参数很难做到完全相同,参数的差异会造成输出信号频率和相位不同。因此,尽管各DDS芯片采用同一频率字,各个输出信号频率也难以完全相同。同样,由于参数的不一致,波形之间的相位也难以做到同步准确可调,更重要的是各个信号通道间频率差异的累积效应可能会导致同步失败。由于这些原因,要实现多路同步输出且各路信号间成相干关系必须采用另外的系统。本文给出了一种基于FPGA的3路相干信号源设计方案。 1 DDS基本原理 DD
[单片机]
基于<font color='red'>Verilog</font>的多路相干DDS信号源设计
C语言写的红外遥控解码程序
#include "STC89C51RC.H" sbit DQ = P4^3; sbit SPK = P1^0; #include absacc.h #define seg1 XBYTE #define seg2 XBYTE #define seg3 XBYTE #define seg4 XBYTE unsigned char IRMcode ; unsigned char code ledmap = //共阴LED数码管译码表 { 0x3f,0x06,0x5b,0x4f,0x66, //0,1,2,3,4, 0x6d,0x7d,0x07,0x7f,0x6f, //5,6,7,8,9, 0x77,0x7C,0x39,
[单片机]
基于MSP430的红外遥控器解码
遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的uPD6121G组成发射电路为例说明编码原理(一般家庭用的DVD、VCD、音响都使用这种编码方式)。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征: 采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的 0 ;以脉宽为0.565ms、间隔1.685ms、 周期为2.25ms的组合表示二进制的 1 ,其波形如图2所示。 当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的
[单片机]
基于MSP430的<font color='red'>红外遥控</font>器解码
基于VerilogHDL的CMOS图像敏感器驱动电路设计
CMOS图像敏感器是近年来兴起的一类固态图像传感器。CMOS图像敏感器具有低成本、低功耗(是 CCD 耗的1/1000~1/100)、简单的数字接口、随机访问、运行简易(单一的CMOS兼容电池供给)、高速率(可大于1000帧/秒)、体积小以及通过片上信号处理电路可以实现智能处理功能等特点而得到广泛应用。有些CMOS图像敏感器具有标准的I2C总线接口,可方便应用到系统中。有些没有这类总线接口电路的专用CMOS图像敏感器需要增加外部驱动电路。由于CMOS敏感器的驱动信号绝大部分是数字信号,因此可采用FPCA通过 Verilog HDL语言编程产生驱动时序信号。Verilog HDL语言是IEEE标准的用于逻辑设计的硬件描述语言,
[工业控制]
基于<font color='red'>Verilog</font>HDL的CMOS图像敏感器驱动电路设计
PIC单片机红外遥控编码与解码的问题分享
一般常用的红外遥控器编码规则都差不多,基本上都同6221原理一样 PIC单片机接收时: 如果用54,57这类片子做的话有一定的难度(假如要做成实时控制的;比如说你还要驱动显示,驱动步进电机,在加上几个按键)原因就是这类片子没有中断 例程如下(用来解6221;分频比为256) RF: BTFSC PORTB,2;;B2口用做接收口 GOTO RF1 BTFSS DOWNBIT;;检测下降沿标制 CLRF RTCCOUNT BSF DOWNBIT;制下降沿标制 BTFSS UPBIT;;检测上升沿标制 RETLW 0 BTFSC IDBIT;;检测码头标制 GOTO RF3 MOVLW 2AH SUBWF R
[单片机]
基于VerilogHDL的CMOS图像敏感器驱动电路设计
  CMOS图像敏感器是近年来兴起的一类固态图像传感器。CMOS图像敏感器具有低成本、低功耗(是CCD耗的1/1000~1/100)、简单的数字接口、随机访问、运行简易(单一的CMOS兼容电池供给)、高速率(可大于1000帧/秒)、体积小以及通过片上信号处理电路可以实现智能处理功能等特点而得到广泛应用。有些CMOS图像敏感器具有标准的I2C总线接口,可方便应用到系统中。有些没有这类总线接口电路的专用CMOS图像敏感器需要增加外部驱动电路。由于CMOS敏感器的驱动信号绝大部分是数字信号,因此可采用FPCA通过Verilog HDL语言编程产生驱动时序信号。Verilog HDL语言是IEEE标准的用于逻辑设计的硬件描述语言,具有广泛
[模拟电子]
可控硅在红外遥控开关中的应用及工作原理
关断单向可控硅的方式有两种:其中一种是众所周知的,就是可控硅的阳极电位低于阴极电位或阳极电流小于维持电流时,可由导通转为关断。别一种则是将可控硅的控制极对地短路,也可以将其关断。单向可控硅具有一触即发实现自锁的功能。本人利用它的这个特性制作了下面这款简单的红外遥控开关电路,如图1所示。 一、工作原理   220V交流电压经电容C1降压,VD1、VD2、C2整流滤波,VD3稳压后输出12V直流电压给本电路供电用。12V直流电压再经R2、VD4、C3进一步稳压滤波后供红外接收头HRM作电源用。   开启过程:静态时脉冲放大管外于饱和状态,集电极输出0.1V低电平,此时可控硅触发电路不工作。瞬间按遥控器(各类彩电、VCD遥控器均可)
[工业控制]
可控硅在<font color='red'>红外遥控</font>开关中的应用及工作原理
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved