红外解码方案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

红外解码方案

1. 红外发射的原理

遥控器部分的工作原理较为简单,主要就是编码IC 通过三极管进行放大调变,然后将此电信号(脉冲波)经有红外发射管(940nm 波长)转变为光信号发射出去。现在国产遥控器的电路主要有:455kHz 晶振,编码IC ,放大三极管,发射管等主要几个电子原件组成;

通常使用38kHz 载波,这样可以提高红外线的抗干扰能力,避免大气中的红外线干扰。调制载波频率一般在30kHz 到60kHz 之间,大多数使用的是38kHz ,占空比1/3的方波,这是由发射端所使用的455kHz 晶振所决定的。在发射端要对晶振进行整数分频,分频系数一般取12,所以455kH z÷12≈37.9kH z≈38kHz 。

2.

红外接收的原理

红外接收头内部结构主要由光电二极管+红外接收IC 组成,工作原理为:光

电二极管(俗称接收管)其接收到红外发射管发射出的光信号后转换为电信号(为

微安级的电流),此电信号输入到接收IC 内部经过放大--增益--滤波--解调变--整形还原,还原遥控器给出的原始编码,通过接收头信号输出脚输入到后面的代码

3. 几种编码格式

3.1 NEC 制

NEC 制的数据格式分为引导码、16位用户码(地址码)、8位数据码、8位数据反码构成。

用户码或数据码中的每一个位可以是位‘1’,也可以是位‘0’。区分‘0’和‘1’是利用脉冲的时间间隔来区分,这种编码方式称为脉冲位置调制方式(PPM)(注意NEC每一位的长度不一样,1.125ms或者2.25ms)。

按键保持按下状态时每发送完整的一帧数据后,再发送重复码,再到按键被松开。此芯片用两种不同的重复码,当用户码的C0位为1时用一种,C0位为0时使用另一种。

3.2RC5制

RC5编码相对NEC编码简单一些。RC5编码有2位起始位(为‘1’)、1位控制、5位系统码(地址码)、6位指令码,一共14位数据。

在这个协议里所有位是平等的长度都等于1.778ms,位时间的一半填满脉冲是36KHz的载波,另外一半被闲置。其中逻辑‘0’代表脉冲位于前半时。逻辑‘1’代表位于后半时。

每次按键重复完整14位数据,重复时间1.778ms×16×4=113.792ms。占空比1/4。

4. 解码

4.1 NEC 解码

由于每一位的长度不一样, 所以定义四个状态。初始状态、9ms 状态、4.5ms 状态、读入数据状态。当其中条件不满足时,重置为初始状态。

读数据时采用50M —1750分频后频率(周期0.035ms )采样。

将读入的8位数据码存入寄存器,通过对比确定发射的信息。如果8位数据码没有对应信息,判定读取失败,读入数据反码,取反,然后继续对比。

附:FPGA 开发板提供的红外遥控器8位数据位与对应信息。

8'b01101000: //遥控板0的码值

8'b00110000: //遥控板1的码值

8'b00011000: //遥控板2的码值

8'b01111010: //遥控板3的码值

8'b00010000: //遥控板4的码值

初始状

•读到19ms 状态

•9ms 时读

到下降沿 4.5ms 状

•4.5ms 时

读到上升

沿读入数据状态

8'b00111000: //遥控板5的码值

8'b01011010: //遥控板6的码值

8'b01000010: //遥控板7的码值

8'b01001010: //遥控板8的码值

8'b01010010: //遥控板9的码值

4.2 RC5解码

由于每位的长度均为1.778ms ,解码是相对容易。分为两个状态。初始状态与读入数据状态。当读到16位‘0’时进入初始状态,再读到2位‘1’时进入读入数据状态。采用50M —6350分频(周期127us )采样。

将读出的指令码存入寄存器,通过对比6位指令码,确定发射的信息。如果没有相对应的信息,判定读取失败,重新读取。

读到16

位‘0’

初始状态

•读到2

位‘1’读入数据

状态

相关文档
最新文档