- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于红外线的可编程计算机控制系统
基于红外线的可编程计算机控制系统
东南大学 郝志强
1、基于红外线的可编程计算机控制系统
通过FPGA开发板来编写一套系统,该系统可以识别遥控器发出的红外线并进行相应的译码、编码、存储等工作,并且可以自行定义每一红外编码的功能,同时达到通过USB接口来控制计算机的目的。
2、课题背景:
在实际的使用过程中,计算机的控制依赖键盘鼠标等传统输入设备,无法进行远距离控制。同时在生活中随着家用电器的更新,大量的遥控器因此而闲置,无法继续发挥功用。鉴于此,我萌发了用VHDL结合实验室现有的FPGA开发板来制作一套利用红外遥控器来控制计算机的系统。
3、项目规划:
功能:
可编程;用户可以针对遥控器上的每一个按键设定相应的功能
自适应;可以识别不同的遥控器发出的红外线,拜托了对单一遥控器的依赖
通用性;可以完成相当部分的计算机操作
与计算机通讯:FPGA与计算机通讯,计算机上需要编写相应的驱动
指标:
面板(显示)
通过六个数码管来显示操作提示
SELECt:提示选择功能
ACtiVE:表面系统开始运作
PrESS:选择编程区域
Pro 01:第一次编程
Pro 02:第二次编程
FiniSh:编程完成
FA iL:编程错误
操作
FPGA端操作:
数码管显示SELECt时按A键进入编程模式,B键进入运行模式
数码管显示PrESS时按下键盘相应的区域进行编程,然后在Pro 01、Pro 02时按下遥控器上的同一按键(防止识别出错),完成译码与存储工作,然后提示编程结果。
计算机端操作:
选择不同编程区域的功能
输入、输出接口
USB-TTL转接口,FPGA端采用UART协议进行数据发送,计算机端打开相应的串口进行数据的接收
4、实现方案:
核心问题
红外线的制式问题及编码问题
市场上的红外遥控器繁多,编码、制式可能不统一,需要相应的解决方案。
计算机的通讯问题
FPGA需要与计算机通讯,应该有相应的解决方案。
计算机端的驱动
要完成对计算机的控制功能,需要在计算机端编写相应的驱动。
外部接收电路的选择
解决用什么器件可以感应红外线的问题。
解决方案
1、关于红外线的制式及编码问题:
市场上的红外遥控器种类繁多,一般有这些类型uPD6121、TC9012、M50560-001、SA3010等等。但是不管遥控器的种类如何,其编码方式大多类似。中国位于东亚地区,遥控器多采用NEC的芯片,红外线遵从NEC制式。
NEC制式载波波形:
数据格式:
数据格式包括了引导码、用户码、数据码、和数据反码,编码总占32位。数据反码是数据码反向后的编码,编码时可用于对数据纠错。(注:第二段用户码也可以在遥控应用电路中被设置成第一段用户码的反码。
位定义:
用户码或者数据码中的每一位可以是位‘0’,也可以是位‘1’。区分‘0’和‘1’是利用脉冲的时间间隔来区分,这种编码方式称为脉冲位置调制方式,英文简称PPM。
uPD6121G按键输出波形有两种方式:一种是每次按键都输出完整的一帧数据;另一种是按键按下相同的按键后每发送完整的一帧数据后,在发送重复码,知道按键松开。
重复码
单一按键波形
连续按键波形
2、关于计算机的通讯问题
FPGA端使用UART协议发送数据(本处为红外线的译码结果)。
UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用来与PC进行通信,包括与监控调试器和其它器件,如EEPROM通信。
计算机端考虑到电平等问题,采用了USB-TTL模块,电路图如下
此处的转换模块采用了PL2303芯片,PL2303 是Prolific 公司生产的一种高度集成的RS232-USB 接口转换器,可提供一个RS232 全双工异步串行通信装置与USB 功能接口便利联接的解决方案。该器件内置USB功能控制器、USB 收发器、振荡器和带有全部调制解调器控制信号的UART, 只需外接几只电容就可实现USB 信号与RS232 信号的转换,能够方便嵌入到各种设备;该器件作为USB/RS232 双向转换器,一方面从主机接收USB 数据并将其转换为RS232 信息流格式发送给外设;另一方面从RS232 外设接收数据转换为USB 数据格式传送回主机。这些工作全部由器件自动完成,开发者无需考虑固件设计。计算机端需要先安装PL2303的驱动,然后在设备管理器中分配相应的端口。
计算机端的驱动
为了实现对计算机的控制,需要编写相应的驱动。此处采用易语言进行编写。易语言是一门计算机程序语言。以“易”著称,以中文作为程序代码表达的语言形式。易语言的创始人是吴涛。早期版本的名字为E语言。易语言最早的版本的发布可追溯至2000年9月11日。可以说,创造易语言的初衷是进
文档评论(0)