基于单片机的USB数据采集系统设计_第1页
基于单片机的USB数据采集系统设计_第2页
基于单片机的USB数据采集系统设计_第3页
基于单片机的USB数据采集系统设计_第4页
基于单片机的USB数据采集系统设计_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机的 USB数据采集系统设计摘 要随着现代工业领域对数据采集的要求越来越高,传统的以采用数据采集卡为主的方法由于传输速度慢、安装麻烦、抗干扰能力弱等诸多问题已难以适应如今数据采集的要求。通用串行总线 USB 具有速度快、支持热插拔及传输线少等优点,因此将 USB 应用于数据采集系统可以很好的解决传统数据采集系统的不足,具有广泛的应用价值。本论文首先简要地概述了 USB1.0 规范的主要内容,然后以 8051 单片机和PHILIPS 公司的 PDIUSBD12 芯片为外设的核心,基于 USB1.0 规范开发,设计了基于 USB 接口的数据传输设备。实践证明,本系统设计已初步取得成功,可以实现USB 数据采集功能。最后通过对系统的测试,在设计的数据采集界面上显示出了输入随机信号的波形图。实践证明,本系统设计已初步取得成功,可以实现 USB数据采集功能。关键词:USB,8051 单片机,数据采集USB Data Acquisition System Based on a Single ChipABSTRACTWith increasing requirement of mordern industry field to data collection, the traditional method which mainly makes use of data acquisition card has not adapted to the high requirement of modern data acquisition because of the low transmission speed、 inconvenient installation、weak ability of anti-jamming and other problems. USB(Universal Serial Bus)has many advantages, such as high transmission speed、 sustaining hot plug and few transmission lines.So the application of USB in data acquisition system can be the solution of the deficiency of traditional data acquisition system, and it has widely application value.The paper begins with a brief overview of the main contents of USB1.0 specification, then 8051 and the companys PDIUSBD12 PHILIPS core chip peripherals, based on USB1.0 specification development, design based on the USB interface data transmission equipment. Practice has proved that this system has an initial success, USB data acquisition function can be achieved. In the end ,we test the system, and the wave forms of the inputting random signals can be displayed on the data acquisition interface designed. The practice work indicates that the design work of this system has received initial success, and the USB data acquisition function can be realized by the system.Keywords:USB,8051 MCU, Data acquisition目 录1 引言 .11.1 课题研究的相关背景 .11.2 课题研究的目的和意义 .11.3 国内外发展状况 .11.4 USB 简介 .11.5 本课题要完成的内容 .32 USB 概述及协议 .32.1 USB 体系结构概述 .32.1.1 USB 系统描述 .32.1.2 USB 连接头及其供电方式 .52.1.3 USB 系统软硬件组成 .52.2 USB 编码方式与传输类型 .62.2.1 USB 的编码方式 .62.2.2 USB 传输 .62.2.3 四种传输方式的总结 .82.3 USB 设备请求 .92.3.1 USB 标准请求格式 .92.3.2 USB 标准请求命令 .92.4 USB 设备的描述符 .102.4.1 设备描述符 .102.4.2 配置描述符 .112.4.3 接口描述符 .122.4.4 端点描述符 .132.4.5 字符串描述 .142.5 总线协议 .152.6 USB 的枚举过程 .162.7 USB 主机接口及系统的功能 .172.8 本章小结 .183 USB 数据采集系统的硬件电路设计 .193.1 系统的总体结构设计 .193.2 单片机 8051 介绍 .193.4 PDIUSBD12 USB 功能描述 .223.5 单片机与 PDIUSBD12 的外围硬件电路 .233.6 单片机硬件外围电路设计 .253.6.1 单片机时钟及复位电路 .253.6.2 串口通信模块 .253.6.3 数模转换模块 .273.7 本章小结 .304 程序设计及调试 .304.1 概述 .304.1.1 集成开发环境 Keil 简介 .304.1.2 程序概述 .314.2 固件程序 .354.2.1 固件程序组成 .354.2.2 PDIUSBD12 的底层操作 .364.2.3 PDIUSBDI2 命令接口程序 .364.2.4 PDIUSBDI2 的中断服务程序 .374.2.5 主程序 .434.3 系统调试 .454.4 本章小结 .465 PCB 设计 .465.1 PCB 设计流程 .465.2 PCB 电路板图 .476 结 论 .48参 考 文 献 .50致 谢 .511 引言随着现代工业生产和科学研究对数据采集系统的要求日益提高,传输速度、纠错能力和操作安装的简易性是人们进行采集数据时一直关注的问题,这使得数据通讯技术不可避免地成为了其中的关键技术,而数据采集系统采用何种接口进行数据通讯是影响系统整体效率的重要因素之一。USB(通用串行总线)总线接口技术由于具有速度快、设备安装和配置容易、易于扩展、能够采用总线供电及使用灵活等优点,已逐渐成为现代数据传输的发展趋势。本文给出了一种基于 8051 的数据采集系统 USB 接口设计方案 ,完成了 USB 接口硬件电路设计和软件程序开发,并将其应用到仓库视频监控系统中,实现了快速、方便的数据采集和传输。1.1课题研究的相关背景传统的数据采集设备与主机的通讯口一般采用 RS232、RS422 或 RS485 等标准,当今的设备通讯口大多采用 USB 标准。作为一种新型的串口通信标准,基于USB 接口的产品具有较高的传输速率,可扩展性好,采用总线供电,支持热插拔和即插即用等。特别是近几年来,USB 大有完全取代上述标准的趋势。其共有 4种传输模式:控制传输、同步传输、中断传输、批量传输,以适应不同设备的需要。本系统采用中断传输模式。中断传输(interrupt transfer)用于必须在指定时间内传输完的数据上,支持高速/中速/低速的设备,能应用在一般数据的传输上。Windows 包含启动设备中断传输的驱动程序,只要设备符合 HID(human interface device,人机接口设备)规范,应用程序就可以执行设备的中断传输。需要特别注意的是,中断传输与其他 USB 传输一样,只发生在主机轮询设备的时候,并不是由设备触发的硬件中断。随着 USB 技术的快速发展以及 USB 外设广泛应用,支持 USB 接口技术的芯片也越来越多,而在外部设备设计选型时选用带有 USB 控制器的 MCU,当然是设计开发人员的首选,因为这样不仅可以大大简化硬件电路、减小外设体积,而且还可以提高产品的可靠性 1。1.2课题研究的目的和意义信息技术与电子技术的迅猛发展,使得计算机和外围设备也得到飞速发展和应用。过去人们单纯追求计算机与外设之间的传输速度,现在纠错能力和操作安装的简易性也成为人们关注的目标。USB通讯技术的出现,使高传输速度、强纠错能力、易扩展性、方便的即插即用,有机的结合在一起。USB设备需要依据USB协议进行数据的解包与打包,底层硬件设备与操作系统之间需要以驱动程序为桥梁。驱动程序以WDM为模型,以DDK为开发工具,以IRP为消息传播载体,来实现与Windows系统底层核心机制向交互的功能。随着控制系统的日益复杂,所要采集的量也会越来越多。因此寻求一种高速、安全、方便的通讯形式是十分必要的。USB技术虽然出现的时间并不长,但是由于它的种种优点,被越来越多的厂商和用户所接受,出现了USB打印机、摄像头等产品。随着PC机日益广泛的应用 ,其外设也逐日增多 ,但PC 机接口的数量是一定的,这就限制了PC机挂接外设的数量。在很多应用场合,如工业数据采集,常使用采集板卡来完成工作,采用板卡不仅安装麻烦、易受机箱内环境的干扰,而且受计算机插槽数量和地址、中断资源的限制,不可能挂接很多设备,而通用串行总线可以很容易的实现高可靠性、多点的数据采集。1.3 国内外发展状况1994年,Intel,Compaq,Digital,IBM,Microsoft,NEC,Northern Telecom等7家世界著名的计算机和通信公司成立了USB论坛,花了近两年的时间形成了统一的意见,于1995年11月正式制定了USB 0.9通用串行总线(Universal Serial Bus)规范。直至Windows98推出之前,推出的USB功能模块并不多,Windows98对USB驱动软件(USBD)完善,使其可提供对USB的强有力的支持,对USB技术的发展起到重要推进作用。自此,市场上涌现出大批的USB产品。USB1.0是目前推出的在支持USB的计算机与外设上普遍采用的标准。目前普遍采用的USB1.0协议主要应用在中低速外围设备上,它提供的传输速度有低速1.5Mbps和全速12Mbps两种。可分别支持显示器、Modem、鼠标、键盘、扫描仪、打印机、光驱及大范围的多媒体设备。从国外的发展来看,人们对USB有着极大的重视程度,这从USB规范的改进速度之快及国际市场上基于USB的产品普及的范围可见一斑。从1994年公布V1.0FDR版本,短短一年时间版本增订了五次。说明技术人员正大力研究改善USB的性能。市场上基于USB的外设己囊括了所有的数字产品。可见国外在这方面已作了很多工作,并且目前也正以很快的速度发展 2。 国内对于USB的研究在这几年才刚刚起步。市场上也可以见到各种USB产品,也有少量的专门讨论USB开发的国内网站,但因为在前几年还很少有人做这方面的工作,所以在相关网站上开发USB的文章量少,更新速度慢。对USB芯片进行开发、技术服务和应用方案设计的公司更是寥寥无几。虽然在网上做调研所得到的信息并不完全,但由此可以看出国内对USB技术研究的需求及欠缺。1.4 USB简介USB 是由世界著名计算机和通信公司等共同推出的新一代接口标准,全称为Universal Serial Bus(通用串行总线) 3,是一种快速、灵活的总线接口。它是为了解决日益增加的 PC 外设与有限的主板插槽和端口之间的矛盾而制定的一种串行通信标准。USB 应用十分广泛,并具有下述优点:1、适用于多种外设,使它不需要为不同的外设准备不同的接口和协议;2、Windows 能自动检测到 USB 设备的热插拔,并自动配置;3、PC 机上的接口线非常紧缺,而 USB 设备并不需要用户设置端口故无论从用户使用方便性,或从对资源的占用方面看,USB 都很优秀;4、当接入一个 USB 设备时,全速 USB 接口可达 12Mbit/s。考虑到状态、控制和出错信息,最大理论速度仍可达到 9.6Mbit/s,这是其他串行接口协议所不能比拟的,且 USB 也支持 1.5Mbit/s 的低速传输。5、USB 接口芯片价格低廉,这也大大促进 USB 设备的开发与应用。在 USB 出现之前,计算机典型接口有并行口、串行口、鼠标口、键盘口、显示器口,及各种卡式接口等,与这些接口对应的有各种不同的电缆,在传输速度方面,这些接口都存在速度偏低的问题。在技术方面,这种设计容易产生 I/O 冲突,中断不够用,以及对于每一种新的外设都必须设计新的接口卡等缺点。当今的计算机外部设备,都在追求高速度和高通用性。USB 接口适应了这种要求,并以其速度快、使用方便、成本低等优点,迅速得到了众多 PC 厂商和半导体厂商的大力支持,外设向 USB 过度成为必然趋势。1.5本课题要完成的内容结合当前国内外 USB 接口技术的研究现状,设计了基于 USB1.0 接口芯片PDIUSBD12 的高速数据采集系统。本论文的主要研究工作如下:8051单片机蜂鸣器8 路 ADCADC0809第一章介绍了本课题研究背景,目的及意义,还有 USB 接口技术的发展和国内外研究动态,给出论文的主要研究内容。第二章介绍了 USB 协议,USB 体系结构,编码方式与传输类型,总线协议,USB 枚举过程等。第三章介绍了硬件特性及电路设计,并详细阐述了单片机 8015 和PDIUSBD12 芯片的功能特点等。第四章介绍了 USB 设备的固件开发基础,并设计了数据采集的固件程序。第五章是对论文的总结。2USB 概述及协议USB以USB主机为核心,以外围的USB设备为功能,组成了USB系统模型。主机是USB的核心,每次USB数据通信都必须是由USB主机来发起的,主机管理着USB设备。USB物理上是一个含有两条电源线(VCC,GND)和两条以差分方式产生信号的线(D+,D-),传输率可达12Mbps的串行接口,一个PC主机可以连接多达127个外围设备。USB协议是以令牌包为主的通信协议,12Mbps的总线带宽被分割成1ms的帧,所有任务以时分传输(TDM)来分享总线 4。2.1USB 体系结构概述2.1.1USB 系统描述一个USB系统主要被定义为三个部分:USB的互连,USB的设备,USB的主机。USB的互连是指USB设备与主机之间进行连接和通信的操作,主要包括以下几方面:总线的拓扑结构:USB设备与主机之间的各种连接方式;内部层次关系:根据性能叠置,USB的任务被分配到系统的每一个层次;数据流模式:描述了数据在系统中通过USB从产生方到使用方的流动方式;USB的调度:USB提供了一个共享的连接。对可以使用的连接进行了调度以支持同步数据传输,并且避免的优先级判别的开销。USB连接了USB设备和USB主机,USB的物理连接是有层次性的星型结构。每个网络集线器是在星型的中心,每条线段是点点连接。从主机到集线器或其功能部件,或从集线器到集线器或其功能部件,从图2.1中可看出何USB系拓扑结构。其中,USB集线器Hub是一组设备的连接点,主机中有一个被嵌入的Hub叫根图 2.1 总线的拓扑结构Hub(root Hub)。主机端通常是指PC主机或是另外再附加USB端口的扩充卡,主机通过根Hub提供若干个连接点。集线器除了扩增系统的连接点外,还负责中继(repeat)上游或下游的信号以及控制各个下游端口的电源管理。当PC上电时,所有USB设备与Hub都默认地址为0,PC机启动程序向USB查询,地址1分配给发现的第一个设备,地址2分配给第二个设备或Hub,如此重复寻找并分配地址,直到所有设备赋完地址,并加载相应的的驱动程序。当设备突然被拔移后,PC机通过D+或D-的电压变化检测到设备被移除掉后,将其地址收回,并列入可使用的地址名单中。在任何USB系统中,只有一个主机。USB和主机系统的接口称作主机控制器,主机控制器可由硬件、固件和软件综合实现。根集线器是由主机系统整合的,用以提供更多的连接点。USB的设备如下所示:网络集线器,向USB提供了更多的连接点;功能器件:为系统提供具体功能,如ISDN的连接,数字的游戏杆或扬声器。USB设备提供的USB标准接口的主要依据:对USB协议的运用;对标准USB操作的反馈,如设置和复位;标准性能的描述性信息。2.1.2USB 连接头及其供电方式为了避免连接错误,USB定义了两种不同规格的星形USB连接头:序列A与B连接头,其中序列A接头用来连接下游的设备。每个连接头内拥有4个针脚,其中两个是用来传递差分数据的,另两个则用于USB设备的电源供给。USB的供电方式有两种:1、总线供电集线器电源由上游连接端口供应,最多只能从上游端消耗500mA。一个4个连接端口的集线器,每个下游端口最多消耗为100mA,外围电路消耗100mA。2、自我供电集线器集线器本身有电源,可以提供给本身的控制器以及下游端口至少500mA的电流,集线器最多可从上游端消耗100mA。2.1.3USB 系统软硬件组成USB系统的软硬件资源可以分为3个层次:功能层、设备层和接口层。功能层提供USB设备所需的特定的功能,主机端的这个功能由用户软件和设备类驱动程序提供,而设备就由功能单元来实现。设备层主要提供USB基本的协议栈,执行通用的USB的各种操作和请求命令。从逻辑上讲,就是USB系统软件与USB逻辑设备之间的数据交换。接口层涉及的是具体的物理层,其主要实现物理信号和数据包的交互,即在主机端的USB主控制器和设备的USB总线接口之间传输实际的数据流。无论在软件还是硬件层次上,USB主机都处于USB系统的核心。主机系统不仅包含了用于和USB外设进行通信的USB主机控制器及用于连接的 USB接口(SIE),更重要的是,主机系统是USB系统软件和USB客户软件的载体。USB主机软件系统可以分为三个部分:1、客户软件部分(CSW),在逻辑上和外设功能部件部分进行资料的交换;2、USB系统软件部分(即HCDI),在逻辑和实际中作为HCD和USBD之间的接口;3、USB主机控制器软件部分(即HCD和USBD),用于对外设和主机的所有USB有关部分的控制和管理,包括外设的SIE部分、USB资料发送接收器(Transreceiver)部分及外设的协议层 5。2.2USB 编码方式与传输类型2.2.1USB 的编码方式USB采用不归零翻转(Non Return to Zero Invert,简称NRZI)编码方式,对于不同步的脉冲信号也能产生同步的数据存取,能有效地解决USB缆线信号延迟产生的误差。NRZI的编码规则是:当数据位为“1”时电平保持不变,为“0”时电平翻转。如果原始的串行数据中含有连续6个“1,就在其后填充一个“0。在NRZI解码的过程中发现连续的6个“1”时,则移走其后原填入的“0。NRZI编码、位填充过程分析如下:原数据 0 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1位填充 0 1 1 0 0 0 1 1 0 1 1 1 1 1 1 0 1 1NRZI码 0 1 1 1 0 1 0 0 0 1 1 1 1 1 1 1 0 0 0 2.2.2USB 传输USB总线是一种串行总线,即它的资料是一个bit一个bit来传送的。虽然USB总线是把这些bit形式的资料打成资料包来传送,但资料的同步也是必不可少的。USB1.0协议规定,USB的标准脉冲时钟为12MHz,而其总线时钟为1ms,即每隔1ms,USB器件应为USB线缆产生一个时钟脉冲序列。这个脉冲序列称为帧开始资料包(SOF) ,主机利用SOF来同步USB资料的发送和接收。为实现多外设、多信道地同时工作,USB总线使用资料包的方式来传输资料和控制信息。USB数据传输中的每一个资料包都以一个同步字段开始,它的最后两个bit作为PID字段开始的标志 20。紧跟在同步字段之后的一段8bit的脉冲序列称为PID(资料包标识字段) ,PID字段的前四位用来标记该资料包的类型,后四位则作为对前四位的校验。PID字段被分为标记PID(共有IN、OUT、SETUP或SOF四种) 、资料PID(DATA0或DATA1) 、握手PID(ACK、NAK或STALL)及特殊PID等。主机根据PID字段的类型来判断一个资料包中所包含的数据类型,并执行相应的操作。当一个USB外设初次连接时,USB系统会为这台外设分配唯一的USB地址,这个地址通过地址寄存器(ADDR)来标记,以保证资料包不会传送到别的USB外设。7bit的ADDR使得USB系统最大寻址为127台设备(ADDR字段) 。由于一台USB外设可能具有多个信道,因而在ADDR字段后会有一个附加的端点字段(EndpointField,简标为ENDP)来标记不同的信道。所有的USB外设都必须支持Endpoint0信道,用0000来标记。对于高速设备,可以最大支持16个信道,而低速设备在Endpoint0之外仅能有一个信道。数据域位作为一次USB数据传输的中心目的,在一个USB资料包中可以包含01203Byte的资料。而帧数量字段则包含在帧开始资料包中,对有的应用场合,可以用帧数量字段作为资料的同步信号。为保证控制、块传送及中断传送中资料包的正确性,CRC校验字段被引用到如标记、资料、帧开始(SOF)这样的资料包中。CRC校验(资料冗余校验)可以给予资料以100% 的正确性检验。在USB系统中,有四种形式的资料包:信令包(Token Packets) 、DATA 资料包(DATA Packets) 、帧开始包(SOF Packets)和握手包(Handshake Packets) 。每个资料包的结束都会有两个bit宽的EOP字段作为资料包结束的标志(图7-18),EOP在差模信号中表现为D+和D-都处于“0”状态。对于高速USB外设而言,这个脉冲宽度在160175ns之间,而低速设备则在1.251.50s之间。无论其后是否有其它的资料包,USB线缆都会在EOP字段后紧跟1bit的总线空闲位。USB主机或外设利用EOP来判断一个资料包的结束。USB数据传输类型是从USB系统软件的管理角度来描述的。传输(Transfer)是指在客户软件和它的功能模块之间的一个或多个信息传输的总线事务。传输类型决定于客户软件和它的功能模块之间的数据流特性。为了满足不同外设和用户的要求,USB提供了四种传输方式:控制传输、同步传输、中断传输、批量传输。它们在数据格式、传输方向、数据包容量限制、总线访问限制等方面有着各自不同的特征:1、控制传输(Control Transfer):控制传输至少有两个阶段:建立阶段和状态阶段。控制传输的数据阶段由一个以上的IN或者OUT事务组成,并遵守与批量传输同样的协议规则。数据阶段中的所有事务都必须有相同的方向,即同为OUT或者同为IN。是可靠的,非周期的,由主机软件发起的请求或者回应的传送,通常用于命令事务和状态事务。2、同步传输(Isochronous Transfer) ;同步传输用于保证时间优先的数据流,如音频和视频数据流,传输的时间对于数据来说是非常必要的条件,在全速模式时,一个同步包包含1023字节;在高速模式时,一个同步包包含1024字节。在主机和设备之间的周期性的,连续的通信,一般用于传送与时间相关的信息。这种类型保留了将时间概念包含于数据中的能力。但并不意味着用于同步传送的数据的时间是很重要的,即传送并不一定很急。3、中断传输(Interrupt Transfer):中断传输主要用于定时查询设备是否有中断数据要传输,是一种主机定时侦听设备。设备的端点模式器的结构决定了它的查询频率,在1-255ms之间。中断传输在高速时的数据载荷可达1023字节,在全速时的载荷量小于64字节。中断传输主要应用于键盘、操纵杆和鼠标。4、批量传输(Bulk Transfer):非周期的,大包的,可靠的传送。批量传输用于传输突发的大量的数据,全速模式时以8,16,32或64字节(高速模式时是512字节)的信息包传送。由于对出错的数据自动的进行重发,批量数据可确保无误发送。对于PDIUSBD12,端点的工作方式可通过Set Mode命令配置为4种不同的模式,分别为:1、模式0(Non-ISO模式):非同步传输;2、模式1(ISO-OUT模式):同步输出传输;3、模式2(ISO-IN模式):同步输入传输;4、模式3(ISO-IO模式): 同步输入输出传输。端点2在有些方面是比较特别的,端点2是进行吞吐大量数据的主要端点,一般称其为主端点,主端点执行主机的特性以减轻传输大量数据的任务,具体包括:1、双缓冲;2、支持DMA;3、可以配置为同步传输或非同步(批量和中断)传输。2.2.3 四种传输方式的总结控制传输在所有的USB设备中都需要使用,因为主机对USB设备的配置命令都需要通过控制传输来传送,而设备的描述信息也需要通过控制传输传递给主机。至于同步传输,应用于实时性要求较高,而准确性要求较低的场合,比如视频设备要求图像不能有明显的滞后,而如果传输的某些字节出错,人眼也无法察觉,这时就使用同步传输来传送视频数据流。中断传输和批量传输都属于异步传输方式,他们的主要区别在于传输数据的速度不一样,一般来说,批量传输比中断传输要快得多。本设计是采用批量传输的方式进行传输的。2.3USB 设备请求USB 的标准设备请求是用来完成 USB 设备枚举的命令,USB 设备必须对标准设备请求作出响应,不管该设备是否已经被分配了一个默认的地址或者该设备目前正在被配置。所有的标准请求都是使用默认端点(0)来传输的。所有的 USB 设备在设备的缺省控制通道 (Default Control Pipe) 处对主机的请求发出响应。这些请求是通过使用控制传输来达到的,请求及请求的参数通过 Setup 包发向设备,由主机负责设置 Setup 包内的每个域的值。每个 Setup 包有 8 个字节 6。2.3.1USB 标准请求格式USB的设备请求由八个字节组成,格式定义如表2.1所示。2.3.2USB 标准请求命令USB标准请求有11个命令,如下:1、获取状态请求:该命令用于返回特定接受者的状态。2、清除特性请求:该命令用于清除或禁用接受者的某些特性。3、设置特性请求:该命令是主机用来启用或激活命令接受者某些特性。4、设置地址请求:该命令用于主机给设备分配地址。5、获取描述请求:该命令用于主机获取设备的特定描述符。6、设置描述符请求:主机利用该命令来修改设备中的有关描述或增加新的描述符等。7、获取配置请求:主机利用该命令获得设备当前的配置值。8、设置配置请求:主机通过该命令来指示设备采用要求的配置。9、获取接口请求:主机利用该命令来获取当前的某个接口的接口描述符的编号。10、设置接口请求:主机可以通过该命令来要求设备用某个接口描述符来描述接口。11、同步帧请求:该命令用于设备设置和报告一个端点的同步帧。表2.1USB设备请求格式偏移值 字段名称 字段长度 字段取值 说明0设备请求类型1 位图请求特性:D7:数据传输方向0=主机到设备1=设备到主机D6.5:类型0=标准;1=类型2=厂商;3=保留D4.0:接受方0=设备;1=接口2=端点;3=其他4.31=保留1 设备请求 1 数值 USB设备请求2 值 2 值 根据不同的请求,以字节为单位来定义4 索引 2字段编号索引根据不同的请求,以字节为单位来定义6 长度 2 计数如果传输一组数据,指出要传输的字节数2.4USB 设备的描述符USB设备描述符是说明设备的通用信息,这包括对设备及所有设备设置全程起作用的信息。2.4.1 设备描述符一个 USB 设备有一个设备描述符,设备描述符里面决定了该设备有多少种配置,每种配置描述符对应着配置描述符,而在配置描述符中又定义了该配置里面有多少个接口,每个接口有对应的接口描述符;在接口描述符里面又定义了该接口有多少个端点,每个端点对应一个端点描述符;端点描述符定义了端点的大小,类型等等。设备描述符的结构如表 2.2 所示:表2.2设备描述符偏移值 字段名称 字段大小 字段取值 说明0 bLength 1 数字 描述符的大小=12H1 bDescriptorType 1 常数 设备描述符类型=01H2 bcdUSB 2 BCD USB规划发布号4 bDeviceClass 1 类型 类型代码(由USB指定)5 bDeviceSubClass 1 子类型 子类型代码(由USB分配)6 bDeviceProtocol 1 协议 协议代码(由USB分配)7 bMaxPacketSize0 1 数字端点0最大分组大小(只有8,16,32或64有效)8 idVendor 2 ID 供应商ID(由USB分配)10 idProduct 2 ID 产品ID(由厂商分配)12 bcdDevice 2 BCD 设备出厂编码14 iManufacture 1 索引 厂商描述符字符串索引15 iProduct 1 索引 产品描述符字符串索引16 iSerialNumber 1 索引 设备序列号字符串索引17 bNumConfiguation 1 数字 可能的配置数2.4.2配置描述符配置描述符定义了设备的配置信息,包含8个字段,共9字节。描述表包括一个bConfigurationValue域,在SetConfiguration()请求时作为参数来设置所需的配置备。此描述符给出了此配置下的接口数,每个接口可能独立操作 11。结构如表2.3所示。表2.3配置描述符偏移值 字段名称 字段大小 字段取值 说明0 bLength 1 数字 描述符的大小 =09H1 bDescriptorType 1 常数 配置描述符类型=02 H2 wTotalLength 2 数字此设置信息的总长(包括设置,接口,端点和设备类及厂商定义的描述表)4 bNumInterfaces 1 数字 此设置所支持的接口个数5 bConfigurationValue 1 数字作为Set Configuration的一个参数选择配置值6 iConfiguration 1 索引用于描述该配置字符串描述符的索引7 bmttributes 1 位图配置特性:D7:总线供电D6:自供电D5:远程唤醒D40;保留(复位为0)8 MaxPower 1 mA在此设置下的总线电源耗费量,以2mA为一个单位2.4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论