- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于VHDLPS2键盘接口设计
一种基于VHDLPS2键盘接口设计
【摘要】介绍了一种基于VHDL的PS/2键盘接口设计方法,在EP2C5T144C8芯片上实现。仿真和硬件测试表明,该设计具有可靠性高和可移植性强等优点,可方便地应用于各种基于FPGA/CPLD的嵌入式系统。
【关键词】PS/2接口;VHDL;FPGA
1.引言
随着社会的发展,嵌入式系统技术越来越多的应用到工业控制、汽车电子、航空航天、环境监测等领域中。键盘作为嵌入式系统中的人机接口设备得到了广泛应用。目前,嵌入式系统中采用的键盘有:独立按键式键盘、简易矩阵键盘。独立按键式键盘有键盘个数少,可靠性低等缺点;而简易矩阵键盘的原理是行、列式的矩阵开关,需要单独设计制作,通用性和可移植性不强,且按键数较多时I/O利用率低,软件上为了提高可靠性还要进行延时去抖动、按键扫描以及与CPU的通信处理等,一方面降低了系统的效率,另一方面增加了系统设计的成本。微机系统中的PS/2键盘,具有内嵌式自动去除按键抖动设计,能自动地识别键的按下与释放,软硬件开发成本低且性能稳定;因此,将PS/2键盘作为嵌入式系统中的输入设备已成为业界研究的热点。目前,关于PS/2键盘控制的应用大部分采用单片机或微机控制;与此相比,FPGA具有灵活性更强,集成度更高,容易移植等特点。
本文在分析PS/2协议、工作原理的基础上,给出了一种基于VHDL硬件描述语言的PS/2键盘接口的设计方法,并实现于Cyclone II EP2C5T144C8芯片上。
2.PS/2键盘接口协议
2.1 物理特性
PS/2设备接口用于许多现代的鼠标和键盘,常用为6脚mini-DIN,其引脚结构和外形如图1所示。
图1 PS/2硬件接口外形图
PS/2设备分主从设备,其物理特性要求保证时钟、数据、电源和地线间的互相连接。PS/2键盘靠PC的PS/2端口提供+5V电源,时钟和数据管脚为集电极开路形式,必须接大阻值的上拉电阻(一般设置在主设备中),主从设备间的数据通信采用双向同步方式传输,时钟信号一般由从设备产生。信号平时保持高电平,有输出时才被拉到低电平,之后自动上浮到高电平。
2.2 数据包结构
键盘码分为通码和断码,键盘的任一按键状态每改变一次,键盘至少会发出三个字节的数据包,在有键按下时会向主机发送该键的通码(Make Code):一般键值为一个数据,扩展键值为两个数据;当键释放时发送断码(Break Code):一般键值为0xF0+一般键值的通码,扩展键值,为0xE0+0xF0+扩展键值的第二个通码。例如:键“A”的通码为0x1C,键“A”的断码为:0xF0,0x1C。因此当要传送键“A”时,键盘发送的数据包的代码是:0x1C,0xF0,0x1C,而扩展按键通常通码与断码均要多一个字节。
2.3 工作时序
PS/2协议是一种双向半双工串行通信协议:数据线上每发送一位数据同时在时钟线上发送一个脉冲,数据就被读入.键盘可以发送数据到主机,数据在时钟下降沿被读取;主机也可以发送数据到键盘,数据在时钟上升沿被读取,但主机在总线上有优先权,只要把时钟拉低即可抑制键盘通讯.时钟信号由键盘产生,最大时钟频率为33kHz,推荐频率在15kHz。通信两端通过Clock同步,通过Data交换数据。其传输时序根据传输的方向不同分为发送和接收两个不同时序逻辑,图2是从键盘到主机的时序图。
图2 键盘发送数据时序图
当键盘要向到主机通信时,它首先检查时钟是否是高电平.如果不是则表明是主机正在通信,必须缓冲要发送的数据直到重新获得总线的控制权(键盘有16个字节的缓冲区),即等到时钟线是高电平才能发送数据。且从键盘到主机的数据只能在时钟的下降沿时才能被读取。
当主设备到键盘进行通信时,主设备会首先把时钟线和数据线设置为“请求发送”状态。具体方式为:首先下拉时钟线至少100us来抑制通信,然后释放时钟。键盘检测到这个状态,开始产生时钟信号,并且时钟脉冲标记下输入八个数据位和一个停止位。在此过程中,设备在不超过10us的间隔内就会检查这个状态。当设备检查到该状态时,即产生时钟。与键盘发送的数据读取方式不同,主机发送的数据必须在时钟的上升沿读取。
3.传统的PS/2键盘接口控制
目前,嵌入式系统中,PS/2键盘的控制设计主要采用单片机来实现,PS/2键盘与单片机的连接有多种方式:(1)时钟与数据线均与单片机的普通I/O口相连,软件设计时采用查询方式检测时钟信号来接收键盘信息,这种方式可以节省单片机的中断资源,但软件设计的查询方式会占用大量CPU时间,适用于对键盘实时性要求不高的情形;(2)主机系统采用中断方式支持键码的随
您可能关注的文档
最近下载
- 老友记台词剧本第一季第1集中英双语左右对照.pdf VIP
- 2025年5月18日河南省事业单位联考《公共基础知识》试题及答案解析.pdf
- 2018年最新发布的ISO50001-2018能源管理体系标准条款中英文版..pdf VIP
- 中欧班列“齐鲁号”跨境物流供应链金融模式研究.pdf VIP
- 运动心理学PPT完整全套教学课件.pptx VIP
- 七年级历史数字故事——隋朝大运河课件.ppt VIP
- 旅游职业礼仪-全套PPT课件.pptx
- 2025人教版数学三年级上册全册教学课件.ppt
- 居民健康档案知识培训课件.pptx VIP
- 2025年秋季人教版7年级上册数学全册教学课件(新教材).pptx
文档评论(0)