- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验九、基于verilog的PS/2键盘设计进阶
一、?? 前言及背景:
说到PS/2相信大家都不会陌生,不错的,我们日常的鼠标键盘大多是基于PS/2接口设计的。虽然USB鼠标大有取而代之之势,但是依然阻止不了我们这群IT菜鸟掌握它的强烈欲望,而使用verilog来做PS/2的解码更是需要我们把PS/2的传输协议理解的更透彻一些。所以,下面就让特权同学带领大家一步一步掌握PS/2。
PS/2接口标准的发展过程
随着计算机工业的发展,作为计算机最常用输入设备的键盘也日新月异。1981年IBM推出了IBM pc/XT键盘及其接口标准。该标准定义了83键,采用5脚DIN连接器和简单的串行协议。实际上,第一套键盘扫描码集并没有主机到键盘的命令。为此,1984年IBM推出了IBM AT键盘接口标准。该标准定义了84~101键,采用5脚DIN连接器和双向串行通讯协议,此协议依照第二套键盘扫描码集设有8个主机到键盘的命令。到了1987年,IBM又推出了PS/2键盘接口标准。该标准仍旧定义了84~101键,但是采用6脚mini-DIN连接器,该连接器在封装上更小巧,仍然用双向串行通讯协议并且提供有可选择的第三套键盘扫描码集,同时支持17个主机到键盘的命令。现在,市面上的键盘都和PS/2及AT键盘兼容,只是功能不同而已。
二、?? 基础知识:
电气特性
管脚说明:
1 DATA Key data 2 N.C No connected 3 GND GND 4 VCC +5V 5 CLK Clock 6 N.C No connected
?
数据格式
数据帧格式说明:
1个起始位 总是逻辑0 8个数据位 (LSB)低位在前 1个奇偶校验位 奇校验 1个停止位 总是逻辑1 1个应答位 仅用在主机对设备的通讯中
表中,如果数据位中1的个数为偶数,校验位就为1;如果数据位中1的个数为奇数,校验位就为0;总之,数据位中1的个数加上校验位中1的个数总为奇数,因此总进行奇校验。(是不是发现它的数据传输协议和串口很像呢!呵呵)
?
PS/2 发送数据到PC的时序
键盘接口时序: (a) 键盘发送时序 (b) 键盘接收时序
注:在时钟的下降沿读取数据。
以下可做具体写代码设计参考:
从PS/2向PC机发送一个字节可按照下面的步骤进行:
(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(如果在发送停止位时释放时钟信号则应延时50us);
通过以下步骤可发送单个位:
(1)? 准备数据位(将需要发送的数据位放到数据线上);
(2)? 延时20us;
(3)? 把时钟线拉低;
(4)? 延时40us;
(5)? 释放时钟线;
(6)? 延时20us。
PS/2设备从PC机接收一个字节
由于PS/2设备能提供串行同步时钟,因此,如果PC机发送数据,则PC机要先把时钟线和数据线置为请求发送的状态。PC机通过下拉时钟线大于100us来抑制通讯,并且通过下拉数据线发出请求发送数据的信号,然后释放时钟。当PS/2设备检测到需要接收的数据时,它会产生时钟信号并记录下面8个数据位和一个停止位。主机此时在时钟线变为低时准备数据到数据线,并在时钟上升沿锁存数据。而PS/2设备则要配合PC机才能读到准确的数据。具体连接步骤如下:
(1)? 等待时钟线为高电平。
(2)? 判断数据线是否为低,为高则错误退出,否则继续执行。
(3)? 读地址线上的数据内容,共8个bit,每读完一个位,都应检测时钟线是否被PC机拉低,如果被拉低则要中止接收。
(4)? 读地址线上的校验位内容,1个bit。
(5)? 读停止位。
(6)? 如果数据线上为0(即还是低电平),PS/2设备继续产生时钟,直到接收到1且产生出错信号为止(因为停止位是1,如果PS/2设备没有读到停止位,则表明此次传输出错)。
(7)? 输出应答位。
(8)? 检测奇偶校验位,如果校验失败,则产生错误信号以表明此次传输出现错误。
(9)? 延时45us,以便PC机进行下一次传输。
读数据线的步骤如下:
(1)? 延时20us;
(2)? 把时钟线拉低
您可能关注的文档
最近下载
- 监控报价清单表-监控报价模板.xlsx VIP
- (2025秋新版)人教版二年级数学上册全册教案.doc
- 2026年河北水利发展集团有限公司公开招聘工作人员41名笔试模拟试题及答案解析.docx VIP
- 未成年人网络保护条例知识竞赛试题(含答案).docx VIP
- 2025高中信息技术课标.docx
- AS NZS 61000.4.3-2013 国外国际规范.pdf VIP
- _2025年证券专项《证券投资顾问》必背100句.pdf VIP
- 《无机非金属材料》全册完整教学课件.pptx VIP
- _2025年证券专项《证券投资顾问》超高频考点汇总.pdf VIP
- 在线网课学习课堂《医学信息素养(广州医大)》单元测试考核答案.docx VIP
文档评论(0)