0 引言
人们生活中的家用电器种类日益增多,遥控器的种类也随之增加,不同种类的遥控器之间一般不能相互替代,这给人们的生活带来诸多不便。
各类遥控器功能大致相同,大多都有数字键、启动停止键、前进键、快进键、后退键,复杂的也就是增加几个功能键,现实生活中,由于用户的个体差异,特殊功能键的使用频率很低,甚至部分用户自始至终就从未使用过这类键,因此,这些键完全可以简化和归类使用,对于那些不易简化和归类的少量特殊功能键,可以通过开辟自定义按键区的方法予以解决。鉴于此,本文以单片机和大规模可编程门阵列FPGA为基础,以记录波形的思想设计了一款自学习式通用红外遥控系统,又为原本无遥控功能的电灯、电扇、窗帘等设施追加了教练+学习+控制的遥控模型,在电脑上安装了Girder软件后还可实现对电脑的遥控。
1 红外遥控简介
1.1 关于红外线
红外线是波长在0. 75μm 至100μm 之间的电磁波,它的频率高于微波而低于可见光,是一种人的眼睛看不到的光线。红外通讯一般采用红外波段内的近红外线,波长在0. 75μm 至25μm 之间。红外数据协会( IRDA) 成立后,为了保证不同厂商的红外产品能够获得最佳的通讯效果,红外通讯协议将红外数据通讯所采用的光波波长的范围限定在850nm 至900 nm 之内。
由于红外线的波长较短,对障碍物的衍射能力差,所以适合应用在需要短距离无线通讯的场合,进行点对点的直线数据传输。
1.2 红外遥控编码格式
用于遥控的控制代码大都以不同的编码标准调制在38 kHz 左右的载波频率之上,再以串行格式通过红外载波的通断被发送。下面简单介绍一下常见的编码标准:
1) Pulse 编码(Pulse Coded)
脉冲的长度根据表示的数据‘0’、‘1’而不同,Sony 的遥控用此种编码。
2) Space 编码(Space Coded)
与脉冲编码正好相反,它是以脉冲之间space 的长度不同来表示数据, Panasonic 的遥控用的就是这种编码。
3) Shift 编码(Shift Coded)
此种编码是用电平转换的方向表示数据的,因此所有的位都有着连续的时段,Philips 就用该编码方式。
2 系统的软硬件构成
该系统采用“电脑主机+单片机+FPGA”的结构,系统软件分为两部分:一部分是在主机上运行的Girder程序,用于解码接收到的信号并控制电脑执行指定的动作,另一部分运行在单片机上,用于驱动遥控器的液晶(LCD)显示。系统的硬件分为四部分:学习器,教练器,接收器以及与主机的接口电路,其中学习器兼有学习与遥控的功能,通过学习原有遥控器的编码可以遥控任何拥有遥控功能的电器,它包括单片机和FPGA两部分,由FPGA执行主要的学习与遥控功能以提高运行速度和集成度,单片机用来驱动液晶显示;教练器与接收器负责对原本无遥控功能的设备追加遥控功能,具体来说就是教练器产生种类足够多的编码地址供学习器来学习,接收器则在电器端负责解码对应的地址并产生相应的动作;为实现对电脑的遥控功能而设计的主机接口电路负责把红外信号转换为数字信号传入主机。硬件电路实现的总体框图如图1所示。
图1 硬件系统总体框图
3 系统的硬件设计与实现
3.1 学习器
学习器是硬件电路的主要部分,兼有学习与遥控的功能,它以FPGA为核心,外围电路力求简单,主要由键盘、存储器、接收电路和发射电路组成,考虑到用纯硬件来控制LCD显示的困难较大 ,决定采用微控制器协助FPGA来实现。这里的接收电路与后面要讲的接收器不同,它专为学习功能设置,负责接收已有遥控器的红外信号并送至FPGA内部进行识别、译码以及存储,发射电路由驱动电路和红外发光二极管两部分电路组成,负责将编码信号以红外光的形式发射出去。系统总体原理框图如图2所示。
图2 学习器硬件结构
3.1.1 FPGA的设计
包括键盘模块、发射编码调制模块、接收译码存储模块三个模块,另外还有一个总控制模块,其内部结构如图3所示。
图3 FPGA内部结构
总控制模块是一个有限状态机,它负责协调其他各个模块的工作并提供与显示电路和存储器的接口;键盘模块接收用户的按键信息,并编码输出给总模块,这些信息包括按键的地址,按键的类型和用户选择要遥控的器件编码;接收译码存储模块由计数器记录接收信号高低电平的宽度,并将数据存入存储器相应地址中,存储时序由状态机来控制;发射编码调制模块负责由存储器中读取当前按键的数据信息,产生与学习到的信号相似的高低变化的电平,并以38kHz的载波调制输出。
3.1.2 单片机实现的LCD显示电路
显示电路采用RT12864M-2型液晶显示器,由我们较为熟悉的单片机控制液晶来显示遥控器所处的状态并提示用户进行正确的操作。
3.2 教练器
教练器的作用是产生种类足够多的编码信号供学习器来学习,进而控制不同的接收器。
SC2262是一种CMOS工艺制造的低功耗低价位通用编码电路,最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址码, SC2262最多可有6位(D0-D5)数据端管脚,其编码方式如图4所示。
图4 SC2262的编码脉冲
评论
查看更多