USB

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

7.1USB概述•问题的提出:外设与CUP的连接存在接口标准各自独立、互不兼容、无法共享的连接头问题,并且安装、配置麻烦。•解决基本思路:采用通用连接器和自动配置及热插拔技术和相应的软件,实现资源共享和外设简单快速连接,提供设备共享接口来解决PC机与外部设备连接的通用性。USB的主要优点:•速度快USB1.1:有全速和低速两种方式,主模式为全速模式,速率为12Mbps,另外为了适应一些不需要很大吞吐量和很高实时性的设备,如鼠标等,USB还提供低速方式,速率为1.5Mbps。USB2.0:2000年9月推出的USB2.0协议将使其速率达到480Mbps,它非常适用于一些视频输入/输出产品,并很有可能替代SCSI接口标准。•设备安装和配置容易安装USB设备不必再打开机箱,所有USB设备支持热拔插,系统对其进行自动配置,彻底抛弃了过去的跳线和拨码开关设置。•实现成本低USB对系统与PC的集成进行了优化,适合于开发低成本的外设。•易于扩展通过使用Hub扩展可驳接多达127个外设。标准USB电缆长度为3米(低速为5米)。通过Hub或中继器可以使外设距离达到30米。•使用灵活USB共有4种传输模式:控制传输(control)、同步传输(Synchronization)、中断传输(interrupt)、块传输(bulk),以适应不同设备的需要。•能够采用总线供电USB工作在5V电压下,总线提供最大达500mA电流。7.1.3USB的物理接口和电气特性1、接口信号线USB总线(电缆)包含4根信号线,用以传送信号和提供电源。其中,D+和D-为信号线,传送信号,是一对双绞线;Vbus和GND是电源线,提供电源。USB接口插头(座)也比较简单,只有4芯。……VBusD+D-GNDVBusD+D-GND(a)……VBusD+GNDVBusD+D-GND2、电气特性1.USB主机或根Hub对设备提供的对地电源电压为4.75~5.25V。设备能吸入的最大电流值为500mA。2.USB设备的电源供给有两种方式:自给方式(设备自带电源)和总线供给方式。USBHub是前一种方式。3.USB主机有一个独立于USB的电源管理系统(APM)。USB系统软件通过与主机电源管理系统交互来处理诸如挂起、唤醒等电源事件。USB设备连接原理:•USB的输出.差分驱动,支持半双工方式.电缆阻抗范围:76.5–103.5Ω.驱动器输出阻抗匹配电阻:28–44Ω.所有USB设备的上游端口,按设备的最高速定义。•USB的接收.差分接收7.1.4USB信号的定义包开始数据线从闲置状态跳变到K态包结束SE0态保持2位的传输时间后之后,保持1位传输时间的J态。SE0态保持2位的传输时间后之后,保持1位传输时间的J态。断开SE0保持SE0态持续2.5us以上SE0保持SE0态持续2.5us以上连接闲置状态持续时间≥2ms闲置状态持续时间≥2.5us复位D+和D-<2.8v的持续时间≥10msD+和D-<0.3v的持续时间≥2.5us7.1.5数据的编码与解码NRZI的编码方法不需独立的时钟信号和数据一起发送,电平跳变代表“0”,没有电平跳变代表“1”。在数据被编码前,在数据流中每6个连续的“1”后插入1个“0”,从而强迫NRZI码发生变化,接收端必须去掉这个插入的“0”。例:SyncPacker00000001111111111101SyncPacker000000011111110111101源码位插入SyncPackerNRZI7.2.1USB系统拓扑结构USB协议定义了在USB系统中Host与USB设备之间的连接和通信,其物理拓扑结构如图所示。第二层第三层第四层Host宿主HublHub2NodeNodeHub3Hub4NodeNodeNodeNodeNodeNodeUSB系统拓扑结构示意图第一层HUBNodeNodeNode复合设备设备1设备2设备3总线的拓扑结构HostRootHUBRootHUBPC微机的USB拓扑结构中,USB设备具体连接方式如12.23所示。键盘显示器USB主机光笔鼠标音箱麦克风电话集线器集线器图12.23USB设备具体连接方式7.2.2USB主机USB逻辑设备管道端点通信流缓冲区主机客户软件1.数据和控制信号在主机和USB设备间的交换存在两种管道:单向和双向。2.USB的数据传送是在主机软件和一个USB设备的指定端口之间。这种主机软件和USB设备的端口间的联系称作管道。3.各管道之间的数据流动是相互独立的。一个指定的USB设备可有许多管道。发送数据的管道和接收数据的管道。USB主机USB设备1.USB主机/设备的简单模型:2.USB主机1.USB主机是一个带有USB主控制器的PC机,在USB系统中,只有1个主机,它是USB系统的主控者。2.USB主控制器/根Hub(USBHostController/RootHub)分别完成对传输的初始化和设备的接入。主机控制器负责产生由主机软件高度的传输,然后再传给根Hub。HostRootHUB1.帧产生USB系统采用帧同步传输。.控制器将总线时间化分为帧,每帧持续时间:1ms.每1ms都以SOF(Start–Of-Frame)令牌开始,标识新的一帧开始。.SOF以广播的方式,发到所有的全速设备,每隔1ms发送一次。.在帧结束间隔区(EOF)间内,所有的传输都被禁止或暂停。.高速微帧的持续时间为125us,每1ms内可产生8个微帧SOF令牌。USB主机控制器的主要功能:2.传输差错控制.超时错。目标端口没有反应。.协议错。位插入错(出现连续7个“1”),无效握手包,错误的包标志等。.数据丢失错或无效传输错。传输时间超过EOF(1ms)、CRC校验错等。对于批传输、命令传输和中断传输,上述各类型的错误出现3次后,终止传输。同步传输则不受此限制。3.状态处理控制器负责管理和报告USB系统的各种状态,状态处理器负责对状态信息做处理,使主机控制器与设备之间的状态保持一致。4.串行化与反串行化.输出数据。主机控制器将协议信息与原始数据信息转换为串行数据流。.输入数据。主机控制器将串行数据流还原为协议信息与原始数据信息。.串行接口引擎(STE)负责传输过程中的串行化与反串行化工作。5.数据处理.主机控制器负责处理主机输入/输出数据的请求。.数据传输的格式取决于系统的具体实现,并符合USB协议的要求。站在用户的角度,主机控制器具有的功能:.检测USB设备的插入和拔出。.管理主机与设备的数据流。.对设备进行必要的控制。.收集/处理各种状态信息。.给设备供电。7.2.3USB设备1.USB设备USB设备分成集线器HUB、功能设备两种。(1)USBHUB是USB实现即插即用的一个关键部分。每个USBhub有一个面向主机的端口,称为上游端口(UpstreamPort);同时还有几个用于和下端USB设备连接的端口,称为下游端口(DownstreamPort)。HUB可以检测到下游端口是否有设备插入,同时也可以禁用某一个或某几个下游端口。每个下游端口可自由连接全速或低速设备。USB集线器的结构图:上游端口下游端口HUB功能:•一个USB集线器由控制器(Controller)和中继器(Repeater)两部分组成。•中继器是一个上游端口和下游端口之间的开关(Switch),由协议控制.•它能由硬件产生复位(Reset),休眠(Suspend)和恢复(Resume)信号。控制器提供接口寄存器,用于和主机通信。•根据集线器特定的状态,主机使用一定的控制命令可对集线器进行配置,检查各端口并对它们进行控制。•功能设备能在总线上发送和接收数据或控制信息,它是完成某项具体功能的硬件设备,如鼠标、键盘等。•每个设备中有一个或多个逻辑连接点,称为端点(Endpoint)。端点在硬件上其实是一个有一定深度的FIFO。•端点和主机共有四种形式的数据传输类型,在设备配置时每个端点指明它与主机进行何种类型的传输。•所有设备都有一个端点0,主机与它通信,对设备进行配置和基本的控制。(2)功能设备1.客户软件(clientsoftware):为一个特定的USB设备而在主机上运行的软件。这种软件由USB设备的提供者提供,或由操作系统提供。2.USB系统软件(USBsystemsoftware):此软件用于在特定的操作系统中支持USB,它由操作系统提供。与具体的USB设备无关,也独立于客户软件。3.USB主机控制器(USBHostController):总线在主机方面的接口,是软件和硬件的总和。用于支持USB设备通过USB连到主机上。7.2.4USB通信模型USB主机控制器USB系统软件层客户软件层总线接口层USB设备层功能层主机设备逻辑连接逻辑连接物理连接7.3.1端点(Endpoint)•在USB接口中再也不用考虑I/O地址空间、IRQ线及DMA通道的问题。只给每个USB外设分配一个逻辑地址,但并不指定分配任何系统资源。•而USB外设本身应包含一定数量的独立寄存器端口,并能由USB设备驱动程序直接操作。这些寄存器也就是USB设备的端点(Endpoint)。•一个设备可以有多个端点,但所有的USB设备都必须有一个0端点以用于设置,完成Control类型传送。7.3USB的数据流模型7.3.2管道(Pipe)USB支持功能性和控制性的数据传送,这些传送发生在主机软件和USB设备的端点之间,我们把USB设备的端点和主机软件的联合称为管道(Pipe)。因此,管道是从逻辑概念上来描述信息传输的通道。一个USB设备应有一个端点来支持接受数据的管道,还应有另一个端点来支持发送数据的管道。端点0所对应的管道(默认管道):主要用于控制类型的传输.主机对外设的控制就是通过默认管道发“外设请求”来实现的。USB端点,管道,通信流USB逻辑设备管道端点通信流缓冲区主机客户软件7.3.3USB的通信数据流客户(管理界面)配置信息USB系统(管理管道)标准管道(到缺省端口地址)管道组(到某一接口)硬件定义主机控制器HCUSBD传送管理:要完成主机与USB设备间的任何数据传送,必须要使用一定的USB带宽。要想支持从同步设备到异步设备的各种传送,必须要能满足它们对传送的不同要求。分配总线带宽给设备的工作叫做传送管理。主机上有几个部分是用于协调USB上的信息流的,它们是:客户软件、USB驱动(USBD)和主机控制器驱动器(HCD)。(1).客户软件(设备类驱动程序)•又叫做客户驱动程序,他是通过IO请求包(IRP)将请求发送给USB驱动程序.(2).USB驱动(USBD)•USB驱动程序知道目标设备的特性,也知道如何通过USB和设备进行通信。USB的特性是由USB的驱动程序检测,这是在设备的配置过程中通过分析设备描述符得到的!•当USBD收到一个IRP时,USBD把该请求组织成若干个专门的事务处理,这些事务处理将在一系列一毫秒的时间片中执行(分帧和带宽分配)。(3)主控制器驱动(HCD)HCD接受USB驱动程序递交过来的事务,生成事务表,并将传输的事务按USB要求的格式”打包”,再经过STE实现USB接口间的物理传输。•注意:USB客户的请求的一次传输可能被分为一系列的事务处理执行!•USb主控制器通过根集线器初始化事务处理!每个时间片都从一个时间片起始(SOF)事务处理开始,随后是包含在当前列表中的所有事务处理的广播!IRPS、传输、时间片、数据包的关系图USB客户程序事务1-0IRP请求包1事务1-1IRP请求包2事务2-0事务2-1事务1-2事务2-2事务2-3时间片1时间片2时间片3HCDUSBD事务1-0事务2-0事务1-0事务2-0事务1-1令牌包令牌包数据包数据包握手包握手包syncpidsyncpidHC设备地址端点CRCsyncpidCRC数据(事务处理量)USBD的结构图命令接口管理接口服务流消息管理设置管理设备数据访问设备总线管理能量控制HCDHC7.4USB协议层USB总线传输以“包”为基本单位,每个USB包由多个字段(域)组成。所有数据发送时都从低位开

1 / 72
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功