文档介绍:电子信息工程专业综合设计(报告)
(课程设计)
题目 PS/2键盘接口设计与VGA字符显示控制
二级学院电子信息及其自动化学院
专业电子信息工程
班级
学生姓名学号
指导教师
时间
摘要
键盘是嵌入式系统的最重要的输入设备之一,是实现人机交互的重要途径。除了可以自行设计扫描式矩阵键盘之外,还可以选择标准 PS/2键盘实现人机交互。标准PS/2 键盘由于接口通信协议简单,在系统中占用软硬件资源少,高可靠性,表达信息量大而得到了越来越广泛的应用,本设计根据PS/2键盘的通信时序,利用硬件描述语言来设计PS/2接口键盘的输入识别电路,并在CPLD/FPGA上实现,避免了硬件电路的焊接与测试。VGA(Video Graphic Array)接口是与显示器进行通信的唯一接口。通过FPGA器件控制RGB信号、行同步信号、场同步信号等信号,并参照有关标准,最后可以实现对VGA显示器的控制。本次设计中充分运用Verilog HDL层次化与模块化的思想,,并在Quartus II软件平台的基础上,给出了PS/2键盘接口设计与VGA显示控制的各个功能模块及对应模块具体电路图。经过对系统进行编译、仿真、测试,完成把键盘按键扫描码转换成字符ASCII码过程,成功实现PS/2接口键盘的输入识别及显示的功能,以及VGA显示控制的功能。本设计具有较好的通用性和可移植性,可取代自行设计扫描式矩阵键盘而用于许多嵌入式系统设计中。
【关键词】 PS/2接口键盘 FPGA 硬件描述语言 VGA
一引言
随着计算机工业的发展,作为计算机最常用输入设备的键盘也不断发展,由最早的IBMPC/XT键盘及其接口标准,发展为市面上的PS/2键盘。PS/2通信协议是一种双向同步通信协议。通信的两端通过Clock(时钟脚)同步,并通过Data(数据脚)交换数据。采用FPGA将键盘输入字符码转换为ASCⅡ码,利于其他模块的应用。VGA(视频图形阵列)作为一种标准的显示接口得到广泛的应用。利用FPGA产生的同步脉冲信号、列同步脉冲信号与RGB三色信号驱动VGA显示器,将PS/2键盘输入的字符显示在VGA显示器上面。
二方案设计及工作原理
本电路总共分为分频模块、LCD1602显示模块、PS/2键盘输入模块、VGA驱动模块和字符码转换模块。各模块之间的关系如下图所示:
分频模块
键盘输入
VGA驱动
LCD显示
字符码转换
VGA显示
50MHz时钟
总原理图
对键盘按键进行扫描,采集按键的扫描码,然后分为两路:一条送入LCD1602,在LCD1602内部将扫描码转化为ASCII码,再进行字符显示,也将其扫描码显示出来;另一条通过外部字符转换程序,将扫描码转化为ASCII码,送入VGA驱动,进行字符的VGA显示。
三模块功能简介
PS/2键盘输入电路
本试验使用PS/2键盘,其接口规范定义如下:
PS/2键盘都采取双向串行同步传输方式。双向式指既可以发送数据到主机,主机也可以发送数据到设备。串行指的是每次数据线上发送一位数据也要在时钟线上发一个脉冲数据才能被读入,在整个时钟脉冲作用下同步地收发数据。本实验只使用键盘到主机的通信。FPGA接收PS/2键盘发送一个字节可按下面的步骤进行:
时钟线电平,如果时钟线由高变低,则表示时钟线的下降沿到来。
检测数据线在时钟线的下降沿时是否为低,如果是则表示PS/2键盘有数据发送。
在下8个时钟线下降沿按从低位到高位接收数据。
在第十个时钟线下降沿接受奇校验位。
在第11个下降沿,如果数据线为高表示停止位,一帧数据接收结束。时序如下图所示:
数据格式:
从键盘/鼠标发送到主机的数据是在时钟的下降沿时被读取,而从主机发送到键盘/鼠标是在时钟的上升沿时被读取。主机要传送的数据包含了11~12位,组成一帧数据,格式如下:
1个起始位
总是逻辑0
8个数据位
(LSB)低位在前
1个校奇偶验位
奇校验
1个停止位
总是逻辑1
1个应答位
仅用在主机对设备的通讯中
表1键盘收发数据格式
LCD1602显示模块
LCD1602是双行的16字符点阵液晶显示模块,它由5×7的点阵组合,点阵亮灭的不同组合来显示不同的字符。DDRAM控制每行16个字符显示什么字符,每一行有40个字符空间,而LCD每一行只能显示16个字符,要想显示DDRAM中的所有的字符则可以通过移位来实现。
HD44780内置了DDRAM、CGROM和CGRAM,DDRAM就是显示数据RAM,用来寄存待显示的字符代码。共80个字节,其地址和屏幕的对应关系如