USB20协议中文版

合集下载

USB 10 & 20 介绍

USB 10 & 20 介绍

詳細支持內容» 什麼是 USB ?» USB 電纜線和電纜線長度» USB 是否比平行埠快?» USB 與 IEEE1394 (Firewire) 的評比» 如何辨識支援 USB 2.0 的產品?» USB 架構» 支援的 Macintosh 環境» 支援的 Windows 環境» USB 分層結構什麼是 USB ?通用序列匯流排 (USB) 是在新款電腦上找到的連接埠類型。

有兩個版本的 USB 可用:USB 1.0/1.1 和 USB 2.0。

週邊裝置的連接方式是從一個或多個電腦 I/O 連接埠開始,以鏈狀、樹狀或星形結構連接。

這些裝置在安裝時將會被偵測到和設定(隨插即用),而且無需關閉和重新啟動電腦便可以新增或移除這些裝置。

裝置不必直接連線至電腦,而且無需關閉和重新啟動電腦便可以新增和移除這些裝置。

還可以按照任何順序安裝裝置,例如,將鍵盤和打印機連線至電腦,然後將滑鼠和控制桿連線至鍵盤,同時透過打印機安裝數據機和掃描器。

注意:請始終將 HP all-in-one 產品直接連線至電腦背面 的 USB 連接埠或者連接到供電式集線器。

在其他裝置上或某些電腦前方的 USB 連接埠可能無法提供足夠的電力維持與多合一裝置之間的通信。

USB 2.0 是最新的 USB 標準,該標準從 2001 年開始在新產品上使用。

若要使用該標準,電腦和週邊裝置都必須兼容 USB 2.0。

USB 1.0/1.1重要規格如下:1.0 的資料傳輸率為 1.5 Mbps • 1.1 的資料傳輸率為 12 Mbps •最多可支援 127 個裝置•具有熱拔插與隨插即用功能•可進行同步和非同步兩種資料傳輸•電纜線的長度可長達 5 公尺•用於低電源裝置的內建電源供應/分配•只有 Windows 98 和 Windows 2000 可完全支援•USB 1.0/1.1 和 USB 2.0 綜覽HP 顧客貼心服務USB 2.0重要規格如下:•包含 USB 1.0 和 1.1 所具備的所有功能•與原有的 USB 1.0 和 1.1 完全相容•在下面兩個版本中提供:USB 與高速 USB•USB 的傳輸率為 12-Mbps;高速 USB 的傳輸率為 480 Mbps•所有週邊裝置都會以最高速率,而不是最低速率執行•通過比 USB 1.0/1.1 更高層的測試,表現更加穩定。

USB20技术规范中文PDF

USB20技术规范中文PDF

USB20技术规范中文PDF篇一:USB全规范详细分析(技术篇)USB全规范详细分析(技术篇)USB规格设计上面说的那些只是很表面的东西,接下来的就是技术知识深一点的了,大家做好心理准备喔。

USB规格的规范化建立USB规格的厂商们,共同设立了一个称为"USB应用者论坛(USB Implementers Forum Inc,USB-IF)"的非营利组织。

USB-IF是一个技术支持组织,也是接受各界对USB研发与应用建议的论坛。

这个论坛促进了高品质并具兼容性USB设备的研发,以及通过规格测试的产品的推广。

符合USB 1.1规范的标志符合USB 2.0规范的标志和其它业界规格(像是IEEE 1394、DTS、WiFi、Dolby或是DVD等)一样,USB 1.0和USB 2.0都有正式的标示。

厂商将这些标示印在产品与包装上,以代表他们的产品是遵照这些规格设计的。

这些标示确保了兼容性,并且代表产品经过测试。

产品上高速USB 2.0规格的标示,代表它能够与其它同样有高速USB 2.0规格标示的外设一起正常使用。

如果一项产品没有这项标示,却还是声称具有兼容性,那就不能保证能和其它USB 2.0一起使用了。

为了顾及到兼容性,建议您只购买通过认证的USB设备。

一家厂商的产品要能够标上高速USB 2.0规格的标示,那得先成为USB-IF的付费会员(年费2500美元),而且该产品也需要通过由USB-IF所制定的全速与低速测试程序才行。

测试的目的,是要来检验在全速与低速模式下,这些准备出货的产品的USB功能是否能够正常运作。

详细的测试步骤分成三大项,每一大项的产品都需要分别通过属于该大项的测试步骤.接口卡、主板和计算机系统o 电源提供测试(Power Provider testing)o 传出信号品质(Downstream Signal Quality)o 互通性(Interoperability)" 全速与低速集线器(不含高速支持)o 电源提供测试(Power Provider testing)o 传出信号品质(Downstream Signal Quality)o 回传信号品质(Upstream Signal Quality)o 设备架构测试(Device Framework Testing)o 互通性(Interoperability)o 平均电流消费(Average Current Consumption)" 全速与低速外设o 回传信号品质(Upstream Signal Quality)o 设备架构测试(Device Framework Testing)o 互通性(Interoperability)o 平均电流消费(Average Current Consumption)在设计USB 2.0这样高速的设备时,设计者尤其要注意到设备封装(Device Packaging)、电路板设计(Board Layout)、机身接地(Chassis Grounding)、布线设计(Trace Layout),防治电磁干扰(EMI Remediation)、以及资料信号衰减噪声(Data Signal Attenuation/ Jitter)等问题。

F_USB20LP中文资料

F_USB20LP中文资料

Standard Bus IP: High Speed USB 2.0 Device ControllerSupports high-speed (480Mbps) and full-speed (12Mbps)Customize endpoint numbers and configurationsUTMI (USB2.0 Transceiver Macrocell Interface)Full compliance with USB 2.0 Device Controller standardIntegrated PHY macro for system cost reduction and space savingFujitsu USB 2.0 device controller is a synthesizable core suitable for different process. Corresponding physical interface in 0.18um and 0.11um technology (supporting high and full speed operation)also available for integration.Generic CPU interface makes it easy to be integrated into overall ASIC. Different endpoints are available for application such as printer, scanner, digital still camera, bluetooth devices, digital set top box,cable modems and PC Access Point to high speed wireless connectivity.Integrated SIE performs synchronization pattern recognition, bit stuffing/ stripping, CRC check/ generation, serial/ parallel conversion,PID verification, address recognition and handshake evaluation/response.The macro decodes and handles standard USB commands. Device class specific command is passed on to the ASIC for further processing.LinkProtocol Engine (UDC-20) is a fully synthesizable soft core that supports high-speed (480 Mbps), full-speed (12Mbps) signaling bit rates.Protocol engine reduces CPU burden by processing basic USB 2.0 protocols in hardware.Endpoint numbers, configurations, and its FIFO densities are flexible. Following is one of the configuration examples.1) End Point 0 control out 2) End Point 0 control in 3) End Point 1 Bulk out 4) End Point 2 Bulk in 5) End Point 3 Interrupt in64Byte 64Byte512Byte (Double buffer)512Byte (Double buffer)64BytePHY block consists of a 0.18um hard macro and a soft macro (Receiving Block).PHY block supports high-speed (480Mbps) and full-speed (12Mbps).Contains high-speed Analog Blocks and high-speed SERDES (serializer and de-serializer Logic) and provides a parallel interface to UDC-20 protocol Engine.16bit parallel connection to LinkPHYA p p l i c a t i o n (V C I ) I n t e r f a c eP H Y I n t e r f a c e – (U T M I )Protocol Engine (UDC-20) InternalsASIC Development SupportFujitsu provide analog macro to supplement ASIC development,such as USB transceiver, and APLL (various speed combinations.Accurate timing model is provided for synthesis, simulation and Static Timing Analysis (STA).Small gate count and soft coach approach makes it efficient to integrate into an ASIC. Fujitsu provides a set of functional vectors to customer for module hand-shake and full chip verification. Our application engineer works with you on full chip design forUSB test chip with selectable configurations,Test chip and macro specifications Encrypted RTL for top level simulation Application notes and testability guideTest benches for standalone IP verificationsDeliverables:Fujitsu Microelectronics Asia Pte LtdShenzhenBranch OfficeFUJITSU MICROELECTRONICSPACIFIC ASIA LTDRm. 4509, Di Wang Commercial Ctr,5002 Shen Nan Dong Road Shenzhen 518008, PRC Phone:(86 755) 246 1662Fax:(86 755) 246 1510PenangBranch OfficeFUJITSU MICROELECTRONICSASIA PTE LTDBlock B, 303-5-13, Krystal Point,Jalan Sultan Azian Shah,Sungai Nibong 11900, Penang, Malaysia Phone:604 - 645 - 2050Fax:604 - 645 - 6658SingaporeAsia Pacific Headquarters &Singapore Sales OfficeFUJITSU MICROELECTRONICS ASIA PTE LTD 151 Lorong Chuan#05-08, New Tech Park Singapore 556741Phone:(65) 6281 0770Fax:(65) 6281 0220Hong KongSales OfficeFUJITSU MICROELECTRONICSPACIFIC ASIA LTDRoom 1101 Ocean Centre 5 Canton RoadTsim Sha Tsui, Kowloon, Hong Kong Phone:(852) 2377 0226Fax:(852) 2376 3269ShanghaiBranch OfficeFUJITSU MICROELECTRONICSPACIFIC ASIA LTDRm. 1905 - 1906, Aetna Tower 107 Zunyi RoadShanghai 200051, PRC Phone:(86 21) 6219 7170Fax:(86 21) 6219 9243FloorTaiwanSales OfficeFUJITSU MICROELECTRONICS ASIA PTE LTD Room G, 12No. 168 Tun-Hwa N. Road Taipei, TaiwanPhone:(886 2) 2719 2011Fax:(886 2) 2545 3690BeijingBranch OfficeFUJITSU MICROELECTRONICSPACIFIC ASIA LTD Unit 2701, 27th Floor.China World Tower 1, No. 1 Jian Guo Men Wai Avenue, Beijing 100004, PRC Phone:(86 10) 6505 9750Fax:(86 10) 6505 9751。

CH341T(SSOP-20)

CH341T(SSOP-20)

USB总线转接芯片CH341中文手册版本:2B1、概述CH341是一个USB总线的转接芯片,通过USB总线提供异步串口、打印口、并口以及常用的2线和4线等同步串行接口。

在异步串口方式下,CH341提供串口发送使能、串口接收就绪等交互式的速率控制信号以及常用的MODEM联络信号,用于为计算机扩展异步串口,或者将普通的串口设备直接升级到USB总线。

在打印口方式下,CH341提供了兼容USB相关规范和Windows操作系统的标准USB打印口,用于将普通的并口打印机直接升级到USB总线。

在并口方式下,CH341提供了EPP方式或MEM方式的8位并行接口,用于在不需要单片机/DSP/MCU 的环境下,直接输入输出数据。

除此之外,CH341A芯片还支持一些常用的同步串行接口,例如2线接口(SCL线、SDA线)和4线接口(CS线、CLK线、DIN线、DOUT线)等。

2、特点2.1. 概述●全速USB设备接口,兼容USB V2.0,外围元器件只需要晶体和电容。

●可选:通过外部的低成本串行EEPROM定义厂商ID、产品ID、序列号等。

●低成本,直接转换原串口外围设备、原并口打印机、原并口外围设备。

●采用SOP-28封装,串口应用还提供小型的SSOP-20封装。

●由于是通过USB转换的接口,所以只能做到应用层兼容,而无法绝对相同。

2.2. 异步串口●仿真标准串口,用于升级原串口外围设备,或者通过USB增加额外串口。

●计算机端Windows操作系统下的串口应用程序完全兼容,无需修改。

●硬件全双工串口,内置收发缓冲区,支持通讯波特率50bps~2Mbps。

●支持串口发送使能、串口接收就绪等传输速率控制信号和MODEM联络信号。

●通过外加电平转换器件,提供RS232、RS485、RS422等接口。

●支持以标准的串口通讯方式间接地访问CH341外挂的串行EEPROM存储器。

2.3. 打印口●标准USB打印口,用于升级原并口打印机,兼容相关的USB规范。

USB20技术规范(中文)

USB20技术规范(中文)

USB20技术规范(中文)第1章绪论1.1起因Intel公司开发的通用串行总线架构(USB)的目的主要基于以下三方面考虑(一)(二)易用性众所周知,PC机的改装是极不灵活的对用户友好的图形化接口和一些软硬件机制的结合加上新一代总线结构使得计算机的冲突大量减少且易于改装但以终端用户的眼光来看PC机的输入/输出如串行/并行端口键盘鼠标操纵杆接口等均还没有达到即插即用的特性USB正是在这种情况下问世的(三)端口扩充外围设备的添加总是被相当有限的端口数目限制着缺少一个双向价廉现有的连接只可对极少设备进行优化对于PC机的新的功能部件的添加需定义一个新的接口来满足上述需要USB就应运而生它是快速双向同步动态连接且价格低廉的串行接口可以满足PC机发展的现在和未来的需要1.2USB规范的目标本书规范了USB的工业标准该规范介绍了USB的总线特点协议内容事务种类总线管理接口编程的设计以及建立系统制造外围设备所需的标准设计USB的目标就是使不同厂家所生产的设备可以在一个开放的体系下广泛的使用该规范改进了便携商务或家用电脑的现有体系结构进而为系统生产商和外设开发商提供了足够的空间来创造多功能的产品和开发广阔的市场并不必使用陈旧的接口害怕失去兼容性1.3适用对象该规范主要面向外设开发商和系统生产商并且提供了许多有价值的信息给操作系统/BIOS/设备驱动平台IHVS/ISVS适配器以及各种计算机生产厂家使用该USB版本的规范可以用来设计开发新产品改进一些经典的模型并开发相应的软件所有的产品都应遵循这个规范——USB1.11.4本书结构第一章至第四章为读者提供了一个纲要第五章至第十章则提供了USB 的所有的具体技术细节外设厂家应着眼于第四章至第十章USB的主机控制器应用主要参考第四章至第七章和第九十章USB设备驱动厂家主要参考第四七九章UniveralSerialBuDeviceClaSpecification一书可以作为本书的补充和参考各种设备的规范是形形色色的如有疑问请与USBImplementForum索要更多细节读者也可以为向操作系统厂商索取关于USB的一些具体特性第2章背景知识本章将对USB背景知识作简单描述其中主要包括设计目标总线特性以及现行技术特点2.1USB的设计目标USB的工业标准是对PC机现有的体系结构的扩充USB的设计主要遵循以下几个准则易于扩充多个外围设备价格低廉且支持12M比特率的数据传输对声音音频和压缩视频等实时数据的充分支持协议灵活综合了同步和异步数据传输兼容了不同设备的技术综合了不同PC机的结构和体系特点提供一个标准接口广泛接纳各种设备赋予PC机新的功能使之可以接纳许多新设备2.2使用的分类表2-1按照数据传输率(USB可以达到)进行了分类可以看到12M比特率可以包括中速和低速的情况总的来说中速的传输是同步的低速的数据来自交互的设备USB设计的初衷是针对桌面电脑而不是应用于可移动的环境下的软件体系通过对各种主机控制器提供支持以保证将来对USB的扩充性能应用特性低速交互设备10-20kb/中速音频压缩视频500kb/-10Mb/键盘鼠标游戏棒低价格热插拔易用性ISBNPB某POTS低价格易用性动态插拔限定带宽和延迟音频磁盘高速高带宽限定延迟易用性音频磁盘25-500Mb/表2-12.3特色USB的规范能针对不同的性能价格比要求提供不同的选择以满足不同的系统和部件及相应不同的功能其主要特色可归结为以下几点终端用户的易用性为接缆和连接头提供了单一模型电气特性与用户无关自我检测外设自动地进行设备驱动设置动态连接动态重置的外设广泛的应用性适应不同设备传输速率从几千比特率到几十兆比特率在同一线上支持同步异步两种传输模式支持对多个设备的同时操作可同时操作127个物理设备在主机和设备之间可以传输多个数据和信息流支持多功能的设备利用低层协议提高了总线利用率同步传输带宽同步工作可以利用整个总线带宽灵活性直接一系列大小的数据包允许对设备缓冲器大小的选择通过指定数据缓冲区大小和执行时间支持各种数据传输率通过协议对数据流进行缓冲处理健壮性出错处理/差错恢复机制在协议中使用对用户感觉而言热插拔是完全实时的可以对有缺陷设备进行认定与PC产业的一致性协议的易实现性和完整性与PC机的即插即用的体系结构的一致对现存操作系统接口的良好衔接价廉物美以低廉的价格提供1.5兆比特率的子通道设施将外设和主机硬件进行了最优化的集成促进了低价格的外设的发展廉价的电缆和连接头运用了商业技术升级路径体系结构的可升级性支持了在一个系统中可以有多个USB主机控制器第3章体系结构概述本章主要内容是关于USB的概述和一些关键的概念USB是一种电缆总线支持在主机和各式各样的即插即用的外设之间进行数据传输由主机预定的标准的协议使各种设备分享USB带宽当其它设备和主机在运行时总线允许添加设置使用以及拆除外设后续章节将着重描述USB的细节3.1USB系统的描述一个USB系统主要被定义为三个部分USB的互连USB的设备USB的主机USB的互连是指USB设备与主机之间进行连接和通信的操作主要包括以下几方面总线的拓扑结构USB设备与主机之间的各种连接方式内部层次关系根据性能叠置USB的任务被分配到系统的每一个层次数据流模式描述了数据在系统中通过USB从产生方到使用方的流动方式USB的调度USB提供了一个共享的连接对可以使用的连接进行了调度以支持同步数据传输并且避免的优先级判别的开销USB的设备及主机的细节将讲述于后3.1.1总线布局技术USB连接了USB设备和USB主机USB的物理连接是有层次性的星型结构每个网络集线器是在星型的中心每条线段是点点连接从主机到集线器或其功能部件或从集线器到集线器或其功能部件从图3-1中可看出USB的拓扑结构3.1.1.1USB的主机在任何USB系统中只有一个主机USB和主机系统的接口称作主机控制器主机控图31总线的拓扑结构制器可由硬件固件和软件综合实现根集线器是由主机系统整合的用以提供更多的连接点关于主机更多的内容可参见4.9节和第9章4.1.1.2USB的设备USB的设备如下所示:网络集线器向USB提供了更多的连接点;功能器件为系统提供具体功能如ISDN的连接数字的游戏杆或扬声器USB设备提供的USB标准接口的主要依据对USB协议的运用对标准USB操作的反馈如设置和复位标准性能的描述性信息关于USB设备的更多信息请参见3.8节和第8章3.2物理接口USB的物理接口的电气特性在第六章,机械特性在第五章详细介绍321电气特性USB传送信号和电源是通过一种四线的电缆图3-2中的两根线是用于发送信号存在两种数据传输率图3-2USB的电缆USB的高速信号的比特率定为12Mbp低速信号传送的模式定为1.5Mbp 低速模式需要更少的EMI保护两种模式可在用同一USB总线传输的情况下自动地动态切换因为过多的低速模式的使用将降低总线的利用率所以该模式只支持有限个低带宽的设备(如鼠标)时钟被调制后与差分数据一同被传送出去时钟信号被转换成NRZI码并填充了比特以保证转换的连续性每一数据包中附有同步信号以使得收方可还原出原时钟信号电缆中包括VBUSGND二条线向设备提供电源VBUS使用+5V电源USB对电缆长度的要求很宽最长可为几米通过选择合适的导线长度以匹配指定的IRdrop和其它一些特性如设备能源预算和电缆适应度为了保证足够的输入电压和终端阻抗重要的终端设备应位于电缆的尾部在每个端口都可检测终端是否连接或分离并区分出高速或低速设备3.2.2机械特性电缆和连接器的机械特性将在第5章详述所有设备都有一个上行的连接上行连接器和下行连接器是不可简单的互换这样就避免了集线器间的非法的循环往复的连接电缆中有四根导线一对互相缠绕的标准规格线一对符合标准的电源线连接器有四个方向具有屏蔽层以避免外界干扰并有易拆装的特性3.3电源主要包括两方面电源分配即USB的设备如何通过USB分配得到由主计算机提供的能源电源管理即通过电源管理系统USB的系统软件和设备如何与主机协调工作3.3.1电源分配每个USB单元通过电缆只能提供有限的能源主机对那种直接相连的USB设备提供电源供其使用并且每个USB设备都可能有自己的电源那些完全依靠电缆提供能源的设备称作总线供能设备相反自供电设备而且集线器也可由与之相连的USB设备提供电源受一定布局限制的带有总线供能集线器的体系结构将在第十章讨论在图4-4(位于3.8)中键盘输入笔和鼠标均为总线供能设备3.3.2电源管理USB主机与USB系统有相互独立的电源管理系统USB的系统软件可以与主机的能源管理系统结合共同处理各种电源子件如挂起唤醒并且有特色的是USB设备应用特有的电源管理特性可让系统软件和控制其电源管理USB的电源分配和电源管理特性使之可以被设计在电源传感系统中如采用电池的笔记本电脑3.4总线协议USB总线属一种轮讯方式的总线主机控制端口初始化所有的数据传输每一总线执行动作最多传送三个数据包按照传输前制定好的原则在每次传送开始时主机控制器发送一个描述传输运作的种类方向USB设备地址和终端号的USB数据包这个数据包通常称为标志包(tokenpacket)USB设备从解码后的数据包的适当位置取出属于自己的数据数据传输方向不是从主机到设备就是从设备到主机在传输开始时由标志包来标志数据的传输方向然后发送端开始发送包含信息的数据包或表明没有数据传送接收端也要相应发送一个握手的数据包表明是否传送成功发送端和接收端之间的USB数据传输在主机和设备的端口之间可视为一个通道存在两种类型的通道流和消息流的数据不像消息的数据它没有USB所定义的结构而且通道与数据带宽传送服务类型端口特性如方向和缓冲区大小有关多数通道在USB设备设置完成后即存在USB 中有一个特殊的通道——缺省控制通道它属于消息通道当设备一启动即存在从而为设备的设置查询状况和输入控制信息提供一个入口事务预处理允许对一些数据流的通道进行控制从而在硬件级上防止了对缓冲区的高估或低估通过发送不确认握手信号从而阻塞了数据的传输速度当不确认信号发过后若总线有空闲数据传输将再做一次这种流控制机制允许灵活的任务安排可使不同性质的流通道同时正常工作这样多种流通常可在不同间隔进行工作传送不同大小的数据包3.5健壮性USB健壮性的特征在于使用差分的驱动接收和防护以保证信号完整性在数据和控制信息上加了循环冗余码(CRC)对装卸的检测和系统级资源的设置对丢失或损坏的数据包暂停传输利用协议自我恢复对流数据进行控制以保证同步信号和硬件缓冲管理的安全数据和控制通道的建立使功能部件的相互不利的影响独立开消除了负作用3.5.1错误检测USB传输介质产生的错误率是与自然界的异常现象的概率相吻合是瞬时一现的因此就要在每个数据包中加入检测位来发现这些瞬时的错误并且提供了一系列硬件和软件设施来保证数据的正确性协议中对每个包中的控制和数据位都提供了循环冗余码校验若出现了循环冗余码的错误则被认为是该数据包已被损坏循环冗余码可对一位或两位的错误进行100%的修复3.5.2错误处理协议在硬件或软件级上提供对错误的处理硬件的错误处理包括汇报并重新进行上一次失败的传输传输中若遇到错误USB主机控制器将重新进行传输最多可再进行三次若错误依然存在则对客户端软件报告错误客户端软件可用一种特定的方法进行处理3.6系统设置USB设备可以随时的安装和折卸因此系统软件在物理的总线布局上必须支持这种动态变化3.6.1USB设备的安装所有的USB设备都是通过端口接在USB上网络集线器知道这些指定的USB设备集线器有一个状态指示器指明在其某个端口上USB设备是否被安装或拆除了主机将所有的集线器排成队列以取回其状态指示在USB设备安装后主机通过设备控制通道激活该端口并以预设的地址值给USB设备主机对每个设备指定唯一的USB地址并检测这种新装的USB设备是集线器还是功能部件主机为USB设备建立了控制通道使用指定的USB的地址和零号端口如果安装的USB设备是集线器并且USB设备连在其端口上那上述过程对每个USB设备的安装都要做一遍如果安装的设备是功能部件那么主机中关于该设备的软件将因设备的连接而被引发3.6.2USB设备的拆卸当USB设备从集线器的端口拆除后集线器关闭该端口并且向主机报告该设备已不存在USB的系统软件将准确进行处理如果去除的USB设备上集线器USB的系统软件将对集线器反连在其上的所有设备进行处理3.6.3总线标号总线标号就是对连接在总线上的设备指定唯一的地址的一种动作因为USB允许USB设备在任何时刻从USB上安装或拆卸所以总线标号是USB的系统软件始终要作的动作而且总线标号还包括对拆除设备的检测和处理3.7数据流种类有许多通道例如一个USB设备存在一个端口可建立一个向其它USB设备的端口发送数据的通道它可建立一个从其它USB设备的端口接收数据的通道USB的结构包含四种基本的数据传输类型控制数据传送在设备连接时用来对设备进行设置还可对指定设备进行控制如通道控制批量数据传送大批量产生并使用的数据在传输约束下具有很广的动态范围中断数据的传送用来描述或匹配人的感觉或对特征反应的回馈同步数据的传送由预先确定的传送延迟来填满预定的USB带宽对于任何对定的设备进行设置时一种通道只能支持上述一种方式的数据传输数据流模式的更多细节在第四章中详述3.7.1控制数据传送当USB设备初次安装时USB系统软件使用控制数据对设备进行设置设备驱动程序通过特定的方式使用控制数据来传送数据传送是无损性的3.7.2批量数据传送批量数据是由大量的数据组成如使用打印机和扫描仪时批量数据是连续的在硬件级上可使用错误检测可以保证可靠的数据传输并在硬件级上引入了数据的多次传送此外根据其它一些总线动作被大量数据占用的带宽可以相应的进行改变3.7.3中断数据传输中断数据是少量的且其数据延迟时间也是有限范围的这种数据可由设备在任何时刻发送并且以不慢于设备指定的速度在USB上传送中断数据一般由事件通告特征及座标号组成只有一个或几个字节匹配定点设备的座标即为一例虽然精确指定的传输率不必要但USB必须对交互数据提供一个反应时间的最低界限3.7.4同步传输同步数据的建立传送和使用时是连续且实时的同步数据是以稳定的速率发送和接收实时的信息同步数据要使接收者与发送者保持相同的时间安排除了传输速率同步数据对传送延迟非常敏感所以同步通道的带宽的确定必须满足对相关功能部件的取样特性不可避免的信号延迟与每个端口的可用缓冲区数有关一个典型的同步数据的例子是语音如果数据流的传送率不能保持数据流是否丢失将取决于缓冲区的大小和损坏的程度即使数据在USB实时的传送同步数据肯定会发生潜在瞬时的数据流丢失现象换句话说即使许多硬件机制如重传的引入也不能避免错误的产生实际应用中USB的数据出错率小到几乎可以忽略不计从USB的带宽中给USB同步数据流分配了专有的一部分以满足所想得到的传速率USB还为同步数据的传送设计了最少延迟时间3.7.5指定USB带宽USB的带宽分配给各个通道当一个通道建立后USB就分配给它一定的带宽USB设备需要提供一些数据缓冲区若USB提供了更多带宽则需更多的缓冲区USB的体系要保证缓冲引导的硬件的延迟限定在几毫秒内USB的带宽容量可以容纳多种不同的数据流因此保证USB上可以连接大量设备如可以容纳从1B+D直到T1速率范围的电信设备同时USB支持在同一时刻不同设备具有不同比特率并具有一个动态变动的范围USB规范对总线的每类转输规定的具体的原则3.8USB设备USB设备分为诸如集线器分配器或文本设备等种类集线器类指的是一种提供USB连接点的设备(详见第十章)USB设备需要提供自检和属性设置的信息USB设备必须在任何时刻执行与所定义的USB设备的状态相一致的动态3.8.1设备特性当设备被连接址被操作的每一个USB设备通过一个或多个通道与主机通讯所有USB 设备必须在零号端口上有一指定的通道每个USB设备的USB控制通道将与之相连通过此控制通道所有的USB设备都列入一个共同的准入机制以获得控制操作的信息在零号端口上控制通道中的信息应完整的描述USB设备此类信息主要有以下几类标准信息这类信息是对所有USB设备的共同性的定义包括一些如厂商识别设备种类电源管理等的项目设备设置接口及终端的描述在此给出关于这些具体的描述信息在第九章给出类别信息此类信息给出了不同USB的设备类的定义主要反映其不同点USB厂商信息USB设备的厂商可自由的提供各种有关信息其格式不受该规范制约此外每个USB设备均提供USB的控制和状态信息3.8.2设备描述主要分为两种设备类集线器和功能部件只有集线器可以提供更多的USB的连接点功能部件为主机提供了具体的功能3.8.2.1集线器在即插即用的USB的结构体系中集线器是一种重要设备图3-3所示是图–3典型集线器一种典型的集线器从用户的观点出发集线器极大简化了USB的互连复杂性而且以很低的价格和高易用性提供了设备的健壮性集线器串接在集中器上可让不同性质的设备连接在USB上连接点称作端口每个集线器将一个连接点转化成许多的连接点并且该体系结构支持多个集线器的连接每个集线器的上游端口向主机方向进行连接每个集线器的下游端口允许连接另外的集线器或功能部件集线器可检测每个下游端口的设备的安装或拆卸并可对下游端口的设备分配能源每个下游端口都具有独立的能力不论高速或低速设备均可连接集线器可将低速和高速端口的信号分开一个集线器包括两部分集线控制器Controller和集线放大器(Repeater)集线放大器是一种在上游端口和下游端口之间的协议控制开关而且硬件上支持复位挂起唤醒的信号集线控制器提供了接口寄存器用于与主机之间的通信集线器允许主机对其特定状态和控制命令进行设置并监视和控制其端口3.8.2.2功能部件功能部件是一种通过总线进行发送接收数据和控制信息的USB设备通过一根电缆连接在集线器的某个端口上功能设备一般是一种相互无关的外设然而一个物理单元中可以有多个功能部件和一个内置集线器并利用一根USB电缆这通常被称为复合设备即一个集线器连向主机并有一个或多个不可拆卸的USB设备连在其上每个功能设备都包含设置信息来描述该设备的性能和所需资源主机要在功能部件典型的USB体系结构图4–4台式机环境下的集线器使用前对其进行设置设置信息包括USB带宽分配选择设备的设置信息等下机列举了一些功能部件定位设备如鼠标或光笔输入设备如键盘电信适配器如ISDN3.9USB主机硬件和软件USB的主机通过主机控制器与USB设备进行交互主机功能如下检测USB设备的安装和拆卸管理在主机和USB设备之间的控制流管理在主机和USB设备之间的数据流收集状态和动作信息提供能量给连接的USB设备主机上USB的系统软件管理USB设备和主机上该设备软件之间的相互交互USB系统软件与设备软件间有三种相互作用方式同步数据传输异步数据传输电源管理设备和总线管理信息只要可能USB系统软件就会使用目前的主机软件接口来管理上述几种方式3.10体系结构的扩充USB的体系结构包含主机控制驱动器和USB驱动器之间的接口的扩展使多个主机控制器和主机控制驱动器的使用成为可能02术语和缩略词ACK:确认信号ActiveDevice:正在使用的设备AynchronouData:异步数据AynchronouRA:异步自适应速率AynchronouSRC:异步抽样转换率AudioDevice:音频设备AWG#(AmericanWireGauge):美国电线标准Babble:帧传输中的总线动作Bandwidth:带宽BigEndian:Bit:比特BitStuffing:数据填充,以使PLL可以提取时钟信号b/:每秒多少比特B/:每秒多少字节Buffer:缓冲区BulkTranfer:批量传送BuEnumeration:总线标号Byte:字节Capabilitie:能力Characteritic:特征Client:客户ConfiguringSoftware:配置软件ControlEndpoint:控制端口ControlPipe:控制通道ControlTranfer:控制传送CTI:计算机电信组织CyclicRedundancyCheck(CRC):循环冗余校验DefaultAddre:缺省地址DefaultPipe:缺省通道Device:设备器件DeviceAddre设备地址DeviceEndpoint设备端口DeviceReource设备资源DeviceSoftware设备软件Downtream下行Driver驱动DWORD双字DynamicInertionandRemoval动态插入与拆除ElectricallyEraableProgrammableReadOnlyMemoryEEPROM电擦写可编程只读存储器EndUer终端用户Endpoint端口EndpointAddre端口地址EndpointDirection端口指向EndpointNumber端口号EOF帧结束EOP包结束E某ternalPort外设端口FaleEOP错误的包结束标志Frame帧FramePattern帧结构Full-duple某全双工Function功能功能部件HandhakePacket握手包Hot主机HotController主机控制器HotControllerDriver(HCD)主机控制驱动HotReoure主机资源Hub集线器HubTierHub层InterruptRequet(IRQ)中断请求InterruptTranfer中断传送I/ORequetPacket。

USB20协议中文版PDF

USB20协议中文版PDF

USB20协议中文版PDF篇一:USB3.0协议(中文)USB3.0 与USB2.0的特性比较3.2 超速结构超速总线是一个分层的通讯结构,如下图所示:协议层:协议层在主机和设备间定义了end-to-end(端到端)通讯规则。

超速协议在主机和设备端点(endpoint)之间提供应用数据信息交换。

这个通讯关系叫做管道(pipe)。

它是主机导向的协议,意味着主机决定什么时候在主机和设备间进行应用数据传输。

设备可以通过一个特定端点向主机发起异步请求服务,所以它不是一个轮询协议(USB2.0为轮询协议)。

数据可以连续突发传输,提高总线效率。

对某些传输类型(块传输),协议提供流控支持。

SS设备可以异步发送,通知主机,设备的功能状态发生改变。

而不是轮询的方式。

设备端点可以通过设备异步发送的“ready”包(ERDY TP)通知主机进行数据发送与接收,主机对于“ready”通知,如果有有效的数据发送或者缓存接收数据,会添加管道。

主机发送包含主机时间戳的特殊包头(ITP)到总线上,该值可以用于保持设备和主机同步(如果需要的话)。

超速USB电源管理:链路电源管理的关键点是:·设备向主机发送异步“ready”通知· 包是有路由路径的,这样就允许不参与数据通讯的链路进入或仍旧停留在低电源状态。

· 如果包送到一个处于低电源状态的端口,这个端口会切换到退出低电源状态并指示这是个切换事件。

设备:·超速需要支持USB2.0对默认的控制管道的规定。

HUB设备:因为USB3.0向下兼容USB2.0,为支持USB3.0双总线结构,USB3.0 HUB在逻辑上是两个HUB的组合:一个USB2.0 HUB和一个USB3.0 HUB。

连接到上游端口的电源和地线是共享的。

集线器(HUB)参与到一个端到端的协议中,所承当的工作:·路由选择输出的包到下游端口。

·输入包混合传递到上游端口·当不在低功耗状态下时,向所有下游端口广播时间戳包(ITP),即为同步时间信息包。

USB20接口定义及封装

USB20接口定义及封装

USB 2.0接口定义及封装USB全称Universal Serial Bus(通用串行总线),目前USB 2.0接口分为四种类型A型、B型、Mini型还有后来补充的Micro型接口,每种接口都分插头和插座两个部分,Micro还有比较特殊的AB兼容型,本文简要介绍这四类插头和插座的实物及结构尺寸图,如果是做设计用途,还需要参考官方最新补充或修正说明,尽管USB 3.0性能非常卓越,但由于USB 3.0规范变化较大,真正应用起来还需假以时日,不管怎样,都已经把火线逼到末路,苹果公司极其郁闷但也爱莫能助。

注意:1、本文封装尺寸来源,USB 2.0 Specification Engineering Change Notice (Date:10/20/2000)2、本文图片来源USB官方协议文档,由于USB 3.0在接口和线缆规范上变化较大,后面专门介绍。

3、本文未带插头封装尺寸,插头尺寸请参加官方文档ecn1-usb20-miniB-revd.pdf,下个版本USB 3.0在接口和封装上都有很大变化,本文属于USB 2.0协议内容,如果是USB 3.0设备,似乎只有A型头才能插到2.0插座中Receptacle。

1、 A 型USB 插头(plug )和A 型USB 插座(receptacle )引脚顺序(左侧为Plug ,右侧为Receptacle ):引脚定义:封装尺寸(单PIN Receptacle):2、B型USB插头(plug)和B型USB插座(receptacle)引脚顺序(左侧为Plug,右侧为Receptacle,注意箭头所指斜口向上,USB端口朝向自己):引脚定义与A型USB引脚说明相同。

封装尺寸(单PIN Receptacle):3、Mini B型USB插头(plug)和Mini B型USB插座(receptacle)引脚顺序(左侧为Plug,右侧为Receptacle,注意宽边在上,USB端口朝向自己):引脚定义:封装尺寸(Receptacle):以上部分为USB 2.0规范内容,下面的Micro USB实际上是在2006年才发布的补充规范,由于该接口定义无法后向支持USB 3.0协议,故仍然归于USB 2.0协议包。

usb20_device_test_agilent

usb20_device_test_agilent

测试步骤
3. 打开USB测试软件,如图所示:
测试步骤
4. 设置测试参数。在setup标签页中,device test point下选择device, test connect中选择differential。如图所示:
测试步骤
5. 设置测试参数。在select test标签页中,选择所需的SQ测试项。如图所 示:
• 眼图测试
• 信号速率 • 包尾宽度 • 交叉电压范围(用于低速和全速) • JK抖动、KJ抖动 • 连续抖动 • 单调性测试(用于高速)
• 上升下降时间
测试步骤
1. 开启示波器,连接差分探头1169A并接好E2678A。如下图所示:
测试步骤
夹具E2645-66501目前有两个版本,新夹具与旧夹具基本功能一致,区别 在于新夹具添加了SMA测试端口。可使用任意的一个版本完成测试。如下 图:
测试步骤
9. 在电脑上运行USB HSET测试软件,依下图的提示选择操作。
Test
Enumeratsful
Execute
测试步骤
10.拨动开关,黄灯变亮,将在示波器上观察到如下图所示波形。
测试步骤
11.继续操作步骤7中的示波器的对话框。点击ok,自动生成html格式的 report。
测试步骤
将加上Damping header的E2678A连接到旧夹具的TP2测试针脚的D+和 D-上,注意与差分探头1169的极性相一致。如下图:
测试步骤
夹具E2645-66501部分连接如图所示,图中使用的是新版本夹具。图中U 盘处接DUT,使开关处于绿灯亮,黄灯不亮的状态。
开关
测试步骤
2.通道和探头设置如图所示 设置方法:Setup/Channelx(113x对应的 通道)/probes,执行后弹出如下窗口

百威PEAVEY-PV20USB调音台中文说明书

百威PEAVEY-PV20USB调音台中文说明书

PV™10、PV™14、PV™20便携式混音器恭喜您购买了Peavey PV™ 10, PV™14, 或 PV™20 便携式混音器。

PV™10, PV™14, 和 PV™20 是具有音乐工作室质量的混音控制台,为小空间下满足各种需要而设计,非常适于作为小型演出或家庭录音环境下的控制台。

PV系列混音器具有内置的DSP效果,适于在实时录音和声音加强且参数控制允许的情况下定制达到您需要的音效。

请仔细阅读本指南以确保用户自身安全和设备安全。

特性:•PV™10具有六个XLR麦克风输入,PV™14具有十个XLR麦克风输入,PV™20具有16个XLR麦克风输入•两个带RCA和1/4英寸输入的立体声道•三段式均衡器•A/B立体声输入选择器可减少连线•所有单声道有插入端口•所有麦克风输入带有80Hz低切开关•USB连接(PV™20为标配,PV™10和PV™14为选配)•消波发光二极管监听消波的整个信号路径•每个输入声道带有信号发光二极管•每个输入声道带有带发光二极管指示灯的静音开关•48伏幻路电源开关•每个声道的音效传送效果带有立体声返回•具有16种选择的内部数字音效,包括混响、延迟和声音加强•音效参数调整允许用户定制各种音效选择•每个声道都能监听传送•零延误录音监听功能•房间输出采用大小级别控制•等高线均衡器开关•内部通用输入电源•可选机架安装套件(仅适用于PV™10 和 PV™14)安装注意事项:本设备与任何可燃表面都必须保持以下间隙:顶部:8英寸,两边:12英寸,背面:12英寸EFX 时间该控制调整某个特定回响或延迟的时间。

绿信号发光二极管和红色削波发光二极管绿信号发光二极管和红色削波发光二极管用于设置(20)为零(12点钟位置)烁。

削波低于6分贝时削波发光二极管亮起,按下EFXEFX 返回一旦设置(见17)了输入大小,使用EFX记住:些微回响会非常有益。

主MON Send这是监视器混合的主输出大小控制。

发送到监视器传送插口(37)的输出大小由声道监视器传送控制(6)和该主控制来控制。

USB2.0一致性测试 Step by Step

USB2.0一致性测试 Step by Step
USB2.0一致性测试
Step by Step
美国力科公司
第1页
USB2.0简介
四线系统(D+,D-,VBUS,GND) USB2.0提供下列数据率选择
低速 全速 高速
数据速率 上升时间 1.5Mbps 75- 300ns 12Mbps 4-20ns 480Mbps 500ps
High speed:480.00 Mb/s±500 ppm Full speed:12.000 Mb/s ±0.25% (2,500 ppm). Low speed:1.50 Mb/s ±1.5% (15,000 ppm).
第2页
USB-IF论坛负责制定USB2.0规范
第3页
USB2.0 应用产品分类
第4页
USB2.0 一致性测试规范
完整的 USB 2.0 一致性测试涵盖 了三种类型的设备
Devices Hubs Hosts
Speed HS
Test items FE SQ NE SQ Upstream SQ Downstream SQ
High Speed Device SQ实测连接
第27页
第12步:在USB Host上运行HS Electrical Test Tool
第28页
遵照Message 对话框中的指 令进行每一步 操作,在USB Host 的 Windows操作 系统上运行
HS Electrical Test Tool程序, 点击”OK”进 入下一步
Remote属性页面中的IP地址 就是 操作系统分配的 IP地址
如果示波器或QualiPHY软件显示的界面和以上不一致,请 登陆力科网站或联系就近力科办事处 获取最新版本的示波 器固件和QualiPHY软件(均免费)。

USB 2_0与UVC 1_1 在Webcam F_W传输设定

USB 2_0与UVC 1_1 在Webcam F_W传输设定

題目: USB 2.0 與UVC 1.1 在Webcam F/W傳輸設定尚立Webcam 高級工程師Aladdin前言:Webcam使用USB Video Class 1.1 以及使用USB 2.0 的通訊協定將Webcam 的影像資料傳輸到PC 或NB, 如果有支援聲音則使用USB Audio Class 1.0 的協定內容:Webcam可以從程式設定了解USB 協定(1) 設定Standard Device主要設定USB 2.0 High Speed 的Standard Device Descriptor, 定義在USB2.0 Spec. Table 9.8設定USB 版本, 產品的VID, PID, Serial Number ....等0x00, 0x12, // length of device decriptor// Device Descriptor0x12, // bLength: 0x12 byte0x01, // bDescriptorType: DEVICE0x00, 0x02, // bcdUSB: version 2.000xEF, // bDeviceClass: independent interfaces0x02, // bDeviceSubClass: 20x01, // bDeviceProtocol: class specific protocols NOT used on device basis0x40, // bMaxPacketSize0: maximum packet size for endpoint zero0xF2, 0x04, // idVendor: vendor ID0xC3, 0xB2, // idProduct: product ID0x27, 0x11, // bcdDevice: device release number in BCD0x01, // iManufacturer: index of string0x02, // iProduct: index of string0x00, // iSerialNumber: index of string0x01, // bNumConfigurations: 1 configuration解釋Offset 0 -> bLength: 為這個Descriptor 的長度為18 Bytes,, 占1 Byte, 設定為0x12 Offset 1 ->bDescriptorType, 這個Descriptor type, 占1 Byte, 為0x01Offset 2->bcdUSB, USB通訊的版本, 占2個Bytes, 由於是支援USB2.0 , 所以要設定0x00, 0x02(傳輸先傳低位元組再傳高位元組)Offset 4 ->bDeviceClass, USB_IF 對這Device Class的編碼, 0xEFOffset 5 ->bDeviceSubClass, USB_IF對這Device sub Class 編碼, 0x02Offset 6 ->bDeviceProtocol, USB_IF 對這Device Protocol 編碼, 0x01Offset 7 ->bMaxPacketSize, 傳輸最大數據包的Size, 只可以定義8, 16, 32, 64, 這裡定義為64 Bytes,為0x40Offset 8 -> idVendor, 為產品的VID根據USB-IF 定義, 占2bytes,0xF2,0x40Offset10->idProduct, 定義產品的PID, 占2bytes, 0xC3, 0xB2Offset12-> bcdDevice, 可定義產品的版本, 占2bytes, 0x27,0x11Offset14-> iManufacturer, 製造廠商, 利用index 選擇Strings, 0x01Offset15 -> iProduct, 產品名稱,利用index 選擇Strings,0x02Offset16-> iSerialNumber, 序號, 利用index 選擇Strings,0x00Offset 17-> bNumConfigurations, 結構的編號, 使用Configuration 1, 0x01這個Device descriptor 傳輸到NB 或PC, 在Windows 的系統的硬體識別碼顯示VID, PID,與Rev(2) 其他速率傳輸設定Device_Qualifier Descriptor,設定非High Speed USB Device Descriptor , 如Webcam 也有支援Full Speed 傳輸, 定義在USB Spec. Table 9.9F/W 設定為0x00, 0x0A, // length of device qualifier descriptor// Device Qualifier Descriptor0x0A, // bLength: 0x0A byte0x06, // bDescriptorType: DEVICE QUALIFIER0x00, 0x02, // bcdUSB: version 2.000xEF, // bDeviceClass: independent interfaces0x02, // bDeviceSubClass: 20x01, // bDeviceProtocol: class specific protocols NOT used on device basis0x40, // bMaxPacketSize0: maximum packet size for endpoint zero0x01, // bNumConfigurations: 1 configuration0x00, // bReserved: 0x00解釋Offset0, 為bLength, 這Device Qualifier 為10bytes, 0x0AOffset1, 為bDescriptorType, 設定為0x06Offset2, 為bcdUSB, USB通訊的版本, 占2個Bytes, 由於是USB2.0 , 所以要設定0x00, 0x02Offset 4, 為bDeviceClass, USB-IF 對這Device 的class 編碼, 0xEFOffset5, 為bDeviceSubClass, USB-IF 對這Device 的subclass 編碼, 0x0x02 Offset6 , 為bDeviceProtocol, USB-IF 對這Device 的protocol編碼, 0x0x01 Offset 7 ->bMaxPacketSize, 傳輸最大數據包的Size, 只可以定義8, 16, 32, 64, 這裡定義為64,為0x40Offset8-> bNumConfigurations, 結構的編號, 使用Configuration 1, 0x01Offset9-> bReserved, 保留,需設定0x00(3)顯示語言編碼顯示Webcam字串的語言編碼, 定義在USB 2.0 Spec. Table 9.15F/W設定0x00, 0x04, // length of language id string descriptor// Language ID String Descriptor0x04, // bLength0x03, // bDescriptorType: STRING0x09, 0x04, // bString: English (US)解釋Offset0 為bLength, 因指定義一種語言所以為0x04Offset1 為bbDescriptorType, String 的Descriptor 為0x03Offset2 為wLANGID[0], 占2bytes,英文編碼為0x09,0x04 參考USB Language 編碼(4)產品名稱編碼Webcam 的產品名稱, 定義在USB 2.0 Spec. Table 9.16F/W 設定0x00,0x32, //length of product string descriptor0x32, //Product String Descriptor0x03, //bLength0x53,0x00,0x50,0x00,0x43,0x00,0x41,0x00,0x32,0x00,0x32,0x00,0x38,0x00,0x31,0x00,0x20,0x00,0x57,0x00, //'W'0x65,0x00, //'e'0x62,0x00, //'b'0x20,0x00, //' '0x43,0x00, //'C'0x61,0x00, //'a'0x6D,0x00, //'m'0x65,0x00, //'e'0x72,0x00, //'r'0x61,0x00, //'a'0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,解釋Offset0 為bLength, 更具字串+2 來定義LengthOffset1 為bDescriptorType, 設定字串的Descriptor 為0x03Offset2~OffsetN 設定字串編碼, 使用Unicode 碼, 每個字為2Bytes這個Strings descriptor 傳輸到NB 或PC, 在顯示名稱會秀出如USB Camera2. 傳輸設定: 主要設定USB 2.0 的Configuration 及UVC 1.1 的定義處理如feature, resolution...等等可分為Full Speed USB 定義及High Speed USB 定義, 兩者的Descriptor 類似只是參數設定不同,(1) USB ConfigurationF/W 編碼// Configuration Descriptor0x09, // bLength: 0x09 byte0x02, // bDescriptorType: CONFIGURATION 0x81, 0x05, // wTotalLength: 0x062d byte0x04, // bNumInterfaces: 2 interfaces0x01, // bConfigurationValue: configuration 1 0x00, // iConfiguration: index of string0x80, // bmAttributes: bus powered0xFA, // MaxPower: 500 mA這定義USB2.0 傳送UVC 及UAC 的型態, 規範在USB 2.0 Spec. Table 9.10解釋Offset0 為bLength, Configuration Descriptor 的長度為9 bytes, 0x09Offset1 為bDescriptorType, Configuration Descriptor type, 0x02Offset2 為wTotalLength, 占2bytes 為傳送USB 2.0 的UVC 或UAC 定義資料的全部長度, 包括Configuration Descriptor, 0x81,0x05(0x581 bytes)Offset4 為bNumInterfaces, Interface number, SPCA2281 有Audio 所以設定0x04, 如沒有Audio 設定0x02Offset5 為bConfigurationValue, 為設定結構值, 定義0x01Offset6 為iConfiguration, 為設定這結構的描述字串指標, 0x00Offset7 為bmAttributes, 為設定bus 的power 狀況, D7 為reserved 必須設定為1, D6 為是否要Self Power, D5為遠端遙控開機功能, D4~D0為reserved 設為0, 所以為0x80Offset8 為bMaxPower, 設定USB bus最大電流, 每單為為2mA, 所以0xfa=250即為500mA(2)Video Interface Association DescriptorUSB 在Video 介面接口關連描述(IAD)定義在UVC1.1 Spec. Table 3-1F/W 設定// Video Interface Association Descriptor0x08, // bLength: 0x08 byte0x0B, // bDescriptorType: INTERFACE ASSOCATION Descriptor0x00, // bInterfaceNumber: interface 00x02, // bInterfaceCount: 20x0E, // bFunctionClass: 0x0E0x03, // bFunctionSubClass: 0x030x00, // bInterfaceProtocol: class specific protocol NOT used on this interface0x02, // iFunction: 2解釋Offset0 為bLength, IAD長度為8bytes, 0x08Offset1 bDescriptorType , Interface Association descriptor type, Value=11,0x0BDescriptor Types 編號Offset2 為bFirstInterface 為第一個Video control number, 設定0x00Offset3 為bInterfaceCount 為鄰近的interface 總數,設定0x02(Webcam, NB or PC) Offset4 為bFunctionClass, Video Interface Class code 的CC_VIDEO ,0x0EOffset5 為bFunctionSubClass, 設定SC_VIDEO_INTERFACE_COLLECTION, 0x03Offset6 為bFunctionProtocol ,必須設為PC_PROTOCOL_UNDEFINED,0x00Offset7 為iFunction , 這界面字串的指標,0x02(3) Standard VC Interface Descriptor設定基本Video Control 介面的Descriptor, 定義UVC1.1 Spec Table 3-2F/W 設定// VideoControl Interface Descriptor0x09, // bLength: 0x09 byte0x04, // bDescriptorType: INTERFACE0x00, // bInterfaceNumber: interface 00x00, // bAlternateSetting: alternate setting 0 0x01, // bNumEndpoints: 1 endpoint0x0E, // bInterfaceClass: 0x0E0x01, // bInterfaceSubClass: 0x010x00, // bInterfaceProtocol: class specific protocol NOT used on this interface0x02, // iInterface: index of string解釋Offset0 為bLength , 這VC interface Descriptor 固定長度為9Bytes, 0x09 Offset1 為bDescriptorType, 介面Descriptor type, 0x04Offset2 為bInterfaceNumber, 介面數, 設定為0Offset3 為bAlternateSetting , 間隔數的設定, 設為0間隔, 0x00Offset4 為bNumEndpoints , 端點的設定,需設為1, 0x01Offset5 為bInterfaceClass , 設定為CC_VIDEO, 0x0EOffset6 為bInterfaceSubClass , 設定SC_VIDEOCONTROL,0x01Offset7 為bInterfaceProtocol , 沒使用必須設PC_PROTOCOL_UNDEFINED ,0x00 Offset8 為iInterface, 介面descriptor 描述字串指標, 設定0x02(4) Class-specific VC Interface Header Descriptor主要是設定Class-specific 的total length 及Device clock Frequency, 參考UVC Spec Table 3-3F/W 設定// Class-specific VideoControl Interface Header Descriptor0x0D, // bLength: 0x0D byte0x24, // bDescriptorType: 0x240x01, // bDescriptorSubType: VC_HEADER subtype0x00, 0x01, // bcdVDC: Revision of class specification that this device is based upon0x50, 0x00, // wTotalLength: Total size ofclass-specific descriptors0x00, 0x6C, 0xDC, 0x02, // dwClockFrequency: 48MHz0x01, // bInCollection: Number of streaming interfaces0x01, // baInterfaceNr(1): Interface number ofthe first VideoStreaming interface解釋Offset0 為bLength, 基本Length為12, 另外增加1Byte 的interface number, 為13, 0x0DOffset1 為bDescriptorType , 設定CS_INTERFACE, 為0x24Offset2 為bDescriptorSubType , 要設VC_Header, 0x01Offset3為bcdUVC, 定義Video Device Class Specification release number, 占2bytes, 0x00, 0x01Offset5為wTotalLength, 定義class-specific VideoControl interface descriptor的全部長度,占2bytes, 為0x50, 0x00Offset7 為dwClockFrequency , 裝置的clock Frequency, 為48MHz->48000000->02DC6C00, 占4bytes, 0x00,0x6C,0xDC,0x02Offset11 為bInCollection ,為VideoStreaming number, 設定0x01Offset12 為baInterfaceNr(1), 為第一個VideoStreaming 有多少interface, 為0x01(5) Input (Camera)Terminal Descriptor設定VideoControl Camera Input Terminal Descriptor, 參考UVC Spec Table 3-6F/W 設定// VideoControl Camera Terminal Descriptor 0x12, // bLength: 0x12 byte0x24, // bDescriptorType: 0x240x02, // bDescriptorSubType:VC_INPUT_TERMINAL subtype0x01, // bTerminalID: ID of this input terminal 0x01, 0x02, // wTerminalType: ITT_CAMERA type.0x00, // bAssocTerminal: No assocation0x00, // iTerminal: Unused0x00, 0x00, // wObjectiveFocalLengthMin: No optional zoom supported0x00, 0x00, // wObjectiveFocalLengthMax: No optional zoom supported0x00, 0x00, // wOcularFocalLength: No optional zoom supported0x03, // bControlSize: The size of the bmControls is 2 bytes0x0A, 0x00, 0x00, // bmControls: Camera Terminal controls are supported解釋:Offset0 為bLength , 設定0x12Offset1 為bDescriptorType, 設定CS_INTERFACE , 0x24Offset2 為bDescriptorSubtype, 設定VC_INPUT_TERMINAL, 0x02Offset3 為bTerminalID , 為Input terminal ID, 0x01Offset4 為wTerminalType, 占2bytes, Input Terminal type為Camera,0x01, 0x02Offset6 為bAssocTerminal , no such association exists 設0, 0x00Offset7 為iTerminal, input Terminal String 指標, 0x00, 因SPCA2281 沒Support Offset8 為wObjectiveFocalLengthMin , The value of Lmincontrol Focal 設0x00, 0x00,設0x00, 0x00Offset10 為wObjectiveFocalLengthMax, The value of LmaxOffset12 為wOcularFocalLength , The value of L,設0x00, 0x00ocularOptical Zoom公式為Offset14 為bControlSize, 為Camera Control bmControls Size, 0x03Offset15 為bmControls , Camera Unit control, 設定為0x0A,0x00,0x00 占3bytes 表示0000,0000,0000,0000,0000,1010-> support D3 Exposure Time (Absolute), D1 Auto-Exposure Mode(6) Processing Unit Descriptor主要設定Support video stream 及analog Video standard 參考UVC Spec. Table 3-8F/W 設定// VideoControl Processing Unit Descriptor0x0B, // bLength: 0x0B byte0x24, // bDescriptorType: 0x240x05, // bDescriptorSubtype:VC_PROCESSING_UNIT0x02, // bUnitID: ID of this unit0x01, // bSourceID: This input pin of this unit isconnected to the output pin of unit with ID 0x010x00, 0x40, // wMaxMultiplier: Maximum digital magnification (4X).0x02, // bControlSize: Size in bytes of the bmControls field0x7F, 0x15, // bmControls: Processing Unit controls supported.0x00, // iProcessing: Unused解釋Offset0 為bLength , 0x0BOffset1 為bDescriptorType , 設定CS_INTERFACE, 0x24Offset2 為bDescriptorSubtype , 設定VC_PROCESSING_UNIT,0x05Offset3 為bUnitID, Uini ID, 0x02Offset4 為bSourceID , Source ID, 輸入為camera 為0x01Offset5 為wMaxMultiplier, Max Digital Multiplier 為4x, 0x00, 0x40Offset7 為bControlSize, bmControls size, 0x02Offset8 為bmControls, 設定0x7F, 0x17, 占2bytes, 為0001,0111,0111,1111 表示Support White Balance Temperature( Auto), Power Line Frequency,Gain,Backlight Compensation ,White Balance Temperature, Gamma,Sharpness,Hue,Contrast, BrightnessOffset10 為iProcessing , Index of a string descriptor,設0x00(7) Extension Unit Descriptor延伸資料的Descriptor, 可以將製造商資料(SunplusIT) 或是客戶(Dell) 放入16bytes 的Extension unit中, 參考UVC Spec. Table 3-9F/W 設定0x1D, // bLength: 0x1D byte0x24, // bDescriptorType: 0x240x06, // bDescriptorSubtype:VC_EXTENSION_UNIT0x03, // bUnitID: ID of this unit0x99, 0x1D, 0x5A, 0x7D, // guidFormat: Globally Unique Identifier for Sunplus Extension Unit. */0x32, 0x5B,0x8B, 0x42,0x8C, 0xAD,0x67, 0x1B,0x8A, 0x65, 0xF3, 0x7A,0x00, // bNumControls0x01, // bNrInPins0x02, // bSourceID0x04, // bControlSize0xFF, 0xFF, 0x19,0x00, // bmControls0x00, // Unused(8)Output Terminal Descriptor參考UVC SPEC. Table3-5F/W 設定// VideoControl Output Terminal Descriptor0x09, // bLength: 0x09 byte0x24, // bDescriptorType: 0x240x03, // bDescriptorSubtype:VC_OUTPUT_TERMINAL.0x04, // bTerminalID: ID of this terminal.0x01, 0x01, // wTerminalType: TT_STREAMING type. This terminal is a USB streaming terminal.0x00, // bAssocTerminal: No association.0x04, // bSourceID: The input pin of this unit is connected to the output pin of unit 3.0x00, // iTerminal: Unused解釋Offset0, 為bLength , 為9bytes, 0x09Offset1 為bDescriptorType , 設定CS_INTERFACE , 0x24Offset2 為bDescriptorSubtype, 設定VC_OUTPUT_TERMINAL, 0x03Offset3 為bTerminalID , 為Terminal ID, 0x04Offset4 為wTerminalType, Terminal type TT_STREAMING, 0x01,0x01Offset6 為bAssocTerminal, 由於沒有Association, 設為0x00 Offset7 為bSourceID , Source ID , 0x01Offset8 為iTerminal , Index of a string descriptor, 0x00(9) Video Control Interrupt Endpoint Descriptor設定中斷端點的Descriptor參考UVC SPEC. Table 3-10F/W 設定0x07, // bLength: 0x07 byte0x05, // bDescriptorType: ENDPOINT0x87, // bEndpointAddress: IN endpoint 7.0x03, // bmAttributes: Interrupt transfer type. 0x10, 0x00, // wMaxPacketSize: 16-byte status packet.0x08, // bInterval: polling interval is 2^(8-1) * 125 us = 16 ms解釋Offset0 為bLength, Descriptor 長度, 0x07Offset1 為bDescriptorType ,Offset2 為bEndpointAddress , Endpoint Address, D7=1 為In endpoint, number endpoint = 7, 0x87Offset3 為bmAttributes , Must be set to 11 (Interrupt), 為0x03Offset4 為wMaxPacketSize , Max Packet Size 為16bytes, 占2bytes, 0x10,0x00 Offset6 為bInterval , interrupt endpoint polling 時間->16ms, 公式:2^(n-1) * 125 us=16ms, n=8(10) Class-specific Video Control Interrupt Endpoint Descriptor參考UVC SPEC. Table 3-11F/W設定0x05, // bLength: 0x05 byte0x25, // bDescriptorType: CS_ENDPOINT descriptor.0x03, // bDescriptorSubType: EP_INTERRUPT. 0x10, 0x00, // wMaxTransferSize: 16-byte status packet.解釋Offset0, 為bLength, 0x05Offset1 為bDescriptorType, 設定CS_ENDPOINT, 0x25Offset2 為bDescriptorSubType ,設定EP_INTERRUPT, 0x03Offset3 為wMaxTransferSize, Maximum interrupt structure size 為16 bytes, 0x10, 0x00Video Control descriptor 已設定完畢, 接下來要設定Video Streaming descriptor (11) Video Streaming Interface Descriptor參考UVC SPEC. Table 3-12F/W 設定// VideoStreaming Interface Descriptor0x09, // bLength: 0x09 byte0x04, // bDescriptorType: INTERFACE0x01, // bInterfaceNumber: interface 10x00, // bAlternateSetting: alternate setting 0 0x00, // bNumEndpoints: 0 endpoint0x0E, // bInterfaceClass: 0x0E0x02, // bInterfaceSubClass: 0x02.0x00, // bInterfaceProtocol:PC_PROTOCOL_UNDEFINED.0x00, // iInterface: Unused解釋Offset0 為bLength , Descriptor Length 為0x09Offset1 為bDescriptorType, 設定Interface, 0x04Offset2 為bInterfaceNumber , Interface number, 0x01Offset3 為bAlternateSetting, Alternate Setting, 0x00Offset4 為bNumEndpoints, excluding endpoint 0, 0x00Offset5 為bInterfaceClass, 設為CC_Video, 0x0EOffset6 為bInterfaceSubClass, 設為SC_VIDEOSTREAMING ,0x02Offset7 為bInterfaceProtocol ,設定為PC_PROTOCOL_UNDEFINED, 0x00 Offset8 為iInterface, Index of a string descriptor,0x00(12) Video Streaming Input Header Descriptor參考UVC SPEC. Table 3-13F/W 設定// VideoStreaming Input Header Descriptor 0x0F, // bLength: 0x0F byte0x24, // bDescriptorType: 0x24.0x01, // bDescriptorSubtype:VS_INPUT_HEADER.0x02, // bNumFormats:VC_NUMBER_OF_FORMAT.0x12, 0x04, // wTotalLength: Total size ofclass-specific VideoStreaming interface descriptors.0x81, // bEndpointAddress: Address of the isochronous endpoint used for video data.0x00, // bmInfo: Dynamic format change doesn't supported.0x04, // bTerminalLink: This VideoStreaming interface supplies terminal ID 5 (Output Terminal).0x02, // bStillCaptureMethod: Device supports still image capture method 2.0x01, // bTriggerSupport: Hardware trigger supported for still image capture.0x00, // bTriggerUsage: Hardware trigger should initiate a still image capture.0x01, // bControlSize: Size of the bmaControls field.0x00, // BmaControls(1): no videoStreaming specific controls is supported.0x04, // BmaControls(2): Compression quality videoStreaming specific controls is supported.解釋Offset0 為bLength, Descriptor length, 0x0fOffset1 為bDescriptorType, 設定CS_INTERFACE, 0x24Offset2 為bDescriptorSubtype, 設定VS_INPUT_HEADER, 0x01Offset3 為bNumFormats , VS Fromat number(YUY2,MJPEG), 0x02Offset4 為wTotalLength, Class-specific VS+ VS header Length=1042 bytes, 0x12, 0x04Offset6 為bEndpointAddress, Endpoint Address 使用Isochronous endpoint, D7 為input=1,0x81Offset7 為bmInfo, 設定Dyname format, no support, 0x00Offset8 為bTerminalLink, The terminal ID of the Output Terminal,0x04Offset9 為bStillCaptureMethod, Still image Capture 為Method 2, 0x02Offset10 為bTriggerSupport, 為Support HW 觸發, 0x01Offset11 為bTriggerUsage, HW 觸發still image 形式為Initiate still image capture,0x00Offset12 為bControlSize, 為Size of each bmaControls(x) ,0x01Offset13 為bmaControls(1), 為YUY2 image still image control, no support control, 0x00Offset14 為bmaControl(2), 為MJPEG image still image control, 設定0x04-> 0000,0100-> wCompQuality enable接下來是設定Resolution 的Video Format, 及Video Frame Rate, 由於有支援YUY2 與MJPEG 兩種格式, 在default value 為YUY2 或是MJPEG 取決於設定放在前面或後面, YUY2 與MJPEG 在大致上設定相同, 只在bDescriptorSubtype 設為0x04 為YUY2 Video format, 0x06 為MJPEG Video format, 0x05 為YUY2 Frame Rate, 0x07 為MJPEG Frame Rate(13) Video Streaming YUY2 Video Format Descriptor設定Uncompressed Video Format Descriptor, 這個Descriptor 不在UVC 1.1 Spec, 需參考USB_Video_Payload_Uncompressed_1.1.pdf 的Table 3.1F/W 設定// VideoStreaming YUY2 Video Format Descriptor 0x1B, // bLength: 0x1B byte0x24, // bDescriptorType: 0x240x04, // bDescriptorSubtype: 0x040x01, // bFormatIndex: Second format descriptor. 0x07, // bNumFrameDescriptors0x59, 0x55, 0x59, 0x32, // guidFormat: Globally Unique Identifier for YUV2.0x00, 0x00,0x10, 0x00,0x80, 0x00,0x00, 0xAA,0x00, 0x38, 0x9B, 0x71,0x10, // bBitsPerPixel: Decoded frame has 16 bits per pixel0x01, // bDefaultFrameIndex: Default frame index is 1.0x00, // bAspectRatioX: Non-interlaced stream - not required.0x00, // bAspectRatioY: Non-interlaced stream - not required.0x00, // bmInterlaceFlags: Non-interlaced stream. 0x00, // bCopyProtect: No restrictions imposedon the duplication of this video stream.解釋Offset0 為bLength, 設定Descriptor 長度27 Bytes, 0x1BOffset1 為bDescriptorType, 設定為CS_INTERFACE, 0x24Offset2 為bDescriptorSubtype , 設定為VS_FORMAT_UNCOMPRESSED ,0x04Offset3 為bFormatIndex, Index of this format descriptor , 因YUY2 為default 所以為first format, 0x01Offset4 為bNumFrameDescriptors, 有多少個Frame , 0x07Offset5 為guidFormat , 占16 Bytes, 為Globally Unique IdentifierOffset21 為bBitsPerPixel , 設定每一個Pixel 用幾個bits 來表現, 0x10 表示1 個pixel 使用16個bitsOffset22 為bDefaultFrameIndex, 定義default frame, 0x01 表示以第一個frame 做為defaultOffset23 為bAspectRatioX, 設定Aspect Ratio X 值, 因是non-interlace , 0x00 Offset24 為bAspectRatioY, 設定Aspect Ratio Y 值, 因是non-interlace , 0x00 Offset25 為bmInterlaceFlags , Interlace Flages, 因non-interlaced 所以設0x00 Offset26 為bCopyProtect, 設定No restrictions, 0x00(14) Video Streaming YUY2 Video Frame Descriptor設定YUY2 的Video frame Descriptor, 舉YUY2 800x600 為例, 參考參考USB_Video_Payload_Uncompressed_1.1.pdf 的Table 3.2F/W 設定// VideoStreaming YUY2 Video Frame Descriptor 800x6000x32, // bLength: 0x32 byte0x24, // bDescriptorType: 0x240x05, // bDescriptorSubtype: 0x050x01, // bFrameIndex: 1st frame descriptor0x00, // bmCapabilities: Unused0x20, 0x03, // wWidth: Width of frame is 800 pixels 0x58, 0x02, // wHeight: Height of frame is 600 pixels 0x00, 0xF0, 0x49, 0x02, // dwMinBitRate: Min bit rate in bits/s0x00, 0xB0, 0x71, 0x0B, // dwMaxBitRate: Max bit rate in bits/s0x00, 0xA6, 0x0E, 0x00, // dwMaxVideoFrameBufSize: Max video or still frame size in bytes0x80, 0x1A, 0x06, 0x00, // dwDefaultFrameInterval: 25 fps0x06, // bFrameIntervalType: 6 discrete frame interval0x80, 0x1A, 0x06, 0x00, // Frame interval 25 fps0x20, 0xA1, 0x07, 0x00, // Frame interval 20 fps0x2A, 0x2C, 0x0A, 0x00, // Frame interval 15 fps0x40, 0x42, 0x0F, 0x00, // Frame interval 10 fps0x55, 0x58, 0x14, 0x00, // Frame interval 7.5 fps0x80, 0x84, 0x1E, 0x00, // Frame interval 5 fps解釋Offset0 為bLength , Frame Descriptor Length, 0x32Offset1 為bDescriptorType, 設定CS_INTERFACE, 0x24Offset2 為bDescriptorSubtype, 設定VS_FRAME_UNCOMPRESSED, 0x05Offset3 為bFrameIndex , 設定這個Frame是編號第幾的Frame, 0x01Offset4 為bmCapabilities, 設定Still image supported 及Fixed frame-rate, 0x00 Offset5 為wWidth, 設定Frame 的Width為800->0x320, 0x20,0x03Offset7 為wHeight, 設定Frame 的Height為600->0x258, 0x58,0x02Offset9 為dwMinBitRate , Min bit rate bit/s, 公式: 800(W)x600(H)x16(bits)x5(fps) =38400000 bit/s = 0x0249F000, 0x00,0xF0,0x49,0x02Offset13 為dwMaxBitRate, Max bit rate bit/s, 公式:800(W)x600(H)x16(bits)x25(fps)=192000000->0xB71B000, 0x00,0xB0,0x71,0x0B OffsetOffset17 為dwMaxVideoFrameBufferSize, 設Max Buffer frame size, 公式800(W)x600(H)x2(Bytes)=960000->0xEA600, 0x00,0xA6,0x0E,0x00Offset21 為dwDefaultFrameInterval , 設定Default frame rate 為25fps,0x80,0x1A,0x06,0x00Offset25 為bFrameIntervalType , 支援多少Frame rate, 0x05Offset26 為dwFrameInterval(0), The video frame interval is specified in 100 ns units, 公式: 10,000,000/x , Frame rate =25fps->10,000,000/25 =400000->0x61A80 , 0x80, 0x1A,0x06, 0x00Offset30 為dwFrameInterval(1), Frame rate = 20fps, 0x20,0xA1,0x07,0x00Offset34 為dwFrameInterval(2), Frame rate = 15fps, 0x2A, 0x2C,0x0A,0x00Offset38 為dwFrameInterval(3), Frame rate= 10fps, 0x40,0x42,0x0F,0x00Offset42 為dwFrameInterval(4), Frame rate= 7.5fps, 0x55,0x58,0x14,0x00Offset46 為dwFrameInterval(5), Frame rate= 5fps, 0x80,0x84,0x1E,0x00(15) Video Streaming YUY2 Still Image Frame Descriptor設定支援的Still image frame Descriptor 參考UVC SPEC Table 3-17F/W 設定0x23, // bLength: 0x23 byte0x24, // bDescriptorType: 0x24.0x03, // bDescriptorSubtype:VS_STILL_IMAGE_FRAME0x00, // bEndpointAddress: Unused.0x07, // bNumImageSizePatterns0x20, 0x03, // wWidth(1): Width of image is 800 pixels.0x58, 0x02, // wHeight(1): Height of image is 600 pixels.0xA0, 0x00, // wWidth(2): Width of image is 160 pixels.0x78, 0x00, // wHeight(2): Height of image is 120 pixels.0xB0, 0x00, // wWidth(3): Width of image is 176 pixels.0x90, 0x00, // wHeight(3): Height of image is 144 pixels.0x40, 0x01, // wWidth(4): Width of image is 320 pixels.0xF0, 0x00, // wHeight(4): Height of image is 240pixels.0x60, 0x01, // wWidth(5): Width of image is 352 pixels.0x20, 0x01, // wHeight(5): Height of image is 288 pixels.0x80, 0x02, // wWidth(6): Width of image is 640 pixels.0xE0, 0x01, // wHeight(6): Height of image is 480 pixels.0x00, 0x05, // wWidth(7): Width of image is 1280 pixels.0xD0, 0x02, // wHeight(7): Height of image is 720 pixels.0x01, // bNumCompressionPattern: One compression pattern.0x01, // bCompression(1): Compression ratio is 1.解釋Offset0 為bLength, Still image frame descriptor length, 0x23Offset1 為bDescriptorType , 設為CS_INTERFACE, 0x24Offset2 為bDescriptorSubtype, 設為VS_STILL_IMAGE_FRAME ,0x03Offset3 為bEndpointAddress, 因傳輸方式為Iso, 所以是為0x00Offset4 為bNumImageSizePatterns, 設定支援多少Still Image Frame, 0x07 Offset5 為wWidth(1), first Still image frame 的Width=800->0x320, 設定0x20 ,0x03Offset7 為wHeight(1), first Still image frame 的Height=600->0x258, 設定0x58,0x02以下still image frame 由此類推(16) Video Streaming YUY2 Color Matching Descriptor設定Color Matching Descriptor 參考UVC SPEC. Table 3-18F/W 設定// VideoStreaming YUY2 Color Matching Descriptor0x06, // bLength: 0x06 byte0x24, // bDescriptorType: 0x240x0D, // bDescriptorSubtype:VS_COLORFORMAT0x01, // bColorPrimaries: BT.709, sRGB.0x01, // bTransferCharacteristics: BT.7090x04, // bMatrixCoefficients: SMPTE 170M (BT.601)解釋Offset0 為bLength , Color Matching Descriptor length, 0x06Offset1 為bDescriptorType , 設定CS_INTERFACE type, 0x24Offset2 為bDescriptorSubtype , 設定VS_COLORFORMAT, 0x0DOffset3 為bColorPrimaries , 設定BT.709, sRGB (default), 0x01Offset4 為bTransferCharacteristics, 設定1: BT.709 (default), 0x01Offset5 為bMatrixCoefficients, 設定4: SMPTE 170M (BT.601, default) ,0x04(17) Video Streaming MJPG Video Format Descriptor設定MJPEG的Video format Descriptor, 因與YUY2 的Video Format Descriptor 設定類似所以不做說明, 參考USB_Video_Payload_MJPEG_1.1 的Table 3-1(18) VideoStreaming MJPG Video Frame Descriptor設定MJPEG 的Video Frame Descriptor 參考參考USB_Video_Payload_MJPEG_1.1 的Table 3-1(19) Video Streaming MJPG Still Image Frame Descriptor設定MJPEG Still Image Frame Descriptor, 與YUY2 Still Image frame descriptor 設定類似,所以不做說明(20) Video Streaming MJPG Color Matching Descriptor設定MJPEG 的Color Matching Descriptor, 與YUY2 的Color Matching Descriptor 設定類似, 所以不做說明接下來要設定Isochronous 方式的Interface descriptor 及Endpoint Descriptor, 共要設定11 組(21) VideoStreaming Interface Descriptor 1第一組的Interface Descriptor, 參考UVC SPEC. Table 3-12F/W 設定// VideoStreaming Interface Descriptor 1 0x09, // bLength: 0x09 byte0x04, // bDescriptorType: INTERFACE0x01, // bInterfaceNumber: interface 10x01, // bAlternateSetting: alternate setting 1 0x01, // bNumEndpoints: 1 endpoint0x0E, // bInterfaceClass: 0x0E.0x02, // bInterfaceSubClass: 0x02.0x00, // bInterfaceProtocol:PC_PROTOCOL_UNDEFINED.0x00, // iInterface: Unused.解釋Offset0 為bLength, Interface descriptor size, 0x09Offset1 為bDescriptorType, 設INTERFACE , 0x04Offset2 為bInterfaceNumber , 只有1個interface, 設0x01Offset3 為bAlternateSetting , 設Alternate number, 0x01Offset4 為bNumEndpoints , 設Endpoint number, 0x01Offset5 為bInterfaceClass , 設CC_VIDEO, 0x0EOffset6 為bInterfaceSubClass , 設SC_VIDEOSTREAMING, 0x02 Offset7 為bInterfaceProtocol , 設PC_PROTOCOL_UNDEFINED, 0x00 Offset8 為iInterface , Index of a string descriptor, 0x00(22) Video Streaming Endpoint Descriptor 1設first Endpoint Descriptor 參考UVC SPEC. TableF/W 設定// VideoStreaming Endpoint Descriptor 10x07, // bLength: 0x07 byte0x05, // bDescriptorType: ENDPOINT descriptor. 0x81, // bEndpointAddress: IN endpoint 1.0x05, // bmAttributes: Isochronous transfer type.0xC0, 0x00, // wMaxPacketSize: 192 bytes.0x01, // bInterval: Poll at least every 1ms or 125 us.解釋Offset0 bLength , Endpoint Descriptor Length, 0x07Offset1 bDescriptorType, 設定Endpoint , 0x05Offset2 為bEndpointAddress, Endpoint Address, 屬於input Endpoint 所以D7 要設為1, 而endpoint 1, 0x81Offset3 為bmAttributes , 設定Attribute 為AsynchronousIsochronous 方式傳輸, 0x05Offset4 為wMaxPacketSize, 這ISO 的11 個Endpoint Size 分別是192 Bytes, 384 Bytes, 512 Bytes, 640 bytes, 800 bytes, 944 bytes, 2688 bytes, 2848 bytes, 3040 bytes, 5056 bytes, 5116 bytes.Offset6 為bInterval , polling endpoint for data transfers, 0x01USB Video Class 的傳輸已經設定完成, 如果有支援Usb Audio, 接下來要設定USB Audio Class 傳輸的Descriptor參考: Universal Serial Bus Specification 2.0 及USB Device Class Definition for Video Device 1.1。

USB20数据线接口定义

USB20数据线接口定义

USB2.0简介目前USB设备虽已被广泛应用,但比较普遍的却是USB1.1接口,它的传输速度仅为12Mbps。

举个例子说,当你用USB1.1的扫描仪扫一张大小为40M的图片,需要4分钟之久。

这样的速度,让用户觉得非常不方便,如果有好几张图片要扫的话,就得要有很好的耐心来等待了。

用户的需求,是促进科技发展的动力,厂商也同样认识到了这个瓶颈。

这时‘COMPAQ、Hewlett Packard In tel、Luce nt、Microsoft、NEC 和PHILIPS 这7 家厂商联合制定了USB2.0[1]接口标准。

USB2.0将设备之间的数据传输速度增加到了480Mbps,比USB1.1标准快40倍左右,速度的提高对于用户的最大好处就是意味着用户可以使用到更高效的外部设备,而且具有多种速度的周边设备都可以被连接到USB2.0的线路上,而且无需担心数据传输时发生瓶颈效应。

所以,如果你用USB2.0的扫描仪,就完全不同了,扫一张40M的图片只需半分钟左右的时间,一眨眼就过去了,效率大大提高。

而且,USB2.0可以使用原来USB定义中同样规格的电缆,接头的规格也完全相同,在高速的前提下一样保持了USB1.1的优秀特色,并且,USB2.0的设备不会和USB1.X设备在共同使用的时候发生任何冲突。

市面上USB2.0的规格有全速(Full-Speed和高速(High-Speedo其中高速理论传输速率是480Mbps,即60MB/S。

全速理论传输速率是12Mbps,即1.5MB/S。

接口指MP3播放器与电脑的连接方式。

接口技术是MP3播放器的最重要的指标之一,接口的速度、方便程度自然也会影响到MP3的实用性和上传或下载歌曲的速率。

MP3播放器常见接口包括并口(EPP、USB接口和IEEE1394接口,早期的一般是并口,由于传输速度的限制,并口的MP3已被淘汰。

如今市面上的MP3接口基本是USB接口了,优点在于传输速率快和支持热插拔。

全面解析USB2.0及其USB2.0的应用

全面解析USB2.0及其USB2.0的应用

1.什么是USB2.0? USB 2.0是通⽤串⾏总线输⼊、输出总线协议的⼀种完全应⽤,于2001年推出,其数据传输速率⽐传统的USB 1.1标准更快。

USB1.1的传输速率为12Mbps,即⽬前公认的“USB”。

⼀些⼚商将其产品标为“全速USB”,⽤户不要将“全速”误解为“⾼速”。

“全速USB”允许的传输率是12Mbps,⽽⾼速USB能够达到更⾼的480Mbps。

此外,USB⿏标和键盘的传输速率仅为1.5Mbps,该传输速率同样被USB推⼴组(USB Promoter Group)称为“USB”。

综上所述,USB 2.0包括三种规格:⾼速、全速和低速。

作为消费者,您⽆需了解这些专业术语,只需记住⽬前只存在“⾼速USB”和“USB”端⼝与设备。

B 2.0的传输速率是多少? USB2.0的数据传输率⼤约是480Mbps,⽐先前数据传输率12Mbps的USB1.1接⼝快40倍。

最初的USB2.0数据传输率仅为240Mbps,后来USB2.0推⼴组在1999年10⽉将该速率提⾼到480Mbps。

B2.0连接线的长是多少? USB2.0连接线的长度5⽶。

但是,如果⽤5⽶长的USB连接线分级连接5个集线器,则长度可达30⽶。

B2.0可以带给⽤户哪些好处? ⽐USB1.1快40倍的传输速率,使计算机上可以使⽤的外设的范围⼤⼤增加。

即使有多个⾼速外设连接到USB2.0总线上,系统达到瓶颈带宽的可能性仍然很⼩。

新的规格不仅继承了⽬前USB设备即插即⽤及热拔插的特性,⽽且提供了USB1.1设备的向下兼容性,使当前⽤户平稳升级。

5.如何验证我的电脑是否具有USB2.0端⼝? 您可以很容易的辨别您的电脑是否有⾼速USB端⼝。

打开“设备管理器”,展开“通⽤串⾏总线”部分,您将会看到“Enhanced(增强)”USB主控制器选项。

该名称在Windows 98下可能不同,因为这些系统中的“⾼速USB”驱动程序并⾮由微软直接提供的(该驱动将在Windows ME、2000及XP的产品升级中提供)。

USB20读卡器方案

USB20读卡器方案

CHAPTER 1 GENERAL DESCRIPTIONGL835 is a crystal-less USB 2.0 to Single LUN SD3.0 (UHS-I/SDR-50)/MMC Memory Card Reader controller.It supports USB 2.0 high-speed transmission to Secure Digital TM(SD), SDHC, miniSD, microSD (T-Flash), MultiMediaCard TM (MMC), RS-MMC, MMCmicro and MMCmobile on one chip. It also supports huge density memory cards (up to 2TB), such as SDXC and Memory Stick XC. As a single chip solution for USB 2.0 flash card reader, the GL835 complies with Universal Serial Bus specification rev. 2.0, USB Storage Class specification ver.1.0, and SD/MMC card interface specification.The GL835 integrates a high speed 8051 microprocessor and a high efficiency hardware engine for the best data transfer performance between USB and flash card interfaces. Its’ pin assignment design fits to card sockets to provide easier PCB layout. Inside the chip, it integrates 3.3V to 1.8V regulators and power MOSFETs and it enables the function of on-chip clock source (OCCS) which means no external 12MHz XTAL is needed and that effectively reduces the total BOM cost.CHAPTER 2 FEATURES●USB specification compliance-Comply with 480Mbps Universal Serial Bus specification rev. 2.0-Comply with USB Storage Class specification rev. 1.0-Support one device address and up to four endpoints:Control (0)/ Bulk Read (1)/ Bulk Write (2)●Integrated USB building blocks-USB2.0 transceiver macro (PHY), USB controller, Build-in power-on reset (POR) ●Embedded 8051 micro-controller-Embedded mask ROM and internal SRAM●Secure Digital TM (SD)-Support SD specification v1.0 / v1.1 / v2.0/ SDHC (Up to 32GB)-Support SD specification v3.0 UHS-I: SDR25/SDR50-Support 1.8V/3.3V switch signal pads-Support SDXC (Up to 2TB)●※Optional: MultiMediaCard TM (MMC)-Support MMC specification v3.x / v4.0 / v4.1 / v4.2.-x1 / x4 bit data bus●On chip clock source (OCCS) to eliminate the use of one 12MHz crystal from board ●Support 3.3V power input●On-Chip 3.3V to 1.8V regulators●Provide Over-Current protection mechanism for safety power supply●On-Chip power MOSFETs for supplying flash media card power●Support Power Saving mode/ Selective suspend driver for better power management.●Support Spread Spectrum Clock enabled by vendor driver for SD to reduce EMI effect ●Support Remote Wakeup by default●Support SD CPRM●Support Intel Power Optimizer●Support Microsoft InstantGo●Support RTD3●Package available in 24 pin QFN (4x4 mm)CHAPTER 3 PIN ASSIGNMENT3.1 QFN 24 PinoutV D DN CD MD PA 3V 3D 3V 3SD_D1SD_WP SD_SDZ PIO5NC SD_VCCNC SD_CMDNC SD_D3SD_D2NCS D _C L KN CS D R E GN CN CS D _D 0Figure 3.1 - 24 Pin QFN Pin out Diagram3.2 Pin List/DescriptionsTable 3.1 - GL835 Pin List/DescriptionsCHAPTER 4 BLOCK DIAGRAMFigure 4.1 - Functional Block Diagram4.1 Crystal-less PHYThe USB 2.0 Transceiver Macrocell is the analog circuitry that handles the low level USB protocol and signaling, and shifts the clock domain of the data from the USB 2.0 rate to one that is compatible with the general logic. On chip clock source and no need of 12MHz Crystal Clock input.4.2 USB ControllerThe Serial Interface Engine, which contains the USB PID and address recognition logic, and other sequencing and state machine logic to handle USB packets and transactions.4.3 EPFIFOEndpoint FIFO includes Control FIFO (FIFO0) and Bulk In/Out FIFO●Control FIFO FIFO of control endpoint 0. It is 64-byte FIFO and used for endpoint 0 data transfer.●Bulk In/Out FIFO It can be in the TX mode or RX mode:1. It contains ping-pong FIFO (512 bytes each bank) for transmit/receive data continuously.2. It can be directly accessed by micro-control4.4 MCU8051 micro-controller inside.●8051 Core Compliant with Intel 8051 high speed micro-controller●ROM FW code on ROM●SRAM Internal RAM area for MCU access4.5 SD controller●Memory card host controller includes SD engine and DMA engine4.6 Regulator and Power Switch●3.3V to 1.8V LDO Core logic power source●3.3V power switch SD card power source。

USB20设备的开发

USB20设备的开发

初始化:主程序一开始首先进行一些全局变量的 初始化工作,之后地调用TD_Init()函数。用户在 该函数中添加自己的初始化代码以配置I/O端 口。 初始化工作还包括开中断,清除所有等待的USB 中断请求等。
Sleep; Rwuen; Selfpwr;GotSUD;Confirguration
重新列举:初始化之后,固件程序将会检测是否收
1.2 USB的优势与局限性
真正的即插即用。 速度的提升。 价格合理。 性能稳定。
USB协议从多方面考虑了保障措施。
局限性: 带宽的限制;对旧硬件支持不足;点对点的通信; 距离的限制。
二 USB设备开发的前期工作
1.了解USB的总线结构 在USB中采用的是层叠星型拓扑(Tiered Star Topology)结构。如图2-1所示:


db db dw db db db db dw dw dw db db db db
DSCR_DEVICE_LEN ;; Descriptor length DSCR_DEVICE ;; Decriptor type 0002H ;; Specification Version (BCD) 00H ;; Device class 00H ;; Device sub-class 00H ;; Device sub-sub-class 64 ;; Maximum packet size 0103H ;; Vendor ID 6000H ;; Product ID (Sample Device) 0000H ;; Product version ID 1 ;; Manufacturer string index 2 ;; Product string index 0 ;; Serial number string index 1 ;; Number of configurations
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

USB 2.0 规范USB体系简介USB是一种支持热插拔的高速串行传输总线,它使用差分信号来传输数据,最高速度可达480Mb/S。

USB支持“总线供电”和“自供电”两种供电模式。

在总线供电模式下,设备最多可以获得500mA的电流。

USB2.0 被设计成为向下兼容的模式,当有全速(USB 1.1)或者低速(USB 1.0)设备连接到高速(USB 2.0)主机时,主机可以通过分离传输来支持它们。

一条USB总线上,可达到的最高传输速度等级由该总线上最慢的“设备”决定,该设备包括主机、HUB以及USB功能设备。

USB体系包括“主机”、“设备”以及“物理连接”三个部分。

其中主机是一个提供USB 接口及接口管理能力的硬件、软件及固件的复合体,可以是PC,也可以是OTG设备。

一个USB系统中仅有一个USB主机;设备包括USB功能设备和USB HUB,最多支持127个设备;物理连接即指的是USB的传输线。

在USB 2.0系统中,要求使用屏蔽的双绞线。

一个USB HOST最多可以同时支持128个地址,地址0作为默认地址,只在设备枚举期间临时使用,而不能被分配给任何一个设备,因此一个USB HOST最多可以同时支持127个地址,如果一个设备只占用一个地址,那么可最多支持127个USB设备。

在实际的USB体系中,如果要连接127个USB 设备,必须要使用USB HUB,而USB HUB也是需要占用地址的,所以实际可支持的USB功能设备的数量将小于127。

USB体系采用分层的星型拓扑来连接所有USB设备,如下图所示:以HOST-ROOT HUB为起点,最多支持7层(Tier),也就是说任何一个USB系统中最多可以允许5个USB HUB级联。

一个复合设备(Compound Device)将同时占据两层或更多的层。

ROOT HUB是一个特殊的USB HUB,它集成在主机控制器里,不占用地址。

ROOT HUB不但实现了普通USB HUB的功能,还包括其他一些功能,具体在增强型主机控制器的规范中有详细的介绍。

“复合设备(Compound Device)”可以占用多个地址。

所谓复合设备其实就是把多个功能设备通过内置的USB HUB组合而成的设备,比如带录音话筒的USB摄像头等。

轮询的广播机制传输数据,所有的传输都由主机发起,任何时刻整个USB体USB采用轮询的广播机制轮询的广播机制系内仅允许一个数据包的传输,即不同物理传输线上看到的数据包都是同一被广播的数据包。

USB采用“令牌包”-“数据包”-“握手包”的传输机制,在令牌包中指定数据包去向或者来源的设备地址和端点(Endpoint),从而保证了只有一个设备对被广播的数据包/令牌包作出响应。

握手包表示了传输的成功与否。

数据包:USB总线上数据传输的最小单位,包括SYNC、数据及EOP三个部分。

其中数据的格式针对不同的包有不同的格式。

但都以8位的PID开始。

PID指定了数据包的类型(共16种)。

令牌包即指PID为IN/OUT/SETUP的包。

端点(Endpoint):是USB设备中的可以进行数据收发的最小单元,支持单向或者双向的数据传输。

设备支持端点的数量是有限制的,除默认端点外低速设备最多支持2组端点(2个输入,2个输出),高速和全速设备最多支持15组端点。

管道(Pipe)是主机和设备端点之间数据传输的模型,共有两种类型的管道:无格式的流管道(Stream Pipe)和有格式的信息管道(Message Pipe)。

任何USB设备一旦上电就存默认的控制管道,USB主机通过该管道来获取设备的描述、配置、状在一个信息管道,即默认的控制管道默认的控制管道态,并对设备进行配置。

枚举,完成获得USB设备连接到HOST时,HOST必须通过默认的控制管道对其进行枚举枚举其设备描述、进行地址分配、获得其配置描述、进行配置等操作方可正常使用。

USB设备的即插即用特性即依赖于此。

枚举:是USB体系中一个很重要的活动,由一系列标准请求组成(若设备属于某个子类,还包含该子类定义的特殊请求)。

通过枚举HOST可以获得设备的基本描述信息,如支持的USB版本、PID、VID、设备分类(Class)、供电方式、最大消耗电流、配置数量、各种类型端点的数量及传输能力(最大包长度)。

HOST根据PID和VID加载设备驱动程序,并对设备进行合适的配置。

只有经过枚举的设备才能正常使用。

对于总线供电设备,在枚举完成前最多可从总线获取100mA的电流。

USB体系定义了四种类型的传输,它们是:控制传输:主要用于在设备连接时对设备进行枚举以及其他因设备而已的特定操作。

中断传输:用于对延迟要求严格、小量数据的可靠传输,如键盘、游戏手柄等。

批量传输:用于对延迟要求宽松,大量数据的可靠传输,如U盘等。

同步传输:用于对可靠性要求不高的实时数据传输,如摄像头、USB音响等。

注意:中断传输并不意味这传输过程中,设备会先中断HOST,继而通知HOST启动传输。

中断传输也是HOST发起的传输,采用轮询的方式询问设备是否有数据发送,若有则传输数据,否则NAK主机。

不同的传输类型在物理上并没有太大的区别,只是在传输机制、主机安排传输任务、可占用USB带宽的限制以及最大包长度有一定的差异。

USB设备通过管道和HOST通信,在默认控制管道上接受并处理以下三种类型的请求:标准请求::一共有11个标准请求,如得到设备描述、设置地址、得到配置描述等。

1.标准请求所有USB设备均应支持这些请求。

HOST通过标准请求来识别和配置设备。

请求::USB还定义了若干个子类,如HUB类、大容量存储器类等。

不2.类(class)请求同的类又定义了若干类请求,该类设备应该支持这些类请求。

设备所属类在设备描述符中可以得到。

厂商请求::这部分请求并不是USB规范定义的,而是设备生产商为了实现一定的3.厂商请求功能而自己定义的请求。

USB HUB提供了一种低成本、低复杂度的USB接口扩展方法。

HUB的上行PORT面向HOST,下行PORT面向设备(HUB或功能设备)。

在下行PORT上,HUB提供了设备连接检测和设备移除检测的能力,并给各下行PORT供电。

HUB可以单独使能各下行PORT,不同PORT可以工作在不同的速度等级(高速/全速/低速)。

HUB由HUB重发器(HUB Repeater)、转发器(Transaction Translator)以及HUB控制器(HUB Controller)三部分组成。

HUB Repeater是上行PORT和下行PORT之间的一个协重生与分发。

HUB控制器负责和HOST的通信,HOST 议控制的开关,它负责高速数据包的重生与分发重生与分发通过HUB类请求和HUB控制器通讯,获得关于HUB本身和下行PORT的HUB描述符,进行HUB和下行PORT的监控和管理。

转发器提供了从高速和全速/低速通讯的转换能力,通过HUB可以在高速HOST和全速/低速设备之间进行匹配。

HUB在硬件上支持Reset、Resume、Suspend。

重生与分发:指的是HUB Repeater需要识别从上行(下行)PORT上接收到的数据,并分发到下行(上行)PORT。

所谓分发主要是指从上行PORT接收到的数据包需要向所有使能的高速下行PORT 发送,即广播。

USB HOST在USB体系中负责设备连接/移除的检测、HOST和设备之间控制流和数据流的管理、传输状态的收集、总线电源的供给。

USB数据流模型USB体系在实现时采用分层的结构,如下图所示:在HSOT端,应用软件(ClientSW)不能直接访问USB总线,而必须通过USB系统软件和USB主机控制器来访问USB总线,在USB总线上和USB设备进行通讯。

从逻辑上可以分为功能层、设备层和总线接口层三个层次。

其中功能层完成功能级的描述、定义和行为;设备级则完成从功能级到传输级的转换,把一次功能级的行为转换为一次一次的基本传输;USB总线接口层则处理总线上的Bit流,完成数据传输的物理层实现和总线管理。

途中黑色箭头代表真实的数据流,灰色箭头代表逻辑上的通讯。

物理上,USB 设备通过分层的星型总线连接到HOST ,但在逻辑上HUB 是透明的,各USB 设备和HOST 直接连接,和HOST 上的应用软件形成一对一的关系。

如下图所示:各应用软件-功能设备对之间的通讯相互独立,应用软件通过USB 设备驱动程序(USBD)发起IRQ 请求,请求数据传输。

主机控制器驱动程序(HCD )接收IRQ 请求,并解析成为USB传输和传输事务(Transaction ),并对USB 系统中的所有传输事务进行任务排定(因为可能同时有多个应用软件发起IRQ 请求)。

主机控制器(Host Controller )执行排定的传输任务,在同一条共享的USB 总线上进行数据包的传输。

如下图所示。

USB 系统中数据的传输,宏观的看来是在HOST 和USB 功能设备之间进行;微观的看是在应用软件的Buffer 和USB 功能设备的端点之间进行。

一般来说端点都有Buffer ,可以认为USB 通讯就是应用软件Buffer 和设备端点Buffer之间的数据交换,交换的通道称为管道。

应用软件通过和设备之间的数据交换来完成设备的控制和数据传输。

通常需要多个管道来完成数据交换,因为同一管道只支持一种类型的数据传输。

用在一起来对设备进行控制的若干管道称为设备的接口,这就是端点端点端点、、管道和接管道和接口的关口的关口的关系。

一个USB 设备可以包括若干个端点,不同的端点以端点编号端点编号端点编号和方向方向方向区分。

不同端点可以支持不同的传输类型、访问间隔以及最大数据包大小。

除端点0外,所有的端点只支持一个方向的数据传输。

端点0是一个特殊的端点,它支持双向的控制传输。

管道和端点关联,和关联的端点有相同的属性,如支持的传输类型、最大包长度、传输方向等。

四种传输类型1. 控制传输:控制传输是一种可靠的双向双向双向传输,一次控制传输可分为三个阶段。

第一阶段为从HOST 到Device 的SETUP 事务传输,这个阶段指定了此次控制传输的请求类型;第二阶段为数据阶段,也有些请求没有数据阶段;第三阶段为状态阶段,通过一次IN/OUT 传输表明请求是否成功完成。

控制传输通过控制管道在应用软件和Device 的控制端点之间进行,控制传输过程中传输的数据是有格式定义的,USB 设备或主机可根据格式定义解析获得的数据含义。

其他三种传输类型都没有格式定义。

控制传输对于最大包长度有固定的要求。

对于高速设备该值为64Byte;对于低速设备该值为8;全速设备可以是8或16或32或64。

最大包长度表征了一个端点单次接收/发送数据的能力,实际上反应的是该端点对应的最大包长度Buffer的大小。

相关文档
最新文档