`
hcleon
  • 浏览: 263426 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

多功能USB设备的结构设计研究

 
阅读更多
转自: http://www.61ic.com/Technology/Industry/200701/11582.html

【摘 要】 在USB2.0规范的基础上,分析了USB描述符结构,提出了多功能USB设备的结构模型,总结出设计多功能USB设备结构的两种基本方法。
     关键词:通用串行总线,复合设备,组合设备,多功能


1 引 言
  作为计算机的外部设备接口,USB接口已得到广泛应用。多功能USB设备是一种复杂的USB设备,它虽然只有一个USB接口,但是却具有实现多种类型设备的功能。具有多功能USB的设备被逐渐地应用起来,常见的设备有带鼠标的USB键盘、带话筒的USB摄像头等。因此,研究多功能USB设备的结构设计十分必要。
  2002年4月27日,康柏、惠普、英特尔、朗讯、微软、NEC和菲利浦等数家公司联合修订了《UniversalSerial Bus Specification Revision 2.0》(这里简称USB2.0规范),本文的研究就是在这个规范的基础上进行的。
2 USB设备的设计原则
  在USB系统中,USB主机(host)扮演主控(master)角色。除了设备的远程唤醒(remote wakeup)功能外,USB设备不会是事件的发起者,设备做到的只是响应主机的请求。图1所示是USB通信的请求响应模型。

  USB采用这种以主机为中心的模型的原因是节省花费。通信中应尽量将主机端智能化一些,使设备端简单一些,这样,才能降低计算机外围设备的花费。因此,在设计USB设备,特别是设计多功能USB设备时,应使USB设备端处理通信时尽量简单。
3 USB规范中的几种重要描述符
  在列举过程(enumeration process)中,主机使用控制传输方式从设备请求描述符。描述符包含了设备的基本信息。主要的描述符有:设备描述符(devicedescriptor)、配置描述符(configuration descriptor)、接口描述符(interface descriptor)以及端点描述符(endpoint descriptor)。
  一个USB设备对应一个设备描述符。一个USB设备可以有一个或多个配置,但在一个时刻内,只有一个配置是有效的(one ata time)。每个配置有一个或多个接口,只要配置有效,其所有的接口都是有效的(concurrently active)。每个接口可有多个端点,一个端点(除端点0外)不可以在一个配置下的多个接口间共享,但可以在不同配置下的接口间共享。端点是一个USB设备的一个唯一的可寻址部分,用来作为主机和设备之间通信流的信息源或接收器。接口是端点的集合,是设备实现某种功能的最小载体。它们之间的结构见图2。图2所示是USB描述符树。

4 多功能USB设备的结构模型
  多功能USB设备通常是通过单个或多个USB控制器(USBcontroller)连接不同类型的设备来实现的。当然,将不同类型的设备功能集成到USB控制器中去,来实现多功能USB设备也是可以的,因为USB规范讨论的是USB主机与USB控制器(或者集线器)之间的通信协议,不涉及USB控制器与不同类型设备(或芯片)的通信协议问题。因为用两个设备实现多功能的USB设备与用多个设备来实现多功能的USB设备的原理相同,所以,本文以两个设备为例来说明多功能的USB设备的设计方法和结构模型。因此,可以把多功能的USB设备抽象成如图3的结构(不同类型设备用A和B类设备表示)。
5 多功能USB设备的设计需要解决两个主要问题
  多功能设备结构模型(数据流)图如图3所示,多功能USB设备的设计需要解决两个主要问题:

  首先需要确定USB主机与A设备和B设备如何通信的问题(多功能USB设备的外部通信问题)。包含的问题有:设计是采用单个USB控制器还是多个USB控制器,其整体的结构应如何设计;(2)是否采用USB的标准设备类(涉及USB设备的驱动能否被操作系统自动加载的问题)。
  其次要解决USB控制器如何处理USB主机与A设备和B设备间的通信问题(多功能USB设备的内部通信问题)。包含的问题有:如何实现USB主机和A设备间的数据流与USB主机和B设备间的数据流区分问题;选用何种控制器芯片能最大限度地支持与A设备之间接口的连接和B设备之间接口的连接。
6 USB结构设计思路
  总体说来,USB设备有两种基本的设计方法:采用USB复合设备(compound device)的方法和采用USB组合设备(composite device)的方法。
6.1 复合设备设计方法
6.1.1 复合设备方法的特点
  复合设备方法是采用三个USB控制器芯片,其中一个为USB集线器芯片,另外是连接设备A的USB控制器芯片和连接设备B的USB控制器芯片。该方法的实质是将两种功能独立的USB设备通过内部的USB集线器封装在一起成为USB多功能设备。复合设备中的每一个USB设备模块和内部的USB集线器都有自己独立的设备地址。复合设备在内部采用多个USB控制器的方法,简单地解决了多功能USB设备与USB主机通信时内部数据流(USB主机与设备A的数据流和USB主机与设备B的数据流)的区分问题。该方法结构清晰,复合设备结构模型(数据流)如图4所示。
  复合设备结构中,USB控制器A和B的设备描述符中定义了各自的设备类代码。如设备类代码是USB标准的设备类代码,USB主机与USB控制器A或B的通信按照相应的USB设备类规范进行。如果是用户自定义的设备类代码,则USB主机与USB控制器A或B的通信按照用户自定义的协议进行。

6.1.2 复合设备方法可实现性的分析
  开发过程。采用此方法开发多功能USB设备时,其开发过程同开发两种不同类型的USB设备A和B相同。
  芯片选型。选择USB控制器A和B时,可分开考虑,芯片选型比较容易,编程调试也可分开进行。
  驱动程序。如USB主机与USB控制器间的通信遵循USB标准的设备类规范的要求,Windows和Linux等常用操作系统可自动加载驱动程序。
  总体来讲,采用复合设备方法开发多功能USB设备难度较低。
6.2 组合设备设计方法
6.2.1 组合设备方法的特点
  USB组合设备(composite device)是指具有多个接口且接口间相互独立的USB设备。一个USB组合设备只有一个设备地址。可以将不同的功能与不同的接口对应,来开发多功能USB设备。
  组合设备采用一个USB控制芯片,同时接A和B设备(或芯片)。主机可同时与A和B芯片通信。组合设备结构模型(数据流)如图5所示。

6.2.2 组合设备的描述符结构
  以两接口的组合设备为例,如图6所示,来说明组合设备的描述符结构:一个设备描述符下有一个配置描述符;一个配置描述符下有两个接口描述符;每个接口描述符下有多个端点描述符;在接口描述符中设置子设备类型;除两个0端点(包括输入in和输出out)外,其它的端点在不同接口间不能共享。
  在每个接口描述符中,可以定义相应的子类代码。如接口描述符中子类代码是USB标准的设备类代码,则USB主机与USB控制器这个接口的通信(实际上是与这个接口中的端点通信)应按照相应的USB设备类规范进行;如果是用户自定义的设备类代码,则USB主机与USB控制器这个接口的通信按照用户自定义的协议进行。

  组合设备虽然只采用一个USB控制芯片,但通过控制不同的接口(实际上是接口内的端点)与不同的设备通信,也很好地解决了两个数据流(USB主机与设备A的数据流和USB主机与设备B的数据流)在一个USB控制器上的区分问题。
6.2.3 组合设备方法可实现性的分析
  (1)芯片选型。采用组合设备方法需要选择合适的USB控制器。对选择USB控制器的限制主要有:USB控制器可提供的端点数量和这些端点支持的传输类型;USB控制器需较好地支持与设备A和B间的传输协议。
  (2)开发过程。采用组合设备方法开发多功能USB设备时,可以先分开调试两个接口;一旦每个接口都独立运行正确,接着就可编写有两个接口的完整描述符(结构如图6所示);最后将两段程序叠加在一起即可。
  (3)驱动程序。如在接口描述符中使用标准的USB设备类,且每个子类的通信遵循USB标准的设备类规范的要求,Windows和Linux等常用操作系统可自动加载驱动程序。
  总体来讲,采用组合设备方法开发多功能USB设备需得到USB控制器的更多支持,难度较大一些。
7 结束语
  一般来讲,采用复合设备方法设计的多功能USB设备结构比较清晰,选择USB控制器的范围很大,相应获得的技术支持更好一些。但选择USB控制器较多,花费有可能比采用组合设备方法设计多一些。现在的不少芯片厂商也逐渐提供组合设备的芯片方案,如可驱动带话筒的摄像头的USB控制器。在选择何种方法设计多功能USB设备时,关键在于USB控制器的芯片选型,这样才能使今后的开发工作简单起来。

参考文献

1 〔美〕Jan Axelson著.USB大全.陈 逸,等译.北京:中国电力出版社,2001
2 许永和编著,健莲科技改编.USB外围设备设计与应用.北京:中国电力出版社,2002
分享到:
评论

相关推荐

    多功能USB设备的结构设计研究1

    【摘要】在USB2.0规范的基础上,分析了USB描述符结构,提出了多功能USB设备的结构模型,总结出设计多功能USB设备结构的两种基本方法。关键词通用串行总线,

    jsr80 java 访问 usb

    每一段连线都是 hub 与 USB 设备的点对点连接,后者可以是为系统提供更多附加点的另一个 hub,也可以是一个提供功能的某种设备。主机使用主/从协议与 USB 设备通信。这种方式解决了包冲突的问题,但是同时也阻止了...

    基于USB2.0的信号发生器与高速数据采集系统的研究

    针对实验室项目的具体需要,本论文基于USB2.0研制出一种多功能的信号发生器 与高速数据采集系统。 论文重点介绍系统的软硬件设计,硬件设计包括:系统的组成、结构形式和 接口方案,软件设计包括:UsB的固件程序、...

    基于USB的经络信号的检测系统与设计论文资料.zip

    2.1系统的总体结构设计 基于USB技术的经络数据采集系统用于完成数据的采集传输与处理。共分三个部分设计:采集电路部分、USB接口电路部分和上位机。 经络数据采集系统不仅是一种医用辅助诊疗设备,同时也是以微型...

    开关电源设计逆变器正激变换器电源设计参考变压器PCB设计规范等238个电源类设计相关资料合集.zip

    多功能充电器.pdf 多电平变换器拓扑及控制技术的发展综述.pdf 多重谐直流电源转换器之分析与制作.pdf 大功率半导体照明的技术方案和组成结构.pdf 大功率谐振过渡软开关技术变频器研究(2).pdf 天关电源控制环设计.pdf...

    电源技术中的研究设计基于LP3913的便携设备电源管理系统

    【摘要】:介绍了多功能电源管理单元器件LP3913的基本结构和工作原理,并以S3C2440A处理器为控制核心设计了基于LP3913的电源管理系统。该系统设计采用USB外接电源和锂离子电池供电,整个电路结构紧凑,功能完善实用。 ...

    智能网关结构.docx

    1 无线智能家庭网关控制技术的结构设计 1.1 家庭网关组网技术的选择 ZigBee技术是一种新兴的远距离、低复杂度、低功耗、低数据速率、低成本的双向无线通信技术。ZigBee技术的低数据速率特点,适合于承载数据流量较...

    linux设备驱动程序

    内核的这个版本针对常见任务完成了合理化设计及相应的简化,如即插即用、利用sysfs文件系统和用户空间交互,以及标准总线上的多设备管理等等。要阅读并理解本书,您不必首先成为内核黑客;只要您理解C语言并具有Unix...

    基于STM32的嵌入式网络控制器设计

    论文首先介绍了网络控制器的工作原理和整体结构,然后对网络控制器具体实现进行了深入的研究和详细的设计。该网络控制器硬件平台采用微控制器外接网络物理层PHY芯片的设计方案,实现了自适应101100Mbs的网络通信。...

    基于单片机的串口通信模块设计.doc

    另外,USB协议则是一种比较新型、快速、灵 活的总线传输方法,此通信系统通常只有一个主机,利用此方法设计的通信息有如下特 点:(1)适用范围广泛,适用于数码相机,高速数据采集等多种设备;(2)支持热拔 插,且...

    windows驱动开发技术详解-part2

     本章首先对Windows驱动程序的两个重要数据结构进行介绍,分别是驱动对象和设备对象数据结构。另 外还要介绍NT驱动程序和WDM驱动程序的入口函数、卸载例程、各种IRP派遣上函数等。  4.1 Windows驱动程序中重要的...

    Windows驱动开发技术详解的光盘-part1

     本章首先对Windows驱动程序的两个重要数据结构进行介绍,分别是驱动对象和设备对象数据结构。另外还要介绍NT驱动程序和WDM驱动程序的入口函数、卸载例程、各种IRP派遣上函数等。  4.1 Windows驱动程序中重要的...

    研究设计基于LP3913的便携设备电源管理系统

    绍了多功能电源管理单元器件LP3913的基本结构和工作原理,并以S3C2440A处理器为控制核心设计了基于LP3913的电源管理系统。该系统设计采用USB外接电源和锂离子电池供电,整个电路结构紧凑,功能完善实用。

    基于单片机的MP3播放器设计-毕业设计.doc

    而硬盘式MP3的多 功能及大容量,也必将受到不少消费者的喜爱。 另外一个原因是近年来,嵌入式系统和单片机开发的有机结合,已广泛被使用于网络 通信、工业控制、机顶盒、PDA等诸多领域[8]。本文提出了一种基于单片机...

    单片机设计大赛作品 — 多媒体空中鼠标电路和PCB源文件、源程序、项目报告,适用于毕业设计-电路方案

    SLH89F5162单片机具有高加密性,设备的源代码最重要的部分是USB设备的开发,如果有人获得这些通信协议,那么这个设备核心也就被窃取了。在本设计中,它的作用分为信号采集控制与信号处理控制。在信号采集过程中,这...

    WXH-SC1型手持式气象站

    7、结构设计科学合理,方便携带。 三、技术参数: 气象参数 测量要素 测量范围 测量精度 分 辨 率 单位名称 环境温度 -50~50 ±0.2 0.1 ℃ 环境湿度 0~100 ±3(≤80%时) ±5(>80%时) 0.1 % 风 速 0~70 ±(0.3+...

    微机接口技术课件工大版

    接着讲解了微型机和外设之间的各种数据传输方式,其中,着重分析了中断方式和DMA方式的工作原理和传输特点,并用较多篇幅讲述微型机的接口技术,逐一讲解了各关键接口部件以及多功能接口部件的原理和应用;...

    Basic4android库分析器兼智能提示文本汉化工具

    开发者可以在Basic4android环境下利用Android模拟器或Android物理设备(利用USB连接或通过本地网络连接)进行程序开发和调试。 Basic4android带有丰富的库函数,支持所有的Android 核心特性,因而使其非常容易进行...

    入门学习Linux常用必会60个命令实例详解doc/txt

    虚拟控制台的切换可以通过按下Alt键和一个功能键来实现,通常使用F1-F6 。 例如,用户登录后,按一下“Alt+ F2”键,用户就可以看到上面出现的“login:”提示符,说明用户看到了第二个虚拟控制台。然后只需按“Alt+...

Global site tag (gtag.js) - Google Analytics