基于verilog的ps2键盘设计进阶

基于verilog的ps2键盘设计进阶

ID:12031682

大小:248.00 KB

页数:11页

时间:2018-07-15

基于verilog的ps2键盘设计进阶_第1页
基于verilog的ps2键盘设计进阶_第2页
基于verilog的ps2键盘设计进阶_第3页
基于verilog的ps2键盘设计进阶_第4页
基于verilog的ps2键盘设计进阶_第5页
资源描述:

《基于verilog的ps2键盘设计进阶》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验九、基于verilog的PS/2键盘设计进阶一、  前言及背景:说到PS/2相信大家都不会陌生,不错的,我们日常的鼠标键盘大多是基于PS/2接口设计的。虽然USB鼠标大有取而代之之势,但是依然阻止不了我们这群IT菜鸟掌握它的强烈欲望,而使用verilog来做PS/2的解码更是需要我们把PS/2的传输协议理解的更透彻一些。所以,下面就让特权同学带领大家一步一步掌握PS/2。PS/2接口标准的发展过程随着计算机工业的发展,作为计算机最常用输入设备的键盘也日新月异。1981年IBM推出了IBMpc/XT键盘及其接口标准。该标准定义了83键,采用5脚DIN连接器和简单的串行协议。实际上,第一套键盘

2、扫描码集并没有主机到键盘的命令。为此,1984年IBM推出了IBMAT键盘接口标准。该标准定义了84~101键,采用5脚DIN连接器和双向串行通讯协议,此协议依照第二套键盘扫描码集设有8个主机到键盘的命令。到了1987年,IBM又推出了PS/2键盘接口标准。该标准仍旧定义了84~101键,但是采用6脚mini-DIN连接器,该连接器在封装上更小巧,仍然用双向串行通讯协议并且提供有可选择的第三套键盘扫描码集,同时支持17个主机到键盘的命令。现在,市面上的键盘都和PS/2及AT键盘兼容,只是功能不同而已。二、  基础知识:电气特性管脚说明:1DATAKeydata2N.CNoconnected3G

3、NDGND4VCC+5V5CLKClock6N.CNoconnected 数据格式数据帧格式说明:1个起始位总是逻辑08个数据位(LSB)低位在前1个奇偶校验位奇校验1个停止位总是逻辑11个应答位仅用在主机对设备的通讯中表中,如果数据位中1的个数为偶数,校验位就为1;如果数据位中1的个数为奇数,校验位就为0;总之,数据位中1的个数加上校验位中1的个数总为奇数,因此总进行奇校验。(是不是发现它的数据传输协议和串口很像呢!呵呵) PS/2发送数据到PC的时序键盘接口时序:(a)键盘发送时序(b)键盘接收时序注:在时钟的下降沿读取数据。以下可做具体写代码设计参考:从PS/2向PC机发送一个字节可按照

4、下面的步骤进行:(1) 检测时钟线电平,如果时钟线为低,则延时50us;(2) 检测判断时钟信号是否为高,为高,则向下执行,为低,则转到(1);(3) 检测数据线是否为高,如果为高则继续执行,如果为低,则放弃发送(此时PC机在向 PS/2设备发送数据,所以PS/2设备要转移到接收程序处接收数据);(4) 延时20us(如果此时正在发送起始位,则应延时40us);(5) 输出起始位(0)到数据线上。这里要注意的是:在送出每一位后都要检测时钟线,以确保PC机没有抑制PS/2设备,如果有则中止发送;(6) 输出8个数据位到数据线上;(7) 输出校验位;(8) 输出停止位(1);(9) 延时30us(

5、如果在发送停止位时释放时钟信号则应延时50us);通过以下步骤可发送单个位:(1) 准备数据位(将需要发送的数据位放到数据线上);(2) 延时20us;(3) 把时钟线拉低;(4) 延时40us;(5) 释放时钟线;(6) 延时20us。PS/2设备从PC机接收一个字节由于PS/2设备能提供串行同步时钟,因此,如果PC机发送数据,则PC机要先把时钟线和数据线置为请求发送的状态。PC机通过下拉时钟线大于100us来抑制通讯,并且通过下拉数据线发出请求发送数据的信号,然后释放时钟。当PS/2设备检测到需要接收的数据时,它会产生时钟信号并记录下面8个数据位和一个停止位。主机此时在时钟线变为低时准备数

6、据到数据线,并在时钟上升沿锁存数据。而PS/2设备则要配合PC机才能读到准确的数据。具体连接步骤如下:(1) 等待时钟线为高电平。(2) 判断数据线是否为低,为高则错误退出,否则继续执行。(3) 读地址线上的数据内容,共8个bit,每读完一个位,都应检测时钟线是否被PC机拉低,如果被拉低则要中止接收。(4) 读地址线上的校验位内容,1个bit。(5) 读停止位。(6) 如果数据线上为0(即还是低电平),PS/2设备继续产生时钟,直到接收到1且产生出错信号为止(因为停止位是1,如果PS/2设备没有读到停止位,则表明此次传输出错)。(7) 输出应答位。(8) 检测奇偶校验位,如果校验失败,则产生错

7、误信号以表明此次传输出现错误。(9) 延时45us,以便PC机进行下一次传输。读数据线的步骤如下:(1) 延时20us;(2) 把时钟线拉低(3) 延时40μs(4) 释放时钟线(5) 延时20μs(6) 读数据线。下面的步骤可用于发出应答位;(1) 延时15μs;(2) 把数据线拉低; (3) 延时5μs;(4) 把时钟线拉低;(5) 延时40μs;(6) 释放时钟线;(7) 延时5μs

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。