《武汉工程大学学报》  2012年2期 63-66   出版日期:2012-03-10   ISSN:1674-2869   CN:42-1779/TQ
键盘接口协议在输入输出芯片中的应用


0引言    在工业生产和自动化控制中,因环境或设计的需要,控制设备和终端之间往往需要相隔一定的距离.如在高温现场,一些设备不适宜设置在现场,将设备放置在远离现场的位置,将输入输出界面通过技术手段放在现场实现对现场的更好控制.又如在控制系统中,为便于管理,将主机统一存放,输入输出设备通过技术手段远离机房.这些技术手段包括KVM(Keyboard,Video,Mouse.即键盘、显示器、鼠标的简写)设备、信号加强器、无线通信设备等.产生如文献[1-2]的应用解决方案或研究,本文从解决项目实际问题的角度出发,对基于W83627的一款控制设备在遵循PS/2协议(Personal System,由IBM公司推出的第二代电脑系统中提出的外部设备的接口协议)下的PS/2设备100 m延长线不能正常使用的问题进行研究,着重于解决实际问题并进行必要的分析.1W83627简介     W83627[3]是台湾华邦(Winbond)公司设计和生产的I/O(输入/输出)接口芯片系列产品之一.采用LPC(Low Pin Count)接口技术,支持英特尔公司生产的系列芯片组.该芯片接口提供相对较少的I/O引脚数同时能保持一定的I/O接口芯片性能.为实现与ISA接口的对应,有40只PIN脚作为接口可以用来实现ISA总线下的一些功能.在W83627芯片上,可挂载PS/2设备、软盘驱动器、串口以及并口等.其结构框图如图1所示,从图1中可知,该I/O芯片连接的设备较多,形象的将此类芯片称之为“Super I/O”. 同时,W83627芯片完全符合微软公司提出的PC98/PC99硬件设计指南以及PC98/PC99中的电源和设备管理规范.图1W83627结构框图
Fig.1W83627 structure diagram     W83627中与本文研究相关的PS/2(键盘与鼠标)控制器有如下特点:1)适合在Intel 8042单片机的基础上与相关的控制架构(如凤凰公司的MultiKey/42TM结构)结合实现的键盘或者提供存储空间(2 k字节可编程ROM以及256字节的RAM)实现客制化的键盘.2)有2个异步访问数据寄存器和一个状态寄存器以及8位定时器/计数器.3)具备Intel 8042单片机的软件兼容性,支持PS/ 2鼠标.4)提供中断和轮询两种模式并支持二进制运算和BCD(二进制与十进制转换)码运算.5)其支持的工作频率有:6 MHz、8 MHz、12 MHz或16 MHz.2PS/2协议     1987年,IBM公司提出PS/2协议,该协议可支持84-101类型的键盘.在物理接口上采用的是6pin针脚的mini-DIN连接器,与之前的5pin针脚的连接器不相同.其可用的pin脚定义依然不变,即:数据线(DATA),接地(GND),电源(+5 V),时钟信号(CLK).在PS/2设备中有主从之分,一般的,主设备采用“母接口”形式的插座,从设备采用“公接口”形式的插座.  当前使用的普通PS/2设备(键盘和鼠标)一般选择工作在从设备方式下,PS/2设备采用双向同步串行协议,它要求总线空闲时接口的时钟与数据线都是集电极开路(高电平),必须外接上拉电阻,而上拉电阻可设置在主设备中,可参考图2的示意图(图2中的R1、R2、R3及R4都采用5 kΩ的电阻,通过单片机来实现对鼠标或键盘功能的实现).主从设备之间数据通信时,若主机需要发送数据,须先将时钟拉低以禁止从设备端的通信,通信完成后主机再拉低数据线,释放时钟;若从设备需要发送数据时,先检查时钟信号线,为高时(至少持续50 ms)写一个bit到数据线上,时钟为低电平时,主机从数据线上读取刚刚写入的bit.主机对总线拥有最高的控制权,在任何时候将时钟线拉低一定的时间就可以禁止通信,其具体的通信时序图可参考文献[4-5].图2主从设备示意图
Fig.2Master\|slave equipment diagram第2期蔡琼,等:键盘接口协议在输入输出芯片中的应用
武汉工程大学学报第34卷
3设备升级带来的问题及解决方案  某项目的控制设备由VIA(威盛)公司的南北桥产品升级为Intel(英特尔)公司的南北桥产品(参考图3),由于VIA的南桥可直接连接PS/2设备,而该款Intel的南桥不能直接连接PS/2设备,因此新的设备中加入W83627芯片,用以连接PS/2设备.设备升级后带来系统处理速度以及整体性能的提升,但也有新的问题,升级之前的产品加100 m延长线后PS/2设备可正常识别和使用,升级后的产品则不能正常使用(除升级的产品外,其它设备和环境没任何改变).
图3升级前后架构
Fig.3Upgrade architecture before and after3.1问题分析  两款产品在设计阶段均遵循PC98/PC99硬件设计指南和相关的通信协议,在PS/2设备连接方面也遵循PS/2协议,在电路设计时都采用的典型电路,如图4所示,其上拉电阻R1~R4采用的是4.7 kΩ,与PS/2协议模型建议的值(5 kΩ)不相上下.是什么原因造成相同的电路设计和遵循相同的协议规范,却产生不同的结果.其根本原因是:W83627芯片连接的PS/2设备(从设备)在添加了100 m延长线后的数据信号或时钟信号未能有效的到达主机板(主设备)上,从而导致了键盘和鼠标不可用.也就是说,从设备与主设备的通信无法正常进行,造成这一现象的潜在因素可能是:1)100 m延长线信号衰减太大;2)VIA芯片采用的BGA(Ball Grid Array,球状矩阵排列)封装,而W83627采用的是QFP(Quad Flat Packing,方块平面封装)封装,两种不同的封装使其驱动性能不同;3)主设备(主机)PCB布线不相同.
图4PS/2设备典型电路
Fig.4The typical circuit of PS/2 equipment3.2解决方案   根据3.1的分析,提出以下解决方案:方案一:在100 m延长线中间添加中继器方案二:采用KVM延长器方案三:修改主设备的上拉电阻,增强驱动性能(即信号强度)方案一和方案二在一些文献上已有体现[6],且在商业应用中也较为成熟,都有成熟的产品在市场市场上销售,在此不作过多的讨论,以下着重讨论方案三的解决思路.鉴于图2与图4的电阻取值,借用最优化方法中的一维搜索思路进行实验,步骤如下:  ①设定上拉电阻取值的上限与下限;  ②选定所电阻取值的跨度(理解为搜索步长);  ③从上限开始按电阻取值的跨度向下取值实验;(或从下限开始按电阻取值的跨度向上取值实验)  ④是否找到满意的电阻取值,  否,减小电阻取值的跨度,转向步骤②;  是,结束实验.按照上述步骤进行实验,将初值范围设定在330 Ω到4.7 kΩ,电阻取值的跨度取200 Ω,通过实验,得到两个电阻取值使键盘鼠标正常工作的取值,即1 kΩ和1.2 kΩ.这样将图4中的连接时钟信号和数据信号的上拉电阻改为1 kΩ或1.2 kΩ即可.
3.3测试与分析   一般的,产品在设计或改动以后,需要进行测试(分为白盒测试和黑盒测试),上面的电阻值修改完后,对键盘和鼠标的基本功能(如:各种按键和组合功能)可否正常使用称之为“黑盒测试”.而对相关的信号是否符合对应的标准(如:本研究中的改动是否符合PS/2协议)进行的测试称之为“白盒测试”. 黑盒测试的测试手段和方法相对简单,经过测试,其关键的功能键和基本功能键均可正常使用.对PS/2协议中规定的几个关键信号利用仪器进行测试,其结果如图5所示.图5白盒测试组图  
Fig.5Photos of white-box testing图5(a)表示时钟信号低电平持续时间,PS/2协议的取值范围是30~50 μs,实际测量值32.86 μs.图5(b)表示时钟信号低电平持续时间,PS/2协议的取值范围是30~50 μs,实际测量值32.87 μs.图5(c)表示从禁止外设发送到主机开始发送(即时钟信号下降沿到数据下降沿信号),PS/2协议的取值范围不小于60 μs,实际测量值63.49 μs.图5(d)表示数据下降沿到时钟下降沿,PS/2协议的取值范围是5~25 μs,实际测量值 18.2 μs.图5(e)表示数据上升沿到时钟下降沿,PS/2协议的取值范围是5~25 μs,实际测量值 16.98 μs.由上述可知,其黑盒测试和白盒测试均符合相关的标准,因此,针对该项目中的100 m延长线(特定线材)有图6的取值范围(1~1.2 kΩ)可为以后的设计和开发所借鉴.图6特定线长下的电阻取值范围
Fig.6The resistance value range under specific line length  针对三种方案的各自特点,对费用、项目实施等进行比较总结如表1所示.
表1三种解决方案比较
Table 1Comparison between three kinds of solutions
方案特点费用实施难度附加功能一原理简单、
产品成熟一般较难无二原理较复杂、
产品成熟较贵容易有三原理简单、实验
测试与验证可以忽
略不计容易无通过表1可知,方案三在费用和实施难度上来说具有一定的优势,当然,其获取适当的电阻值是需要一定的人力和物力的.
4结语  100 m延长线后连接PS/2设备无法正常使用的工程问题,可以应用市场上的一些解决方案.但在项目实施和费用上,存在着一些不足,从解决项目实际问题的角度出发,了解W83627芯片特性和PS/2协议的特点后,对上拉电阻值进行适当的修改,使PS/2设备可正常使用.其得出的模型(见图6)可以作为将来在处理类似问题时的参考依据,同时亦可加深对PS/2协议的理解.参