导言
人们日子中的家用电器品种日益增多,遥控器的品种也随之添加,不同品种的遥控器之间一般不能彼此代替,这给人们的日子带来诸多不便。各类遥控器功用大致相同,大多都有数字键、发动中止键、行进键、快进键、撤退键,杂乱的也便是添加几个功用键,现实日子中,因为用户的个体差异,特别功用键的运用频率很低,乃至部分用户从头到尾就从未运用过这类键,因而,这些键完全能够简化和归类运用,关于那些不易简化和归类的少数特别功用键,能够经过拓荒自界说按键区的办法予以处理。
鉴于此,本文以单片机和大规模可编程门阵列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的编码脉冲
3.3 接纳器
SC2272 是与SC2262 配对运用的一块遥控解码专用%&&&&&%。它可支撑多达531441个地址的编码,极大的减少了码的抵触。SC2272 对从Din(14脚)端子送入的信号进行解码。解码出来的地址码与所设置地址输入端进行比较。假如所设置的地址与接连2个字码匹配,则SC2272 做以下动作:
a)当解码得到有“1”数据时,驱动相应的数据输出端为高电平;
b)驱动VT (17脚)输出为高电平。
将SC2272与继电器结合就能够操控电灯、电扇等用电器的电源开关,再加上小型直流电动机就可操控窗布等机械设备。
3.4 与主机接口
为了能使此遥控器操控电脑就须将红外信号送入主机内,有两种可行的接口,分别为电视卡的红外接纳头和串口。
3.4.1电视卡的红外接纳头
现在的电视卡许多都带有红外遥控器,这样的遥控器除了能够操控电视的播映外,经过恰当的软件,它还能够操控音频、视频播映、图片阅读程序及电脑的关机等,完结真实的电脑遥控功用。这种办法的缺陷是需%&&&&&%买电视卡,本钱较高,不予选用。
3.4.2 串口
现在盛行的有半软半硬和全软两种计划,半软半硬计划在红外接纳头与串口间加入了数据预处理电路,使数据契合串口标准,降低了编程难度,减少了 CPU占用率;而全软计划则是直接把红外接纳头收到的数据送入串口,完全由软件处理,其编程难度和CPU占用率偏大,但硬件电路十分简略。图5是“软”计划的硬件电路。
图5.串行红外接口电路
因为现在运用串口的技能比较老练,网上有许多现成的插件能够学习,因而咱们决议选用串口的办法完结。
4 软件规划
4.1 液晶(LCD)驱动程序
咱们选用89S51单片机来操控液晶屏,经过不断循环读取FPGA的状况编码来操控液晶显现器实时地改写其显现内容,其间包含遥控体系当时所在的状况(是处于学习状况仍是遥控状况)以及当时处理的目标类别和编号,避免用户因为不清楚当时遥控的目标而发生误操作,一起在每一个状况液晶屏都要提示用户下一步该怎么操作,为用户供给一个十分人性化的运用界面,软件运用Keil C编写。其程序流程如图6所示。
图6.LCD显现软件流程
4.2 Girder程序
Girder是一款完全免费的软件,从实质上说它可接纳来自任何输入设备的指令,辨认后做事前界说好的动作,如发动某个程序或鼠标双击等。首先要设置好硬件,从网上下载串口驱动文件IgorPlug.dll拷贝到Girder目录下的子目录Plugins中。Girder软件的界面如图7。
进入“filesettings”,点击选项卡上的“Plugins”,找到翻滚窗口中的“Igor SFH-56 device”,在它前面的小框中打上勾,再点击左面的“Setting”, 挑选你所运用的串口,点击OK就能够经过串口来操控电脑了。
图7.Girder的主界面
关于像关机,封闭显现器等动作,Girder已经有设置好的现成的指令可用,关于一些较杂乱的播映软件的操控能够经过简略的设置来完结。
5 关键技能–对编码信号的学习办法
红外遥控信号的编码办法多种多样,例如图8所示的是一种电视卡自带的遥控器的编码波形,它选用的是Space编码,前面9ms的脉冲加4ms低电平是引导码,中心是8位地址码00H、8位地址反码FFH、8位数据码E8H、8位数据反码17H,从引导码开端计时发送108ms后若按键仍没有松开则今后每隔108ms发送一个9ms高+2ms底+0.5ms高的重复简码,直到按键松开停止。
图8. 一种电视卡的遥控器编码波形
假如每一种遥控器都经过解码后存储“0”“1”的数字信号,那么解码的作业将是十分深重并且不经济的,一个简略的办法是记载下波形中每个凹凸电平的宽度,运用时再依照原始办法将波形发射出去。
6 结语
智能家居各类产品的智能化加快必将推进家居工业开展,让咱们一起等待,信任智能年代还会发明更多的智能奇观,智能家居日子终会飞入寻常百姓家,普通百姓也能享用高科技年代下的才智日子。