Xilinx FPGA设计与实践教程 教学课件 作者 赵吉成 第6 10章 第10章.ppt

Xilinx FPGA设计与实践教程 教学课件 作者 赵吉成 第6 10章 第10章.ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十章 PS/2鼠标接口控制器 10.1 PS/2鼠标接口电路 10.1.1 关于鼠标   计算机上的鼠标是用来检测在平面二维空间中的移动状态和坐标的。其内部电路用来测量移动的相对距离以及按键状态。对于PS/2接口的鼠标,鼠标的传输信息打包成三个数据包通过PS/2口发送出去;在传输过程中,数据以串行方式发送并且按照预先设定的采样率持续传输。   PS/2端口的通信是双向的。主设备可以发送命令参数给键盘和鼠标。对于键盘来说,不需要主设备向键盘发送参数,因为这样会对键盘提出更高的要求。而鼠标不一样,上电之后不发送任何信息给主设备,反而主设备需要首先发送命令初始化鼠标,使鼠标处于连续发送信息状态。所以PS/2鼠标接口是需要支持双向通信接口的。下面介绍PS/2的鼠标接口协议,并设计一个简单的双向鼠标数据传输接口电路。 10.1.2 鼠标PS/2通信协议   标准的PS/2鼠标接口数据不仅反映鼠标在X轴和Y轴的移动情况,而且还包括鼠标左键、中键、右键的状态信息。鼠标电路包含一个内部计数器,其用来计算鼠标的每次移动量。当数据传输给主机时,计数器清零后重新开始计数。该计数器的值为一个9 bit宽的带符号整数,其正值代表向右或向上运动,其负值代表向左或向下运动。   计数器与实际物理距离之间的关系由鼠标特性参数来决定。默认为每计数4次代表1 mm。当鼠标持续移动时,数据以固定速率传输,这个速率由鼠标采样率决定。默认采样率为100次每秒。如果鼠标移动速率过快,采样期间移动量计数值则有可能超过计数器的最大值。计数器在适当的方向设置有最大幅度,并用两位溢出位来指示这种情况。   反映鼠标的移动及点击活动需要三个字节,它们被封装在PS/2协议中。3个字节数据的具体格式以及含义如表10-1所示。包含有如下的信息:   (1) ?X8,…,X0:在2秒完全模式下的X轴移动量;   (2) ?Xv:X轴移动溢出;   (3) ?Y8,…,Y0:在2秒完全模式下的Y轴移动量;   (4) ?Yv;Y轴溢出;   (5) ?l:左键状态,当左键按下时为1;   (6) ?r:右键状态,当右键按下时为1;   (7) ?m:可选择中键,当键按下时为1。   传输过程中,字节1首先被发送,字节3最后被发送。 10.1.3 初始化过程   鼠标的操作相对于键盘的操作要复杂的多。它有各种不同的模式,通常用的最多的是串行流模式,即鼠标检测有移动或者有键按下时,不断将数据发送给主机,如果运动是持续的,数据按照设计的采样率发送。   操作过程中,主机可以给鼠标发送命令,修改默认值或其他参数,来设置不同的操作模式,然后鼠标发送状态信号进行响应。在设计中要求所有设置为默认值,不做变化,唯一任务是设置鼠标为持续数据流模式。   这时PS/2和FPGA开发板之间的初始化步骤如下:   (1) 上电时鼠标首先进行上电自检,如果鼠标发送一个字节AA,则表示自检通过;然后发送一个字节数据00,为标准鼠标的ID号。   (2) ?FPGA主机端发送命令F4,使能数据流模式,鼠标返回FE来响应命令。   (3) 鼠标进入数据流模式,然后发送正常的数据包。   如果在FPGA板上电之前鼠标已经插在了FPGA验证板上,则当板子上电时,鼠标立即发送“AA 00”,由于FPGA芯片当时还没有被配置,那么将不能接收到鼠标发送的数据。所以通常会忽略上述步骤(1),将鼠标接口时序电路做简化,仅需要发送F4命令来检测鼠标FE响应,然后直接进入正常工作状态来传输鼠标数据包。   也可以通过发送复位命令来强制鼠标返回到初始状态。   (1) ?FPGA主机端发送命令FE复位鼠标,鼠标将返回FE来响应。   (2) 鼠标执行上电自测,然后发送“AA 00”,在这个过程中,数据流模式将被禁止。   新型鼠标增加了很多功能,比如鼠标带有滚轮或者另外增加新的按钮,这样就需要发送更多的信息,这些多出来的字节将和原始的三字节数据打包一起发送。   10.2 PS/2传输子系统设计 10.2.1 主系统对PS/2设备的通信协议   主系统对PS/2设备的通信协议包含双向数据交换。鼠标数据和时钟为开漏极电路,可以认为它们为三态门。基本时序传输协议如图10-1所示,其中,数据和时钟信号线标为ps2d和ps2c。可以清楚地发现,时序图被分成两部分,一部分反映主系统(host)的活动,而另一部分反映设备(mouse)的活动。基本操作时序如下:   (1) 主设备强行置低ps2c至少100 μs来禁止任何鼠标活动,可以认为是主系统请求发送数据包。   (2) 主设备强行置低ps2d,禁止ps2c,可以认为是主机发送一个开始信号。   (3) 此时PS/2从设备开始控制ps2c,负责

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档