PS2接口键盘的输入识别电路设计报告

上传人:飞*** 文档编号:3395256 上传时间:2017-08-04 格式:DOC 页数:16 大小:431KB
返回 下载 相关 举报
PS2接口键盘的输入识别电路设计报告_第1页
第1页 / 共16页
PS2接口键盘的输入识别电路设计报告_第2页
第2页 / 共16页
PS2接口键盘的输入识别电路设计报告_第3页
第3页 / 共16页
PS2接口键盘的输入识别电路设计报告_第4页
第4页 / 共16页
PS2接口键盘的输入识别电路设计报告_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《PS2接口键盘的输入识别电路设计报告》由会员分享,可在线阅读,更多相关《PS2接口键盘的输入识别电路设计报告(16页珍藏版)》请在金锄头文库上搜索。

1、河 海 大 学 计 算 机 与 信 息 学 院 ( 常 州 )课 程 设 计 报 告题 目 PS2 接 口 键 盘 的 输 入 识 别 电 路 设 计专 业 、 学 号 09 自 动 化 0962510331 授 课 班 号 278604 学 生 姓 名 吴 韬 指 导 教 师 齐 本 胜 完 成 时 间 2011 年 12 月 30 日 河海大学本科课程设计报告- -1课程设计(报告)任务书(理 工 科 类)、课程设计(报告)题目:PS2 接 口 键 盘 的 输 入 识 别 电 路 设 计 、课程设计(论文)工作内容一、课程设计目标1.培养综合运用知识和独立开展实践创新的能力;2.把 PS/

2、2 的传输协议理解的更透彻一些;3.将 Verilog HDL 语言运用的更加熟练。二、研究方法及手段应用1.将任务分成若干模块,查阅相关论文资料,分模块调试和完成任务;2.学习 PS2 键盘协议;3.分模块实验箱调试。三、课程设计预期效果1.完成实验环境搭建;2.以通用的 PS2 键盘为输入,设计一个能够识别 PS2 键盘输入编码的电路,并把键值通过数码管显示;3.至少能够识别 09 的数字键。河海大学本科课程设计报告- -2学生姓名: 吴韬 专业年级: 09 级自动化 摘 要PS/2 键盘是一种常用的计算机输入设备 , 只需稍加改动, 便可很方便的应用在各种嵌入式系统中。本文提出了一种利用

3、 FPGA 来设计 PS/2 接口的方法, 结果表明此方法有容易实现模块化和移植性强的特点。【关键词】PS/2 接口 嵌入式系统 FPGAABSTRACTPS/2 keyboard is a general input of compute system. It can be easily equipped with various embedded systems. This paper describes a new method to design PS/2 interface with FPGA. The result indicates that the design has the

4、 features of easy modularization and powerful transplantable capability.【Key words 】PS/2 inter face; embedded system; FPGA河海大学本科课程设计报告- -3第一章 系统设计第一节 课题目标及总体方案键盘作为嵌入式系统的一种最常用人机接口设备, 在嵌入式系统中有着相当广泛的应用。但开发者一般均采用自行设计的简易矩阵键盘, 这类键盘仅仅是按行、 列排列起来的矩阵开关, 往往需要单独设计并制作, 通用性不强。当需要较多的按键时, 则会占用较多的 I/O 端口, 在软件上则要进行上电

5、复位按键扫描及通信处理, 而且还要加上按键的去抖动处理, 增大了系统的软硬件开销。 而 PS/2 键盘, 内嵌自动去除按键抖动的设计,自动地识别键的按下与释放 , 软硬件可发简便, 价格便宜, 稳定可靠, 将 PS/2 键盘作为嵌入式系统的输入设备已经成为可行的方案。而目前关于 PS/2 键盘控制的应用大部分采用单片机控制, 与单片机相比, FPGA 具有比单片机更加灵活, 集成度更高,容易移植等特点。本文在分析 PS/2 协议和 PS/2 键盘工作原理与特点的基础上,给出了在 ALTERA Cyclone 系列 EPIC6Q240C8 上对 PS/2 键盘接口的实现方法。第二节 PS/2 接

6、口协议简介一、 PS/2 物理特性PS/2 设备接口用于许多现代的鼠标和键盘, 它最初由 IBM 开发,最常见的为 6脚 mini-DIN,其引脚结构和外形如图 1 所示。河海大学本科课程设计报告- -4图 1 PS/2 硬件接口外形图 PS/2 设备有主从之分, 现在广泛使用的 PS/2 键盘鼠标均工作在从设备方式下。PS/2 接口的时钟与数据线都是集电极开路结构, 必须外接上拉电阻, 一般上拉电阻设置在主设备中, 主从设备之间的数据通信采用双向同步方式传输, 时钟信号一般由从设备产生。二、数据包的结构键盘的状态每改变一次, 键盘至少会发出三个字节的数据包 ,在有键按下时会向主机发送该键的通

7、码(Make Code) ,当键释放时发送断码 ( Break Code)。例如: 键“ A”的通码为 0x1C, 键“ A”的断码为: 0xF0, 0x1C, 因此当要传送键“ A” 时, 键盘发送的数据包的代码是: 0x1C, 0xF0, 0x1C 。3、接口的时序逻辑PS/2 协议是一种双向半双工串行通信协议,时钟信号由键盘产生, 最大时钟频率为 33kHz,推荐频率在 15kHz。通信两端通过 Clock 同步, 通过 Data 交换数据, 任何一方如果想禁止另一方通信时, 只需将 Clock 拉到低电平。 其传输时序根据传输的方向不同分为发送和接收两个不同时序逻辑, 图 2 是从键盘

8、到主机的时序图。其中: Start: 起始位, 总为 0 (低电平)Data0 Data7: 8 位数据位(低位在前, 高位在后)Parity: 奇偶校验位(为奇校验)Stop: 停止位 , 总为 1 (高电平)当键盘要向主机通信时, 键盘总是首先检查时钟线是否为高电平, 如果不是则表明是主机正在通信, 必须缓冲要发送的数据直到重新获得总线的控制权 ( 键河海大学本科课程设计报告- -5盘有 16 个字节的缓冲区) , 即等到时钟线是高电平才能发送数据。而且从键盘到主机的数据只能在时钟的下降沿时才能被读取。当主机到键盘进行通信时, 主机会首先把时钟线和数据线设置为 “ 请求发送”状态。具体方式

9、为: 首先下拉时钟线至少 100 s 来抑制通信, 然后下拉数据线“ 请求发送” , 最后释放时钟。在此过程中, 键盘在不超过 10 s 的间隔内就会检查这个状态。当键盘检查到这个状态时, 就开始产生时钟。和键盘发送的数据读取方式不一样, 主机发送的数据必须在时钟的上升沿读取。第 2 章 结果与讨论第一节 PS/2 接口的 逻辑仿真本次设计采用了自上而下的模块设计方法, 考虑需要设计以下几部分模块: 串并转换模块, 分拣接收模块, 控制模块, 封装发送模块等。这几部分的逻辑关系如图 3 所示:串并转换模块主要是接收和发送传输数据, 能够把串行数据转变成所需要的并行数据。分拣接收模块功能是把串并

10、转换模块传过来的数据包按照一定的要求进行分拣提取, 从而得到有用的信息。控制模块是设计的核心, PS/2 接口是半双工串行总线, 因此其发送和接收不能同时进行, 需要控制模块对其时序进行严格的控制。控制模块负责协调整个设计的全过程, 在本设计中采用了状态机的设计思路。封装发送模块和分拣接收模块类似, 只不过是把要传送的命令数据转变成 PS/2 协议要求的发送数据包的格式。整个设计的流程图如图 4 所示:河海大学本科课程设计报告- -6当系统上电或复位时, 主设备首先向键盘发送初始化信号, 在得到键盘的应答信号后, 系统进入到了总线空闲状态, 可以进行数据的发送和接收 , 但主设备拥有更高的优先

11、级, 正处在接收状态时如果得到发送请求, 会中断数据接收, 直接进入数据发送状态。第二节 硬件验证硬件验证在 JH-FPGA 0233 实验箱实现, 在系统中用到复位电路,电源电路, FPGA 芯片, 程序下载电路, PS/2 接口电路, 数码显示电路等。选取 Cyclone 系列 EPIC6Q240C8 型 FPGA 器件进行综合, 将综合后的配置文件下载到开发板之后, 系统上电, PS/2 设备初始化后在实验箱正确观察到了键盘的输入。图 5(接收数字,显示 ASCII 码) 图 6(接收字母,显示 ASCII码)河海大学本科课程设计报告- -7心得体会课程设计完成了,在这个过程中我学到了很

12、多东西。首先 FPGA 的硬件验证表明, 设计的各个模块成功地实现了复位后的数据传送过程, 达到了预期的目标。Verilog HDL 语言的通用性决定了其具有移植性强的特点 , 对实际的应用具有一定的参考价值。本文作者创新点: 本文所作的研究是在利用单片机实现PS/2 接口的基础上, 重新用 FPGA 实现了对 PS/2 接口的控制。该方法较传统的单片机实现方法具有实现简单, 移植性强, 便于集成等特点。河海大学本科课程设计报告- -8参考文献1张琴, 向先波, 徐国华.PS/2 键盘在基于 PIC 单片机的远程多温度点巡检系统中的应用 机械与电子, 2006(8 ):40- 42.2苗新法,

13、王秀华 . PS 2 键盘在嵌入式系统中的应用研究 J.兰州交通 大学学报( 自然科学版), 2007(1).3刘勇, 王玉晶 , 曲斌, 于洋.一种嵌入式 PC 非标准键盘的设计河海大学本科课程设计报告- -9附 录程序:/timescale 1ns / 1psmodule ps2(clk,rst_n,ps2_clk,ps2_data,ps2_byte);input clk,rst_n,ps2_clk,ps2_data;output 7:0 ps2_byte;/reg ps2_clk0,ps2_clk1,ps2_clk2;wire neg_ps2_clk;always (posedge cl

14、k or negedge rst_n)if(!rst_n)beginps2_clk0 = 1b0;ps2_clk1 = 1b0;ps2_clk2 = 1b0;endelsebeginps2_clk0 = ps2_clk;ps2_clk1 = ps2_clk0;ps2_clk2 = ps2_clk1;endassign neg_ps2_clk = ps2_clk2 & ps2_clk1;/reg 7:0 ps2_byte_r; /ouput ps2_bytereg 7:0 temp_data; /?reg 3:0 num;always (posedge clk or negedge rst_n)

15、if(!rst_n)begintemp_data = 8b0;num = 1b0;endelse if(neg_ps2_clk) 河海大学本科课程设计报告- -10/begincase(num)4d0: num = num + 1; /4d1:beginnum = num + 1;temp_data0 = ps2_data;end4d2:beginnum = num + 1;temp_data1 = ps2_data;end4d3:beginnum = num + 1;temp_data2 = ps2_data;end4d4:beginnum = num + 1;temp_data3 = ps2_data;end4d5:beginnum = num + 1;temp_data4 = ps2_data;end4d6:beginnum = num + 1;temp_data5 = ps2_data;end4d7:beginnum = num

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号