浅谈PS2接口协议的剖析.doc_第1页
浅谈PS2接口协议的剖析.doc_第2页
浅谈PS2接口协议的剖析.doc_第3页
浅谈PS2接口协议的剖析.doc_第4页
浅谈PS2接口协议的剖析.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浅谈PS2接口协议的剖析 论文摘要:文中详细介绍了PS/2接口协议的内容、电气特性和标准键盘的第二套键盘扫描码集给出了基于嵌入式系统的PS/2接口的软、硬件实现方法并介绍了工控PC外接双键盘的解决方案通过使用模拟开关CD4052巧妙地解决了工控PC外接双键盘的冲突问题接口标准的发展过程随着计算机工业的发展作为计算机最常用输入设备的键盘也日新月异年推出了键盘及其接口标准该标准定义了键采用脚连接器和简单的串行协议实际上第一套键盘扫描码集并没有主机到键盘的命令为此年推出了键盘接口标准该标准定义了键采用脚连接器和双向串行通讯协议此协议依照第二套键盘扫描码集设有个主机到键盘的命令到了年又推出了键盘接口标准该标准仍旧定义了键但是采用脚连接器该连接器在封装上更小巧仍然用双向串行通讯协议并且提供有可选择的第三套键盘扫描码集同时支持个主机到键盘的命令现在市面上的键盘都和及键盘兼容只是功能不同而已接口硬件物理连接器一般具有五脚连接器的键盘称之为键盘而具有六脚连接器的键盘则称之为键盘其实这两种连接器都只有四个脚有意义它们分别是(时钟脚)、?数据脚?、(电源脚)和(电源地)在键盘与机的物理连接上只要保证这四根线一一对应就可以了键盘靠的端口提供电源另外两个脚(时钟脚)和?数据脚?都是集电极开路的所以必须接大阻值的上拉电阻它们平时保持高电平有输出时才被拉到低电平之后自动上浮到高电平现在比较常用的连接器如图所示电气特性通讯协议是一种双向同步串行通讯协议通讯的两端通过(时钟脚)同步并通过(数据脚)交换数据任何一方如果想抑制另外一方通讯时只需要把(时钟脚)拉到低电平如果是机和键盘间的通讯则机必须做主机也就是说机可以抑制键盘发送数据而键盘则不会抑制机发送数据一般两设备间传输数据的最大时钟频率是大多数设备工作在推荐值在左右也就是说(时钟脚)高、低电平的持续时间都为每一数据帧包含个位具体含义如表所列表1数据帧格式说明1个起始位总是逻辑08个数据位(LSB)低位在前1个奇偶校验位奇校验1个停止位总是逻辑11个应答位仅用在主机对设备的通讯中表中如果数据位中的个数为偶数校验位就为;如果数据位中的个数为奇数校验位就为;总之数据位中的个数加上校验位中的个数总为奇数因此总进行奇校验设备和机的通讯设备的(时钟脚)和?数据脚?都是集电极开路的平时都是高电平当设备等待发送数据时它首先检查(时钟脚)以确认其是否为高电平如果是低电平则认为是机抑制了通讯此时它必须缓冲需要发送的数据直到重新获得总线的控制权(一般键盘有个字节的缓冲区而鼠标只有一个缓冲区仅存储最后一个要发送的数据)如果(时钟脚)为高电平设备便开始将数据发送到机一般都是由设备产生时钟信号发送时一般都是按照数据帧格式顺序发送其中数据位在(时钟脚)为高电平时准备好在(时钟脚)的下降沿被机读入设备到机的通讯时序如图所示当时钟频率为时从(时钟脚)的上升沿到数据位转变时间至少要数据变化到(时钟脚)下降沿的时间至少也有但不能大于这是由通讯协议的时序规定的如果时钟频率是其它值参数的内容应稍作调整上述讨论中传输的数据是指对特定键盘的编码或者对特定命令的编码一般采用第二套扫描码集所规定的码值来编码其中键盘码分为通码()和断码()通码是按键接通时所发送的编码用两位十六进制数来表示断码通常是按键断开时所发送的编码用四位十六进制数来表示接口的嵌入式软件编程方法设备主要用于产生同步时钟信号和读写数据向机发送一个字节从向机发送一个字节可按照下面的步骤进行:()检测时钟线电平如果时钟线为低则延时;()检测判断时钟信号是否为高为高则向下执行为低则转到();()检测数据线是否为高如果为高则继续执行如果为低则放弃发送(此时机在向设备发送数据所以设备要转移到接收程序处接收数据);()延时(如果此时正在发送起始位则应延时);()输出起始位()到数据线上这里要注意的是:在送出每一位后都要检测时钟线以确保机没有抑制设备如果有则中止发送;()输出个数据位到数据线上;()输出校验位;()输出停止位();()延时(如果在发送停止位时释放时钟信号则应延时);通过以下步骤可发送单个位:()准备数据位(将需要发送的数据位放到数据线上);()延时;()把时钟线拉低;()延时;()释放时钟线;()延时设备从机接收一个字节由于设备能提供串行同步时钟因此如果机发送数据则机要先把时钟线和数据线置为请求发送的状态机通过下拉时钟线大于来抑制通讯并且通过下拉数据线发出请求发送数据的信号然后释放时钟当设备检测到需要接收的数据时它会产生时钟信号并记录下面个数据位和一个停止位主机此时在时钟线变为低时准备数据到数据线并在时钟上升沿锁存数据而设备则要配合机才能读到准确的数据具体连接步骤如下:()等待时钟线为高电平()判断数据线是否为低为高则错误退出否则继续执行()读地址线上的数据内容共个每读完一个位都应检测时钟线是否被机拉低如果被拉低则要中止接收()读地址线上的校验位内容个()读停止位()如果数据线上为(即还是低电平)设备继续产生时钟直到接收到且产生出错信号为止(因为停止位是如果设备没有读到停止位则表明此次传输出错)(输出应答位()检测奇偶校验位如果校验失败则产生错误信号以表明此次传输出现错误()延时以便机进行下一次传输读数据线的步骤如下:()延时;()把时钟线拉低?()延时?()释放时钟线?()延时?()读数据线下面的步骤可用于发出应答位;()延时;()把数据线拉低;()延时;()把时钟线拉低;()延时;()释放时钟线;()延时;()释放数据线用于工控机的双键盘设计工控机通常要接标准键盘但是为了方便操作常常需要外接一个专用键盘此实例介绍了在工控机到总线上再接入一个自制专用键盘的应用方法该设计应能保证两个键盘单独工作而且相互不能影响因此不能直接把专用键盘和标准键盘一起接到工控的口鉴于这种情况本设计使用模拟开关并通过时分复用工控的口来使在同一个时刻只有一个键盘有效从而解决上述问题其硬件原理图如图所示其中口和口用于键盘扫描电路(图中未画出)为数据端为时钟端为模拟开关选通端由于专用键盘不需要接收工控机的命令所以软件中并不需要写这部分相应的代码通过软件可在专用键盘复位后把清以使模拟开关打开相应的通道这时工控的标准键盘将开始工作标准键盘可以完成工控刚启动时对外设检测的应答复位后的专用键盘不停地扫描有没有按键如果有键按下则识别按键并且按照预先的设计进行编码同时调用发送程序并通过口发送到工控此时模拟开关关闭相应通道(将置)专用键盘接入工控口的时钟线和数据线而工作但标准键盘被模拟开关从的时钟线和数据线中断而不工作这样双键盘便可时分复用同一个工控机的口相应的发送子程序如下:用做数据线用做时钟线用做的端用口做读入口用口做写出口可以实现个自定义键(),;();(;);();();()();();();();(;);();();()();();();();?;();?;();();?;?();?;();?;();,;结论接口协议是现在大多数键盘、鼠标与机通讯的标准协议其中鼠标对机的通讯更为简单只是传输数据的内容不一样而已充分理解接口协议可以帮助设计者自主开发一些工控机上的专用键盘等外设并能够按照用户的要求开发出专用的多功能键盘该工控机的双键盘设计目前已被某工控公司所采纳并已作为组件加入到产品当中 论文摘要:文中详细介绍了PS/2接口协议的内容、电气特性和标准键盘的第二套键盘扫描码集给出了基于嵌入式系统的PS/2接口的软、硬件实现方法并介绍了工控PC外接双键盘的解决方案通过使用模拟开关CD4052巧妙地解决了工控PC外接双键盘的冲突问题接口标准的发展过程随着计算机工业的发展作为计算机最常用输入设备的键盘也日新月异年推出了键盘及其接口标准该标准定义了键采用脚连接器和简单的串行协议实际上第一套键盘扫描码集并没有主机到键盘的命令为此年推出了键盘接口标准该标准定义了键采用脚连接器和双向串行通讯协议此协议依照第二套键盘扫描码集设有个主机到键盘的命令到了年又推出了键盘接口标准该标准仍旧定义了键但是采用脚连接器该连接器在封装上更小巧仍然用双向串行通讯协议并且提供有可选择的第三套键盘扫描码集同时支持个主机到键盘的命令现在市面上的键盘都和及键盘兼容只是功能不同而已接口硬件物理连接器一般具有五脚连接器的键盘称之为键盘而具有六脚连接器的键盘则称之为键盘其实这两种连接器都只有四个脚有意义它们分别是(时钟脚)、?数据脚?、(电源脚)和(电源地)在键盘与机的物理连接上只要保证这四根线一一对应就可以了键盘靠的端口提供电源另外两个脚(时钟脚)和?数据脚?都是集电极开路的所以必须接大阻值的上拉电阻它们平时保持高电平有输出时才被拉到低电平之后自动上浮到高电平现在比较常用的连接器如图所示电气特性通讯协议是一种双向同步串行通讯协议通讯的两端通过(时钟脚)同步并通过(数据脚)交换数据任何一方如果想抑制另外一方通讯时只需要把(时钟脚)拉到低电平如果是机和键盘间的通讯则机必须做主机也就是说机可以抑制键盘发送数据而键盘则不会抑制机发送数据一般两设备间传输数据的最大时钟频率是大多数设备工作在推荐值在左右也就是说(时钟脚)高、低电平的持续时间都为每一数据帧包含个位具体含义如表所列表1数据帧格式说明1个起始位总是逻辑08个数据位(LSB)低位在前1个奇偶校验位奇校验1个停止位总是逻辑11个应答位仅用在主机对设备的通讯中表中如果数据位中的个数为偶数校验位就为;如果数据位中的个数为奇数校验位就为;总之数据位中的个数加上校验位中的个数总为奇数因此总进行奇校验设备和机的通讯设备的(时钟脚)和?数据脚?都是集电极开路的平时都是高电平当设备等待发送数据时它首先检查(时钟脚)以确认其是否为高电平如果是低电平则认为是机抑制了通讯此时它必须缓冲需要发送的数据直到重新获得总线的控制权(一般键盘有个字节的缓冲区而鼠标只有一个缓冲区仅存储最后一个要发送的数据)如果(时钟脚)为高电平设备便开始将数据发送到机一般都是由设备产生时钟信号发送时一般都是按照数据帧格式顺序发送其中数据位在(时钟脚)为高电平时准备好在(时钟脚)的下降沿被机读入设备到机的通讯时序如图所示当时钟频率为时从(时钟脚)的上升沿到数据位转变时间至少要数据变化到(时钟脚)下降沿的时间至少也有但不能大于这是由通讯协议的时序规定的如果时钟频率是其它值参数的内容应稍作调整上述讨论中传输的数据是指对特定键盘的编码或者对特定命令的编码一般采用第二套扫描码集所规定的码值来编码其中键盘码分为通码()和断码()通码是按键接通时所发送的编码用两位十六进制数来表示断码通常是按键断开时所发送的编码用四位十六进制数来表示接口的嵌入式软件编程方法设备主要用于产生同步时钟信号和读写数据向机发送一个字节从向机发送一个字节可按照下面的步骤进行:()检测时钟线电平如果时钟线为低则延时;()检测判断时钟信号是否为高为高则向下执行为低则转到();()检测数据线是否为高如果为高则继续执行如果为低则放弃发送(此时机在向设备发送数据所以设备要转移到接收程序处接收数据);()延时(如果此时正在发送起始位则应延时);()输出起始位()到数据线上这里要注意的是:在送出每一位后都要检测时钟线以确保机没有抑制设备如果有则中止发送;()输出个数据位到数据线上;()输出校验位;()输出停止位();()延时(如果在发送停止位时释放时钟信号则应延时);通过以下步骤可发送单个位:()准备数据位(将需要发送的数据位放到数据线上);()延时;()把时钟线拉低;()延时;()释放时钟线;()延时设备从机接收一个字节由于设备能提供串行同步时钟因此如果机发送数据则机要先把时钟线和数据线置为请求发送的状态机通过下拉时钟线大于来抑制通讯并且通过下拉数据线发出请求发送数据的信号然后释放时钟当设备检测到需要接收的数据时它会产生时钟信号并记录下面个数据位和一个停止位主机此时在时钟线变为低时准备数据到数据线并在时钟上升沿锁存数据而设备则要配合机才能读到准确的数据具体连接步骤如下:()等待时钟线为高电平()判断数据线是否为低为高则错误退出否则继续执行()读地址线上的数据内容共个每读完一个位都应检测时钟线是否被机拉低如果被拉低则要中止接收()读地址线上的校验位内容个()读停止位()如果数据线上为(即还是低电平)设备继续产生时钟直到接收到且产生出错信号为止(因为停止位是如果设备没有读到停止位则表明此次传输出错)(输出应答位()检测奇偶校验位如果校验失败则产生错误信号以表明此次传输出现错误()延时以便机进行下一次传输读数据线的步骤如下:()延时;()把时钟线拉低?()延时?()释放时钟线?()延时?()读数据线下面的步骤可用于发出应答位;()延时;()把数据线拉低;()延时;()把时钟线拉低;()延时;()释放时钟线;()延时;()释放数据线用于工控机的双键盘设计工控机通常要接标准键盘但是为了方便操作常常需要外接一个专用键盘此实例介绍了在工控机到总线上再接入一个自制专用键盘的应用方法该设计应能保证两个键盘单独工作而且相互不能影响因此不能直接把专用键盘和标准键盘一起接到工控的口鉴于这种情况本设计使用模拟开关并通过时分复用工控的口来使在同一个时刻只有一个键盘有效从而解决上述问题其硬件原理图如图所示其中口和口用于键盘扫描电路(图中未画出)为数据端为时钟端为模拟开关选通端由于专用键盘不需要接收工控机的命令所以软件中并不需要写这部分相应的代码通过软件可在专用键盘复位后把清以使模拟开关打开相应的通道这时工控的标准键盘将开始工作标准键盘可以完成工控刚启动时对外设检测的应答复位后的专用键盘不停地扫描有没有按键如果有键按下则识别按键并且按照预先的设计进行编码同时调用发送程序并通过口发送到工控此时模拟开关关闭相应通道(将置)专用键盘接入工控口的时钟线和数据线而工作但标准键盘被模拟开关从的时钟线和数据线中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论