欢迎来到天天文库
浏览记录
ID:15836631
大小:307.50 KB
页数:20页
时间:2018-08-06
《fpga控制的ps2接口电路设计 毕业论文 毕业设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、FPGA控制的PS/2接口电路设计摘要:PS2作为键盘接口至今仍在广泛使用。本论文根据PS2键盘接口的协议,用VHD语言编程,用FPGA控制PS2,使其能够接收从键盘键入的信息,并把它显示在数码管和液晶显示频上。TheDesignofPS/2InterfaceCircuitbyControlofFPGAAbstract:Today,PS2keyboardinterfaceisstillbeingusedwidely.ThisreportisbasedPS2keyboardinterfaceprotocol,withVHDlan
2、guageprogramming,usingFPGAcontrolPS2,sothatitcanreceiveinformationfromthekeyboardtotype,anddisplayitinthedigitalfrequencyofthetubeandliquidcrystaldisplay.关键词:VHDL,FPGA,PS2,QuartusII引言:PS2是一类应用广泛的键盘接口。本文论述了用FPGA控制PS2的设计思想及方法,并实现把按键的扫描码及其对应的ASCII码显示在LED及LCD上。设计原理通过分析,
3、本次设计需要分四部分实现:1.接收从键盘发出的扫描码信息2.把接收到的扫描码转换成ASCII码3.把扫描码和ASCII码显示在数码管上4.把扫描码和ASCII码显示在LED液晶上。1.PS2键盘接口协议介绍PS2协议和接口最初是由IBM公司开发并广泛使用的应用于键盘/鼠标的协议和接口。PS2键盘接口是6芯的插头,各插头定义如下:1DATAKeyData2n/cNotconnected3GNDGnd4VCCPower,+5VDC5CLKClock6n/cNotconnected在PS2的6个芯中,2和6未定义,3和4为电源和地,
4、需要用FPGA控制的只有1(数据)和5(时钟)。2.把从键盘发出的数据转换成扫描码20每当有按键按下或弹起时键盘都会发出一帧或几帧数据,每一帧数据一共都12位,其数据格式如下表所示:1个起始位总是逻辑08个数据位(LSB)低位在前1个奇偶校验位奇校验1个停止位总是逻辑11个应答位仅用在主机对设备的通讯中从键盘发出的数据是在时钟信号的下降沿的时候才被读取,FPGA要想接收到键盘发出的数据就要配合PS2的时序。具体设计思路如下:首先我们来定义几个端口。首先要有数据输入端口K_DATA和键盘时钟K_CLOCK。K_DATA是从键盘发
5、出的一位一位串行数据,我们要在K_CLOCK的下降沿到来时接收这12位串行数据,并最终输出我们想要的中间1至8位数据。这8位输出我们用DATASCAN来表示。另外再对整个系统设置一个复位信号RST。为了方便接收数据,我们有必要定义一个计数器COUNT,使它对K_CLOCK键盘时钟计数,COUNT的值在0到11之间变化,COUNT等于11时清零,其余自加1。另外再定义一个接收键盘数据的中间变量TMPDATA,每当检测到K_CLOCK下降沿到来时,就把DATA的值赋给TMPDATA,这样,当K_CLOCK的12个下降沿到来时,TM
6、PDATA就接收到了键盘发出的全部12位数据。在程序中,我们还要定义一个串并转换结束的标志信号FLAG,当COUNT大于8时就可以把FLAG置为1,当检测到FLAG变为1时,就把TMPDATA的1至8位赋给输出端口DATA,这样,我们就得到了想要的8位扫描码输出。为了和下一步的扫描码转换成ASCII码建立联系,我们还要定义一个触发中断信号INTERRUPT1,当COUNT等于11的时候把INTERRUPT1置1触发中断,作为扫描码转换为ASCII码的使能信号。这部分电路的仿真结果如下(以输出1C为例):3.把扫描码转换成ASC
7、II码把扫描码转换成ASCII码的目的是为了识别按键。现在,我们已经有了从键盘发出的扫描码信息,那么,如何根据这些扫描码信息来区分按下的是哪一个键呢?实际上,键盘接口中的微处理器负责扫描或监视按键的动作,如果发现有按键按下,按住或者释放,键盘将会发送扫描码的信息包。扫描码有通码和断码两种,当一个按键按下或按住,键盘就向接口发送一个字节的键盘接通的扫描码,称为通码。当该按键弹起或释放时,键盘向接口发送两个字节的键盘断开的扫描码,称为断码。断码和通码有一定的联系,20多数第二套断码有两字节长。它们的第一个字节是F0,第二个字节是这
8、个键的通码。扩展按键的断码通常有三个字节,它们前两个字节是E0h,F0h,最后一个字节是这个按键通码的最后一个字节。键盘每个按键被分配了唯一的通码和断码。这样,我们通过查找唯一的通码和断码就可以确定按下的是哪一个键。每个键一整套的通断码组成了扫描码集。有三套标准的扫描码集,所
此文档下载收益归作者所有