单片机USB描述符

发布者:SparklingSun最新更新时间:2013-10-12 来源: dzsc关键字:单片机  USB  描述符 手机看文章 扫描二维码
随时随地手机看文章
    设备列举所要执行的工作之一,即是取得这些有关于设各的相关信息,即为USB描述符。那么什么是USB描述符呢?用户可以稍微想像一下,它就好像是USB外围设各的“履历表”或“身份证”一般,钜细靡遗地纪录着与外围设各相关的一切信息。因此,USB描述符掌 握了有关于设各的各种信息与相关的设置。

  为了描述不同的数据,就须以不同类型的USB描述符来加以描述,如图1所示。虽然各个描述符都有不同的信息与数据,但所有的描述符都有一些共同的特性,也即是由如表1所列的格式所组成。其中,所有的Byte o是以字节为单位的描述符长度,而所有的Byte 1 则放置如表2和表3所列的描述符类型值,紧接着的其他字节,则随着不同的描述符而不同。如果该描述符的长度比规范上所定义的还要小,那么主机将会忽略。如果此大小又比规范所定义的还要大,那主机也会忽略所超出的字节,并在其回传的真正描述符长度的尾 端开始寻找下一个描述符。

图1 各种描述符的架构与类型

  在图1的描述符中,设备描述符(device descriptor)、配置描述符(configurationdescriptor)、接口描述符(interface  descriptor)以及端点描述符(endpoint descriptor)是必须具有的。而其他的描述符,如字符串描述符(strtng descriptor)、 数种不同的群组描述符(class descriptor)以及报告描述符(report descriptor)则可以根据不同的设备加以添加或删减。

表1 描述符的共同格式

表2 描述符类型值表一

表3 描述符类型值表二

  各种描述符可以用如图2所示的描述符层来作更深动的叙述。最上层的层是设各描述符。在设各描述符的bNumConfigurations 字段中,设置一个或多个下一层的配置描述符。在配置描述符的bNumlnterface字段中,设置一个或多个下一层的接口描述符。最后 在接口描述符的bNumEndpoints字段中,则设置最后一层的端点描述符。

  因此,从设各描述符中,可以设置含有多少个配置描述符。而配置描述符,则可设置其包含了多少个接口描述符,当然从接口 描述符中,又可以再设置所含端点的数目。因此,在其中可以了解到仅有一个设各描述符而已,其余的描述符再依次设置。当然如图 2所示,每一层至少须设置一个描述符。

图2 USB描述符层图[page]

  而其中,USB设各仅能具有一个设各描述符。在设各描述符中涵盖了如设各所兼容的USB版本,用来加载适当驱动程序的VID/PID码 ,以及设各所能够具有的可能配置数目。这个配置数目能够用来表示有多少的配置描述符的分支将被遵循。在这配置描述符中设置了 许多的数值,例如,如果设各是总线供电,可设置所特定设计使用的电流量以及其所具有的配置数目。

  当此设备在执行设各列举的程序时,主机会读取设各描述符,并且决定何种配置被使能。但每一次仅能有一个配置被使能。例如, 有一个设各可能具备高功率总线供电的配置,以及另一个是自我供电的配置方式·如果当此设各被接上具有主要的电源供应的主机后 ,设各驱动程序可以选择来使能这个高功率总线供电的设各。而此配置即可进一步地去使能此设各无须再连接至主要的电源供应器, 就可以获得电源。但是,如果此设各被连接至台式计算机,它也可被使能一种需要用户去接上电源供应点的第二种配置方式(自我供 电模式)。在这配置描述符中,不仅只限于设置电源的差异。每一种配置方式能够以同样的方式供电,以及流出相同的电流量,当然 也可具各不同的接口或端点的组合。然而,需注意的是,更改配置将会使在所有端点上的动作停止。虽然USB提供了这种便利性,可 是很少有设各具有超过一种配置。但对于如图3所举的复合式设各的例子就具有多种配置方式。

  如果一个复合式设备具备了电话、视频会议OCD,以及传输数据的Modem功能,其所有设各可能的回报如图3所示的配置架构。因此 ,图4所示的是电话的配置,图5所示的是影像串流的配置,图6所示的是传输数据的配置,图7所示的是另一种传输数据(较高品质的语音信号)的配置。所以对于一个复合式的设备,就有需要多重的配置切换来满足各种功能需求。

设备口报所有可能的配置

图3 一个复合式设备可能回报的所有配置方式

图4 一个复合式设备的电话配置方式

  如果用户具有一个包含了传真/扫描/打印机多功能(复合式设各)的事务机,那么其中第l个接口描述符就可用来描述传真机 设备的端点,第2个接口描述符就可用来描述打印机设各的端点,而第3个接口描述符就可用来描述扫描机设备的端点。那么在设备管理器的窗口下,就会呈现一个复合式设备的项目——USB Composite Device,女日图8所示。

影像串流

图5 一个复合式设备的影像串流配置方式

传输数据

图6 一个复合式设备的传输数据配置方式[page]

  传输数据(较高晶质的语音信号)

  图7 一个复合式设备的高品质数据传输的配置方式

  图8 复合式设备的显示

  但须注意的是,不像配置描述符,接口描述符是没有被限制在同一时刻仅有一个被使能。也即是设各能够在同一次被使能一个或多个 接口描述符。接口描述符具有blnterfaceNumber与bAlternateSetting字段,前者可设置接口的数目,后者则允许接口能够在执行中 被加以更改设置。例如,有一个设各包含了2个接口,接口1与接口2。在接口1中,blnterlaceNumber设置为0,用来表示其为第1个接 口描述符,以及bAlternativeSetting(Alternative Setting,AS)为0。 此外,在接口2中,blnterfaceNum-ber设置为1,用来表 示其为第2个接口描述符,以及bAlternativeSetting为0(预设)。此时,用户能够使能另一个描述符,也将blnterfaceNumbe设置为 1来表示其为第2个接口。但这时候,会设置bAlternativeSetting为1(原先预设为0)来表示这个接口描述

  符能够做切换的设置,并切至其他的接口描述符2。

  当此配置被使能时,前2个具有bAlternativeSett ings等于0的接口描述符将被使用到。然而,在操作的时候,主机能够送出 SetInterface要求直接给切换设置(Alterna_tlve Setting,AS)1的接口1,以使能另一个接口描述符。而这2种配置的优点是,当 用户要更改与接口1相连接的端点设置时,若此时正通过接口0来传输数据,是不会影响到接口0的相关设置。

  此外,每一个端点描述符用来设置传输的类型、方向、查询间格,以及每一个端点最

  大的封包大小值。但是用来作为控制传输的端点0是不会有其端点描述符的。

  至于,在Windows的操作系统中,是如何观看到各种描述符的内容呢?用户可以利用USB官方网站www.usb.org中,所提供的测试工 具USBcomp.exe Ver 5.0版经解压缩所产生的HIDView.exe执行程序来加以测试。在这里,使用昆盈(Genius)USB鼠标来测试各项 结果。如图9所示,是利用其中的一个测试项目View Descriptor来测试的情况。至于,如何使用这个工具程序呢?稍后的HID章节中 ,会有详尽的介绍,在此,用户仅须知道其测试结果即可。

  图9 通过HIDView.exe中的View Descriptors项目:冰测试备种描述符

  当进人View Descriptor项目后,首先测试的是该鼠标设各的PID/VID码0x0458/0x0003。然后再依序以层(次目录)的方式,显示该设各的所有描述符。此外,还有一个测试项目Device Framework来测试各种描述符。

  以下,将利用这两个测试项目来显示各种描述符,并加以介绍。

关键字:单片机  USB  描述符 引用地址:单片机USB描述符

上一篇:时间触发 合作式调度器 编程模式
下一篇:单片机USB设备登录编辑器

推荐阅读最新更新时间:2024-03-16 13:28

一种高速单片机数据采集处理系统设计
1  MAX1241介绍     MAX1241是MAXIM公司推出的一种串行A/D转换器,具有低功耗、高精度、高速度、体积小、接口简单等优点.MAX1241是一种单通道12位逐次逼近型串行A/D转换器,功耗低,转换速度快. 1.1  MAX1241功能特点     (1)2.7~5.25 V单电源供电;     (2)12位分辨率;     (3)8脚DIP/SO封装;     (4)低功耗:Pmax=3mW(73 KSPS),     (5)内部提供采样/保持电路;     (6)兼容于SPI/QSPI/MICROWIRE 串行三线外设接口;     (7)内部提供转换时钟. 1.2  芯片介绍及外围电路    
[单片机]
一种高速<font color='red'>单片机</font>数据采集处理系统设计
51单片机P0口的三个功能
1、外部扩展存储器时,当做数据总线(如图1中的D0~D7为数据总线接口) 2、外部扩展存储器时,当作地址总线(如图1中的A0~A7为地址总线接口) 3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。
[单片机]
51<font color='red'>单片机</font>P0口的三个功能
带分频整形的单片机频率计(1Hz—20MHz)
单片机频率计 系统采用单片机+分频模块+整形模块+lcd1602液晶显示+按键设计而成。 频率的测量范围为1Hz—20MHz能测量各种周期信号,能测出正弦波、三角波或方波等波形的频率。通过LCD1602液晶显示屏显示检测到的即时频率数值(最多8位数,单位为Hz)。 废话不多说,先上图 正面,组装之前 正面,组装之后 背面,焊线面 频率计电路原理图如下: PCB设计图如下: 74HC14电路设计 由于三极管放大电路输出的信号不是标准的方波信号,存在着上升沿不够陡峭,波形类似于正弦波等问题,为了使单片机对信号更好的采集,这里使用了施密特触发器74HC14对三极管放大电路输出的信号进行整形。电路图如图所示。
[单片机]
带分频整形的<font color='red'>单片机</font>频率计(1Hz—20MHz)
基于单片机的红外遥控智能调光调速器的设计
0 引言 电子遥控技术已经十分成熟了,它能为我们的生活带来方便。在我们日常生活中,处处都可以见到它的影子。比如:在小汽车上,有遥控电子锁。遥控玩具、空调与电视机也用到了遥控。常见的遥控,一是无线遥控,二是红外遥控。红外是一种不可见光,它介于可见光和微波之间,既有可见光的性质,如:直线传播、反射、折射等,又具有微波的一些特性,如穿透力强。红外线遥控是目前使用最广泛的一种遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空调机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅安全可靠而且能有效地隔离
[单片机]
基于<font color='red'>单片机</font>的红外遥控智能调光调速器的设计
C51单片机的压缩BCD码相加程序
设被加数 NA 及加数 NB 均为三字节压缩BCD码,分别存放于内部 RAM 的 20H~22H 及 30H~32H 单元中,低位在前,高位在后。 要求计算两数之和,并将和存放到内部 RAM 中 3FH~42H 单元,仍然是低位在前,高位在后。 编写完整的汇编语言源程序。 ;---------------------------------------------------------------------- 最佳答案: ;这个程序当然是楼主要求的C51单片机程序。 ;下面增加一些调试时使用的数据。 ORG 0000H MOV 20H, #12H ;假设被加数NA是563412 MOV 21H, #34H
[单片机]
51单片机实现两片联级74HC595控制跑马灯
一、使用proteus绘制简单的电路图,用于后续仿真 二、编写程序 /******************************************************************************************************************** ---- @Project: LED-74HC595 ---- @File: main.c ---- @Edit: ZHQ ---- @Version: V1.0 ---- @CreationTime: 20200529 ---- @ModifiedTime: 20200529
[单片机]
51<font color='red'>单片机</font>实现两片联级74HC595控制跑马灯
MCU操控下的扫地机器人有何大不同?
扫地机器人已经成为现在人们居家生活的好帮手,功能也在不断更新中。今年上半年,科沃斯首次为扫地机器人加入了MCU概念,并首发带MCU系统的扫地机器人叮叮。随后,各大扫地机纷纷开始效仿,一时间,MCU作为一个高端且漂亮的标签被贴上了各种品牌各种型号的扫地机! 当然,作为普通消费者的我们,什么是 MCU不重要,关键还在于MCU系统操控下的扫地机器人到底能给我们带来什么! MCU的中文名称为"微控制单元",又称"单片微型计算机",把它挪到扫地机行业,即为极速处理芯片+智能运算+动力电机的控制系统,简单来讲,当这个广泛应用于航天等高科技领域的"MCU智能操控系统"被应用到扫地机行业,那么产品的整体性能都会有很大的提升。好比一台拥
[单片机]
基于网络单片机PIC18F97J60的开发与应用
  Microchip公司生产的PICl8F97J60单片机将PIC18系列高端8位单片机与完整的以太网控制器集成在一起,并且包括了MAC、PHY和RAM收发缓冲器。利用这一64或100引脚封装的系列器件享有的完善网络连接功能,可以实现成本低、简单易用的以太网应用方案。此外,利用Microchip公司免费提供的TCP/IP软件栈,能够大大缩短开发时间。   1、PICl8F97J60网络单片机   1.1 网络特性   PICl8F97J60系列器件具有嵌入式以太网控制器模块。这是一个完整的连接解决方案,完全实现了介质访问控制(Media Access Control,MAC)和物理层收发器(Physical Layer T
[单片机]
基于网络<font color='red'>单片机</font>PIC18F97J60的开发与应用
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved