红外遥控RC-5码和NEC码技术标准
- 格式:pdf
- 大小:421.42 KB
- 文档页数:7
红外遥控协议标准(NEC/RC5/RC5X)及编程目录1.NEC码遥控器技术标准2.RC5/RC5X码遥控器技术标准3.解码原理及算法(NEC)4.实例代码(NEC)1.NEC码遥控器技术标准特点:8位的系统码和8位的命令码长度为了增加可靠性,地址码(即用户码)和命令码都要发送两次脉冲宽度调制载波频率为38K每一位的时间长度为1.12ms或2.25ms其逻辑1与逻辑0的表示如图所示:逻辑1为2.25ms,脉冲时间560us;逻辑0为1.12ms,脉冲时间560us。
所以我们根据脉冲时间长短来解码。
推荐载波占空比为1/3至1/4。
NEC协议格式:首次发送的是9ms的高电平脉冲,其后是4.5ms的低电平,接下来就是8bit 的地址码(从低有效位开始发),而后是8bit的地址码的反码(主要是用于校验是否出错)。
然后是8bit 的命令码(也是从低有效位开始发),而后也是8bit的命令码的反码。
地址和命令发送两次。
第二次发送时,所有的位取反,用来验证第一次发送的消息。
如果开发者不用验证,则可以忽略验证的数据,或者将地址或命令扩展为16bit以上是一个正常的序列,但可能存在一种情况:你一直按着1个键,这样的话发送的是以110ms为周期的重复码,如下图:就是说,发了一次命令码之后,不会再发送命令码,而是每隔110ms时间,发送一段重复码。
重复码由9ms高电平和2.25ms的低电平以及560us的高电平组成。
需要注意的是:1838红外一体接收头为了提高接受灵敏度。
输入高电平,其输出的是相反的低电平。
2、编程注意事项2.1红外接收头引脚信号是相反的电平。
2. 2数据从LSB(低位)开始发送,所以选择右移方式接收数据。
四个字节的数据都是先发送D0,最后发送D7。
所以接收到1位数据后,给变量的最高位赋值,右移。
或者先右移,再给变量的最高位赋值。
2.3.可以用一个数组保存32个数据的持续时间,用于后面判断高低电平。
用定时器对两个数据(中断)之间的时间计时,并保存这个持续时间用于以后判断是位1还是位0。
RC-5码和NEC码技术标准本技术标准包含RC-5码和NEC码两部分RC-5码遥控器技术标准特点:5位地址码和6位命令码(RC5X为7位)Bi-phase coding(即Manchester coding)双相编码载波频率为36KHz每发一位数据的时间是1.778ms(即36KHz频率下64个周期)载波调制:图1 逻辑0和1的波形RC-5码协议使用36KHz频率的双相编码红外载波。
每一位的时间都是等长的为1.778ms,并且每一位中有一半的时间为36KHz载波的高电平,另一半为低电平,如图1所示逻辑“1”和“0”的波形。
当为逻辑“0”时,其前一半时间为高电平;而为逻辑“1”时,后一半时间为高电平。
注:如果前后两位的值相同,在发第二个值时需要转换电平;如果前后两位值不同,在发第二个值时不需要转换电平。
这样叫作双向编码。
协议:下图是一个RC-5码的逻辑队列。
图2 RC-5码的逻辑队列前两位为开始位,并且必须设为逻辑1。
注意当红外接收器接收到开始位时,1bit时间的一半已经过去了。
对于扩展的RC-5码,开始位S2用来作为命令码的第六位,即共有7位的命令码。
第三位是翻转位,当一个键值发出然后再按下时该位会取反,这样接收器就会知道该键是一直按下,还是被重新按下了。
接下来的5位是IR设备地址码,地址码按从MSB到LSB发送;跟着地址码的是6位命令码,命令码也是从MSB开始发送。
这样一个消息由14bit组成,一个消息的周期加起来是25ms。
但有时一个消息的周期会短一点,因为S1前一半是空转,而且命令码的最后一位的后一半也可能是空转的。
图3 连续按键波形如果常按某一键,消息则会每隔114ms发送一次,并且在这些消息中bit3翻转位会一直维持同一值,如图3。
图4 完整的波形每一帧数据之前都有16bit等待时间和2bit扫描时间,如图4所示。
采用的RC5码遥控器的波形图如下:(MENU按键)键值命令:以下是根据RC-5码键值命令标准确定的海信电视机RC-5码遥控器键值规范。
红外协议红外协议是一种应用于红外通信的通信规约,用于红外遥控和红外通讯等场景中。
红外协议主要分为红外遥控协议和红外通信协议两部分。
红外遥控协议是指将遥控设备发送的红外信号编码成特定的协议格式,经过红外传感器接收并解码后,再由目标设备根据协议规则执行相应的操作。
常见的红外遥控协议有NEC、RC-5、RC-6等。
NEC红外协议是一种最常见的红外遥控协议,通常用于电视遥控器、空调遥控器等。
NEC协议通过调制红外载频信号来表示数字信号。
每个数字信号由9ms的起始位和4.5ms的起始位隔开,然后由16位地址码、16位数据码和8位反码构成。
地址码用于区分不同的遥控器设备,数据码表示遥控器键值。
接收设备在解码后,通过判断地址码和数据码来判断是哪个键被按下。
RC-5红外协议也是一种常见的红外遥控协议,常用于DVD遥控器、音响遥控器等家电设备中。
RC-5协议将每个红外信号分为两个连续的半周期。
每个半周期由1.778ms的载频信号和1.778ms的无载频信号组成。
一个完整的信号由13位二进制数据构成,其中1位为起始位,5位为地址码,6位为命令码,1位为反码。
接收设备通过解码操作,根据地址码和命令码执行相应的功能。
RC-6红外协议是RC-5的升级版,具有更高的功能扩展性和更低的误码率。
RC-6协议将红外信号延长到2.667ms的载频信号和2.667ms的无载频信号。
一个完整的信号由20位二进制数据构成,其中1位为起始位,2位为系统码,5位为地址码,8位为命令码,1位为反码,3位为扩展码。
接收设备在解码后,根据地址码和命令码进行区分和执行命令。
红外通信协议是指将红外信号用于设备之间的通讯,实现数据的传输和交互。
常用的红外通信协议有IrDA(红外数据通信协议)和红外遥测通信协议。
IrDA红外通信协议是一种用于近距离高速红外通信的协议。
它采用了扩频技术和差分编码技术,能够在红外载频信号中传输数字数据。
IrDA协议规定了通信双方的通信速率、数据格式、时序等参数,保证了数据的可靠传输和解码。
ir常用编码格式-回复什么是常用的IR编码格式?IR(红外线)编码格式是一种用来传递红外线信号的数字编码标准。
它被广泛应用于遥控设备,例如电视、音响、空调和机顶盒等。
常用的IR编码格式有多种,每种编码格式都具有自己独特的特点和用途。
1. NEC编码格式NEC编码格式是最常见和最普遍使用的IR编码格式之一。
它由NEC公司设计并广泛应用于消费类电子产品的遥控设备中。
NEC编码格式使用38kHz的红外载波频率来传输数据,并将0和1二进制逻辑编码成600μs的高电平和600μs的低电平。
NEC编码格式具有高可靠性和简单的实现方式,因此被广泛应用于各种电子设备。
2. RC-5编码格式RC-5编码格式是由荷兰公司Philips开发的一种IR编码标准。
它广泛应用于Philips以及一些其他品牌的遥控设备中。
RC-5编码格式使用36kHz 的红外载波频率,并将0和1的二进制逻辑编码成由889μs长的位周期以及不同的偏移量组成的波形。
RC-5编码格式具有较高的抗干扰能力和较长的传输距离,因此适用于一些特殊环境下的遥控设备。
3. Sony SIRC编码格式Sony SIRC(Sony Infrared Remote Control)编码格式是由索尼公司开发的一种IR编码标准。
它被广泛应用于Sony品牌的遥控设备中。
Sony SIRC编码格式使用40kHz的红外载波频率,并将每位数据编码成同样长度的波形,其中高电平的时间表示1,低电平的时间表示0。
Sony SIRC 编码格式具有较高的数据传输速率和较低的成本,因此被广泛应用于各种消费类电子产品。
4. RCMM编码格式RCMM(Remote Control Message Format)编码格式是由赛博感应公司(Cybernetic Micro Systems)开发的一种IR编码标准。
它主要应用于一些专业设备和工控设备的遥控系统中。
RCMM编码格式使用36kHz 或40kHz的红外载波频率,并将每个按键的数据编码成由预定数量的高电平和低电平组成的波形。
红外遥控编码传输协议生产厂家对红外遥控的编码做了严格的规范,目前国内外主流的红外遥控编码传输协议有十多种,如NEC、Philips RC-5、Philips RC-6、Philips RC-MM、Philips RECS80、 RCA、X-Sat、ITT、JVC、Sharp、Nokia NRC17和Sony SIRC等。
国内最常用的规范有两种:NEC和Sony SIRC。
这两种规范的调制方式分别为:PPM(脉冲间隔调制)和PWM(脉冲宽度调制)。
谈到这两个概念,我需要具体讲解一下,因为我在网上查阅相关资料时甚是郁闷,好多说法相互矛盾。
有说NEC属于PWM的因为它的脉宽不同,PPM的脉宽是固定的。
而细心地朋友如果探究到NEC的典型芯片的芯片手册时,会发现上面这种说法是错误的。
比如UPD6121这款红外远程控制芯片的调制方式为PPM。
后来终于在一家国外的网站上找到了能够自圆其说的解释。
个人认为比较正确,拿来和大家分享。
要想认清红外遥控编码传输协议的具体内容,我想还是先捡其重点来讲一下,编码规范中最重要的当属调制这部分了。
而主流的调制方式有两种分别为PPM和PWM,当然其他还有好几种,这里先不讲解,免得糊涂了。
本文就先介绍下PPM和PWM的区别。
PPM(Pulse Position Modulation),其实更加准确的说法应该是PDM(Pulse Distance Modulation)即脉冲间隔调制:上图为典型编码规范NEC协议的调制图,为PPM调制。
可以看出不管是“0”还是“1”,有高频调制波的地方(下文称其为脉冲)其宽度都是相同的位560us,而脉冲间的间隔则是不同的:“1”时为(2.25ms-560us),“0”时为(1.12ms-560us)。
由此得来PPM的称号。
再来看下PWM的调制波形吧:显然可以看出,“1”的脉冲宽度为1.2ms,“0”的为600us。
而脉冲间隔不管是“0”还是“1”,均为600us。
红外遥控编码格式及学习模式红外遥控编码格式及学习模式1、编码格式现有的红外遥控包括两种方式:PWM(脉冲宽度调制)和PPM (脉冲位置调制)。
两种形式编码的代表分别为NEC和PHILIPS的RC-5、RC-6以及将来的RC-7。
PWM(脉冲宽度调制):以发射红外载波的占空比代表“0”和“1”。
为了节省能量,一般情况下,发射红外载波的时间固定,通过改变不发射载波的时间来改变占空比。
例如常用的电视遥控器,使用NEC upd6121,其“0”为载波发射0.56ms,不发射0.56ms;其“1”为载波发射0.56ms,不发射1.68ms;此外,为了解码的方便,还有引导码,upd6121的引导码为载波发射9ms,不发射4.5ms。
upd6121总共的编码长度为108ms。
但并不是所有的编码器都是如此,比如TOSHIBA的TC9012,其引导码为载波发射4.5ms,不发射4.5ms,其“0”为载波发射0.52ms,不发射0.52ms,其“1”为载波发射0.52ms,不发射1.04ms。
PPM(脉冲位置调制):以发射载波的位置表示“0”和“1”。
从发射载波到不发射载波为“0”,从不发射载波到发射载波为“1”。
其发射载波和不发射载波的时间相同,都为0.68ms,也就是每位的时间是固定的。
通过以上对编码的分析,可以得出以某种固定格式的“0”和“1”去学习红外,是很有可能不成功的。
即市面上所宣传的可以学习64位、128位必然是不可靠的。
另外,由于空调的状态远多于电视、音像,并且没有一个标准,所以各厂家都按自己的格式去做一个,造成差异更大。
比如:美的的遥控器采用PWM编码,码长120ms左右;新科的遥控器也采用PWM编码,码长500ms左右。
如此大的差异,如果按“位”的概念来讲,应该是多少位呢?64?128?显然都不可能包含如此长短不一的编码。
2、学习模式现在用来学习红外的CPU,无外乎以下几种:MCS-51系列、microchip pic16系列、winbond w741系列、holtek ht48系列以上的CPU由于价格便宜、使用量大,被广泛使用在遥控器上。
电视遥控器红外传输电视遥控器是我们日常生活中常见的电子设备之一,它通过红外传输来控制电视机的开关、音量、频道等功能。
本文将详细介绍电视遥控器红外传输的原理、技术以及应用。
一、红外传输的原理红外传输是一种利用红外线传递信息的技术。
红外线位于可见光光谱的下方,具有较长的波长。
电视遥控器利用红外线作为传输媒介,通过遥控器上的按键输入指令,然后将指令转化为红外信号发送给电视机。
电视机接收到红外信号后,通过红外传感器接收、解码并执行相关操作。
二、红外传输技术1. 码制技术电视遥控器中的按键信息需要以一定的编码形式进行传输。
常见的红外传输码制有NEC码、SONY码、RC-5码等。
其中,NEC码是较为常用的一种,它采用二进制编码方式,通过组合高电平和低电平的时间间隔来表示不同的按键信息。
2. 调制与解调技术为了提高红外传输的可靠性和抗干扰性,遥控器和接收设备通常采用调制与解调技术。
遥控器将按键信息进行调制,即将信息信号转化为红外信号波形。
接收设备会通过解调技术将接收到的红外信号还原为原始的按键信息。
3. 红外传感器技术电视机内置的红外传感器是实现红外传输的关键组件之一。
红外传感器能够接收外部红外信号并转化为电信号,再经过解码和处理,实现对遥控器信号的识别和执行相应操作。
三、红外传输的应用电视遥控器红外传输技术不仅被广泛应用于电视机领域,还在许多其他领域得到应用。
1. 家庭娱乐设备除了电视机,红外遥控技术也被应用于其他家庭娱乐设备,如音响、DVD播放器、投影仪等。
通过红外传输,用户可以轻松控制这些设备的各项功能。
2. 智能家居控制随着智能家居的兴起,红外传输技术也被运用于智能家居控制系统。
通过一台智能遥控器,用户可以遥控家中的各种设备,如空调、窗帘、照明等,实现智能化的家居控制。
3. 工业控制红外传输技术还被广泛应用于工业控制领域。
例如,在自动化生产线上,工人可以通过遥控器控制机械臂、机器人等设备,实现更高效、精准的生产操作。
红外遥控编码传输协议生产厂家对红外遥控的编码做了严格的规范,目前国内外主流的红外遥控编码传输协议有十多种,女口 NEC 、Philips RC-5、Philips RC-6、Philips RC-MM 、Philips RECS80、 RCA 、 X-Sat 、ITT 、JVC 、Sharp 、Nokia NRC17 和 Sony SIRC 等。
国内最常用的规范有两种: NEC 和Sony SIRC 。
这两种规范的调制方式分别为: PPM(脉冲间隔调制)和PWM (脉冲宽度调制)。
谈到这两个概念,我需要具体讲解一下,因为我在 网上查阅相关资料时甚是郁闷,好多说法相互矛盾。
有说NEC 属于PWM 的因为它的脉宽 不同,PPM 的脉宽是固定的。
而细心地朋友如果探究到 NEC 的典型芯片的芯片手册时,会发现上面这种说法是错误的。
比如 UPD6121这款红外远程控制芯片的调制方式为PPM 。
后来终于在一家国外的网站上找到了能够自圆其说的解释。
个人认为比较正确,拿来和大家分享。
要想认清红外遥控编码传输协议的具体内容,我想还是先捡其重点来讲一下, 编码规范中最重要的当属调制这部分了。
而主流的调制方式有两种分别为 PPM 和PWM ,当然其他 还有好几种,这里先不讲解,免得糊涂了。
本文就先介绍下 PPM 和PWM 的区别。
PPM ( Pulse Position Modulation),其实更加准确的说法应该是PDM(Pulse DistaneeModulation)即脉冲间隔调制:------ :----- 225ms ------------- ------- 112ms ---- IE33上图为典型编码规范 NEC 协议的调制图,为PPM 调制。
可以看出不管是“0”还是“1 ”, 有高频调制波的地方(下文称其为脉冲)其宽度都是相同的位560us ,而脉冲间的间隔则是不同的:“1”时为(2.25ms-560us),“0”时为(1.12ms-560us)。
关于红外遥控的一点资料整理最近发现家里遥控器老是弄混(唉,遥控器多了,也是一件麻烦事)。
如果有一种可对家中各种红外遥控器发射的控制信号进行识别、存储和再现的智能型红外遥控器,用这样一个遥控器控制家中所有电器该多好。
这就是大家称作的学习型红外遥控器。
于是,下了不少工夫查找了许多资料,对红外遥控也做了一点表面研究,现总结一点文档,与大家一同探讨(有不对之处,请大家指正!);另外由于本人愚顿还未开窍,还有部分东西想不太明白,在此也向专家们请教,请知道的老兄支点招,在此小弟先谢过了!!!一、红外遥控概述红外遥控系统一般都是由发射部分和接收部分组成。
1、发射部分的主要元件为红外发光二极管。
它实际上是一只特殊的发光二极管,由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它发出的便是红外线而不是可见光。
目前大量使用的红外发光二极管发出的红外线波长为940nm左右,外形与普通Φ5发光二极管相同,只是颜色不同。
2、接收部分主要元件是红外接收管,它是一种光敏二极管(实际上是三极管,基极为感光部分)。
在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反向运用,这样才能获得较高的灵敏度。
由于红外发光二极管的发射功率一般都较小(100mW左右),所以红外接收二极管接收到的信号比较微弱,因此就要增加高增益放大电路。
前些年常用μPC1373H、CX20106A等红外接收专用放大电路。
最近几年不论是业余制作还是正式产品,大多都采用成品红外接收头。
成品红外接收头的封装大致有两种:一种采用铁皮屏蔽;一种是塑料封装(如图中的HS0038),均有三只引脚,即电源正(VDD)、电源负(GND)和数据输出(VO或OUT)。
红外接收头的引脚排列因型号不同而不尽相同,可参考厂家的使用说明。
成品红外接收头的优点是不需要复杂的调试和外壳屏蔽,使用起来如同一只三极管,非常方便。
但在使用时注意成品红外接收头的载波频率。
红外遥控编码格式红外遥控器的编码格式通常有两种格式:NEC与RC5NEC格式的特征:1:使用38 kHz载波频率2:引导码间隔就是9 ms + 4、5 ms3:使用16位客户代码4:使用8位数据代码与8位取反的数据代码下面的波形就是从红外接收头上得到的波形:(调制信号转变成高低电平了)不过需要将波形反转一下才方便分析:NEC 协议通过脉冲串之间的时间间隔来实现信号的调制(英文简写PPM)。
逻辑“0”就是由0、56ms的38KHZ载波与0、560ms的无载波间隔组成;逻辑“1”就是由0、56ms的38KHZ载波与1、68ms的无载波间隔组成;结束位就是0、56ms的38K载波。
下面实例就是已知NEC类型遥控器所截获的波形:遥控器的识别码就是Address=0xDD20;其中一个键值就是Command=0x0E;注意波形先就是发低位地址再发高位地址。
所以0000,0100,1011,1011反转过来就就是1101,1101,0010,000十六进制的DD20;键值波形如下:也就是要将0111,0000反转成0000,1110得到十六进制的0E;另外注意8位的键值代码就是取反后再发一次的,如图0111,0000 取反后为1000,1111。
最后一位就是一个逻辑“1”。
RC5编码相对简单一些:下面的遥控器地址就是1A,键值就是0D的波形同样由于取自红外接收头的波形需要反相一下波形以便于分析:反相后的波形:根据编码规则:得到一组数字:110,11010,001101 根据编码定义第一位就是起始位S 通常就是逻辑1第二位就是场位F通常为逻辑1,在RC5扩展模式下它将最后6位命令代码扩充到7位代码(高位MSB),这样可以从64个键值扩充到128个键值。
第三位就是控制位C 它在每按下了一个键后翻转,这样就可以区分一个键到底就是一直按着没松手还就是松手后重复按。
如图所示就是同一按键重复按两次所得波形,只有第三位就是相反的逻辑,其它的位逻辑都一样。
红外线编码遥控技术一概述红外线遥控是目前最广泛采用的一种遥控技术红外线遥控装置具有体积小功耗微功能强成本低等特点因而广泛地在彩电VCD DVD录像机空调机音响设备以及玩具等其他小型电器装置采用这些家电产品采用红外线遥控技术给用户带来了极大的方便随着单片机的大量应用目前的红外遥控已大部分采用编码遥控器目前采用的红外线遥控按载波频率可分为30K33K36K37K38K40K56K按调制形式可分为调频PCM格式调幅格式按编码格式可分为NEC格式东芝格式三菱格式NEC Code [repetitive pulse],NEC Code [repetitive data] ,Toshiba Micom Format, Sharp Code,RC5Code ,RC6 Code,R-2000 Code.本文主要介绍NEC格式的通用红外线编码遥控技术二红外线简介在介绍红外线遥控之前首先了解什么是红外线我们知道人的眼睛能看到的可见光按其波长从长到短排列依次为红橙黄绿青蓝紫其中红光的波长范围为0.620.76μm 紫光的波长范围为0.380.46μm比紫光波长还短的光叫紫外线比红光波长还长的光叫红外线见图1红外线遥控就是利用波长为0.76 1.5μm之间的近红外线来传送控制信号的红外线的特点红外遥控的特点是不影响周边环境不干扰其它电器设备由于其无法穿透墙壁故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰红外线的缺点• 通讯距离短通讯过程中不能移动遇障碍物通讯中断三红外编码遥控系统构成3.1 红外编码遥控系统构成红外编码遥控系统由发射和接收两大部分组成如图所示发射部分包括键盘矩阵编码IC及外围电路其中发射部分的键盘矩阵由PCB上丝印导电碳膜和导电按键构成编码IC选用厂家固定的成品外围电路包括红外LED及驱动三极管接收部分包括一体化遥控接收器及解码CPU和执行电路当按下某一按键时发射电路就按一定的编码在输出端产生串行编码的脉冲该脉冲再经驱动由红外线发光二极管发射到空间接收端由一体化接收器内部接收到光电信号后先由光电放大器将其还原为串行编码的电脉冲经解码CPU解码转换为相应的控制电平控制执行电路3.2 遥控发射部分元件介绍1. 红外发光二极管发射部分的主要元件为红外发光二极管它实际上是一只特殊的发光二极管由于其内部材料不同于普通发光二极管因而在其两端施加一定电压时它便发出的是红外线而不是可见光目前大量使用的红外发光二极管发出的红外线波长为940nm左右外形与普通发光二极管相同如图所示只是颜色不同红外发光二极管一般有黑色深蓝透明三种颜色判断红外发光二极管好坏的办法与判断普通二极管一样用万用表电阻挡量一下红外发光二极管的正反向电阻即可常见的红外发光管根据其功率大小分为三种a.小功率红外发光二极管其功率为1~10mWb.中功率红外发光二极管其功率为10~50mW;c.大功率红外发光二极管其功率为50~100mW以上红外发光管的基本参数1.正向工作电流IF2.峰值电流IFP3.反向击穿电压VR4.管压降VF5.反向漏电流IR6.光功率PO7.光波长P8.最大功率Pm使用不同功率的红外发光管应配置相应的驱动电路才能使遥控距离与发射功率成正比控制距离除了和发射功率有关外还与红外发光二极管的工作状态有关为了在同样功率下增加红外线的控制距离要使红外发光二极管工作在脉冲状态因为脉动光的有效传送距离与脉冲的峰值电流成正比只要设法提高峰值电流就能增加红外光的发射距离通常采用压缩脉冲的宽度来提高峰值电流即调节脉冲宽度选用红外线二极管注意点红外线发光二极管的波长当红外线二极管发射的波长与红外线接收器的波长不匹配虽然遥控能在近距离能正常工作但其相对遥控距离短红外线发光二极管的功率选用红外线二极管的功率大的遥控距离比选用功率小的远 红外线发光二极管的光功率相同条件下光功率愈大遥控距离愈远2. 编码式红外发射电路遥控发射编码IC红外线发射电路是多种多样的其工作频率也可根据具体的应用条件而定利用红外发射二极管发射红外线有二种方式一是单路控制型电路二是多路控制型电路其中单路控制型电路采用非编码脉冲调制来产生调制光发射多路控制大部分采用编码方式进行发射下面以台湾普诚公司PRICETON的PT2222编码遥控IC进行介绍此编码遥控IC为NEC格式的红外编码IC兼容的遥控编码IC有日本NEC公司的upd6121/2台湾和泰公司的HT6221/2以及台湾及国内公司均有生产此格式的红外遥控编码ICPT2222特点PT2222是一种常用的红外编码器件其电压范围为2 5.5V静态电流小于1A, 采用455KHz的陶瓷或晶体使用脉宽调制方式PPM输出38KHz红外信号最小发射单位为一个字包括16位的地址码8位数据码最大按键为64个与UPD6222和HT6222兼容PT2222其方框如图所示PT2222 引脚说明选用红外编码IC注意点选用红外编码IC 必须保证其输出给红外发射二极管的信号与接收端的解码IC相匹配选用低功耗的红外编码IC即待机电流小使其电池寿命长选用红外编码IC时必须注意其发射载波的占空比占空比决定电池的寿命选用红外编码IC时必须注意其发射的代码是否与接收部分的解码相适应对已生产的机器包括其地址码数据码重复码选用红外编码IC时注意其内部上电复位电压使用红外编码IC注意点采用电池供电的红外编码IC其退耦电容必须选用漏电小的电容尽可能靠近IC电源端输入的电源尽可能靠近红外编码IC的电源端以保证IC可靠复位利用电阻调节流过红外发射二极管的电流时必须注意遥控器的发射距离与功耗之间的关系即发射距远了但电池的寿命可能短了3. 遥控发射板的PCB遥控器的按键大部分由丝印于PCB板的导电碳膜和导电橡胶构成为了降低成本遥控发射板的PCB采用单面板并在单面板的铜箔表面上丝印导电碳膜构成键盘触点其中碳膜与铜箔需隔离的地方丝印防短路层在设计遥控发射PCB板时注意如下问题导电碳膜的电阻比较大不能用导电碳膜作电源线路导电碳膜的电阻比较大不能用导电碳膜作放大驱动的线路导电碳膜建议只作为键盘扫描线的输入输出遥控接收部分元件介绍1 一体化遥控接收头用红外发光二极管发射的红外线去控制受控装置时受控装置必须要有红外线的接收元件以便将红外线转变为电信号目前常用的红外线接件均集成为一体化接收器统称为遥控接收头接收部分的红外接收管是一种光敏二极管在实际应用中要给红外接收二极管加反向偏压它才能正常工作亦即红外接收二极管在电路中应用时是反向运用这样才能获得较高的灵敏度红外接收二极管一般有圆形和方形两种由于红外发光二极管的发射功率一般都较小100mW 左右所以红外接收二极管接收到的信号比较微弱因此就要增加高增益放大电路前些年常用μPC1373H CX20106A等红外接收专用放大电路最近几年大多都采用成品红外接收头成品红外接收头的封装大致有两种一种采用铁皮屏蔽一种是塑料封装均有三只引脚即电源正VDD电源负GND和数据输出VO或OUT图示给出一些成品红外接收头的外形红外接收头的引脚排列因型号不同而不尽相同可参考厂家的使用说明成品红外接收头的优点是不需要复杂的调试和外壳屏蔽使用起来如同一只三极管非常方便但在使用时注意成品红外接收头的载波频率红外遥控常用的载波频率为38kHz这是由发射端所使用的455kHz晶振来决定的在发射端要对晶振进行整数分频分频系数一般取12所以455kHz÷12≈37.9 kHz≈38kHz也有一些遥控系统采用36kHz40kHz56kHz等一般由发射端晶振的振荡频率来决定选用红外遥控接收头注意如下问题选用红外接收头的红外线频率与发射端发射的红外频率相同或近似选用红外接收头的红外线载波与发射端发射的红外载波频率相同或近似2红外线滤波片遥控发射的红外线在空中传播时同时存在大量的杂散的红外线一起到达红外遥控接收端杂散的红外线会干扰遥控发射的红外线当其强度达到一定时便能使遥控器失效对于自然界中的红外线一般均不会很强为了滤除杂散的红外线可以在遥控接收器的前方采用红外滤波片需要注意的是红外滤波片选择不合适同样会将有用遥控信号衰减掉目前我们只能通过实验的方式进行4. 红外线编码遥控系统的硬件设计工作原理红外线编码遥控系统由发射和接收二部分组成发射部分包括键盘矩阵编码调制LED 红外发送器接收部分包括光电转换放大器解调解码电路当按下某一按键时发送电路就按一定的编码在输出端产生一串编码的脉冲该脉冲调制红外载波再经驱动由红外线发光二极管发射到空间接收端接收到光电信号后先经由红外滤波片进入光电转换器转为电信号电信号经放大器将其信号放大放大的信号经解调器将红外载波滤除还原为串行编码脉冲然后由接收电路按编码的约定转换为相应的控制电平最后由执行电路完成遥控的动作遥控编码不同公司的遥控芯片采用的遥控码格式也不一样在此介绍较普遍的NEC标准NEC标准当按下遥控器上的某个按键超过36ms时振荡器使芯片激活如果这个键按下且延迟大约108ms遥控器将发出一帧遥控全码遥控全码的编码格式由三部分组成引导码LEAD CODE客户码CUSTOM CODE和数据码DATA CODE如果键按下超过108ms仍未松开接下来发射的是简码或称连发码重复码各部分码的作用如下引导码用来通知接收器其后为遥控数据系统码用来区分是哪一机型的数据接收端依此来判断后续的数据是否为须执行的指令数据码用来区分是哪一个键被按下接收端根据数据码做出应该执行什么动作的判断简码是在持续按键时发送的码它告知接收端某键是在被连续地按着遥控数据传输系统的关键是数据传输的可靠性为了提高编码的可靠性NEC标准规定系统码数据码后分别接着传送一个同样的码或者反码供误码校验用NEC标准的遥控码具有如下特征1.NEC标准的引导码由9ms的起始码低电平和4.5ms的结束码高电平组成如图所示以遥控接收端收到的电平为准注意接收端与发射端的电平相反2.采用脉宽调制的串行码以脉宽为0 .56ms间隔0.56ms周期为1.12ms的组合表示二进制的0以脉宽为0.56ms间隔1.68ms周期为2.24ms的组合表示二进制的1其波形如图所示以遥控接收端收到的电平为准注意接收端与发射端的电平相反3.遥控全码包含32个二进制位4.32位二进制的发射顺序为低位在先高位在后分前16位和后16位二部分前16位是16位的客户码用于识别不同的机种防止不同机各遥控码互机干扰后16位是数据码其中又分为二个8位二进制字节后一个8位字节是前一个8位字节的反码如图所示NEC标准下的全码表示5.NEC格式的遥控重复码由由9ms的起始码低电平和2.25ms的结束码高电平组成波形如图所示6.NEC格式的一个遥控码的周期为108ms.7.遥控载波的频率为38KHz其占空比为13这样做有二点好处第一减少有效发射时间有利于降低平均功耗第二外界干扰信号多为缓变信号因此有利于抗干扰放大接收遥控器发射的编码红外线通过空间进入光电接收管经前置放大带通滤波检波及比较积分及整形滤支干扰信号和去掉载频然后输出与输入波形相反的信号以上工作均由一体化遥控接收头内部进行其解出的与输入相反的信号进入解码CPU进行解码 硬件配置及接口由于单片机的发展遥控电路的接口变得非常简单只需将一体化遥控器接收的信号输出端直接与单片机的中断口使用中断接收方式或普通I/O口使用查询方式连接即可 红外线遥控发射应用线路红外线遥控接收应用线路5编码遥控系统的软件设计解码原理在标准的NEC格式的红外遥控编码中红外遥控的信号脉冲调制的二进制串行码脉冲宽度是固定(0.56ms)只是脉冲的间隔不同因此只要设法测出脉冲间隔的时间便可判断是二进制的0还是1考虑到适当的误差可把脉冲间隔为0.5---1.5ms 的判为0脉冲间隔为1.5—2.5ms的判为1对于引导码只要测得其引导码的始起码低电平为9ms, 其误差范围在 6.5—9.5ms内和结束码高电平为4.5ms,其误差范围在3ms—5ms内或整个引导码的时间包括始起码和结束码为13.5ms其误差范围在10ms—14ms内即可表示遥控发射的引导码有效否则将按干扰的红外线信号进行处理因此我们可以利用单片机的定时功能对红外遥控编码测量其脉冲的间隔时间利用单片机进行红外线遥控编码脉冲的间隔可以使用单片机内部资源的中断及定时功能进行中断方式的进行脉冲间隔测量或者利用单片机的定时功能进行定时查询方式的脉冲间隔测量其二种方式的脉冲间隔测量均占用单片机的定时功能对于中断方式的解码还占用了一个中断因此在规划单片机的资源时如果采用查询方式测量红外遥控脉冲间隔单片机的定时查询时间可设为250us因此要求单片机的晶体的频率选择需比较大而采用中断方式进行则占用定时功能当然单片机内部资源是可以复用的在进行红外遥控解码时可采用不同的方法分步骤按顺序进行有关流程请参照流程部分当接收到有效的引导码后接着便接收32位数据的客户码和数据码将接收的数据按顺序位移可得到4个8位的数据红外遥控信号的接收在NEC红外遥控标准中在一体化遥控接收端输出的信号与发射端的信号是反相的遥控发射的脉冲首先是发送引导码LEAD CODE 其后是客户码CUSTOM CODE和数据码DATA CODE因此在单片机接收中要正确识别其引导码和0及1码引导码如图所示利用单片机接收时识别引导码时第一要识别到检测1的状态从高电平到低电平第二是识别到检测2的状态从低电平到高电平第三是记录检测1到检测2的时间第四是识别到检测3的状态从高电平到低电平第五是记录检测2到检测3的时间或记录检测1到检测3的时间因此根据其记录的时间可判断NEC标准的遥控引导码是否正确发射引导码后其次是发送的是客户码CUSTOM CODE和数据码DATA CODE在接收端接收时可不区分客户码CUSTOM CODE和数据码DATA CODE如图所示0的识别如图所示利用单片机接收时要正确识别0第一要识别到检测1的状态从高电平到低电平第二是识别到检测2的状态从高电平到低电平第三是记录检测1到检测2的时间因此根据其记录的时间可判断NEC标准的遥控0是否正确1的识别如图所示利用单片机接收时要正确识别0第一要识别到检测1的状态从高电平到低电平第二是识别到检测2的状态从高电平到低电平第三是记录检测1到检测2的时间因此根据其记录的时间可判断NEC标准的遥控1是否正确如果利用单片机进行识别可利用单片机的下隆边沿触发中断方式进行接收红外遥控信号当遥控信号起引单片机中断时立即启动定时器开始定时到下一个红外遥控中断这样便能方便地识别检测状态1和中断之间的时间当然接收时间是有误差的提供如下误差引导码有误差在 10ms—14ms内0的误差在. 0.5---1.5ms 1的误差在.1.5—2.5ms内脉冲流分析遥控发射的信号是一个连续脉冲流组成的数据因此要正确的识别遥控信号除了正确地为识引导码和0及1码外还需要按遥控脉冲流的顺序一步一步地接收正确的信号排除干扰信号NEC标准的遥控信号发射的信号首先是引导码信号其后有32位的数据包括16位的客户码和8位数据码及8位数据反码以上发射时间最长为63ms最短为45ms而NEC标准的遥控信号其发射下一个信号的时间距第一个发射时间为108ms如果遥控器的按键仍然未松开则接下来发射的是重复码如图所示解码软件的分析在利用单片机进行接收遥控编码信号时必须考虑单片机的资源才可决定利用何种方法对遥控信号进行接收解码如果单片机有遥控接收资源则可直使用如三菱有些型号的单片机目前所我们使用的单片机大部分有定时器功能和中断功能因此可以使用其中断和定时功能在遥控接收中使用比较多的方式有中断接收方式和查询接收方式1. 中断接收方式对于中断接收方式遥控接收程序需使用单片机的中断功能和定时功能因此要求单片机有中断和定时器资源其中中断功能必须仅供遥控接收使用而定时功能可以与其他程序共用但需注意其定时时间的最小时间隔即分辨率在中断接收方式中设置中断为下降沿触发当遥控发送引导码的起始段时引起接收端中断中断程序开始启动定时器开始计时当遥控发送完引导码的结束段时接收端会再次引起程序中断进入中断程序后保存上次中断到此次中断的时间为Y然后清除定时器再次起动定时器开始记时判断时间Y是否在引导码的误差范围如果符合则继续重复接收遥控发送的客户码和数据码共32位数据如果接收出现错误则中止遥控接收重新开始2. 查询接收方式对于查询接收方式程序同样是检测引导码的时间和客户码和数据码的时间其差别在于中断方式时有遥控时才会有中断而查询方式是每隔一定时间检测遥控输入端是否有电平变化如果有电平变化便记录其时间并判断是否符合遥控发射的信号查询方式时其每次查询的时间是可设为250us左右当然如果单片机的执行时间没有达到这样高速则不能采用查询方式进行中断方式的接收流程:查询方式的接收流程:6红外线编码遥控常见问题解决方法抗干扰措施红外遥控信号常常受到来自荧光灯和日光灯的干扰这主要是由于目前国内有的电子镇流整器产生的干扰波正好是红外遥控的波长或频率同时其重复频率刚好是NEC格式的重复码的频率因此对此种干扰除我们提醒用户将遥控接收器远离灯光外主要可以采用二种方法进行一种是在选择一体化遥控接收器时要求遥控接收器必须抗荧光灯和日光灯的能力应强另一种方法是在编写接收软件时用查询的法的方法而不用中断的方法因查询方法在可以滤除荧光灯或日光灯产生的干扰 来自于自然界的缓慢的干扰可以采用红外滤波片或选用抗干扰强的遥控接收器地址码重复目前国内大量使用38K的红外线载波的NEC格式的编码遥控码由于大部分遥控器的编码二极管均只有3个以下作为遥控地址码的编码同时我们并不知道其实产品所使用的遥控地址码因此出现遥控器互控现象机率会比较大而且随着新产品的增多出现互控的机会会也越来越大即使你重新更换遥控器地址码同样更改后的遥控器地址码仍然存在与其他产品互控的机会 NEC格式的遥控IC其遥控地址码共有8根地址线可接二极管设置不同的地址码可设置2^8=256个加上第七位的话共512个地址为了减少成本大部分厂家均选择1 不接二极管只有1个地址码;2 接一个二极管有8个地址码;3 接二个二极管有28个地址码;4 接三个二极管有56个地址码为了减少冲突我们往往采用增加二极管改变地码这样可以减少冲突的机会除了可以增加二极管减少地址码重复外可以利用各IC厂商之间的差别进行即有如下三种方法1 增加二极管改变地址码2 选择高或低位数据码3 采用16位地址码即地址码不是8位而是16位发射距离短常见遥控距离短可能出现的问题a) 电池不足b) 经红外发射二极管功率小造成发射功率不够c) 流过红外发射击二极管电流小造成发射功率不够d) 驱动三极管工作在放大区造成流过红外发射二极管电流小e) 红外发射二极管前有红外滤波片吸收红外信号造成f) 外部有荧光灯或日光灯干扰g) 发射的红外波长与接收的红外波长不匹配h) 发射的红外线频率与接收的红外线频率不匹配i) 接收管前有红外滤波片吸收红外信号造成j) 接收管位置安装不合适功耗大常见遥控器功耗大主要有如下情形引起a) 流过发射二极管的电流过大b) 编码IC电流过大c) 驱动三极管选管或安装不正确d) 退耦电容漏电过大发射角度不够a) 发射二极管发射电流不够b) 发射二极管位置安装不合适c) 遥控接收管位置安装不合适d) 发射或接收部分有红外滤波片吸收红外线波。
红外遥控编码传输协议生产厂家对红外遥控的编码做了严格的规范,目前国内外主流的红外遥控编码传输协议有十多种,如NEC、Philips RC-5、Philips RC-6、Philips RC-MM、Philips RECS80、 RCA、X-Sat、ITT、JVC、Sharp、Nokia NRC17和Sony SIRC等。
国内最常用的规范有两种:NEC和Sony SIRC。
这两种规范的调制方式分别为:PPM(脉冲间隔调制)和PWM(脉冲宽度调制)。
谈到这两个概念,我需要具体讲解一下,因为我在网上查阅相关资料时甚是郁闷,好多说法相互矛盾。
有说NEC属于PWM的因为它的脉宽不同,PPM的脉宽是固定的。
而细心地朋友如果探究到NEC的典型芯片的芯片手册时,会发现上面这种说法是错误的。
比如UPD6121这款红外远程控制芯片的调制方式为PPM。
后来终于在一家国外的网站上找到了能够自圆其说的解释。
个人认为比较正确,拿来和大家分享。
要想认清红外遥控编码传输协议的具体内容,我想还是先捡其重点来讲一下,编码规范中最重要的当属调制这部分了。
而主流的调制方式有两种分别为PPM和PWM,当然其他还有好几种,这里先不讲解,免得糊涂了。
本文就先介绍下PPM和PWM的区别。
PPM(Pulse Position Modulation),其实更加准确的说法应该是PDM(Pulse DistanceModulation)即脉冲间隔调制上图为典型编码规范NEC协议的调制图,为PPM调制。
可以看出不管是“0”还是“1”,有高频调制波的地方(下文称其为脉冲)其宽度都是相同的位560us,而脉冲间的间隔则是不同的:“1”时为(2.25ms-560us),“0”时为(1.12ms-560us)。
由此得来PPM的称号。
再来看下PWM的调制波形吧显然可以看出,“1”的脉冲宽度为1.2ms,“0”的为600us。
而脉冲间隔不管是“0”还是“1”,均为600us。
红外遥控信号传输协议
红外遥控信号传输协议
NEC协议:
NEC协议是众多红外遥控信号传输协议中的一种,其它包括RC5协议,RC6协议等。
主要特征如下:
8位地址码,8位命令码。
地址码和命令码均发送2次,一次原码,一次反码,以确保可靠。
PWM方式,载波频率38KHz。
每一位用时1.12ms或者2.25ms.
NEC协议编码方式:
起始码 + 客户码 + 数据 + 结束码
起始码:9ms的传号+4.5ms的空号。
(Sam理解位:9ms的高点平+4.5ms的低电平)
客户码(地址码):8位的地址码和8位的地址反码。
(即相加等于0xFF) 数据(命令码):8位的命令码和8位的命令反码。
结束码(尾脉冲):
任何客户码和命令码如果发现其和反码不对应,则说明传输错误。
NEC协议对KeyPass的处理:
NEC协议规定:在按键期间,命令信号只发送一次,只要按键不释放,每隔108ms发送一次重码。
重复码由9ms的传号和2.25ms的空号,以及560us的一个脉冲组成。
NEC协议中也包含多种:
uPD6121G,D6121/BU5777/D1913, LC7461M-C13。
1、编码格式现有的红外遥控包括两种方式:PWM(脉冲宽度调制)和PPM(脉冲位置调制)。
两种形式编码的代表分别为NEC 和PHILIPS 的RC-5、RC-6 以及将来的RC-7。
PWM(脉冲宽度调制):以发射红外载波的占空比代表“0”和“1”。
为了节省能量,一般情况下,发射红外载波的时间固定,通过改变不发射载波的时间来改变占空比。
例如常用的电视遥控器,使用NEC upd6121,其“0”为载波发射0.56ms,不发射0.56ms;其“1”为载波发射0.56ms,不发射1.68ms;此外,为了解码的方便,还有引导码,upd6121 的引导码为载波发射9ms,不发射4.5ms。
upd6121 总共的编码长度为108ms。
但并不是所有的编码器都是如此,比如TOSHIBA 的TC9012,其引导码为载波发射4.5ms,不发射4.5ms,其“0”为载波发射0.52ms,不发射0.52ms,其“1”为载波发射0.52ms,不发射1.04ms。
PPM(脉冲位置调制):以发射载波的位置表示“0”和“1”。
从发射载波到不发射载波为“0”,从不发射载波到发射载波为“1”。
其发射载波和不发射载波的时间相同,都为0.68ms,也就是每位的时间是固定的。
通过以上对编码的分析,可以得出以某种固定格式的“0”和“1”去学习红外,是很有可能不成功的。
即市面上所宣传的可以学习64 位、128 位必然是不可靠的。
另外,由于空调的状态远多于电视、音像,并且没有一个标准,所以各厂家都按自己的格式去做一个,造成差异更大。
比如:美的的遥控器采用PWM 编码,码长120ms 左右;新科的遥控器也采用PWM 编码,码长500ms 左右。
如此大的差异,如果按“位”的概念来讲,应该是多少位呢?64?128?显然都不可能包含如此长短不一的编码。
2、学习模式现在用来学习红外的CPU,无外乎以下几种:MCS-51系列、microchip pic16 系列、winbond w741 系列、holtek ht48 系列,以上的CPU 由于价格便宜、使用量大,被广泛使用在遥控器上。