资源描述:
《PS2接口键盘的输入识别电路设计报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、河海大学本科课程设计报告河海大学计算机与信息学院(常州)课程设计报告题目PS2接口键盘的输入识别电路设计专业、学号09自动化0962510331授课班号278604学生姓名吴韬指导教师齐本胜完成时间2011年12月30日15--河海大学本科课程设计报告课程设计(报告)任务书(理工科类)Ⅰ、课程设计(报告)题目:PS2接口键盘的输入识别电路设计Ⅱ、课程设计(论文)工作内容一、课程设计目标1.培养综合运用知识和独立开展实践创新的能力;2.把PS/2的传输协议理解的更透彻一些;3.将VerilogHDL语言运用的更加熟练。二、研究方法及手段应用1.将任务
2、分成若干模块,查阅相关论文资料,分模块调试和完成任务;2.学习PS2键盘协议;3.分模块实验箱调试。三、课程设计预期效果1.完成实验环境搭建;2.以通用的PS2键盘为输入,设计一个能够识别PS2键盘输入编码的电路,并把键值通过数码管显示;3.至少能够识别0~9的数字键。15--河海大学本科课程设计报告学生姓名:吴韬专业年级:09级自动化摘要PS/2键盘是一种常用的计算机输入设备,只需稍加改动,便可很方便的应用在各种嵌入式系统中。本文提出了一种利用FPGA来设计PS/2接口的方法,结果表明此方法有容易实现模块化和移植性强的特点。【关键词】PS/2接口
3、嵌入式系统FPGAABSTRACTPS/2keyboardisageneralinputofcomputesystem.Itcanbeeasilyequippedwithvariousembeddedsystems.ThispaperdescribesanewmethodtodesignPS/2interfacewithFPGA.Theresultindicatesthatthedesignhasthefeaturesofeasymodularizationandpowerfultransplantablecapability.【Keywords】
4、PS/2interface;embeddedsystem;FPGA15--河海大学本科课程设计报告第一章系统设计第一节课题目标及总体方案键盘作为嵌入式系统的一种最常用人机接口设备,在嵌入式系统中有着相当广泛的应用。但开发者一般均采用自行设计的简易矩阵键盘,这类键盘仅仅是按行、列排列起来的矩阵开关,往往需要单独设计并制作,通用性不强。当需要较多的按键时,则会占用较多的I/O端口,在软件上则要进行上电复位按键扫描及通信处理,而且还要加上按键的去抖动处理,增大了系统的软硬件开销。而PS/2键盘,内嵌自动去除按键抖动的设计,自动地识别键的按下与释放,软硬件
5、可发简便,价格便宜,稳定可靠,将PS/2键盘作为嵌入式系统的输入设备已经成为可行的方案。而目前关于PS/2键盘控制的应用大部分采用单片机控制,与单片机相比,FPGA具有比单片机更加灵活,集成度更高,容易移植等特点。本文在分析PS/2协议和PS/2键盘工作原理与特点的基础上,给出了在ALTERACyclone系列EPIC6Q240C8上对PS/2键盘接口的实现方法。第二节PS/2接口协议简介一、PS/2物理特性PS/2设备接口用于许多现代的鼠标和键盘,它最初由IBM开发,最常见的为6脚mini-DIN,其引脚结构和外形如图1所示。15--河海大学本科
6、课程设计报告图1PS/2硬件接口外形图PS/2设备有主从之分,现在广泛使用的PS/2键盘鼠标均工作在从设备方式下。PS/2接口的时钟与数据线都是集电极开路结构,必须外接上拉电阻,一般上拉电阻设置在主设备中,主从设备之间的数据通信采用双向同步方式传输,时钟信号一般由从设备产生。二、数据包的结构键盘的状态每改变一次,键盘至少会发出三个字节的数据包,在有键按下时会向主机发送该键的通码(MakeCode),当键释放时发送断码(BreakCode)。例如:键“A”的通码为0x1C,键“A”的断码为:0xF0,0x1C,因此当要传送键“A”时,键盘发送的数据包
7、的代码是:0x1C,0xF0,0x1C。三、接口的时序逻辑PS/2协议是一种双向半双工串行通信协议,时钟信号由键盘产生,最大时钟频率为33kHz,推荐频率在15kHz。通信两端通过Clock同步,通过Data交换数据,任何一方如果想禁止另一方通信时,只需将Clock拉到低电平。其传输时序根据传输的方向不同分为发送和接收两个不同时序逻辑,图2是从键盘到主机的时序图。其中:Start:起始位,总为‘0’(低电平)Data0~Data7:8位数据位(低位在前,高位在后)Parity:奇偶校验位(为奇校验)Stop:停止位,总为‘1’(高电平)当键盘要向主
8、机通信时,键盘总是首先检查时钟线是否为高电平,如果不是则表明是主机正在通信,必须缓冲要发送的数据直到重新获得总线的控制权(