【单片机+FPGA】自学式通用红外遥控系统方案

发布时间:2014-03-4 阅读量:1119 来源: 发布人:

【导读】方案采用89S51单片机和现场可编程门阵列(FPGA)开发,通过自制的简易遥控教练器与接收器实现了对原本无遥控功能的电灯、电扇、窗帘等追加红外遥控功能;通过Girder软件实现了对电脑的遥控;通过对电脑、电视、VCD等家用电器的测试,结果表明本遥控系统的学习性能良好,操作简易,有效遥控距离可达5-7米。

各类遥控器功能大致相同,大多都有数字键、启动停止键、前进键、快进键、后退键,复杂的也就是增加几个功能键,现实生活中,由于用户的个体差异,特殊功能键的使用频率很低,甚至部分用户自始至终就从未使用过这类键,因此,这些键完全可以简化和归类使用,对于那些不易简化和归类的少量特殊功能键,可以通过开辟自定义按键区的方法予以解决。鉴于此,本文以单片机和大规模可编程门阵列FPGA为基础,以记录波形的思想设计了一款自学习式通用红外遥控系统,又为原本无遥控功能的电灯、电扇、窗帘等设施追加了教练+学习+控制的遥控模型,在电脑上安装了Girder软件后还可实现对电脑的遥控。

关于红外线

红外线是波长在0. 75μm 至100μm 之间的电磁波,它的频率高于微波而低于可见光,是一种人的眼睛看不到的光线。红外通讯一般采用红外波段内的近红外线,波长在0. 75μm 至25μm 之间。红外数据协会( IRDA) 成立后,为了保证不同厂商的红外产品能够获得最佳的通讯效果,红外通讯协议将红外数据通讯所采用的光波波长的范围限定在850nm 至900 nm 之内。

由于红外线的波长较短,对障碍物的衍射能力差,所以适合应用在需要短距离无线通讯的场合,进行点对点的直线数据传输。

系统的软硬件构成

该系统采用“电脑主机+单片机+FPGA”的结构,系统软件分为两部分:一部分是在主机上运行的Girder程序,用于解码接收到的信号并控制电脑执行指定的动作,另一部分运行在单片机上,用于驱动遥控器的液晶(LCD)显示。系统的硬件分为四部分:学习器,教练器,接收器以及与主机的接口电路,其中学习器兼有学习与遥控的功能,通过学习原有遥控器的编码可以遥控任何拥有遥控功能的电器,它包括单片机和FPGA两部分,由FPGA执行主要的学习与遥控功能以提高运行速度和集成度,单片机用来驱动液晶显示;教练器与接收器负责对原本无遥控功能的设备追加遥控功能,具体来说就是教练器产生种类足够多的编码地址供学习器来学习,接收器则在电器端负责解码对应的地址并产生相应的动作;为实现对电脑的遥控功能而设计的主机接口电路负责把红外信号转换为数字信号传入主机。硬件电路实现的总体框图如图1所示。

1
图1 硬件总体框架图

1、学习器

学习器是硬件电路的主要部分,兼有学习与遥控的功能,它以FPGA为核心,外围电路力求简单,主要由键盘、存储器、接收电路和发射电路组成,考虑到用纯硬件来控制LCD显示的困难较大 ,决定采用微控制器协助FPGA来实现。这里的接收电路与后面要讲的接收器不同,它专为学习功能设置,负责接收已有遥控器的红外信号并送至FPGA内部进行识别、译码以及存储,发射电路由驱动电路和红外发光二极管两部分电路组成,负责将编码信号以红外光的形式发射出去。系统总体原理框图如图2所示。

2
图2 学习硬件结构

(a)FPGA的设计

包括键盘模块、发射编码调制模块、接收译码存储模块三个模块,另外还有一个总控制模块,其内部结构如图3所示。

3
图3 FPGA 内部结构

 

总控制模块是一个有限状态机,它负责协调其他各个模块的工作并提供与显示电路和存储器的接口;键盘模块接收用户的按键信息,并编码输出给总模块,这些信息包括按键的地址,按键的类型和用户选择要遥控的器件编码;接收译码存储模块由计数器记录接收信号高低电平的宽度,并将数据存入存储器相应地址中,存储时序由状态机来控制;发射编码调制模块负责由存储器中读取当前按键的数据信息,产生与学习到的信号相似的高低变化的电平,并以38kHz的载波调制输出。

(b)单片机实现的LCD显示电路

显示电路采用RT12864M-2型液晶显示器,由我们较为熟悉的单片机控制液晶来显示遥控器所处的状态并提示用户进行正确的操作。

2、 教练器

教练器的作用是产生种类足够多的编码信号供学习器来学习,进而控制不同的接收器。SC2262是一种CMOS工艺制造的低功耗低价位通用编码电路,最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址码, SC2262最多可有6位(D0-D5)数据端管脚,其编码方式如图4所示。

4
图4
SC2262 的编码脉冲

3、接收器

SC2272 是与SC2262 配对使用的一块遥控解码专用集成电路。它可支持多达531441个地址的编码,极大的减少了码的冲突。SC2272 对从Din(14脚)端子送入的信号进行解码。解码出来的地址码与所设置地址输入端进行比较。如果所设置的地址与连续2个字码匹配,则SC2272 做以下动作:

(a)当解码得到有“1”数据时,驱动相应的数据输出端为高电平;

(b)驱动VT (17脚)输出为高电平。将SC2272与继电器结合就可以控制电灯、电扇等用电器的电源开关,再加上小型直流电动机就可控制窗帘等机械装置。

4、与主机接口

为了能使此遥控器控制电脑就须将红外信号送入主机内,有两种可行的接口,分别为电视卡的红外接收头和串口。现在的电视卡很多都带有红外遥控器,这样的遥控器除了可以控制电视的播放外,通过适当的软件,它还可以控制音频、视频播放、图片浏览程序及电脑的关机等,实现真正的电脑遥控功能。这种方法的缺点是需要购买电视卡,成本较高,不予采用。

(a)电视卡的红外接收头

现在的电视卡很多都带有红外遥控器,这样的遥控器除了可以控制电视的播放外,通过适当的软件,它还可以控制音频、视频播放、图片浏览程序及电脑的关机等,实现真正的电脑遥控功能。这种方法的缺点是需要购买电视卡,成本较高,不予采用。

(b)串口

现在流行的有半软半硬和全软两种方案,半软半硬方案在红外接收头与串口间加入了数据预处理电路,使数据符合串口规范,降低了编程难度,减少了CPU占用率;而全软方案则是直接把红外接收头收到的数据送入串口,完全由软件处理,其编程难度和CPU占用率偏大,但硬件电路非常简单。图5是“软”方案的硬件电路。

5
图5 串行红外接口

由于目前应用串口的技术比较成熟,网上有很多现成的插件可以借鉴,因此我们决定采用串口的方式实现。

软件设计

(1)液晶(LCD)驱动程序

我们采用89S51单片机来控制液晶屏,通过不断循环读取FPGA的状态编码来控制液晶显示器实时地刷新其显示内容,其中包括遥控系统当前所处的状态(是处于学习状态还是遥控状态)以及当前处理的对象类别和编号,防止用户由于不清楚当前遥控的对象而产生误操作,同时在每一个状态液晶屏都要提示用户下一步该如何操作,为用户提供一个十分人性化的使用界面,软件使用Keil C编写。其程序流程如图6所示。

 

我们采用89S51单片机来控制液晶屏,通过不断循环读取FPGA的状态编码来控制液晶显示器实时地刷新其显示内容,其中包括遥控系统当前所处的状态(是处于学习状态还是遥控状态)以及当前处理的对象类别和编号,防止用户由于不清楚当前遥控的对象而产生误操作,同时在每一个状态液晶屏都要提示用户下一步该如何操作,为用户提供一个十分人性化的使用界面,软件使用Keil C编写。其程序流程如图6所示。

6
图6 LED显示软件

(2)Girder程序

Girder是一款完全免费的软件,从本质上说它可接收来自任何输入设备的指令,识别后做事先定义好的动作,如启动某个程序或鼠标双击等。首先要设置好硬件,从网上下载串口驱动文件IgorPlug.dll拷贝到Girder目录下的子目录Plugins中。Girder软件的界面如图7。

7
图7 Girder界面

进入“filesettings”,点击选项卡上的“Plugins”,找到滚动窗口中的“Igor SFH-56 device”,在它前面的小框中打上勾,再点击左边的“Setting”, 选择你所使用的串口,点击OK就可以通过串口来控制电脑了。

对于像关机,关闭显示器等动作,Girder已经有设置好的现成的命令可用,对于一些较复杂的播放软件的控制可以通过简单的设置来完成。

关键技术--对编码信号的学习方法

红外遥控信号的编码方式多种多样,例如图8所示的是一种电视卡自带的遥控器的编码波形,它采用的是Space编码,前面9ms的脉冲加4ms低电平是引导码,中间是8位地址码00H、8位地址反码FFH、8位数据码E8H、8位数据反码17H,从引导码开始计时发送108ms后若按键仍没有松开则以后每隔108ms发送一个9ms高+2ms底+0.5ms高的重复简码,直到按键松开为止。

8
图8 一种电视卡的遥控器编码波形

如果每一种遥控器都通过解码后存储“0”“1”的数字信号,那么解码的工作将是非常繁重而且不经济的,一个简单的方法是记录下波形中每个高低电平的宽度,使用时再按照原始形式将波形发射出去。

结语

本方案通过对电视、电动机和电脑的综合测试,结果表明该遥控系统学习性能良好,操作简易,有效遥控距离可达5-7米,完全可以实现一只遥控器控制家中所有的电器。这款家居遥控系统基本实现了家居通用,填补了目前通用家电遥控器市场上只能遥控某一种家电而无法做到真正通用的空白,而且它还具有操作简便,界面友好等优点。

相关资讯
英特尔CEO陈立武在华投资引争议,特朗普施压辞职遭强硬拒绝

近期,围绕英特尔首席执行官陈立武的任职资格问题,美国政界刮起一阵强风。事件源于美国参议员汤姆·科顿(Tom Cotton)本月5日致函英特尔董事会,对陈立武在华投资历史及其潜在利益冲突提出尖锐质疑,认为这可能危及英特尔获得的美国政府巨额补贴(包括《芯片与科学法案》下的近80亿美元)所应承担的国家安全责任,尤其涉及敏感的“安全飞地”(Secure Enclave)国防芯片项目。此质疑引发了广泛关注。

中国晶圆龙头企业二季度业绩强劲,产能利用率创新高

2025年8月7日,中国半导体行业领军企业中芯国际和华虹半导体正式发布2025年第二季度业绩报告。数据显示,两家企业销售收入均实现高两位数增长,并带动盈利能力大幅提升。这一成绩不仅体现了国内晶圆制造领域的高效运营,还反映出全球半导体需求的稳健复苏。分析机构指出,在人工智能、汽车电子和5G通信技术的推动下,中国半导体企业正通过优化产线和扩产战略,持续提升市场竞争力。

设计革新显成效!三星Galaxy Z7系列全球热销,俄罗斯预售激增30%​

三星电子最新一代折叠屏智能手机Galaxy Z Fold 7与Galaxy Z Flip 7甫一上市,即在全球多地区域引发显著消费热潮。最新数据显示,在俄罗斯这一三星曾战略退出的关键市场,该系列的预售表现超出预期。行业分析机构透露,相较于前代产品,Z7系列在俄罗斯的预订量实现了约30%的显著提升。值得关注的是,采用超薄设计、轻量化大幅改进的Galaxy Z Fold 7在俄预售中占据主导,份额高达约70%,充分体现了消费者对于产品形态革新突破的高度认可。

德州仪器启动史上最大规模涨价,中国芯片供应链加速重构

2025年8月,全球模拟芯片龙头德州仪器(TI)对中国客户启动覆盖超6万款产品的价格调整,涨幅达10%-30%,远超6月仅3300款产品的定向调价规模。尽管官方通知生效日为8月15日,部分客户反馈新定价已于8月4日提前执行。此次涨价涵盖工业控制、汽车电子、消费电子及通信设备全品类,其中41.3%的产品涨幅超30%,工业级数字隔离器和车规电源管理芯片(PMIC)成为重灾区,涨幅普遍超过25%。

罗姆加速SiC技术布局应对市场变局,2025财年Q1利润承压

2025财年第一季度,日本罗姆半导体(ROHM)面临严峻财务挑战:营收同比下滑1.8%至1162亿日元,营业利润暴跌84.6%至1.95亿日元。尽管净利润下滑14.3%,但公司成功结束连续三季亏损,实现扭亏为盈。业绩承压主因工业机械与汽车应用领域需求疲软(销售额分别下降5%和7%),叠加中国碳化硅(SiC)厂商的竞争冲击。