USB键盘特殊功能键的实现
发布时间:2008/5/27 0:00:00 访问次数:683
    
    
    来源:电子产品世界 作者:南开大学信息技术科学学院 李国峰 梁科 郭杰辰 王锦 天津中晶微电子有限公司 马世亮
    
    摘要: 本文较为详尽地介绍了在usb多媒体键盘系统中,特殊功能键的实现方法。
    
    关键词: 通用串行总线;系统特殊功能键;用户特殊功能键;报告描述符
    
    引言
    随着计算机接口技术的日新月异,传统的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多媒体键盘系统中,特殊功能键的实现方法。
    
    关键词: 通用串行总线;系统特殊功能键;用户特殊功能键;报告描述符
    
    引言
    随着计算机接口技术的日新月异,传统的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
上一篇:MEG阵列连接器系统
上一篇:电力电缆接头运行温度的在线监视