ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:21.60KB ,
资源ID:17477908      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17477908.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ps2协议Word文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ps2协议Word文档格式.docx

1、所有数据安排在字节中,每个字节为一帧,包含了11-12个位。这些位的含义如下:如果数据位中包含偶数个1,校验位就会置1;如果数据位中包含奇数个1,校验位就会置0。数据位中1的个数加上校验位总为奇数(这就是奇校验)这是用来错误检测。当主机发送数据给键盘/鼠标时,设备回送一个握手信号来应答数据包已经收到。这个位不会出现在设备发送数据到主机的过程中。设备到主机的通讯过程:数据和时钟线都是集电极开路结构(正常保持高电平)。当键盘或鼠标等待发送数据时,它首先检查时钟以确认它是否是高电平。如果不是,那么是主机抑制了通讯,设备必须缓冲任何要发送的数据直到重新获得总线的控制权(键盘有16字节的缓冲区而鼠标的缓

2、冲区仅存储最后一个要发送的数据包)。如果时钟线是高电平,设备就可以开始传送数据。如我在上一节提及的,键盘和鼠标使用一种每帧包含11位的串行协议。这些位含义是:1startbit.thisisalways0.1个起始位总是为08databits,leastsignificantbitfirst.8个数据位低位在前1paritybit(oddparity).1个校验位奇校验1stopbit.thisisalways1.1个停止位总是为1每位在时钟的下降沿被主机读入,如图2和3所示时钟频率为1016.7khz。从时钟脉冲的上升沿到一个数据转变的时间至少要有5微秒。数据变化到时钟脉冲的下降沿的时间至少

3、要有5微秒并且不大于25微秒。这个定时非常重要你应该严格遵循它。主机可以在第11个时钟脉冲(停止位)之前把线拉低,导致设备放弃发送当前字节(这是非常罕见的)。在停止位发送后,设备在发送下个包前至少应该等待50毫秒。这将给主机时间当它处理接收到的字节时抑制发送(主机在收到每个包时,通常自动做这个)。在主机释放抑制后,设备至少应该在发送任何数据前等50毫秒。我推荐下面的过程发送一个单一字节从仿真键盘/鼠标到主机:1)等待clock=high2)延时50微秒3)clocks仍旧为highno到第1步4)data=highno放弃(并且从主机读取字节)5)延迟20毫秒(=40微秒tothetimecl

4、ockispulledlowinsendingthestartbit.)6)输出起始位(0)/在发送所有这些位的每一位后7)输出8个数据位测试时钟确认主机是否把它拉低了8)输出校验位/这说明主机要放弃这次10)延迟30毫秒(=50微秒fromthetim传送9)输出停止位(1)eclockisreleasedinsendingthestopbit)按如下的过程发送单个位:1)set/Resetdata2)delay20microseconds3)bringclocklow4)delay40microseconds5)Releaseclock6)delay20microseconds1)设置/复

5、位数据2)延迟20微秒3)把时钟拉低4)延迟40微秒5)释放时钟6)延迟20微秒主机到设备的通讯被发送的包有点不同于主机到设备通讯过程。首先,ps/2设备总是产生时钟信号。如果主机要发送数据,它必须首先把时钟和数据线设置为请求发送状态,如下示:通过下拉时钟线至少100微秒来抑制通讯。通过下拉数据线来应用请求发送,然后释放时钟。设备应该在不超过10毫秒的间隔内就要检查这个状态。当设备检测到这个状态,它将开始产生时钟信号,并且时钟脉冲标记下输入八个数据位和一个停止位。主机仅当时钟线为低的时候改变数据线,而数据在时钟脉冲的上升沿被锁存。这在发生在设备到主机通讯的过程中正好相反。在停止位发送后,设备要

6、应答接收到的字节,就把数据线拉低并产生最后一个时钟脉冲。如果主机在第11个时钟脉冲后不释放数据线,设备将继续产生时钟脉冲直到数据线被释放(然后设备将产生一个错误)。主机可以在第11个时钟脉冲(应答位)前中止一次传送,只要下拉时钟线至少100微秒。要使得这个过程易于理解,主机必须按下面的步骤发送数据到ps/2设备:1)把时钟线拉低至少100微秒2)把数据线拉低3)释放数据线4)等待设备把时钟线拉低5)设置/复位数据线发送第一个数据位6)等待设备把时钟拉高7)等待设备把时钟拉低8)重复5-7步发送剩下的7个数据位和校验位9)释放数据线10)等待设备把数据线拉低11)等待设备把时钟线拉低12)等待设

7、备释放数据线和时钟线图3用图形表示图4以单独的时序表示了由主机产生的信号。及由ps/2设备产生的信号。注意应答位时序的改变-数据改变发生在时钟线为高的时候(不同于其它11位是当它为低的时候)。图4描述了两个重要的定时条件:a和b。a在主机最初把书记现拉低后,设备开始产生时钟脉冲的时间,必须步大于15ms;b数据包被发送的时间必须不大于2ms。如果这两个条件不满足,主机将产生一个错误。在包收到后,主机为了处理数据立刻把时钟线拉低来抑制通讯。如果主机发送的命令要求有一个回应,这个回应必须在书籍释放时钟线后20ms之内被收到。如果没有收到,则主机产生一个错误。在设备到主机通讯的情况中,时钟改变后的5

8、微秒内不应该发生数据改变的情况。如果呢要仿真一个鼠标或键盘,我推荐你按如下的过程从主机读入数据;在你的主程序中,至少每10毫秒检测数据线是否为低。如果数据线已被主机拉低,则从主机读取一个字节。1)等待时钟线为高2)数据线仍然为低吗不-有错误发生;放弃。3)读入8个数据位/在读入这些位后4)读入校验位测试时钟线数否被主机拉低5)读入停止位/这就意味着放弃这次传送6)数据线仍旧为0吗?是保持时钟直到数据=1然后产生一个错误7)输出应答位8)检查校验位如果校验位不正确则产生一个错误9)延迟45微秒(给主机时间抑制下次的传送)按如下次序读取每位(8个数据位检验位和停止位):1)延迟20微秒2)把时钟拉

9、低3)延迟40微秒4)释放时钟5)延迟20微秒7)读数据线按如下次序发送应答位:1)延迟15微秒3)延迟5微秒4)把时钟线拉低5)延迟40微秒6)释放时钟线7)延迟5微秒8)释放数据线ps2接口协议及代码分析(20xx-10-1412:23:40)转载标签:ps2通信ps2协议it分类:嵌入式一.电气特性篇二:ps2键盘接口协议ps2键盘接口协议20xx-06-0316:11一.电气特性ps/2键盘接口为6针母插,外观为:上图为接口底座引脚图二.数据格式表中,如果数据位中的个数为偶数,校验位就为;如果数据位中的个数为奇数,校验位就为;总之,数据位中的个数加上校验位中的个数总为奇数,因此总进行奇

10、校验。ps2设备的clock和data都是集电极开路的,平时都是高电平。当ps2设备等待发送数据时,它首先检查clock是否为高。如果为低,则认为pc抑制了通讯,此时它缓冲数据直到获得总线的控制权。如果clock为高电平,ps2则开始向pc发送数据。一般都是由ps2设备产生时钟信号。发送按帧格式。数据位在clock为高电平时准备好,在clock下降沿被pc读入。数据从键盘/鼠标发送到主机或从主机发送到键盘/鼠标,时钟都是ps2设备产生.主机对时钟控制有优先权,即主机想发送控制指令给ps2设备时,可以拉低时钟线至少100s,然后再下拉数据线,最后释放时钟线为高。ps2设备的时钟线和数据线都是集电

11、极开路的,容易实现拉低电平。pc在时钟的下降沿读取数据.ps:ps2协议是现在大多数鼠标,键盘与pc通讯的标准协议,鼠标的通讯更为简单些,只是传送的数据内容不一样而已。三.数据发送时序键盘接口时序(a)键盘发送时序;(b)键盘接收时序从向机发送一个字节可按照下面的步骤进行:()检测时钟线电平,如果时钟线为低,则延时;()检测判断时钟信号是否为高,为高,则向下执行,为低,则转到();()检测数据线是否为高,如果为高则继续执行,如果为低,则放弃发送(此时机在向设备发送数据,所以设备要转移到接收程序处接收数据);()延时(如果此时正在发送起始位,则应延时);()输出起始位()到数据线上。这里要注意的

12、是:在送出每一位后都要检测时钟线,以确保机没有抑制设备,如果有则中止发送;()输出个数据位到数据线上;()输出校验位;()输出停止位();()延时(如果在发送停止位时释放时钟信号则应延时);通过以下步骤可发送单个位:()准备数据位(将需要发送的数据位放到数据线上);()延时;()把时钟线拉低;()延时;()释放时钟线;()延时。设备从机接收一个字节由于设备能提供串行同步时钟,因此,如果机发送数据,则机要先把时钟线和数据线置为请求发送的状态。机通过下拉时钟线大于来抑制通讯,并且通过下拉数据线发出请求发送数据的信号,然后释放时钟。当设备检测到需要接收的数据时,它会产生时钟信号并记录下面个数据位和一

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

14、行下一次传输。读数据线的步骤如下:()延时;()把时钟线拉低()延时()释放时钟线()延时()读数据线。下面的步骤可用于发出应答位;()延时;()把数据线拉低;()延时;()把时钟线拉低;()延时;()释放时钟线;()延时;()释放数据线。四.键盘返回值介绍:键盘的处理器如果发现有键被按下或释放将发送扫描码的信息包到计算机。扫描码有两种不同的类型:通码和断码。当一个键被按下就发送通码,当一个键被释放就发送断码。每个按键被分配了唯一的通码和断码。这样主机通过查找唯一的扫描码就可以测定是哪个按键。每个键一整套的通断码组成了扫描码集。有三套标准的扫描码集:分别是第一套,第二套和第三套。所有现代的键盘

15、默认使用第二套扫描码。虽然多数第二套通码都只有一个字节宽,但也有少数扩展按键的通码是两字节或四字节宽。这类的通码第一个字节总是为e0。正如键按下通码就被发往计算机一样,只要键一释放断码就会被发送。每个键都有它自己唯一的通码和断码。幸运的是你不用总是通过查表来找出按键的断码。在通码和断码之间存在着必然的联系。多数第二套断码有两字节长。它们的第一个字节是F0,第二个字节是这个键的通码。扩展按键的断码通常有三个字节,它们前两个字节是e0h,F0h,最后一个字节是这个按键通码的最后一个字节。下面列出了几个按键的第二套通码和断码:一个键盘发送值的例子:通码和断码是以什么样的序列发送到你的计算机从而使得字

16、符g出现在你的字处理软件里的呢?因为这是一个大写字母,需要发生这样的事件次序:按下shift键-按下g键-释放g键-释放shift键。与这些时间相关的扫描码如下:shift键的通码12h,g键的通码34h,g键的断码F0h34h,shift键的断码F0h12h。因此发送到你的计算机的数据应该是:12h34hF0h34hF0h12h五:第二套扫描码:101102和104键的键盘:acpi扫描码:篇三:ps2协议介绍2ps/2接口硬件2.1物理连接器物理上的ps/2端口是两类连接器中的一种:5脚的din或6脚的mini-din。这两种连接器在电气特性上是十分类似的,实际上两者只有一点不同那就是管脚

17、的排列。一般,具有五脚连接器的键盘称之为at键盘,而具有六脚mini-din连接器的键盘则称之为ps/2键盘。其实这两种连接器都只有四个脚有意义。它们分别是clock(时钟脚)、data(数据脚)、+5V(电源脚)和ground(电源地)。在ps/2键盘与pc机的物理连接上只要保证这四根线一一对应就可以了。ps/2键盘靠pc的ps/2端口提供+5V电源,另外两个脚clock(时钟脚)和data(数据脚)都是集电极开路的,所以必须接大阻值的上拉电阻。它们平时保持高电平,有输出时才被拉到低电平,之后自动上浮到高电平。现在比较常用的连接器如图1所示。每种连接器的引脚定义如下所示:图1ps/2接口的m

18、ini-din连接器2.2电气特性在刚才提到连接器上有四个有趣的管脚:电源地、+5、数据和时钟。host(计算机)提供+5V,并且键盘/鼠标的地连接到host的电源地上。数据和时钟都是集电极开路的,这就意味着它们通常保持高电平而且很容易下拉到地(逻辑0)。任何连接到ps/2鼠标、键盘或host的设备在时钟和数据线上要有一个大的上拉电阻。置“0”就把线拉低,置“1”就让线上浮成高电平。参考图2中数据和时钟线的一般接口结构。图2:数据线和时钟线的集电极开路接口。数据和时钟分别由微控制器的a端口和b端口读入。这两条线通常保持+5V,但可以往端口c和d写入1来拉到地。结果是,数据是d的反相,时钟是c的

19、反相。换句话说,每次数据线上发送一位数据并且每在时钟线上发一个脉冲就被读入。从键盘/鼠标发送到主机的数据在时钟信号的下降沿(当时钟从高变到低的时候)被读取:从主机发送到键盘/鼠标的数据在上升沿(当时钟从低变到高的时候)被读取。不管通讯的方向怎样,键盘/鼠标总是产生时钟信号。如果主机要发送数据,它必须首先告诉设备开始产生时钟信号(这个过程在下一章节中被描述)。最大的时钟频率是33khz,而且大多数设备工作在1020khz。如果你要制作一个ps/2设备,我推荐你把频率控制在15khz左右。所有数据安排在字节中,每个字节为一帧包含了11-12个位。表1数据帧格式说明数据位中1的个数加上校验位总是为奇数(这就是奇校验)。这是用来进行错误检测的。这个位不会出现在设备发送数据到主机的过程中。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1