下面分析家用电器红外线遥控器一般原理的基础上,探讨了多合一遥控器的三种实现方式,比较三者各自的优缺点,重点介绍了最新开发出的代码型遥控器的工作原理与产品应用前景。

一,多合一遥控器的出现
二,红外遥控器的工作原理
三,万用遥控器(固定码遥控器)
四,学习型遥控器
五,代码型遥控器
六,代码型遥控器应用前景

一、 多合一遥控器的出现

电视机、录像机、卫星接收机、机顶盒、VCD/DVD、LD/CD及组合音响等设备的不断普及,而这些家用电器无一例外的具备遥控功能。能同时控制多种遥控型设备的遥控器,称之为多合一遥控器(ALL-ON-ONE)。最早出现这类产品的遥控器就是通常所说的万用(能)遥控器(URC,Universal Remote Control),实际上,它并不能做到“万能”,更为准确地应称作为固定码万用遥控器(Preprogrammed URC)。随后,学习型遥控器(Recordable URC)又出现了。但学习型遥控器存在着操作学习过程繁琐,不十分可靠等缺点。考虑到上述两种多合一遥控器的缺点而从一个全新的角度开发出的新一代代码型遥控器(Code-based URC)便应运而生。

万用遥控器为什么不能做到万用?学习型遥控器可以不断学习为什么还不能让人满意?代码型遥控器又有哪些特点和优点?这就是本文需要探讨的问题,而要搞清楚这些问题,首先必须了解红外遥控器的工作原理。

二 、红外遥控器

遥控器其核心元器件就是编码芯片,将需要实现的操作指令例如选台、快进等事先编码,设备接收后解码再控制有关部件执行相应的动作。显然,接收电路及CPU也是与遥控器的编码一起配套设计的。编码是通过载波输出的,即所有的脉冲信号均调制在载波上,载波频率通常为38K。载波是电信号去驱动红外发光二极管,将电信号变成光信号发射出去,这就是红外光,波长范围在840nm到960nm之间。在接收端,需要反过来通过光电二极管将红外线光信号转成电信号,经放大、整形、解调等步骤,最后还原成原来的脉冲编码信号,完成遥控指令的传递,这是一个十分复杂的过程。

红外线发射管通常的发射角度为30-45度之间,角度大距离就短,反之亦然。遥控器在光轴上的遥控距离可以大于8.5米,与光轴成30度(水平方向)或15度(垂直方向)上大于6.5米,在一些具体的应用中会充分考虑应用目标,在距离角度之间需要找到某种平衡。

要实现多合一遥控器,涉及到如下几个主要问题:

# 遥控器发出的编码信号驱动红外线发射管,必须发出波长范围在940nm左右的的红外光线,因为红外线接收器的接收二极管主要对这部分红外光信号敏感,如果波长范围不在此列,显然无法达到控制之目的。不过,几乎所有的红外家电遥控器都遵循这一标准。正因为有这一物理基础,多合一遥控器才有可能做成。

# 遥控器发出一串编码信号只需要持续数十ms的时间,大多数是十多ms或一百多ms重复一次,一串编码也就包括十位左右到数十位二进制编码,换言之,每一位二进制编码的持续时间或者说位长不过2ms左右,频率只有500kz这个量级,要发射更远的距离必需通过载波,将这些信号调制到数十khz,用得最多的是38khz,大多数普通遥控器的载波频率是所用的陶瓷振荡器的振荡频率的1/12,最常用的陶瓷振荡器是455khz规格,故最常用的载波也就是455khz/12=37.9khz,简称38k载波。此外还有480khz(40k)、440khz(37k)、432khz(36k)等规格,也有200k左右的载波,用于高速编码。红外线接收器是一体化的组件,为了更有针对性地接收所需要的编码,就设计成以载波为中心频率的带通滤波器,只容许指定载波的信号通过。显然这是多合一遥控器应该满足的第二个物理条件。不过,家用电器多用38k,很多红外线接收器也能很好地接收频率相近的40k或36k的遥控编码。

# 一个设备受控,除了满足上面提到的两个基本物理条件外,最重要的变化多种多样的当然应该是遥控器发出一串二进制编码信号了,这也是不同的遥控器不能相互通用的主要原因。由于市场上出现成百上千的编码方式并存,并没有一个统一的国际标准,只有各芯片厂商事实上的标准,这也是模拟并替换各种原厂遥控器最大的难点。随着技术的不断发展,很多公司开发家电设备的遥控子系统时还不采用通用的编码芯片,而是用通用的单片机随心所欲地自编一些编码,这就使通用遥控的问题更加复杂化了。

# 采用同样的编码芯片,也不意味着可以通用,因为还有客户码。客户码设计的最初本意就是为了不同的设备可以相互区分互不干扰。最初芯片厂商会从全局考虑给不同的家电厂商安排不同的客户码以规范市场,例如录像机和电视机就用不同的设备码,给甲厂分配的设备码和乙厂分配的设备码就区分在不同的范围内。

# 采用同样的编码芯片、同样的客户码下,也不能意味着一定可以通用,因为对命令码的分配与使用上,仍然是没有固定的模式可以遵循,遥控器编码芯片简单的支持数十种命令码,多的上千种,但遥控器往往只有数十个键,甚至只有几个键,如何从中选取这数十个键,这些键如何分配使用,不同的系统设计师都自搞一套,这样一来事情就更复杂化了。

下面以三菱公司推广的M50462遥控编码芯片为例,具体说明红外线遥控的基本工作原理。

需要说明的是,介绍工作原理的目的是为了便于理解后面将要介绍的三种多合一遥控器实现方式的差别,与此无关的一些细节就给予忽略。例如关于0和1的编码有移频键控FSK、双相编码和脉距编码等多个系列,但对多合一遥控器的实现没有明显的影响,就不另做介绍。

图一 是遥控编码芯片的应用例子
图二 每一位的编码方式(以480khz为例)
图三 一个完整的帧编码三 万用遥控器(固定码遥控器)

在介绍M50462编码原理的时候可以看到该芯片可以直接支持8x8=64个键, 三菱公司选了其中的部分键定义其功能,形成推荐的标准码表,见表一。万用遥控器就是以此为根据开发设计的。同一种编码芯片M50462,选择不同的客户码(最多4种),选取64键中的32键(假设遥控器做成32键盘,这种选法其方式之多就十分惊人了,也就是64选32的排列问题),还有可能选不同规格的陶瓷振荡器不在此讨论。这些因素考虑进入,就形成了该芯片的一种具体的应用,用一张简单的码表就可以概况。

三菱推荐相应遥控的接收处理系统即三菱M50436-560SP,此外还有东芝TMP47C433AN被选为国内优选线路,松下MN15245SAY系统在国内亦有相当的市场,形成了三种流行的红外线遥控系统。早期很多生产厂商直接引进技术生产电视机。这样一来,采用同一核心技术的电视机其遥控器就基本确定下来了,遥控器可以通用或基本通用。但问题随之而来,家用电器以不再限于电视机和录像机等传统设备,VCD/DVD之类的数字设备大量上市,遥控处理技术不再局限于为数不多的几家大厂商,变成众多的厂商自定规范。而固定码万用遥控器是收集各厂产品的码表写到不可再更改的芯片中去,以后的新产品就无法支持了。这样一来,更加发现所谓的万用遥控器并不能“万用”。

四、 学习型遥控器

学习型遥控器实际含义是记录各种不同类型的遥控器的编码波形,而对一些编码细节不予理会,需要配置较大容量的存储器给予支持,而且这些存储器的内容是可以随时在“学习”中改写的,这样一来通用性大大提高,很快成为多合一遥控器市场的主流产品。

但是,学习型遥控器也存在这明显的缺点:一是学习过程中就只能记录其中的一次按键,在使用过程中发出的码也就始终是一种编码,有些编码芯片按一次键其中的某一位会反复跳变,称之为反转码,学习型遥控器就会出现操作混乱。学习型遥控器面临的另一个问题是帧的重复及部分重复的问题。学习型遥控器面临的第三个困难就是它每次学习的波型含有不可避免的偶然性,很可能某一次学习的波形正好偏离中值很多,但学习型遥控器仍然会忠实地保持这一较大的偏离,控制的效果就可想而知了。

五、 代码型遥控器

针对万用型遥控器和学习型遥控器的不足,一种采用设备码和命令码统一各种遥控编码的代码型遥控方案应运而生。

设计需考虑的问题是如何“同化”不同遥控器发射信号之间的差异。遥控编码方式涉及很多方面,首先是数字0和1的表示(调宽还是调相,脉宽和占空比);其次是帧结构(引导码和结束码,客户码和命令码长度及发送方式);再次是帧间结构(仅发一次还是反复多次,多帧交替发送,帧间间隔变化);最后是载波频率,以38Khz居多,也有40Khz甚至200khz等特殊载波。

设计相应电路和软件时对上述诸多因素加以分析、归纳,将编码特点用一串二进制位表示出来形成设备码,对应于一个具体的遥控器。同一个设备码下也就是同一个遥控器不同的按键则用命令码来表示。代码型遥控器用软件的方式对这些统一的编码进行解释,驱动一个个命令码按指定设备码格式加以“封装”,形成所需要的遥控信号,达到控制家电的目的。

还是以前面的M50462编码芯片为例,其帧结构、0或1编码方式等归结为某种遥控器所有按键的共性部分,即设备码0x030a375c,任何按键信息归结为16位的命令码(不同于帧间的命令码,而是有更广的含义,指遥控编码按键的个性部分),例如按FC和I7相连的键,该芯片用于三菱公司的推荐的电视机遥控中,这个编码0x32用来表示静音,16位的命令码就是0xea4c,这个0xea4c在这里实际上包含了8位客户码0xea和8位命令码0x4c(对应0x32),只不过认为在前发送的是高位而已,按键的命令码为展成二进制就是1110 1010 0100 1100,正好是一个完整的帧编码。这样一来,设备码和命令码就包含了该编码芯片一次完整的发码过程,可以忠实地再现原有的波形,达到控制之目的。

代码型遥控器的编码芯片采用高性能的单片机,配合高精度的石英晶体,振荡频率为数Mhz,大大高于455khz,石英晶体的稳定度在10ppm级别即百万分之十左右,更是学习型遥控器望尘莫及的。

代码型遥控器具有极大的控制灵活性,功能强大,使用方便。一般而言,适合相对单纯的批量使用用户,例如一间酒店,数百套客房,每间客房的电视机、上网的机顶盒都是一样的,厂家或中间商可以十分方便地批量编程定制,而且一经设定,数据不会丢失,长期使用。当然,代码型遥控器编程定制需要专门的知识和设备,对用户有一定的限制,除了酒店之类的实例外,面向家用的组合视听设备,例如家用电脑、电视机、家用投影、DVD、激光视盘等,来自不同的厂家的产品快速集成为一体,由厂家或中间商完成客户化工作,给最终的客户一个整体解决方案,就十分合适了。对有些小批量定制的产品增加遥控器时,代码型遥控器可以轻松替代市面上任何一种普通型遥控器。代码型遥控技术将任何一款遥控器的任何一次编码发送归结为32位的设备码加16位的命令码,仅仅6个字节,同一种遥控器设备码相同,这样一来描述一个32键的遥控器只需要4+32*2=68字节,自然是十分节省存储空间,方便数据交换,而且容易阅读和传播,甚至可以将各种代码放到Internet实现资源共享。

代码型遥控器不仅设备码和命令码具有广泛的通用性,可以控制实现几乎有所的红外线遥控设备,更为重要的是,代码型遥控器采用了外接EEPROM存储器(24C02)的方式,可以随时方便地更换其中的代码,便于快速定制。

图五 代码型遥控器的一种电路板,有两块IC

当然,要定制代码需要专用的设备,这是一个不便之处。完成代码型遥控器的定制即客户化工作需要读码器和编程器,最好也有家电控制器来模拟控制测试,将这三样设备集中起来就形成一种称之为UIR48的设备,UIR表示universal infrared remote control, 48表示代码型遥控器采用6个字节48bits的编码技术,其中包括32bits的设备码和16bits的命令码。

该设备见下图六所示,其中USB接口符合USB1.1标准,与PC机相连,另一端引出三种装置,有一个红外线接收器,运行PC机的软件后用来读取各种不同类型的原始遥控器的编码,有一红外线发射器,读到编码后运行相应的软件通过该设备“重构再现”刚才读到的编码,看能否替代原始遥控器的相应按键控制对应的设备,再有一个端子就是编程端子了,直接插到代码型遥控器的后座在线编程,就像手机的编程一样。读到合适的代码验证设备受控后在线写入代码型遥控器,这就是整个编程定制的过程。

图七代码型遥控器用于酒店客房控制电视机和机顶盒的例子

七、代码型遥控器应用前景

代码型遥控器所用的技术在家电自动控制方面可以发挥优势作用,将其编码芯片由按键扫描输入方式改为UART串行接口输入方式,当任何一个设备或系统需要对各种不同类型的红外线遥控设备实施控制的时候,只需要内置这种带UART接口的代码型红外控制芯片即可轻松达到目的。例如前面提到的要控制采用M50462芯片遥控器对应的电视机静音,这里指用程序控制,就可以用其他控制系统、计算机甚至Internet传输遥控代码(设备码和命令码,多路控制时还需要一个通道号或者说地址号)。实现的方法其实很简单,只需要通过UART输入4字节的设备码和2字节的命令码即可,多设备控制时增加1字节的通道号。各种遥控设备的差异性二次开发的用户不必要考虑。

三种万用遥控器的比较分析相关推荐

  1. 三种近场通信技术的比较与分析

    三种近场通信技术的比较与分析 一.WIFI 二.BlueTooth 三.NFC 四.对未来近场通信技术的应用场景的分析与预测 1.WIFI 2.BlueTooth 四.NFC 参考文章 一.WIFI ...

  2. Java的三种代理模式完整源码分析

    Java的三种代理模式&完整源码分析 Java的三种代理模式&完整源码分析 参考资料: 博客园-Java的三种代理模式 简书-JDK动态代理-超详细源码分析 [博客园-WeakCach ...

  3. 三种IP核总线接口比较分析

    三种IP核总线接口比较分析 (2018-01-13 09:26:44) 转载▼ 标签: 三种IP核总线接口比较分析   原文地址:三种IP核总线接口比较分析作者:Stephen 作者:王智鸣  田金文 ...

  4. 【参数】REMOTE_LOGIN_PASSWORDFILE参数三种取值及其行为特性分析

    在某些情况下可以使用REMOTE_LOGIN_PASSWORDFILE参数增强系统的安全性,所谓提高安全性就是禁止以SYSDBA或SYSOPER特权用户从客户端登陆到数据库系统中.这是一种牺牲管理便捷 ...

  5. spwm控制算法c语言实现,三种SPWM波形生成算法的分析与实现

    标签: SPWM SPWM(Sinusoidal PWM)法是一种比较成熟的,目前使用较广泛的PWM法.前面提到的采样控制理论中的一个重要结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果 ...

  6. [pascal]对“求1-100之间的所有素数”的三种不同循环结构算法的分析

    在做第四章(循环结构程序设计)的作业时,有一道"求1-100之间的所有素数"的题目,有意思的是最后出现了三种不同的写法,这三种写法的基本思想都差不多但其核心算法不同,做过求素数算法 ...

  7. 三种传统电量检测方法对比分析

    关注同名微信公众号"混沌无形",有趣好文! 原文链接:https://mp.weixin.qq.com/s/INtVyE4xrWl1n0mG_INgZA 图 1 电池放电曲线. S ...

  8. 三种动态网页技术的简要分析

    动态网页可以根据用户的选择.点击.输入等操作而迅速的响应和动态的改变.动态网页技术可以非常方便地处理用户的请求,在Web开发中它们的地位是非常重要的.目前比较流行的动态网页技术有JSP.ASP.PHP ...

  9. Java的三种代理模式【附源码分析】

    Java的三种代理模式&完整源码分析 代理模式分为两种,静态代理和动态代理,动态代理包括JDK动态代理和Cglib动态代理. 静态代理 静态代理在使用时,需要定义接口或者父类,被代理对象与代理 ...

最新文章

  1. TiDB 在大型互联网的深度实践及应用--大数据平台技术栈08
  2. DSP中LOG_printf()和printf()区别
  3. sysctl: 深入使用Linux的必经之路
  4. mysql解释中fitered_MySQL的explain中的参数说明
  5. iphone字体大小设置_Win10电脑桌面上使用的记事本便签软件字体大小怎么调整?...
  6. 数字滤波器(六)--设计FIR滤波器
  7. Aruba7010 默认密码_钟祥人注意!手机这个密码必须设,否则危险!
  8. spark集群搭建整理之解决亿级人群标签问题
  9. 【java】正则表达式
  10. autojs- 联众识别
  11. 软考中级——系统集成项目管理工程师 知识点思维导图
  12. hp laserjet p1108打印机连接win10电脑
  13. FW:一位软件工程师的6年总结
  14. 微前端框架 之 single-spa 从入门到精通
  15. windows10上配置pyspark工作环境
  16. html怎样 做二级菜单,HTML制作二级下拉菜单的方法步骤
  17. linux看oracle数据库实例,oracle数据库实例的创建[linux]
  18. Ubuntu 18.04.3 双屏显示 N卡驱动 问题解决
  19. numpy.take()用法总结
  20. 简单版,客户端和服务端使用websocket进行连接通信

热门文章

  1. Linux笔记 No.28---( rsync服务、SSH服务)
  2. 20210417 simulink导入CSV
  3. surface pro 6 插电源锁频0.4ghz
  4. 【前端提升之---webpack 一】
  5. java web之数据库的连接(使用JDBC连接sql server 2017)
  6. oracle stalestats_dbms_stats.gather_schema_stats的GATHER STALE选项
  7. 华为鸿蒙智慧屏和手机,大屏手机还是智能电视?华为用鸿蒙系统增智慧
  8. 转行历程|用一年时间写一份简历,成功跳槽
  9. Python中类-带括号与不带括号的区别(通俗易懂)
  10. java二维数组长度表示,java二维数组指定不同长度代码实例