工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->光电电路图->其他光电实用电路图->像遥控电视般遥控电脑

像遥控电视般遥控电脑

作者:dolphin时间:2016-09-22

  我们用遥控手柄玩PS-II等游戏,用遥控器选择数字电视频道,甚至我们用遥控器时刻关注股市行情。电脑无线键一鼠设备早已问世,然而现成的无线PC键一鼠设备受自身体积和工作原理的限制,不能做到像遥控电视一样随心所欲地遥控电脑。键盘体积过于庞大,鼠标必须要有平整的鼠标垫才能正常移动光标。是不是可以把单一的无线遥控手柄和LCD电视结合,组合出一套像遥控电视一样遥控电脑的无线遥控设备呢。
  
  这样就可以躺在沙发上观看电脑硬盘中或者网络上的流媒体电影,或者查收电子邮箱,甚至可以像发短信一样用遥控手柄通过QQ等通信软件和朋友聊天。经过系统的设计和调试,成功地完成了这一系统的设计和组装。一起来分享和体验DIY给我们带来的乐趣。 
  
  一、硬件结构
  
  全面地认识一下系统硬件(物理)结构,硬件结构如下图所示,它像普通电脑设备分类一样,该系统分为三部分:主机部分-PC主机;显示部分——带VGA接口的LCD电视(没有LCD电视的话可以直接用普通电脑显示器);控制部分——是设计和制作的主体部分,由一个单片机系统和红外遥控手柄构成。

硬件结构


  
  二、工作原理
  
  主机通过显卡VGA接口将显示内容发送给LCD电视,并由LCD电视作为PC的显示器(使用LCD电视作为显示设备时注意分辨率和刷新频率的设置),控制部分的遥控手柄发送操作键码(如鼠标右移),单片机系统接收识别并通过RS232串口发送键码操作指令给PC主机,上位机软件接收下位机(单片机系统)发送来的操作指令,上位机软件通过系统调用的方式执行对应操作(如鼠标光标水平右移10个像素点)。
  
   单片机系统采用USB供电,节省系统制作成本并且简化了系统结构,单片机系统与PC主机间的通信采用RS232串口通信,电路简单而且满足低速率通信要求。遥控器采用用户码识别操作,防止了电脑遥控和电视遥控器等其他家电设备干扰。除了使用VCA接口的LCD电视,也可以使用射频接口(RF接口)、复合视频端子(AV端子)或者S端子等接口。采用RF接口可以充分利用家庭已经布好的有线电视线路,只需将电脑主机的视频信号和声音信号转换为RF线路复合信号直接接入有线电视线路,将电视AV/TV模式设置调至为AV模式即可实现用电视代替电脑显示器,通过对显卡(如ATI)的显示设置,(“属性——设置——高级”、“覆盖——剧院模式”)便可实现双独立显示配置(电视全屏显示播放器视频、而电脑显示桌面所有操作窗口,只需将播放器最小成托盘即可。在全屏观看电视时,我们可以随意操作电脑桌面窗口而不影响电视的播放器的视频,只要电脑显示器这边不开启视频和声音操作)。本次我们采用VCA接口方案,其他的接口方案只需相应更改接口转换设备。

  三、上位机软件
  
  我们来简单了解下上位机软件,具体代码分析我们将在下期做详细分析。上位机软件采用VB6.0语言编写,通过操作系统的API函数调用和控件编程的方式实现所有键盘、鼠标和开关光驱和关机等的模拟操作。本例采用单片机发送的固定操作指令,将单片机通过RS232串口发送过来的键码值固定编码为一一对应的操作码(如单片机发送键码OXFFAO到PC端对应为鼠标右移操作指令)。上位机软件界面如下图所示,鼠标功能的模拟实现:如鼠标的上下左右移动、左键、右键、双击、单击、上下滚动和窗口拖动等,除此之外还可以更改鼠标移动的灵敏度,实现一键关机一键开关光驱,一键开关音频视频播放器(一键快捷启动应用程序)等,如同一只握在手里的DVD遥控器;强大的键盘功能:可以模拟定义普通键盘上所有的数字和字母,以及其他常用的键.如:回车、ESC、空格、方向键等。几乎可以模拟输入键盘上所有的按键及复合功能键。通过上位机软件识别可以像使用手机发短信一样使用遥控手柄通过如QQ等类通信软件和朋友聊天等。上位机软件安装步骤简单,本文介绍的上位机软件为绿色软件,不用安装直接双击运行,对未注册mscomm32.ocx控件的电脑,可以将下载到的mscomm32.ocx控件复制到路径C:\WINDOWS\system32下即可。如在下图所示窗口双击运行上位机软件,在【串口选择】框中选择使用的串口号,继而单击【打开串口】按钮即可启动驱动软件,关闭窗口即可关闭串口退出软件。

上位机软件


  
  四、下位机电路结构
  
  下位机电路结构中,单片机系统以STC89C51构成的最小系统配以LED显示及RS232通信电路组成,通过一体红外接收头对红外波形的检测接收,再由单片机系统软件实现对红外波形的解码工作,系统硬件电路简单,单片机系统采用STC89C51处理器进行解码,提供手动复位操作键。对控制器MCU的要求为控制器自带看门狗,以便系统死机时可以自动复位系统并继续工作,采用USB供电方式为系统方便的提供电源,系统电路图为简单最小系统加带RS232串口通信电路组成,系统时钟由12M的晶振提供。引脚分布为:PO口为LED显示的七段显示管的数据口,PO口带lOkΩ的上拉电阻;P2口的P2^0、P2^1、P2^2为七段数码管的位选线(位选线驱动三极管8550且加限流电阻300Ω左右);P3^0 (RXD和)P3^1 (TXD)为串口通信线,分别接MAX232芯片的12脚Rlout和1 1脚Tlin;Pl口的Pl^0为系统解码成功指示灯;P3^2(INTO)为红外解码线,接红外解码一体头;P2^5接24C04的数据线SDA脚,P2^6接24C04的时钟线SCL脚,P2^7接24C04的写控制线WP脚,SDA和SCL脚分别接4.7kQ的上拉电阻。

  五、下位机编程
  
  本实例中下位机编程使用C语言实现,并采用软件和硬件结合多种干扰解决方案,使系统的抗干扰能力大大加强。首先我们来了解下遥控手柄发射的红外编码的格式:
  
  红外线路空闲时INTO口采样信号线为高电平数据位0:l.lms(正常为1.125ms)数据位1:2.2ms(正常为2.25ms)引导码:8.2ms低电平+4.5ms高电平(正常为9ms+4.5ms)用户码和用户反码:26.4ms操作码:8.8~17.6ms操作反码:8.8~17.6ms笫一次连续脉冲:51.2ms第二次连续脉冲:107.6ms本系统采用遥控手柄的红外编码O和1位的分布格式如上图所示。
  
  数据编码分布格式如中图所示(阴影部分为操作码,即为待解码部分):软件解码可以采用学习识别解码方式和固定解码方式。本系统中采用固定键码的方式,即所有功能码都是由制作者自行设置,使用的红外遥控手柄发射的红外码格式必须符合相应的要求,采用此方案优点是系统稳定抗干扰能力强而且实现相对简单。对有兴趣和有条件的读者可以尝试采用学习识别解码的方案,这样系统可以用任何红外遥控手柄实现任何功能,需要改进的就是单片机系统解码算法的修改,使之能读取任何格式的红外编码,对各键可以学习读出键值并LED显示和存储到(如24C04等)存储芯片,使之成为固定键码值,校准指令码的时候即可读去存储芯片中的编码值并通过串口发送到上位机软件设置相应按键功能,使系统具备可以学习识别任何格式的红外编码,扩展了系统的兼容性。(程序流程图如下图所示)

  解码算法:对8位操作数据码进行解码时,采用递归的方式对信号线进行采样,为防止系统死机,本设计采用软件和系统资源结合的方式最大程度地解决死机问题,因手工操作键盘原因,按键时间很难控制,而普通的遥控器会因为按键时间的不同发射不同的红外脉冲码,即连续脉冲(通过示波器可以观测到连续脉冲的存在)。连续脉冲对系统干扰严重,容易使系统死机,解码过程中关断系统信号检测中断使能,对一次和二次连续脉冲有很好的抗干扰能力。环境和系统本身的脉冲干扰则由看门狗做最后的解决方案,使死机系统自动复位,对长时间运行的系统有极大的抗干扰优势。

程序流程图



评论

技术专区