Pmod PS2参考手册
下载本参考手册
特性
-
标准的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 | 接地* | 地面电源* |
为警告
键盘鼠标界面
键盘和鼠标都使用相同的信号计时。两者都使用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论坛.