USB键盘特殊功能键的实现

2006-10-18 15:14:16来源: 电子产品世界

引言

  随着计算机接口技术的日新月异,传统的PS2键盘已不再对市场形成垄断,USB键盘正在逐渐扩大市场占有率。与此同时,USB键盘也在不断完善自身的功能,由于传统的107键结构键盘已无法满足用户的需要,所以带有特殊功能键的USB多媒体键盘也就应运而生。

USB

  USB接口具有如下优点:即插即用(Plug and Play)的特性,并具有自动检测的功能;可扩充到127个设备,支持热插拔,无需关闭系统电源;最高可达480Mbps传输速率(USB2.0协议支持,USB1.1协议最大支持12Mbps),可满足大多数设备的传输使用需要。

  USB的数据传输共有四种类型:(1)控制传输;(2)中断传输;(3)批量传输;(4)同步传输。在USB键盘中只用到控制传输和中断传输。所有的USB设备,必须通过系统列举才可以正常使用。USB协议规定几种必需的描述符:设备描述符,配置描述符,接口描述符,端点描述符,HID描述符和报告描述符,键盘设备列举的过程,是设备根据自身的具体实际把描述符按主机要求的顺序和格式,通过D+和D-两路差分数据线,发送给主机的根集线器。列举成功后,设备管理器中显示此设备为人体学输入设备[1]。列举简单流程如图1所示。

     图1 设备列举流程图

报告描述符

  一个USB多媒体键盘,共包含三种按键:普通按键,系统特殊功能键和用户特殊功能键,其中系统特殊功能键有Sleep、Power和Wakeup三个,用户特殊功能键较多,常用的有www, Mail , My Computer等。在USB列举中,对键盘的特殊功能键的描述,主要是通过键盘的报告描述符(表1,表2)来实现的,即按照USB协议[2]的要求,将给定的报告描述符发送给主机,主机通过分析接收到的报告描述符,判断出键盘的按键信息,然后实现对按键的响应。下面给出列举的报告描述符并详细说明。

  描述符中0980表示其下的描述符是关于系统特殊功能键,定义头字节为02,第二个字节表示键值信息,报告数值为3,表示有三个不同的健值需要发送。发送时,第二字节每位从低位到高位顺序置1,以表示不同键值,向主机发送的数据如下:
POWER:
00000010 00000001即02 01
SLEEP:
00000010 00000010即02 02
WAKEUP:
00000010 00000100即02 04
当按键抬起时,向主机发送零帧:即02 00

  报告描述符中050c,0901表示以下是用户特殊功能键,定义字头是03,报告长度为8,需要8位即一个字节来表示所有的键值信息。不同的键值,是通过对字节从低到高的8位顺序置1来表示,对于我们的报告描述符,按键PLAY/PAUSE送入主机的键值应为:  00000011 00000001即03 01

  以下列举三个常用按键按下时键盘向主机发送的键值:

WWW:报告描述符中第六个,送入主机的键值应把第六位置1,即:
00000011 00100000即03 20

SEARCH:报告描述符中第五个,送入主机的键值应把第五位置1,即:
00000011 00010000即03 10

MAIL:报告描述符中第二个,送入主机的键值应把第二位置1,即:
00000011 00000010即03 02

  当按键抬起时,向主机发送零帧:即03 00

系统方案

  我们使用Altera公司1K100QC208芯片作为系统的核心芯片,实现键盘扫描,编码,USB接口以及整体系统控制的功能,配以Philips公司的P11A芯片,作为USB设备的和主机之间的 transceiver,外加一个改装后的带特殊功能键的键盘,组成USB带特殊功能键的键盘系统(图2)。

             图2 系统实现

结语

  通过以上方案,我们按照USB协议规定和主机通信,实现了USB多媒体键盘特殊功能键部分的功能。

参考文献:

1. “Universal Serial Bus Specification Revision 1.1”,1998
2.“Device Class Definition for Human Interface Devices(HID)”,2001

关键字:控制  中断  差分  协议

编辑: 引用地址:http://www.eeworld.com.cn/designarticles/others/200610/6570.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
控制
中断
差分
协议

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved