




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 HDL硬件描述语言来设计PS/2接口键盘的输入识
3、别电路,并在CPLD/FPGA上实现,避免了硬件电路的焊接与测试。Verilog HDL语言满足数字系统设计和综合的所有要求,设计中充分运用Verilog HDL层次化与模块化的思想,使整个设计过程简单、灵活。同时运用EDA工具ISE Design Suite10.1验证设计。经过对系统进行编译、仿真、测试,完成把键盘按键扫描码转的通码的显示,成功实现PS/2接口键盘的输入识别及显示的功能。本设计具有较好的通用性和可移植性,可取代自行设计扫描式矩阵键盘而用于许多嵌入式系统设计中。二、 设计原理 1 PS/2模块1.1、SP/2键盘接口 PS/2通信协议是一种双向同步串行通迅协议。通迅的两端通过
4、CLOCK(时钟信号端)同步,并通过DATA(数据端口)交换数据。任何一方如果想要抑制另外一方的通迅时,只需要把CLOCK拉到低电平。PS/2控制接口仅使用到两条传输端口,一为频率端口,另一则为数据端口如图2.1所示,且此传输埠必为三态并具有双向特性。PS/2 传输产品上,常见为鼠标与键盘,两者的驱动原理均相同,仅扫描码不同。以PS/2键盘为例进行说明Male (Plug)Female (Socket)6-pin Mini-DIN (PS/2): 1 - Data 2 - Not Implemented 3 - Ground 4 - Vcc (+5V) 5 - Clock 6 - Not Im
5、plemented 图1 PS/2 端口脚位定义1.1 数据格式 表1 数据帧格式1个起始位总是逻辑08个数据位(LSB)低位在前1个奇偶校验位奇校验1个停止位总是逻辑11个应答位仅用在主机对设备的通讯中 表中,如果数据位中1的个数为偶数,校验位就为1;如果数据位中1的个数为奇数,校验位就为0;总之,数据位中1的个数加上校验位中1的个数总为奇数,因此总进行奇校验。PS/2设备的clock和data都是集电极开路的,平时都是高电平。当PS/2设备等待发送数据时,它首先检查clock是否为高。如果为低,则认为PC抑制了通讯,此时它缓冲数据直到获得总线的控制权。如果clock为高电平,PS/2则开始
6、向PC发送数据。 一般都是由PS/2设备产生时钟信号。发送按帧格式。数据位在clock为高电平时准备好,在clock下降沿被PC读入。数据从键盘/鼠标发送到主机或从主机发送到键盘/鼠标,时钟都是PS/2设备产生.主机对时钟控制有优先权,即主机想发送控制指令给PS/2设备时,可以拉低时钟线至少100S,然后再下拉数据线,最后释放时钟线为高。PS/2设备的时钟线和数据线都是集电极开路的,容易实现拉低电平。1.3、数据发送时序从ps/2向PC机发送一个字节是可按照下面的步骤进行的,只要满足它的时序就能实现功能。 图2 键盘接口时序 (a)键盘发送时序;(b)键盘接收时序1.4、键盘的返回值现在PC机
7、使用的PS/2键盘都默认采用第二套扫描码集,扫描码有两种不同的类型:通码(make code)和断码(break code)。当一个键被按下或持续按住时,键盘会将该键的通码发送给主机;而当一个键被释放时,键盘会将该键的断码发送给主机。第二套通码都只有一个字节宽,但也有少数“扩展按键”的通码是两字节或四字节宽,这类码的第一个字节总是0xE0。与通码一样,每个按键在释放的时候,键盘就会发送一个断码。每个键也都有它自己的唯一的断码,断码与断码之间存在着必然的联系。多数第二套断码有两个字长,它们的第一个字节是0xF0,第二个字节就是对应按键的通码。扩展按键的断码通常有三个字节,前两个字节0xE0和0x
8、F0,最后一个字节是这个按键通码的最后一个字节。附录列出了本次课程设计中所用键盘的扫描码。2、数码管显示模块 数码管是电子开发过程中常用的输出显示设备。在实验系统中使用的是两个共阴极型七段数码管。由于七段数码管公共端连接到GND(共阴极型),当数码管的中的那一个段被输入高电平,则相应的这一段被点亮。反之则不亮。共阳极性的数码管与之相么。其单个静态数码管如下图3所示。 图3 静态七段数码管 三、 详细设计步骤1,总体设计 模块化处理使得结构清晰,编程更加方便。总体分为两个部分,即PS/2接收模块和数码管显示模块。2,,PS/2接收模块接收模块的主要作用是根据时钟信号接收来自PS/2键盘的数据,判
9、断有没有数据传进来,依次的把11位的数据接收进来,并提取出8位数据,接收完毕所存并转化高四位和低四位。,3,数码管显示模块 把接收模块的数据用数码管显示模块显示,实现的功能就是分别显示通码的高四位和低四位。4,程序的设计 双击ISE Design Suite10.1软件快捷图标进入ISE Design Suite10.1集成开发环境,新建工程项目文件,并在该项目下新建Verilog源程序文件,输入程序代码,建立模块层次结构图,总的软件设计流程如下: 开 始是否有复位信号是否有时钟到来是否有数据起始低电平接收数据是否有断码出现显示通码 有 否 否 有 否 有 否 有 图4程序流程图四、 设计结果
10、及分析1设计的结果1.1接收模块 为了在显示模块中用两个数码管显示通码,接收模块中分别把接收的数据转换为低位和高四位分别保存在A3:0,B3:0。为了方便举例,在这里选择就收0键的通码值0x45。 图5 接收模块图1.2显示模块 在显示模块中把接收的0键通码值0x45分为低四位和高四位用两个数码管显示。 图6 显示模块图1.3顶层模块 这里还是用0键通码值0x45举例,和各模块对比,易于观察。 图7 顶层模块图2,出现的问题和分析 课程设计中碰到一些问题,碰到问题最多的是编程问题,通过查阅相关资料,如PS/2键盘接口使用,对于什么是通码,什么是断码有很大了解,由于自己对于程序不是很熟,所以过程
11、中会出现许多小的错误。 其中由于不能在always函数中使用wire变量而要使用reg,还有变量位宽忘记设置,导致测试程序无法通过得到正确的结果。导致程序一直调试不出来,这是我犯的知识还不熟的问题,需要在后期加强。 由于自己没有FPGA的板子,所以没能把程序下载到板子上验证,只有仿真图,所以这是这次课程实验的遗憾之一。五、 体会 本次课程设计成功实现了较为简单的PS/2键盘按键输入功能,并且显示在数码管上。此项技术在生活中已得到广泛应用,我对它的学习使得我对通信协议有了进一步的理解,HDL项目设计的目的就是让我们在理论学习的基础上,通过完成一个涉及时序逻辑、组合逻辑、声光输出的,具有实用性、趣
12、味性的小系统设计,使我们不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对分析、解决实际的数字电路问题进一步加深认识,为今后能够独立进行某些数字应用系统的开发设计工作打下一定的基础。课程设计完成了,在这个过程中我学到了很多东西。首先在遇到困难时学会自己想办法解决,培养了自己的毅力和实践动手能力。并且在项目中更深层次地了解Verilog HDL这门课程,更加熟悉了它的编程方式以及编程语言。然后在查阅资料时,还了解了很多关于同步、异步通信的知识。通过编程,我发现HDL语言跟C语言、汇编语言在某些方面是相通的,所以无形之中我也对计算机语言有了更深的认识。收获最大的是不管以后干什么,都要从大处着眼,小处着手,先将任务分成几个部分,再一部分一部分的去完成,最终再完成总体的设计,不然直接设计一个整体的模型,不方便调试,出了错也不知道是哪部分出了问题。在课设中我付出了很多,也收获很多。我觉得本次课程设计无论对于学习还是自身的成长方面都有较大帮助。六、 参考文献1刘桂华.基于FPGA的现代数字系统设计M.西安:西安电子科技大学出版社,20121 夏宇闻Verilog数字系统设计教程(第二版)M北京:北京航空航天大学出版社,20082 张延伟,杨金岩等Verilog HDL程序设计实例详解M北京:人民邮电出版社,20083 刘韬,楼兴华FPGA数字电子系统设计与开发实例导航M北京
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 审计过程中的人力资源管理考核试卷
- 种子批发商企业社会责任报告与实施考核试卷
- 安全门禁售后运维
- 七年级下册教学设计与指导
- 畜牧兽医疫苗研究与开发考核试卷
- 初中剪纸艺术课程教案设计
- 一流的管理者:3不管、4不说、5不帮的管理智慧
- 2024-2030全球水飞蓟素原料药行业调研及趋势分析报告
- 2025年公用设备工程师之专业案例(暖通空调专业)强化训练试卷B卷附答案
- 幼儿教育个人简历
- 防食物中毒和预防的主题班会
- 弘扬与传承中华传统文化课件(共16张PPT)
- 《中医护理学》第三章课件
- 泵站毕业设计
- 行政事业单位合同业务控制流程图
- 孔子练精神聪明不忘开心方_医心方卷二十六引_金匮录_方剂加减变化汇总
- 板房区临建设施技术标
- 美国AAMIST79最新修订条款解读----史绍毅[1]
- 危险性较大的分部分项工程清单及安全管理措施
- 理事会会议决议范文
- 通用汽车精益生产培训资料
评论
0/150
提交评论