欢迎来到天天文库
浏览记录
ID:31737494
大小:179.03 KB
页数:13页
时间:2019-01-17
《ps2键盘接口设计-基于fpga的现代数字系统设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、研究生课程设计报告课程名称:基于FPGA的现代数字系统设计设计名称:PS/2键盘接口设计姓名:学号:课程教师:起止日期:2016,西南科技大学信息工程学院制设计任务书学生班级:—学生姓名:_学号:_设计名称:PS/2键盘接口设计起止日期:2016,12,21至2016,12,28课程教师:设计要求:(1)通过对PS/2键盘接口信号的定义,采用VerilogHDL模拟PS/2键盘的传输协议,并用2个数码管显示按键的通码值。(2)完成系统的设计、仿真。(3)合理设计下载测试平台,进行下载测试。设计题目一、设计冃的和意义
2、键盘是嵌入式系统的最重要的输入设备之一,是实现人机交互的重要途径。除了可以自行设计扫描式矩阵键盘之外,还可以选择标准PS/2键盘实现人机交互。扫描式矩阵键盘虽然电路简单,但不具有通用性,当需要使用较多的按键输入时,则会占用较多的I/O端口,在软件上则要进行上电复位、按键扫描及通信的处理,而且还要加上按键的去抖动处理,增大了系统软、硬件的开销,开发周期较长。标准PS/2键盘由于接口通信协议简单,在系统中占用软硬件资源少,高可靠性,表达信息量大而得到了越来越广泛的应用木设计根据PS/2键盘的通信时序,利用Verilog
3、HDL硬件描述语言来设计PS/2接口键盘的输入识别电路,并在CPLD/FPGA±实现,避免了硬件电路的焊接与测试。VeMlogHDL语言满足数字系统设计和综合的所有要求,设计中充分运用VeMlogHDL层次化与模块化的思想,使整个设计过程简单、灵活。同时运用EDA工具ISEDesignSuitelO.1验证设计。经过对系统进行编译、仿真、测试,完成把键盘按键扫描码转的通码的显示,成功实现PS/2接口键盘的输入识别及显示的功能。木设计具有较好的通用性和可移植性,可取代自行设计扫描式矩阵键盘而用于许多嵌入式系统设计中。
4、二、设计原理1PS/2模块1.1、SP/2键盘接口PS/2通信协议是一种双向同步串行通迅协议。通迅的两端通过CLOCK(时钟信号端)同步,并通过DATA(数据端口)交换数据。任何一方如果想要抑制另外一方的通迅时,只需要把CLOCK拉到低电平。PS/2控制接口仅使用到两条传输端口,一为频率端口,另一则为数据端口如图2.1所示,且此传输埠必为三态并具有双向特性。PS/2传输产品上,常见为鼠标与键盘,两者的驱动原理均相同,仅扫描码不同。以PS/2键盘为例进行说明6-pinMini-DINMale(Plug)Female(
5、Socket)(PS/2):1-Data2-NotImplemented3-Ground4・Vcc(+5V)5・Clock6-NotImplemented图1PS/2端口脚位定义1.1数据格式表1数据帧格式1个起始位总是逻辑08个数据位(LSB)低位在前1个奇偶校验位奇校验1个停止位总是逻辑11个应答位仅用在主机对设备的通讯中表中,如果数据位中1的个数为偶数,校验位就为1;如果数据位中1的个数为奇数,校验位就为0;总之,数据位中1的个数加上校验位中1的个数总为奇数,因此总进行奇校验。PS/2设备的clock和dat
6、a都是集电极开路的,平时都是高电平。当PS/2设备等待发送数据时,它首先检查clock是否为高。如果为低,则认为PC抑制了通讯,此时它缓冲数据直到获得总线的控制权。如果clock为高电平,PS/2则开始向PC发送数据。一般都是由PS/2设备产生时钟信号。发送按帧格式。数据位在clock为高电平时准备好,在clock下降沿被PC读入。数据从键盘/鼠标发送到主机或从主机发送到键盘/鼠标,时钟都是PS/2设备产生•主机对时钟控制有优先权,即主机想发送控制指令给PS/2设备时,可以拉低时钟线至少100HS,然后再下拉数据线
7、,最后释放时钟线为高。PS/2设备的时钟线和数据线都是集电极开路的,容易实现拉低电平。1.3.数据发送时序从ps/2向PC机发送一个字节是可按照下面的步骤进行的,只要满足它的时序就能实现功能。sclki_rtJ_Lrt_ri_rt_rt_rLrt_ri_ri_KBDAT
8、0
9、DO
10、DI
11、D2
12、D3
13、LM
14、D5
15、D6
16、D7P1(a)kbci-k~ir^r^rtnr-^rtnnrtr^rtKBDAT
17、0
18、QO
19、DI
20、g
21、D3
22、D4
23、D5
24、D6
25、D7
26、P
27、I~(b)图2键盘接口时序(小键盘发送时序;(b)键盘接收时序1・
28、4、键盘的返冋值现在PC机使用的PS/2键盘都默认采用第二套扫描码集,扫描码有两种不同的类型:通码(makecode)和断码(breakcode)□当一个键被按下或持续按住时,键盘会将该键的通码发送给主机;而当一个键被释放时,键盘会将该键的断码发送给主机。第二套通码都只有一个字节宽,但也有少数“扩展按键”的通码是两字节或四字节宽,这类码的第一个字节总是OxE
此文档下载收益归作者所有