USB接口介绍主讲人:王雷地点:实验室2016.11.08USB定义USB发展USB分类USB设计接口回路USBPower设计LAYOUTUSB2.0协议概述主机设备物理特性通信协议2013/12/032目录定义USB,是英文UniversalSerialBus(通用串行总线)的缩写,而其中文简称为“通串线”,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术。USB接口支持设备的即插即用和热插拔功能。USB是在1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出的。发展USB版本理论最大传输速率速率称号最大输出电流推出时间USB1.01.5Mbps(192KB/s)低速(Low-Speed)5V/500mA1996年1月USB1.112Mbps(1.5MB/s)全速(Full-Speed)5V/500mA1998年9月USB2.0480Mbps(60MB/s)高速(High-Speed)5V/500mA2000年4月USB3.05Gbps(500MB/s)超高速(Super-Speed)5V/900mA2008年11月/2013年12月USB3.1Gen210Gbps(1280MB/s)[2]超高速+(Super-speed+)20V/5A2013年12月发展USB3.0是一种USB规范,该规范由英特尔等公司发起。USB3.0也被认为是SuperSpeedUSB——为那些与PC或音频/高频设备相连接的各种设备提供了一个标准接口。只是个硬件设备,计算机内只有安装USB3.0相关的硬件设备后才可以使用USB3.0相关的功能!从键盘到高吞吐量磁盘驱动器,各种器件都能够采用这种低成本接口进行平稳运行的即插即用连接,用户基本不用花太多心思在上面。新的USB3.0在保持与USB2.0的兼容性的同时,还提供了下面的几项增强功能:●极大提高了带宽——高达5Gbps全双工(USB2.0则为480Mbps半双工)。●实现了更好的电源管理。●能够使主机为器件提供更多的功率,从而实现USB——充电电池、LED照明和迷你风扇等应用。●能够使主机更快地识别器件。●新的协议使得数据处理的效率更高。2013/12/035USB3.1是最新的USB规范,该规范由英特尔等大公司发起。与现有的USB技术相比,新USB技术使用一个更高效的数据编码系统,并提供一倍以上的有效数据吞吐率(USBIF协会)。它完全向下兼容现有的USB连接器与线缆。USB3.1作为下一代的USB传输规格,通常被称为“SuperSpeed+”,将在未来替代USB3.0。USB3.1(SuperSpeed+)将供电的最高允许标准提高到了20V/5A,供电100W。提供更快的充电。USB3.1支持高达10Gbps的传输速率,具有更快的传输速度。USB3.1新增USBA/V影音传输,支持手机显示输出。USB3.1是一个万能的通用接口,是手机、平板等小型设备所需要的,能够极大提升设备的连接性。而从目前来看,USB3.1中的Type-C最有可能成为未来的连接标准,提供数据传输、外设连接、显示输出等一体化的连接方案。2013/12/036发展2013/12/0371.USB2.060MB/S=480Mbps/8bit2.对于USB3.0速度并不是除以8,由于USB3.0传输是10bit模式故为5Gbps/10bit=500MB/S3.为了区别USB2.0与USB3.0接口,一般将USB3.0颜色设置为蓝色。补充说明分类Type-A:标准的Type-A是电脑、电子配件中最广泛的介面标准,鼠标、U盘、数据线上大的一方都是此接口,体积也最大。Type-B:一般用于打印机、显示器USBHUB等诸多外部USB设备Type-C:它拥有比Type-A及Type-B均小得多的体积,其大小甚至能与Mini-USB及Micro-USB相媲美,是最新的USB接口外形标准。另外,Type-C是一种既可以应用在PC(主设备)又可以应用在外部设备(从设备)的接口类型,这是划时代的。分类伴随USB2.0传输协议诞生也衍生了Mini-USB及Micro-USB接口。它们也都分别分为Type-A和Type-B。到了USB3.0时代,由于传输速度的提升带来了针脚位的提升,因此仅有Type-AUSB3.0接口保持与以往形状一样,Type-B和Micro-USB都改变了外形(体积增大)。分类此外,对于USB接口又分为公口和母口。公口一般是外设的端口,母口一般是主机上接口。例如电脑自带的就是USB母口。(具体见下一页图示)2013/12/0311分类设计接口回路我们公司笔记本一般使用的是Type-A和Type-C类型母口。对于Type-A类型接口,目前公司配备USB3.0接口。回路如下:Type-A接口在硬件回路上由一组USB2.0差分信号信号USB_PN2,USB_PP2以及两组USB3.0差分信号USB32_RX_N,USB32_RX_P,USB32_TX_N,USB32_TX_P组成。在功能上该接口向下兼容USB2.0功能。一般USB的POWER接5VS或5VAUSB差分线接BEAD或者共模电感一般为EMI需要。末端接TVS是安规要求。2013/12/0313设计对于Type-C接口回路如下:设计在NFSV15XX系列机种上,Type-C3.0和Type-C3.1共用同一接口。由于现有平台PCH没有USB3.1接口,故在使用USB3.1通信时需要外加一个转换芯片ASM1142。在NFSV15XX上Type-C3.1包含USB3.1输出传输的功能,但是不支持5V/20A供电输出。同Type-A接口一样,差分信号线接BEAD或者共模电感一般为EMI需要。末端接TVS是安规要求。2013/12/0315设计ASM1142USBPOWER设计2013/12/0316设计在电脑插入adapter或者battery时候,+3.3VA_PCH提供Enable信号,5VA(5VS)电源正常供电。在末端加保险丝,进行过流保护。2013/12/0317设计USB2.02013/12/0318LAYOUT2013/12/0319LAYOUTUSB2.0USB3.0LAYOUT2013/12/0320LAYOUT注意事项布线时信号线不能走在时钟、振荡器、IC以及电磁元件下面;布线时候相似的信号要布在一起;不同层的线距线宽可能会有所不同,一般DesignGuide会有说明;2013/12/0321LAYOUT2013/12/0322USB2.0协议概述USB网络采用阶梯式星形拓扑结构,如图示。一个USB网络中只能有一个主机。主机内设置了一个根集线器,提供了主机上的初始附属点。2013/12/0323USB2.0协议主机定时对集线器的状态进行查询。当一个新设备接入集线器时,主机会检测到集线器状态改变,主机发出一个命令使该端口有效并对其进行设置。位于这个端口上的设备进行响应,主机收到关于设备的信息,主机的操作系统确定对这个设备使用那种驱动程序,接着设备被分配一个唯一标识的地址,范围从0~127,其中0为所有的设备在没有分配惟一地址时使用的默认地址。主机向它发出内部设置请求。当一个设备从总线上移走时,主机就从其可用资源列表中将这个设备删除。总的来说USB网络由主机和设备组成。2013/12/0324USB2.0协议概括USB网络主机设备客户软件USB总线接口USB系统软件设备端点配置接口字符串管道2013/12/0325USB2.0协议USB主机USB的所有数据通信(不论是上行通信还是下行通信)都由USB主机启动,所以USB主机在整个数据传输过程中占据着主导地位。在USB系统中只允许有一个主机。从开发人员的角度看,USB主机可分为三个不同的功能模块:客户软件、USB系统软件和USB总线接口。客户软件客户软件负责和USB设备的功能单元进行通信,以实现其特定功能。一般由开发人员自行开发。客户软件不能直接访问USB设备,其与USB设备功能单元的通信必须经过USB系统软件和USB总线接口模块才能实现。客户软件一般包括USB设备驱动程序和界面应用程序两部分。2013/12/0326USB2.0协议USB系统软件USB系统软件负责和USB逻辑设备进行配置通信,并管理客户软件启动的数据传输。USB逻辑设备是程序员与USB设备打交道的部分。USB系统软件一般包括USB总线驱动程序和USB主控制器驱动程序这两部分。这些软件通常由操作系统提供,开发人员不必掌握。USB总线接口USB总线接口包括主控制器和根集线器两部分。根集线器为USB系统提供连接起点,用于给USB系统提供一个或多个连接点(端口)。主控制器负责完成主机和USB设备之间数据的实际传输,包括对传输的数据进行串行编解码、差错控制等。该部分与USB系统软件的接口依赖于主控制器的硬件实现,开发人员不必掌握。2013/12/0327USB2.0协议USB设备一个USB设备由三个功能模块组成:USB总线接口、USB逻辑设备和功能单元。这里的USB总线接口指的是USB设备中的串行接口引擎(SIE);USB逻辑设备被USB系统软件看作是一个端点的集合;功能单元被客户软件看作是一个接口的集合。SIE、端点和接口都是USB设备的组成单元。为了更好地描述USB设备的特征,USB提出了设备架构的概念。从这个角度来看,可以认为USB设备是由一些配置、接口和端点组成的,即一个USB设备可以含有一个或多个配置,在每个配置中可含有一个或多个接口,在每个接口中可含有若干个端点。其中,配置和接口是对USB设备功能的抽象,实际的数据传输由端点来完成。在使用USB设备前,必须指明其采用的配置和接口。这个步骤一般是在设备接入主机时设备进行自举时完成的,我们在后面会进一步介绍。USB设备使用各种描述符来说明其设备架构,包括设备描述符、配置描述符、接口描述符、端点描述符以及字符串描述符,它们通常被保存在USB设备的固件程序中。2013/12/0328USB2.0协议设备设备代表一个USB设备,它由一个或多个配置组成。设备描述符用于说明设备的总体信息,并指明其所含的配置的个数。一个USB设备只能有一个设备描述符。配置一个USB设备可以包含一个或多个配置,如USB设备的低功耗模式和高功耗模式可分别对应一个配置。在使用USB设备前,必须为其选择一个合适的配置。配置描述符用于说明USB设备中各个配置的特性,如配置所含接口的个数等。USB设备的每一个配置都必须有一个配置描述符。接口一个配置可以包含一个或多个接口,如对一个光驱来说,当用于文件传输时使用其大容量存储接口;而当用于播放CD时,使用其音频接口。接口是端点的集合,可以包含一个或多个可替换设置,用户能够在USB处于配置状态时,改变当前接口所含的个数和特性。接口描述符用于说明USB设备中各个接口的特性,如接口所属的设备类及其子类等。USB设备的每个接口都必须有一个接口描述符。2013/12/0329USB2.0协议端点端点是USB设备中的实际物理单元,USB数据传输就是在主机和USB设备各个端点之间进行的。端点一般由USB接口芯片提供,例如Freescale的MC68HC908JB8。USB设备中的每一个端点都有唯一的端点号,每个端点所支持的数据传输方向一般而言也是确定的:或是输入(IN)或是输出(OUT),也有些芯片提供的端点的数据方向是可以配置的,例如MC68HC908JB8包含有两个用于数据收发的端点:端点1和端点2。其中端点1只能用于数据发送,即支持输入(IN),端点2既能用于数据发送也可用于数据接收,即支持输入(IN)和输出(OUT)操作。需要注意的是,在这里数据的传输方向是站在主机的立场上来看得。比如端点1只能发送数据,在主机看来是端点1向主机输入数据,即IN操作;当端点2配置为接收数据时,主机向端点2输出数据,即OUT操作。这一点是初学