Pmod PS2参考手册

Digilent Pmod PS/2 (Revision C)是一个允许用户将PS/2兼容的键盘或鼠标连接到他们的系统板上的模块。

下载本参考手册

特性

  • 标准的PS / 2端口
  • 跳线,允许一个外部电源
  • 带GPIO接口的6针Pmod连接器

功能描述

Pmod PS/2模块是一个标准的PS/2连接器,其本质上支持N-KEY翻转。这是一个保证每个移动和按键都会被接收和处理的功能。当然,按键是否会实际执行一项功能取决于软件,但系统板仍然会接收所有的输入。


对接Pmod

Pmod PS/2通过主板与主机板通信GPIO协议.键盘和鼠标都将使用数据和时钟线将它们的信息与系统板通信。关于如何做到这一点的具体细节可以在下面各自的部分中找到。

销描述表

头J2 (Pmod) 头为J1 (PS2) JP1
标签 描述 标签 描述 位置 描述
1 数据 数据通信线路 1 数据 数据通信线路 VB -VCC PS2连接器从主机板接收正电源
2 数据- 数据通信线(一般未使用) 2 数据- 数据通信线(一般未使用) VE -VCC PS2连接器从外部电源接收正电源
3. 时钟 串行时钟 3. 接地 地面电源 JP2
4 钟, 串行时钟(一般未使用) 4 VCC 积极的电源 信号 描述
5 接地 地面电源 5 时钟 串行时钟 1 VE * 外部电源输入正*
6 VB 来自主机板的正电源 6 钟, 串行时钟(一般未使用) 2 接地 地面电源*

为警告

*—VE和接地Pmod PS2上的丝印标签不正确,需要更改。靠近Pmod 6引脚头的引脚应该标记为接地更靠近PS2连接器的引脚应该标记为VE。下面提供了一个比较图像的董事会应该如何看。

当前错误的丝网印刷未来正确的丝网印刷

键盘鼠标界面


键盘和鼠标都使用相同的信号计时。两者都使用11位字,包括开始、停止和奇偶校验位,但数据包的组织方式不同,而且键盘接口允许双向数据传输(因此主机设备可以照亮键盘上的led状态)。总线计时如下所示。时钟和数据信号只有在数据传输发生时才被驱动,否则它们在逻辑1中处于“空闲”状态。时间定义了鼠标到主机通信和双向键盘通信的信号需求。


象征 参数 最小值 马克斯
Tck 时钟时间 30我们 美国50州
Tsu Data-to-clock设置时间 5我们 25我们
Thld Clock-to-data保存时间 5我们 25我们

键盘

键盘使用开放采集器驱动程序,因此键盘或附加的主机设备都可以驱动两线总线(如果主机设备不向键盘发送数据,那么主机可以使用简单的只输入端口)。

PS/2型键盘使用扫描码来通信按键数据(今天使用的几乎所有键盘都是PS/2型)。每一个键都有一个单独的,唯一的扫描码,当相应的键被按下时发送。按下该键,扫描码每100ms左右重复发送一次。当释放一个键时,发送“F0”键上代码,然后是释放键的扫描代码。如果一个密钥可以“移位”来产生一个新字符(比如大写字母),那么除了原始扫描码之外,还会发送一个移位字符,主机设备必须确定使用哪个字符。有些键,称为扩展键,在扫描码之前发送一个“E0”(它们可能发送多个扫描码)。当释放扩展键时,发送“E0 F0”键上代码,然后是扫描代码。大多数按键的扫描码如下面的键盘图所示。

主机设备也可以向键盘发送数据。下面是一些常用命令的简短列表。

艾德 设置Num Lock, Caps Lock, Scroll Lock led。在接收到一个“ED”后,键盘返回一个“FA”,然后主机发送一个字节设置领导的地位。位0设置Scroll Lock,位1设置Num Lock;Bit 2设置大写锁定。位3到7被忽略。
EE 的回声。当接收到echo命令时,键盘会以“EE”作为回应。
F3 设置扫描码重复率。键盘通过返回“FA”来确认接收到“F3”,然后主机发送第二个字节
重新发送。接收到FE后,键盘重新发送上次发送的扫描码。
FF 重置。重置键盘。


只有当数据和时钟线都处于高位(或空闲)时,键盘才向主机发送数据。由于主机是“总线主人”,键盘检查主机是否在驱动总线之前发送数据。为了方便这一点,时钟线可以用作一个“清晰发送”信号。如果主机拉低时钟线,键盘将不会发送任何数据,直到时钟被释放。

键盘以11位字的形式向主机发送数据,其中包含一个“0”开始位,然后是8位的扫描码(首先是LSB),然后是奇偶校验位,并以“1”停止位结束。当数据被发送时,键盘产生11个时钟过渡(在20 - 30KHz左右),数据在时钟的下降沿上是有效的。

鼠标

鼠标在移动时输出时钟和数据信号,否则这些信号保持在逻辑1中。每次移动鼠标时,三个11位的字从鼠标发送到主机设备。每个11位的单词包含一个“0”开始位,然后是8位数据(首先是LSB),然后是奇偶校验位,并以“1”停止位结束。因此,每次数据传输包含33位,其中0位、11位和22位是“0”起始位,11位、21位和33位是“1”停止位。三个8位数据字段包含如下所示的移动数据。数据在时钟的下降沿有效,时钟周期为20至30KHz。

鼠标假设一个相对坐标系统,其中向右移动鼠标会在X字段中生成一个正数,向左移动鼠标会生成一个负数。同样地,向上移动鼠标在Y字段中生成一个正数,向下移动鼠标表示一个负数(状态字节中的XS和YS位是符号位——“1”表示负数)。X和Y数字的大小表示鼠标移动的速率——数字越大,鼠标移动得越快(状态字节中的XV和YV位是移动溢出指示器——“1”表示发生了溢出)。如果鼠标连续移动,33位的传输大约每50毫秒重复一次。状态字节中的L和R字段表示按下了左按钮和右按钮(' 1 '表示正在按下按钮)。



物理维度

针头上的针间距为100密耳。PCB是1英寸长在侧面平行于针头上的针和0.8英寸长在侧面垂直于针头。


额外的信息

Pmod PS/2的原理图是可用的在这里.在对键盘或鼠标施加外部电源之前,检查组件的额定电压是多少,通常是3.3V或5V,以确保组件没有损坏。

可以找到演示如何从Pmod PS/2获取信息的示例代码在这里

如果你对Pmod PS/2有任何问题或意见,请随时将它们发布在Pmod PS/2的适当部分(“附加板”)Digilent论坛