《微型计算机通信与接口技术(二版)》课件

上传人:txadgkn****dgknqu... 文档编号:240942668 上传时间:2024-05-19 格式:PPT 页数:176 大小:1.48MB
收藏 版权申诉 举报 下载
《微型计算机通信与接口技术(二版)》课件_第1页
第1页 / 共176页
《微型计算机通信与接口技术(二版)》课件_第2页
第2页 / 共176页
《微型计算机通信与接口技术(二版)》课件_第3页
第3页 / 共176页
资源描述:

《《微型计算机通信与接口技术(二版)》课件》由会员分享,可在线阅读,更多相关《《微型计算机通信与接口技术(二版)》课件(176页珍藏版)》请在装配图网上搜索。

1、第第8章章 USB通用串行总线通用串行总线 及应用及应用本章学习目标本章学习目标本章介绍了USB接口1.1规范。通过对本章的学习,读者应该掌握以下主要内容:USB总线体系结构USB数据流模型USB协议、构架第8章USB通用串行总线及应用本章18.1 USB总线体系结构总线体系结构1.起因起因Intel公司开发的通用串行总线架构(USB)的目的主要基于以下三方面考虑:(一)计算机与电话之间的连接(二)易用性(三)端口扩充8.1USB总线体系结构1.起因Intel公司开发的21.USB规范的目标规范的目标本章规范了USB的工业标准。该规范介绍了USB的总线特点、协议内容、事务种类、总线管理、接口编

2、程的设计,以及建立系统、制造外围设备所需的标准。1.USB规范的目标本章规范了USB的工33.USB的设计目标的设计目标USB的工业标准是对PC机现有的体系结构的扩充。USB的设计主要遵循以下几个准则:易于扩充多个外围设备;价格低廉,且支持12M比特率的数据传输;对声音音频和压缩视频等实时数据的充分支持;协议灵活,综合了同步和异步数据传输;兼容了不同设备的技术;综合了不同PC机的结构和体系特点;提供一个标准接口,广泛接纳各种设备;赋予PC机新的功能,使之可以接纳许多新设备。3.USB的设计目标USB的工业标准是44.使用的分类使用的分类 表9-1按照数据传输率(USB可以达到)进行了分类。可以

3、看到,12M比特率可以包括中速和低速的情况。总的来说,中速的传输是同步的,低速的数据来自交互的设备,USB设计的初衷是针对桌面电脑而不是应用于可移动的环境下的。软件体系通过对各种主机控制器提供支持以保证将来对USB的扩充。4.使用的分类表9-1按照数据传输率(USB55.特色特色USB的规范能针对不同的性能价格比要求提供不同的选择,以满足不同的系统和部件及相应不同的功能,其主要特色可归结为以下几点:终端用户的易用性:为电缆和连接头提供了单一模型;电气特性与用户无关;自我检测外设,自动地进行设备驱动、设置;动态连接,动态重置的外设。5.特色USB的规范能针对不同的性能价6广泛的应用性:适应不同设

4、备,传输速率从几千比特率到几十兆比特率;在同一线上支持同步、异步两种传输模式;支持对多个设备的同时操作;可同时操作127个物理设备;在主机和设备之间可以传输多个数据和信息流;支持多功能的设备;利用低层协议,提高了总线利用率。广泛的应用性:7同步传输带宽:确定的带宽和低延迟适合电话系统和音频的应用;同步工作可以利用整个总线带宽。灵活性:可以有很多不同大小的分组,允许对设备缓冲器大小的选择;通过指定数据缓冲区大小和执行时间,支持各种数据传输率;通过协议对数据流进行缓冲处理。同步传输带宽:8健壮性:出错处理/差错恢复机制在协议中使用;对用户感觉而言,热插拔是完全实时的;可以对有缺陷设备进行认定。与P

5、C产业的一致性:协议的易实现性和完整性;与PC机的即插即用的体系结构的一致;对现存操作系统接口的良好衔接。健壮性:9价廉物美:以低廉的价格提供1.5兆比特率的子通道设施;将外设和主机硬件进行了最优化的集成;促进了低价格的外设的发展;廉价的电缆和连接头;运用了商业技术。升级路径:体系结构的可升级性支持了在一个系统中可以有多个USB主机控制器。价廉物美:108.1.2 体系结构体系结构一个一个USBUSB系统主要被定义为三个部分系统主要被定义为三个部分USB的互连;的互连;USB的设备;的设备;USB的主机。的主机。8.1.2体系结构一个USB系统主要被定义为三个部分11 USB USB的互连是指

6、的互连是指USBUSB设备与主机之间进行设备与主机之间进行连接和通信的操作,主要包括以下几方面:连接和通信的操作,主要包括以下几方面:总线的拓扑结构:USB设备与主机之间的各种 连接方式;内部层次关系:根据性能叠置,USB的任务被 分配到系统的每一个层次;数据流模式:描述了数据在系统中通过USB从产生方到使用方的流动方式;USB的互连是指USB设备与主机之间进行连接和通信的操12USB的调度:USB提供了一个共享的连接。对可以使用的连接进行了调度以支持同步数据传输,并且避免的优先级判别的开销。USB的设备及主机的细节将讲述于后。USB的调度:USB提供了一个共享的连接。对可以使131.总线布局

7、技术总线布局技术 图9.1 总线的扑结构 USB连接了USB设备和USB主机,USB的物理连接是有层次性的星型结构。每个网络集线器是在星型的中心,每条线段是点点连接。从主机到集线器或其功能部件,或从集线器到集线器或其功能部件,从图9.1中可看出USB的拓扑结构。1.总线布局技术图9.1总线的扑结构U14 USB USB的主机的主机 在任何USB系统中,只有一个主机。USB和主机系统的接口称作主机控制器,主机控制器可由硬件、固件和软件综合实现。根集线器是由主机系统整合的,用以提供更多的连接点。USB USB的设备的设备 USB的设备如下所示:网络集线器:向USB提供了更多的连接点;功能器件:为系

8、统提供具体功能,如ISDN的连接,数 字的游戏杆或扬声器。USB的主机在任何USB系统中,只有一个15 USB设备提供的USB标准接口的主要依据:对USB协议的运用;对标准USB操作的反馈,如设置和复位;标准性能的描述性信息;USB设备提供的USB标准接口的主要依据:162.物理接口物理接口图9.2USB 的电缆 电气特性电气特性 USB传送信号和电源是通过一种四线的电缆,图9.2中的两根线是用于发送信号。2.物理接口图9.2USB的电缆电气特性17存在两种数据传输率:USB的高速信号的比特率定为12Mbps;低速信号传送的模式定为1.5Mbps;低速模式需要更少的EMI保护。两种模式可在用同

9、一USB总线传输的情况下自动地动态切换。电缆中包括VBUS、GND二条线,向设备提供电源。存在两种数据传输率:低速模式需要更少的EMI保护。两18 机械特性机械特性 所有设备都有一个上行的连接。电缆中有四根导线:一对互相缠绕的标准规格线,一对符合标准的电源线,连接器有四个方向,具有屏蔽层,以避免外界干扰,并有易拆装的特性。机械特性193.电源电源主要包括两方面:主要包括两方面:电源分配:即USB的设备如何通过USB分配得到由 主计算机提供的能源;电源管理:即通过电源管理系统,USB的系统软 件和设备如何与主机协调工作。3.电源主要包括两方面:204.总线协议总线协议USB总线属一种轮询方式的总

10、线,主机控制端口初始化所有的数据传输。存在两种类型的通道:流 消息4.总线协议USB总线属一种轮询方式的总215.健壮性健壮性USB健壮性的特征在于:使用差分的驱动接收和防护,以保证信号完整性;在数据和控制信息上加了循环冗余码(CRC);对装卸的检测和系统级资源的设置;对丢失或损坏的数据包暂停传输、利用协议自我恢复;5.健壮性USB健壮性的特征在于:22对流数据进行控制,以保证同步信号和硬件缓冲管理的安全;数据和控制通道的建立,使功能部件的相互不利的影响独立开,消除了负作用。错误检测错误检测 错误处理错误处理 对流数据进行控制,以保证同步信号和硬件缓冲管理的安全236.系统设置系统设置 USB

11、设备可以随时的安装和折卸,因此,系统软件在物理的总线布局上必须支持这种动态变化。USB USB设备的安装设备的安装 USB USB设备的拆卸设备的拆卸 总线标号总线标号6.系统设置USB设备可以随时的安装和折卸247.数据流种类数据流种类 数据和控制信号在主机和USB设备间的交换存在两种通道:单向 双向。USB的结构包含四种基本的数据传输类型:控制数据传送 批量数据传送 中断数据的传送 同步数据的传送:7.数据流种类数据和控制信号在主机和USB设备25 对于任何给定的设备进行设置时一种通道只能支持上述一种方式的数据传输。控制数据传送控制数据传送 批量数据传送批量数据传送 中断数据传输中断数据传

12、输 同步传输同步传输 指定指定USBUSB带宽带宽 对于任何给定的设备进行设置时一种通道只能支持上述一种268.USB设备设备 设备特性设备特性 在零号端口上,控制通道中的信息应完整地描述USB设备、此类信息主要有以下几类:标准信息 类别信息 USB厂商信息 设备描述设备描述8.USB设备设备特性在零号端口上,控制通27 集线器在即插即用的USB的结构体系中,集线器是一种重要设备。图9.3所示是一种典型的集线器。从用户的观点出发,集线器极大简化了USB的互连复杂性,而且以很低的价格和高易用性提供了设备的健壮性。集线器在即插即用的USB的结构体系中,集线器是一种重28下面列举了一些功能部件(图9

13、.4):下面列举了一些功能部件(图9.4):29USB主机:硬件和软件主机:硬件和软件 USB的主机通过主机控制器与USB设备进行交互。主机功能如下:检测USB设备的安装和拆卸 管理在主机和USB设备之间的控制流;管理在之间的数据流主机和USB设备;收集状态和动作信息;提供能量给连接的USB设备。USB主机:硬件和软件USB的主机通过主机控制器与30 主机上USB的系统软件管理USB设备和主机上该设备软件之间的相互交互,USB系统软件与设备软件间有三种相互作用方式:设备编号和设置;同步数据传输;异步数据传输;电源管理 设备和总线管理信息。主机上USB的系统软件管理USB设备和主机上该设备软31

14、8.2 USB数据流模型数据流模型8.2.1 实现者的视图实现者的视图SB提供了在一台主机和若干台附属的USB设备之间的通信功能,从终端用户的角度看到的USB系统,可简单地用图9.5表示:图9.5 USB主机/设备的简单模型 8.2USB数据流模型8.2.1实现者的视图SB提32 USB的这种层次结构如图所示,各层次的具体细节将在以后逐步介绍。特别地,有四个层次的实现是较为集中的 USB物理设备(USB Physical Device)客户软件(client software)USB系统软件(USB system software)USB主机控制器(USB Host Controller)如图

15、9.6所示,一台主机与一个USB设备间的连接是由许多层上的连接组成。USB的这种层次结构如图所示,各层次的具体细节将在以33 图9.6 USB需实现的区域 图9.6USB需实现的区域34 本章描述一些核心概念,USB系统的实现者必须先掌握它们,然后在往后几章中阅读更加详细的部分。为了描述和管理了描述和管理USBUSB通信,以下概念是很重要的:通信,以下概念是很重要的:总线拓朴(Bus Topology):USB的基本物理组成、基本逻辑组成,以及各组成部分之间的相互关系。本章描述一些核心概念,USB系统的实现者必须先掌握35通信流模型(Communication Flow Models):描述主

16、机与设备如何通过USB通信,以及通信所用的四种通信类型。总线访问管理(BUS Access):主机面对大量的USB设备的各种通信要求,如何控制、协调总线的访问。关于同步传送的考虑:对要求同步传送的设备提供一些特性。非同步传送设备的实现者不必阅读此节。通信流模型(CommunicationFlowMode368.2.2 总线拓朴总线拓朴总线拓朴结构包括四个重要的组成部分。主机和设备 物理拓朴结构 逻辑拓朴结构 客户软件层与应用层的关系8.2.2总线拓朴总线拓朴结构包括四个重要的组成部分。371.USB主机主机主机的逻辑结构如图9.7,包括 USB主机控制器(USB Host Controller

17、)USB系统软件集合 客户软件1.USB主机主机的逻辑结构如图9.7,包括382.USB设备设备一个USB设备的逻辑结构如图9.8所示,包括 USB总线接口 USB逻辑设备 应用层 USB设备用于向主机提供一些额外的功能。USB设备提供的功能是多种多样的,但面向主机的接口却是一致的。所以,对于所有这些设备,主机可以用同样的方式来管理它们与USB有关的部分。2.USB设备一个USB设备的逻辑结构如图9.8所示,包39图9.7 主机的组成 图9.7主机的组成40 图9.8 物理设备组成 图9.8物理设备组成41总线的物理拓朴结构总线的物理拓朴结构 USB系统中的设备与主机的连接方式采用的是星形连接

18、,如图9.9 图9.9 USB物理总线的拓扑 总线的物理拓朴结构USB系统中的设备与主机的连接方42总线逻辑拓朴结构总线逻辑拓朴结构在物理结构上,设备通过Hub连到主机上。但在逻辑上,主机是直接与各个逻辑设备通信的,就好像它们是直接被连到主机上一样,如图9.10图9.10 USB逻辑总线的拓扑 总线逻辑拓朴结构 在物理结构上,设备通过Hub连到主机上。43客户软件层与应用层的关系客户软件层与应用层的关系USB系统的物理上、逻辑上的拓朴结构反映了总线的共享性。图9.11 客户软件和应用间的关系 客户软件层与应用层的关系 USB系统的物理上、逻辑上的拓朴448.2.3 USB通信流通信流 USB是

19、为主机软件和它的USB应用设备间的通信服务的,对客户与应用间不同的交互,USB设备对数据流有不同的要求。图9.12更详尽地描述了USB系统,支持了逻辑设备层和应用层间的通信。实际的通信流要经过好几个接口边界。主机控制器的驱动程序(HCD)USB驱动程序(USBD)8.2.3USB通信流USB是为主机软件和45图9.12USB主机/设备的细节图 图9.12USB主机/设备的细节图46图中说明了数据如何在主机侧中的内存缓冲和设备中的端点中传送。图中说明了数据如何在主机侧中的内存缓冲和设备中的端点中传送471.设备端点设备端点一个端点是一个可唯一识别的USB设备的Portion,它是主机与设备间通信

20、流的一个结束点。一系列相互独立的端点在一起构成了USB逻辑设备。1.设备端点一个端点是一个可唯一识别的USB设备的Po48 一个端点的特性决定了它与客户软件进行的传送的类型。一个端点有以下特性:端点的总线访问频率要求 端点的总线延迟要求端点的带宽要求 端点的端点号 对错误处理的要求 端点能接收或发送的包的最大长度 端点的传送类型 端点与主机的数据传送方向 一个端点的特性决定了它与客户软件进行的传送的类型。49 对对0 0号端点的要求号端点的要求 对非对非0 0号端点的要求号端点的要求 对0号端点的要求对非0号端点的要求502.通道通道一个USB通道是设备上的一个端点和主机上软件之间的联系。体现

21、了主机上缓存和端点间传送数据的能力。有两个不同的且互斥的通道通信格式。流(Stream)消息(Message)2.通道一个USB通道是设备上的一个端点和主机上软件之51特别地,有下列概念与通道相关:对USB总线访问的申请(claim),带宽的使用情况的声明。传送类型 与通道相连的端点的特性,例如:端点的数据传送方向,最大数据净负荷区的长度。特别地,有下列概念与通道相关:528.2.4 传送类型传送类型每个传送类型在以下的几个传送特征上会有不同:USB规定的数据格式数据净荷区的长度限制 总线访问的限制 延时的限制 出错处理 8.2.4传送类型每个传送类型在以下的53USBUSB定义了定义了4 4

22、种传送类型:种传送类型:控制传送 同步传送 中断传送 批传送USB定义了4种传送类型:控制传送54控制传送控制传送控制传送由以下几个事务组成:(1)建立联系 (2)零个或多个数据传送事务 (3)状态信息回传控制传送控制传送由以下几个事务组成:55同步传送同步传送在非USB的环境下,同步传送意味着恒定速率、错误容忍(error-tolerant)的传送。在USB环境下,要求同步传送能提供以下几点:固定的延迟下,确保对USB带宽的访问。只要数据能提供得上,就能保证通道上的恒定数据传送速度。如果由于错误而造成传送失败,并不重传数据。同步传送 在非USB的环境下,同步传送意味着恒定速率、错误56中断传

23、送中断传送中断传送是为这样一类设备设计的,它们只传或收少量数据,而且并不经常进行传送,但它们有一个确定的服务周期,对中断传送有以下要求:通道的最大服务期得到保证。由于错误而引起的重发在下一服务期进行。中断传送 中断传送是为这样一类设备设计的,它们只传或收少量571.中断传送的数据格式中断传送的数据格式2.中断传送的方向中断传送的方向3.中断传送对包的长度的限制中断传送对包的长度的限制4.中断传送对总线访问的限制中断传送对总线访问的限制5.中断传送的数据顺序中断传送的数据顺序 1.中断传送的数据格式58批传送批传送为了支持在某些在不确定的时间进行的相当大量的数据通信,于是设计了批传送类型。它可以

24、利用任何可获得的带宽。批传送有以下几点特性:以可获得带宽访问总线。如果总线出现错误,传送失败,可进行重发。可以保证数据必被传送,但不保证传送的带宽和延迟。批传送为了支持在某些在不确定的时间进行的相当大量的数据通信591.批传送的数据格式批传送的数据格式2.批传送的方向批传送的方向3.批传送对包长度的限制批传送对包长度的限制如果出现以下情况,则认为批传送结束:已传的数据量恰好等于期望传送的量。传了一个不到w Max Packet Size长度的包或传了一个长度为0的包。4.4.批传送对总线访问的限制批传送对总线访问的限制 5.5.批传送的数据顺序批传送的数据顺序 批传送的数据格式如果出现以下情况

25、,则认为批传送结束:4.60传送的总线访问传送的总线访问要完成主机与USB设备间的任何数据传送,必须要使用一定的USB带宽。主机上有几个部分是用于协调USB上的信息流的,它们是:客户软件 USB驱动器(USBD)主机控制器驱动器(HCD)实现这些部件必须要了解关于总线访问的一些核心概念:传送的总线访问 要完成主机与USB设备间的任何数据传送,必61传送管理:用于支持USB上信息流的各实体和各对象。事务跟踪:一种USB机制,跟踪在USB系统中的事务。总线时间:总线传一个信息包的时间。设备/软件缓冲区大小:支持一个事务所需要的空间。总线带宽归还:被分配给其它传送的总线带宽未被使用时,可以重新给控制

26、传送和批传送使用。传送管理:用于支62这节介绍主机上的不同部分如何相互协调工作来支持USB上的数据传送,他们可以由此知道当客户请求传送时主机该做什么,以及传送请求是如何被发给设备的。1.传送管理传送管理传送管理涉及以下几个为不同目标工作的部分,它们共同工作使数据能在总线上传送:客户软件 USBD(USB驱动器)主机控制器驱动器(HCD)主机控制器这节介绍主机上的不同部分如何相互协调工作来支63从客户软件到总线的USB信息转换从客户软件到总线的USB信息转换64 2 客户软件客户软件3.USB3.USB驱动器驱动器(USBD)(USBD)4.4.主机控制器驱动器主机控制器驱动器(HCD)(HCD

27、)5.5.事务表事务表 2客户软件3.USB驱动器(USB658.3 USB的电气特性的电气特性8.3.1 信号的发送信号的发送 8.3USB的电气特性8.3.1信号的发送661.USB1.USB驱动器的特性及其使用驱动器的特性及其使用 一个USB设备端的连接器是由D+、D-及Vbus,GND和其它数据线构成的简短连续电路,并要求连接器上有电缆屏蔽,以免设备在使用过程中被损坏。它有两种工作状态,即低态和高态。在低态时,驱动器的静态输出端的工作电压Vol变动范围为03V,且接有一个15k的接地负载。处于差分的高态和低态之间的输出电压变动应尽量保持平衡,以能很好地减小信号的扭曲变形。1.USB驱动

28、器的特性及其使用一个USB设备端的连67所有集线器和高速的功能设备上形端口(朝主机方向的)必须使用高速的驱动器,上形集线器端口既可以高速又可以低速来传送数据,但是在信号发送时总是使用高速和边缘速率。低速数据的传输不改变驱动器的特性,低速设备的上形端口必须使用低速驱动器。所有集线器(包括主机的)外部下形端口必须能适用于两种特性的驱动器,也就是说,任何类型的设备都能被插入这些端口中。当收发器工作在高速模式时,它使用高速和边缘速率来进行信号的发送;工作在低速时,它使用低速和边缘速率来发送数据。所有集线器和高速的功能设备上形端口(朝主机方向的)必须使用682.2.接收器特性接收器特性 一个差分输入接收

29、器用来接收USB数据信号,当两个差分数据输入处在共同的0.82.5V的差分模式范围时,如图7.14所示,接收器必须具有至少200mv的输入灵敏度。除了差分接收器外,还必须有为两个数据线中任一个所用的单终端接收器,此时该接收器的合并磁滞现象可以减小它们对噪声的灵敏度。2.接收器特性一个差分输入接收器用来接收USB数据信号69 差分输入感抗范围 在差分信号传送期间,D+和D-线上的电压可以小于Vih。对于高速传送而言,这个阶段可以延续到14ns;对于低速传送,可延续到I/V ns之久。接收器的逻辑设备用于保证这种情况不会被当作SE0态来处理。差分输入感抗范围在差分信号传送期间,D+和D703.3.

30、输入特性输入特性 没有终端的D+或D-的输入阻抗必须大于300K,一个端口的输入电容量在连结器的端口处量得。上形和下形端口可以有不同值的电容,一个集线器或主机的下形端口所允许的D+或D-上的最大电容量(差分的或单终端的)为150pF;带有可分电缆的高速设备的上形端口所允许的D+或D-上的最大电容量为100pF。3.输入特性没有终端的D+或D-的输入阻抗必须大于30718.3.2 电压分布电压分布所有USB设备的缺省电压为低电压,当设备要从低电压变化到高电压时,则是由软件来控制的。在允许设备达到高电压之前,软件必须保证有足够的电压可供使用。USB支持一定范围的电压来源和电压消耗供应者,包括如下的

31、部分。8.3.2电压分布所有USB设备的缺省电压为低电压,当72根端口集线器:它是直接与USB主机控制器相连的,并与其相同的电源来源。从总线获得电压的集线器:它的所有内部功能设备和下形端口都从它的上形端口的Vbus上获得电压。根端口集线器:它是直接与USB主机控制器相连的,并与其相738.4 协议层协议层这节从字段(Field)和包(Packet)的定义开始,从底向上地展示USB(Univeral Serial Bus)协议。接着是对不同事务(Transaction)类型的包事务格式的描述。然后是链路层(Link layer)流程控制(Flow Control)和事务级别的故障恢复(Fault

32、 recovery)。本章的最后将讨论复执同步化(Retry synchronization),超时干扰(Babble)和总线活动丧失(Loss of bus activity)的恢复。8.4协议层这节从字段(Field)和包(Packet748.4.1概述概述位定序位定序数据位被发送到总线的时候,首先最低有效位(LSb),跟着是下一个最低有效位,最后是最高有效位(MSb)。在以后图表中的,包以下列形式给出,即包中单个的位和字段从左到右的顺序就是它们通过总线的顺序。8.4.1概述位定序752.同步字段同步字段所有的包都从同步(SYNC)字段开始的,同步字段是产生最大的边缘转换密度(Edge T

33、ransitionDensity)的编码序列。同步字段作为空闲状态出现在总线上,后面跟着以NRZI编码的二进制串“KJKJKJKK”。通过被定义为8位长的二进制串,输入电路以本地时钟对齐输入数据。同步字段是用于同步的机制,在以后图表当中将不被表示。同步字段里的最后的2位是同步字段结束的记号,并且标志了包标识符(PID,Packet Identifer)的开始。2.同步字段所有的包都从同步(SYNC)字段开始的,763.包字段格式包字段格式在后面几节将描述标记,数据和握手包的字段格式。包中位的定义是以未编码的数据格式给出。为了清楚起见,在此不考虑NRZI编码和位填充(Bit Stuffing)的

34、影响。所有的包都分别有包开始(Start-of-Packet)和包结束(End-of-Packet)分隔符。包开始(SOP)分隔符是同步字段的一部分,包结束(EOP)分隔符。1.1.包标识符字段包标识符字段 3.包字段格式在后面几节将描述标记,数据和握手包77所有USB包的同步字段后都紧跟着包标识符(PID)。如图7.15所示,包标识符由4位的包类型字段和其后的4位的校验字段构成。包标识符指出了包的类型,并由此隐含地指出了包的格式和包上所用错误检测的类型。包标识符的4位的校验字段可以保证包标识符译码的可靠性,这样包的余项也就能被正确地解释。包标识符的校验字段通过对包类型字段的二进制的求反码产生

35、的。如果4 个PID检验位不是它们的各自的包标识符位的补,则说明存在PID错。所有USB包的同步字段后都紧跟着包标识符(PID)。如图778主机和所有功能部件都必须对得到全部PID字段实行完整的译码。任何收到包标识符,如果含有失败的校验字段,或者经译码得到未定义的值,则该包标识符被假定是被损坏的,而且包的余项将被包接收机忽略(Ignore)。如果一个功能部件(Function)收到了包含了它所不支持的事务类型或方向的合法包标识符,则不必应答。例如,只能输入的端口(IN-only Endpoint)必须忽略输出标记(Token)。表7-2列出了包标识符类型,编码及其描述。主机和所有功能部件都必须

36、对得到全部PID字段实行完整的译码79PID类型 PID名PID3:0描述标记(Token)输出(OUT)输入(IN)帧开始(SOF)建立(SETUP)0001B1001B0101B1101B数据(DATA)数据0(DATA0)数据1(DATA1)0011B1011B握手(Handshake)确认(ACK)不确认(NAK)停止(STALL0010B1010B1110B专用(Special)前同步(PRE)1100BPID类型PID名PID3:0描述标记输出(80在主机到功能部件的事务中有地址+端口号在功能部件到主机的事务中有地址+端口号帧开始标记和帧号 在主机到功能部件建立一个控制管道的事务

37、中有地址+端口号偶数据包PID 奇数据包PID接收器收到无措数据包;接收设备部不能接收数据,或发送设备不能发送数据;端口挂起,或一个控制管道请求不被支持。主机发送的前同步字。打开到低速设备的下行总线通信。在主机到功能部件的事务中有地址+端口号偶数据包PID接收器收81*注解:PID位以最高位在前的顺序被表示。在USB上被发送的时候,最右的位(位0)将被第一个发出。包标识符被分为4个编码组:标记,数据,握手和专用。包标识符传送的前2位(PID)指出了其属于哪个组。这说明包标识符编码的分布。2.2.地址字段地址字段 功能部件端口使用2个字段:功能部件地址字段和端口字段。功能部件对地址和端口字段都需

38、要进行译码。不允许使用地址或端口别名*注解:PID位以最高位在前的顺序被表示。在USB上被发送82(Aliasing),并且任何一个字段不匹配,此标记都必须被忽略。另外,对未初始化的端口的访问将使得标记被忽略。地址字段地址字段功能部件地址(ADDR)字段通过其地址指定功能部件,至于是数据包的发出地还是目的地,则取决于标记PID的值。如图9.16所示,ADDR指定了总共128个地址。地址字段被用于输入,建立和输出标记。由定义可知,每个ADDR值都定(Aliasing),并且任何一个字段不匹配,此标记都必须被83义了单一的功能部件。刚一复位(Reset)和加电(Power-up)的时候,功能部件的

39、地址默认值为零,并且必须由主机在枚举过程(Enumeration Process)中编程。功能部件地址零被用作为缺省地址,不可被分配作任何别的用途。地址字段 义了单一的功能部件。刚一复位(Reset)和加电(Power84 端口字段端口字段 附加的4位的端口(ENDP)字段在功能部件需要一个以上端口时候允许更灵活的寻址。除了端口地址0之外,端口个数是由功能部件决定的。端口字段只对输入,建立和输出标记PID有定义。所有的功能部件都必须在端口0提供一个控制管道(缺省控制管道)。对于低速(Low Speed)设备,每个功能部件最多提供3个管道:在端口0的控制管道加上2个附加管道(或是2个控制管道,或

40、是1个控制管道和1个中断端口,或是2个中断端口)。全速(Full Speed)功能部件可以支持最多可达16个的任何类型的端口。端口字段附加的4位的端口(ENDP)字段在功能部件需85端口字段 3.3.帧号字段帧号字段帧号字段是一个11位的字段,主机每过一帧就将其内容加一。帧号字段达到其最大值7FFH时归零,且它仅每个帧最初时刻在SOF标记中被发送。端口字段3.帧号字段帧号字段是一个11位的字段,主机每864.4.数据字段数据字段 数据字段可以在0到1,023字节之间变动,但必须是整数个字节。图为多字节显示格式。每个字节的范围内的数据位移出时都是最低位(LSb)在前。数据包大小随着传送类型而变化

41、。数据字段格式 4.数据字段数据字段可以在0到1,023字节之间变875.5.循环冗余校验循环冗余校验 循环冗余校验(CRC)被用来在标记和数据包中保护所有的非PID字段。在上下文中,这些字段被认为是保护字段。PID不在含有CRC的包的CRC校验范围内。在位填充之前,在发送器中所有的CRC都由它们的各自的字段产生。同样地,在填充位被去除之后,CRC在接收器中被译码。5.循环冗余校验循环冗余校验(CRC)被用来在标记和数88 标记标记CRCCRC标记使用了5位的CRC字段,它覆盖了输入,建立和输出标记的ADDR和ENDP字段,或SOF标记的时间戳字段。生成多项式如下:这个多项式的二进制位组合是0

42、0101B。如果所有的标记位都被准确无误地收到,接收机中的5位剩余将是01100B。标记CRC标记使用了5位的CRC字段,它覆盖了输入,建立89 数据数据CRCCRC 数据CRC是作用于数据包的数据字段上的16位多项式。产生的多项式是如下这个多项式的二进制位组合是1000000000000101B。如果全部的数据和CRC位被准确无误地收到,16位剩余将是1000000000001101B。数据CRC数据CRC是作用于数据包的数据字段上的16908.4.2 包格式包格式这节展示标记,数据和握手包的包格式。这些图将以位被挪动到总线上的顺序显示包内的字段。1.标记包标记包标记由PID,ADDR和EN

43、DP构成,其中PID指定了包是输入,输出还是建立类型。对于输出和建立事务,地址和端口字段唯一地确定了接下来将收到数据包的端口。对于输入事务的,这些字段唯一地确定了8.4.2包格式这节展示标记,数据和握手91哪个端口应该传送数据包。只有主机能发出标记包。输入PID定义了从功能部件到主机的数据事务。输出和建立PID定义了从主机到功能部件的数据事务。哪个端口应该传送数据包。只有主机能发出标记包。输入PID定义922.2.帧开始(帧开始(SOF,Start-of-FrameSOF,Start-of-Frame)包)包 主机以每1.00 ms 0.0005 ms一次的额定速率发出帧开始(SOF)包。SO

44、F包是由指示包类型的PID和其后的11位的帧号字段构成。2.帧开始(SOF,Start-of-Frame)包主933.3.数据包数据包 数据包由PID,包括至少0个字节数据的数据区和CRC构成。有2种类型的数据包,根据不同的PID:DATA0和DATA1来识别。2种数据包PID是为了支持数据切换同步(Data Toggle Synchronization)而定义的。3.数据包数据包由PID,包括至少0个字节数据的数据区944.4.握手包握手包 握手包仅由PID构成。握手包用来报告数据事务的状态,表示数据成功接收,命令的接收或拒绝,流控制(Flow Control)和停止(Halt)条件。4.握

45、手包握手包仅由PID构成。握手包用来报告数据事务95有有3 3种类型的握手包:种类型的握手包:ACK ACK表示数据包没有位填充或数据字段上的CRC错,并且数据PID被正确收到。NAK表示功能部件不会从主机接受数据(对于输出事务),或者功能部件没有传输数据到主机(对于输入事务)。STALL STALL作为输入标记的回应,或者在输出事务的数据时相之后由功能部件返回。有3种类型的握手包:ACK表示数据包没有位填充96 STALL握手由设备用于在两个不同的场合之一。第一种情况,是当设置了与端口相联系挂起特征(Halt feature)的时候,称为“功能STALL(functional stall)”

46、(挂起特征在这文档的第9章中详细说明)。第二种情况称为“协议STALL(protocol stall)”。STALL握手由设备用于在两个不同的场合之一。975.5.握手回答(握手回答(Handshake ResponseHandshake Response)传输和接收功能部件必须根据一定的优先顺序返回握手。功能部件对输入事务回答功能部件对输入事务回答 表9-3显示了功能部件作为对输入标记的反应而可能做的回答。5.握手回答(HandshakeResponse)传输98功能部件对输入事务的回应 收到的标记损坏功能部件的发送端口的挂起特征功能部件能发送数据采取的动作是不管不管不回应否置了位不管发送S

47、TALL握手否没置位否发送NAK握手否没置位能发送数据包功能部件对输入事务的回应收到的标记损坏功能部件的发送端口99 主机对输入事务回答主机对输入事务回答 显示了主机对输入事务回答。主机只能返回1种类型的握手:ACK。数据包损坏 主机能接受数据主机返回的握手是N/A丢弃数据,不回应否否丢弃数据,不回应否能接受数据,发送ACK主机对输入事务回答显示了主机对输入事务回答。主机只能返100 功能部件对输出事务回答功能部件对输出事务回答 对输出事务的握手回答由表9-5表示。功能部件对建立事务的回答功能部件对建立事务的回答 功能部件对输出事务回答对输出事务的握手回答由表9-5101功能部件对输出处理的回

48、应(按优先顺序)数据包损坏接收器的挂起特征时序位匹配功能部件可接收数据功能部件返回的握手是N/AN/AN/A无否置了位N/AN/ASTALL否没置位否N/AACK否没置位是可ACK否没置位是否NAK功能部件对输出处理的回应(按优先顺序)数据包损坏接收器的1028.4.5 错误检测和恢复错误检测和恢复USB允许可靠的端到端(End-to-end)的通信,这种通信容许产生物理信号层上的错误。1.1.包错误种类包错误种类 USB使用3种错误检测机制:位填充违反,PID检验位和CRC。8.4.5错误检测和恢复USB允许可靠的端到端(End103字段字段错误错误动作动作包标识符PID校验,位填充忽略包地

49、址位填充,地址CRC 忽略标记帧号位填充,帧号CRC忽略帧号字段数据位填充,数据CRC丢弃数据包错误类型 字段错误动作包标识符PID校验,位填充忽略包地址1042.2.总线周转(总线周转(Turn-aroundTurn-around)时间)时间 不作肯定答复则被认为是有错误的。作为这种错误汇报的方法的结果,主机和USB功能部件需要知道从发送器发完包的时候算起直到它开始收到应答为止过了多少时间。这一段时间被称为总线周转时间。设备在标记和数据时相之间或数据和握手时相之间使用其总线周转计时器。2.总线周转(Turn-around)时间1053.3.错误的错误的EOPEOP 错误的EOP必须被处理,以

50、确保当前事务的包在主机或其它设备试图传输新包之前完成。3.错误的EOP错误的EOP必须被处理,以确保当前事务的106等待16个位的时间保证了2个条件:第一个条件是确定了设备已结束发送它的包。第二的条件是保证发送器的总线周转计时器终止。等待16个位的时间保证了2个条件:第一个条1078.5 USB设备架构设备架构USBUSB设备可被划分三层:设备可被划分三层:底层是传送和接收数据包的总线接口 中间层处理总线接口与不同端点之间的数据路由端节点是数据的终结提供处或使用处,它可被看作数据源或数据接收端(Sink)最上层的功能由串行总线设备提供,比如鼠标,或ISDN接口。8.5USB设备架构USB设备可

51、被划分三层:底层是传1088.5.1 USB设备状态设备状态USB设备有若干可能的状态,其中一些对于USB与主机(host)来说是外置的,而另外一些对USB设备来说是内置的1.外置的设备状态外置的设备状态 表汇集这些外置设备状态之间的转化关系。连接状态连接状态 加电状态加电状态(Powered)(Powered)8.5.1USB设备状态USB设备有若干可能的状态,109外置(可见)的设备状态 连接连接加电加电缺省缺省编址编址 配置配置 挂起挂起不_是不_是是不_是是是不_是是是是不_是是是是是不是是_是外置(可见)的设备状态连接加电缺省编址配置挂起110说说 明明设备尚未连接至接口.其他特性无

52、关设备已连接至接口,但未加电.其他特性无关.设备已连接至接口,并且已加电.但尚未被复位.设备已连接至接口,已加电.并被复位.但尚未分配地址.设备在缺省地址处可寻址.设备已连接至接口,已加电.并被复位.且分配了唯一地址.尚未被配置.设备已连接至接口,已加电.并被复位.且分配了唯一地址,并被配置.设备功能可被使用.设备在至少3毫秒以内探测不到总线活动,自动进如挂起.设备功能不可用.说明设备尚未连接至接口.其他特性无关设备已连接至接111设备状态转化图 设备状态转化图112 缺省状态缺省状态 地址状态地址状态 Configured(Configured(配置状态配置状态)中止状态中止状态 缺省状态地

53、址状态Configured1132.Bus Enumeration总线标号总线标号当USB设备接上一个加电端口时,系统当采取以下操作:USB设备所连的集线器通过其通向主机的状态改变通道向主机,汇报本USB设备已连接上。主机通过寻问集线器决定此次状态改变的确切含义。主机一旦得知新设备已连上以后,它至少等待100ms以使得插入操作的完成以及设备电源稳定工作。集线器将发向端口的复位信号持续10ms。2.BusEnumeration总线标号114主机给设备分配一个唯一的地址,设备转向编址状态。(Addressstate)。在USB设备接受设备地址之前,它的缺省控制通道(DefaultControlPi

54、pe)在缺省地址处自然是可寻址的,主机通过读取设备描述表,判决设备缺省通道的实际净数据负载。主机从设备读取配置信息要从配置0读到配置n-1,其中n为配置个数,此操作须花费几个毫秒。主机给设备分配一个唯一的地址,设备转向编址状态。(Ad115基于从设备取来的配置信息及设备如何被使用的信息,主机给设备一个配置值,此刻,设备就处于配置状态(Configuredstate)并此配置有关的所有端节点,都按照配置各就各位,USB设备现在可以从VBUS得到描述中所要求的电量了。基于从设备取来的配置信息及设备如何被使用的信息,主机给设1168.5.2 通用通用USB设备操作设备操作(Generic USB D

55、evice Operations)所有的USB设备支持通用的操作集,这一节主要描述的这些操作。1.1.动态插接与拔开动态插接与拔开 USB设备必须在任意时刻允许被插接与拔开。提供连接点或端口的集线器应当负责汇报端口的状态改变情况。8.5.2通用USB设备操作(GenericUSBD117 当主机探测到连接操作后,会使得所连的集线器端口生效,设备也会因此而复位,一个被复位了的USB设备有如下特性:对缺省USB地址发生响应 没有被配置 初始状态不是挂起 当主机探测到连接操作后,会使得所连的集线器端口生效,1182.地址分配地址分配3.配置配置当USB设备连接以后,由主机负责给此设备分配一个唯一的地

56、址,这个操作是在设备复位及端口使能操作以后。USB设备在正常被使用以前,必须被配置,由主机负责配置设备。主机一般会从USB设备获取配置信息后再确定此设备有哪些功能。2.地址分配3.配置当USB设备连接以后,由主1194.数据传送数据传送5.电源管理电源管理数据可能以四种方式在USB设备端结点与主机之间传送。USB设备的电源管理包括以下说明部分的几条。电源电源 远程唤醒远程唤醒 4.数据传送5.电源管理数据可能以四种方式在U1206.请求处理请求处理除SetAddress()请求以外,在安装完成返回ACK信号以后,设备就开始处理请求。请求处理的定时处理请求处理的定时处理 复位复位/继续继续 恢复

57、时间恢复时间 设置地址的处理设置地址的处理 标准设备请求标准设备请求 与类有关的请求与类有关的请求6.请求处理除SetAddress()请求以外,在1217.7.请求错误请求错误 如果一设备收到一个请求,它或是在设备中无定义,或是不适用于当前设置,或是数值不对,这时就会产生一个请求错误。7.请求错误如果一设备收到一个请求,它或是在设备中无1228.5.3 USB设备请求设备请求所有的USB设备在设备的缺省控制通道(Default Control Pipe)处对主机的请求发出响应。8.5.3USB设备请求所有的USB设备在设备的缺省123偏移量偏移量 域域 大小大小 值值0bmRequestTy

58、pe1位图1bRequest1值2wValue2值4wIndex2索引或偏移6wLength2索引或偏移Setup 数据包的格式 偏移量域大小值0bmRequestType1124描述描述请求特征:D7:传输方向0=主机至设备1=设备至主机D6.5:种类0=标准1=类2=厂商3=保留D4.0:接受者0=设备1=接口2=端点3=其他4.31=保留具体请求字长域,根据不同的请求含义改变.字长域,根据不同的请求含义改变.典型用于传送索引或偏移.如有数据传送阶段,此为数据字节数.描述请求特征:具体请求字长域,根据不同的请求含义改变.125 1.bmRequestType域域 2.bRequest 2.

59、bRequest域域 3.wValue域域 4.wIndex 4.wIndex域域 所指为端点时wIndex 格式 5.wLength域域1.bmRequestType域2.bRequ1268.5.4 描述表描述表 USB设备通过描述表来反映他们的属性。描述表是有定义好的格式的数据结构,每一个描述表以一个字节打头表明本描述表的长度,紧跟其后是一个字节的描述表类信息。1.如果这两种描述表的格式与标准格式相同(以长度字节打头,紧跟着类型字节)则它们可由GetDescriptor(Configuration)请求与标准描述一同返回。2.如果这两种描述表使用的非标准格式。8.5.4描述表USB设备通过

60、描述表来反映他1278.5.5 设备类定义设备类定义 所有的设备必须支持本章所讲的请求与描述表,多数设备还有设备特有的扩展的请求与描述表。另外,设备还会支持一组设备共有的服务。1.描述表描述表2.2.接口与节点的使用接口与节点的使用 3.3.请求请求 8.5.5设备类定义所有的设备必须支持本章所讲1288.6 USB主机:硬件与软件主机:硬件与软件USB的互连支持数据在USB主机与USB设备之间的流动。8.6USB主机:硬件与软件USB的互连支持数据在US1298.6.1 USB主机概况主机概况8.6.1USB主机概况1301.概论概论图8.27展示了USB通信模型之间基本的信息流与互连关系:

61、由图8.51可见,主机与设备都被划分成不同的层次。1.概论由图8.51可见,主机与设备都被划分成不同的层131主机通信图 主机通信图132机在整个USB系统中是唯一的,它包括如下几个层次。USB总线接口 USB系统(USB System)USB客户(Client)机在整个USB系统中是唯一的,它包括如下几个133USB系统有三个主要组成部份:主机控制器驱动(Host Controller Driver)USB驱动 (USB Driver)主机软件 (host software)USB系统有三个主要组成部份:134主机可提供如下的功能检测USB设备的连接与断开。管理主机与设备之间的标准控制流。管

62、理主机与设备之间的数据流。收集状态及一些活动的统计数字。控制主机控制器与USB设备的电气接口,包括提供有限的能源。主机可提供如下的功能1352.控制机构控制机构控制信号可通过带内信号(in-band-singling)及带外信号(out-of-bard-signaling)两种方式在主机与设备之间传输。带内信号将3.3.数据流数据流 USB支持4种形式的数据传输 控制传输。同步传输。中断传输。块传输。2.控制机构 控制信号可通过带内信号(in-band-si136每个通道基于数据传输模式和请求的有如下几个特性:数据传输的频率。数据是以恒定速率提供还是随机出现的。在数据传输前可延迟的时间。在传输

63、过程中数据的丢失是否是具有灾难性。每个通道基于数据传输模式和请求的有如下几个特性:1374.4.收集状态及活动统计数据收集状态及活动统计数据 5.5.电气接口因素电气接口因素 6.主机为连在集线器上的USB设备提供能量。4.收集状态及活动统计数据电气接口因素1388.6.2主机控制器功能在所有的实现中,主机控制器都必须提供基本相同的功能。下面是主机控制器所提供的功能的概况。状态处理(State Handling)串行化与反串行化帧产生(Frame Generation)数据处理协议引擎传输差错控制8.6.2主机控制器功能在所有的实现中,主机控制器都139远程唤醒集线器主机系统接口1408.6.

64、3 软件功能概论软件功能概论对USB系统的功能主要表现在对USBDI所能提供的功能上。USBD与HCD之间任务的划分没有具体的定义,但是HCDI必须要具备的一项功能就是它必须支持多种主机控制器的不同实现。通过USBDI实现数据传输所经历的过程将在下面得到简述。1.1.设备配置设备配置 8.6.3软件功能概论对USB系统的功能主要表现在对141微型计算机通信与接口技术(二版)课件142 在使用之前必须要完成如下三项配置工作:设备配置设备配置 USB USB配置配置 功能配置功能配置 在使用之前必须要完成如下三项配置工作:设备配置143 配置软件完成具体的配置工作。具体的配置软件将基于特定的操作系

65、统实现而有所不同,但一般它包括以下几个部份。集线器驱动器 其它主机软件 设备驱动程序 配置软件完成具体的配置工作。具体的配置软件将基于特定1442.2.资源管理资源管理 为了决定带宽是否能满足,或者传输事务能否被装入特定的帧,必须计算事务最大执行时间。在计算过程中使用到下述信息 每包的最大数据字节数 传输模式 拓扑结构深度2.资源管理为了决定带宽是否能满足,或1453.数据传输数据传输当USB系统决定进行请求的分割的时候,必须要考虑到以下两点:将数据流分割成更小的块操作对客户是不可见的。USB样本(Samples)在总线传输时是不被分割的。3.数据传输当USB系统决定进行请求的分146下面的数

66、据成份定义了一次请求的相关信息。与该请求有关的通道标识。特定客户的通知标志码。数据缓冲区的位置及长度 请求的结束状态,包括总的状态及每次事务的结束状态 工作缓冲区的位置及长度。微型计算机通信与接口技术(二版)课件1478.6.4 主机控制器驱动器主机控制器驱动器HCD是主机控制器硬件的抽象,同时也是对主机控制器所见的数据传输的抽象。HCDI应符合下列条件:提供一个抽象的主机控制器硬件。提供主机控制器在USB上传输数据过程的抽象。提供主机控制器为给定设备分配(或不分配)必需的资源过程的抽象。根据一般集线器的定义提供根集线器。HCD是USB软件中的最下一层。HCD只有一个客户:USB驱动器(USBD)。8.6.4主机控制器驱动器HCD是主机控制器硬件的抽1488.6.5 USBDUSBD提供了供操作系统组件特别是设备驱动程序访问设备的一组接口。这些操作系统组件只能通过USBD来访问USB。8.6.5USBDUSBD提供了供操作系统组件特别是1491.USB概况概况USBD的客户直接命令设备或从通道直接输入和输出数据流。USBD为客户提供两组工具命令工具通道工具。1.USB概况USBD的客户

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!