USB协议PPT(原创).pdf
《USB协议PPT(原创).pdf》由会员分享,可在线阅读,更多相关《USB协议PPT(原创).pdf(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、USB2.0 USB2.0 USB2.0 USB2.0 协议概述协议概述 制作:周清海制作:周清海 导师:朱明程导师:朱明程 徐渊徐渊Email:Email:Email:Email:深圳大学深圳大学 EDAEDA中心中心 2010.09.012010.09.01提纲提纲背景及特点USB系统组成通信流信息包事务处理传输类型差错控制设备状态背景背景USB产生之前,外设与PC机通信通过各种接口来实现:ISA,PCI,PS/2,串行接口、并行接口等,存在很多缺陷:1.非共享式-同一时间一个接口只能连接一个外设 -无法满足大量外设2.体积庞大 不利于PC外设小型化3.规格不一 使用时要面对种类繁多的I/
2、O扩展槽和外部 口,不方便 4.采用传统的I/O模式,映射为CPU的I/O地址并分配一个IRQ(中断请求)带来I/O地址冲突、所指定的IPQ被别的外设占用特点特点 1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出了USB1.0。与传统接口相比,优点:1)热插拔热插拔。2)即插即用即插即用。自动配置,外设接入,操作系统自动检测加载驱动3)共享式接口共享式接口。USB端口支持多个外设连接,采用“菊花瓣”式连接方式,通过USB集线器,一个USB主控制器最多可连接126个外设。4)体积小体积小。与RS232,并行接口等比较,更小且薄5)节省系统资源节省系统资源。一个主控制器只需
3、一根IRQ和一些I/O地址空间6)灵活灵活。支持三种传输速率:低速1.5Mb/s,全速12Mb/s,高速48Mb/s;4种传输类型:块传输,同步传输,中断传输,控制传输。使得能适合多种外设7)低成本低成本。功能强大,但组件和电缆并不贵8)性能可靠性能可靠。通过硬件设计和数据传输协议两方面保证可靠性9)提供电源。提供电源。总线供电总线供电 自供电自供电10)向下兼容向下兼容。低速外设连接在高速主机上时不影响高速外设速度速度应用特性低速(LS)交互设备10100kb/s键盘、鼠标输入笔游戏外设价格低廉易于使用热插拔可支持多种外设全速(FS)电话、音频500K10Mb/sISBNPBXPOTS音频(
4、同上)保证带宽保证延时高速(HS)视频、磁盘25400Mb/s视频磁盘(同上)高带宽USBUSBUSBUSB应用范围和特性应用范围和特性USBUSBUSBUSB系统组成系统组成USB体系:主机host,设备devices,物理连接interconnect三部分主机主机:提供USB接口和接口管理功能的硬件、软件、固件的复合体。PC机或OTG设备。一个USB系统只能有一个主机。设备设备:1.集线器HUB:扩展主机接口,设备可以通过其接入主机;2.功能设备物理连接物理连接:即USB电缆。USB使用差分信号传输数据,全速/高速模式电缆必要外层屏蔽和铜漏线,且差分数据线双绞。一条USB的传输线分别由地线
5、、电源线、D+、D-四条线构成,D+和D-是差分输入线,它使用的是3.3V的电压(注与CMOS的5V电平不同),而电源线和地线可向设备提供5V电压,最大电流为500mA USBUSBUSBUSB层次星型总线拓扑结构层次星型总线拓扑结构层次星型拓扑结构,可防止环形连接,主控制器(根集线器)是结构起点以hub为中心每层都是功能设备到hub的点对点连接最多7层(包括根层)最多支持127个USB设备(包括根集线器,去掉0端点)除根集线器,最多5个HUB相连在USB2.0系统中,高速集线器有一个特殊的作用:把全速/低速信号与高速信号隔开。Hub下行端口允许直接连接全速/低速USB设备,通信也仍是全速/低
6、速,hub与主控制器通信却始终是高速下图描述了高速、全速、低速USB设备的混合连接USBUSBUSBUSB系统分层系统分层互连互连主机主机USBUSBUSBUSB设备设备客户软件客户软件功能单元功能单元USBUSBUSBUSB系统软件系统软件USBUSBUSBUSB逻辑设备逻辑设备USBUSBUSBUSB总线接口总线接口USBUSBUSBUSB总线接口总线接口实际通信流实际通信流逻辑通信流逻辑通信流功能层功能层USBUSBUSBUSB设备层设备层USBUSBUSBUSB总线接口层总线接口层终端用户看来,USB系统是USB设备到主机的简单连接,但对开发人员说,这种连接可分为三个逻辑层:功能层,U
7、SB设备层,USB总线接口层,每一层都由主机和USB设备不同功能模块组成。这种分层简化了USB通信机制。USBUSBUSBUSB主机:客户软件,系统软件,总线接口主机:客户软件,系统软件,总线接口(1 1 1 1)客户软件:)客户软件:1.USB设备驱动软件负责和USB系统软件进行接口。向USB总线驱动程序发出I/O请求包(IRP)启动一次数据传输,IN或OUT。根据数据方向,提供空内存或数据。它并不知道USB的串行传输机制2.界面应用程序和1进行接口,以操纵USB设备,向用户提供可视化操作,最上层,只能看到USB设备发送和接收的原始数据 USBUSBUSBUSB主机:客户软件,系统软件,总线
8、接口主机:客户软件,系统软件,总线接口(2 2 2 2)USBUSBUSBUSB系统软件系统软件1.USB总线驱动程序(USBD)USBUSBUSBUSB设备使用前,要初始化,称为设备使用前,要初始化,称为USBUSBUSBUSB设备的配置。在设备的配置。在该过程,该过程,USBDUSBDUSBDUSBD会检测设备特性,并与设备建立通信管道。会检测设备特性,并与设备建立通信管道。另外,另外,USBDUSBDUSBDUSBD理解理解USBUSBUSBUSB通信机制,当收到通信机制,当收到USBUSBUSBUSB设备驱动程设备驱动程序发来的序发来的IRPsIRPsIRPsIRPs,会把这些,会把这
9、些I/OI/OI/OI/O请求的数据重新组织,使具请求的数据重新组织,使具有有USBUSBUSBUSB特定格式特定格式事务处理(如下图事务处理(如下图)2.USB主控制器驱动程序(HCD)它的存在,使客户软件数据传输不必知道它的存在,使客户软件数据传输不必知道USBUSBUSBUSB主控制器硬主控制器硬件细节。件细节。HCDHCDHCDHCD负责把负责把USBDUSBDUSBDUSBD建立的事务处理安排在建立的事务处理安排在USBUSBUSBUSB总总线上,方法是建立一系列事务处理列表。以帧线上,方法是建立一系列事务处理列表。以帧/小帧为单小帧为单位,可包含一个或多个事务处理。位,可包含一个或
10、多个事务处理。(如下图如下图)3.非USB主机软件(可选)事务处理1事务处理2事务处理3*IRPIRP中事务处理 事务处理1 令牌,数据,握手 事务处理2 令牌,数据,握手帧/小帧事务处理列表 USBUSBUSBUSB主机:客户软件,系统软件,总线接口主机:客户软件,系统软件,总线接口(3 3 3 3)USBUSBUSBUSB总线接口总线接口1.主控制器负责读取HCD建立的事务处理列表,并安排在一系列长度为1ms的帧(全速)/125us小帧(高速),发送到USB总线上低速在全速环境实现,看不到帧 把带宽分成多个帧,以SOF令牌开始,EOF状态结束。全速,1ms发出SOF,高速125us.除此,
11、还负责对传输数据进行串行编解码,差错控制等SOFSOFSOFSOFEOFEOFEOFEOFEOFEOFEOFEOFEOFEOFEOFEOF帧/小帧N-1帧/小帧N帧/小帧N+12.根集线器为主机提供附加的USB端口,usb1.1:控制器和中继器,USB2.0增加了事务处理翻译器 USBUSBUSBUSB设备设备为了正确描述USB设备的特性,USB提出了设备构架的概念。认为,USB设备由一些配置,接口,端点组成USB设备用各种描述符来说明其设备构架,包括设备描述符,配置描述符,接口描述符,端点描述符,字符串描述符设备设备配置配置配置配置接口接口接口接口接口接口接口接口端点端点端点端点端点端点端点
12、端点端点端点端点端点端点端点端点端点USB设备架构抽象1.设备 代表一个USB设备,由一个或多个配置组成。一个USB设备,只能有一个设备描述符。如果高速设备既用高速又用全速,则还须支持设备限定描述符,以指出另一传输速率下设备总体信息。2.配置 一个USB设备可包含一个或多个配置,如USB设备的低功耗模式和高功耗模式分别对应一个配置3.接口 一配置可含一个或多个接口,如一个光盘驱动器可含一个大容量存储接口和音频接口,接口是一个端点的集合,每一接口必有一个接口描述符4.端点 USB设备中实际物理单元,USB数据传输就是在主机和USB各端点之间进行。端点一般由接口芯片提供,每端点都有唯一的端点号,传
13、输方向也是确定的。利用设备地址,端点号和传输方向可指定一个端点。端点的特性决定了与主机通信的传输类型。如控制端点只能使用控制传输。0号端点:特殊,有IN,OUT两个物理单元,但只有一个端点号0,只支持控制传输,用作缺省控制管道,对逻辑设备进行配置。对USB系统软件,它在设备连接,上电,复位后就有效。但对客户软件,只在设备正确配置后才可使用它。非0端点:低速设备最多2个,全速/高速最多15个。无论系统软件还是客户软件都必须在设备正确配置后才能使用非0端点。下一页下一页例、设备描述符struct _DEVICE_DESCRIPTOR_STRUCTBYTE bLength;/设备描述符的字节数大小,
14、为0 x12BYTE bDescriptorType;/描述符类型编号,为0 x01WORD bcdUSB;/USB版本号BYTE bDeviceClass;/USB分配的设备类代码,0 x010 xfe为标准设备类,0 xff为厂商自定义类型 /0 x00不是在设备描述符中定义的,如HID BYTE bDeviceSubClass;/usb分配的子类代码,同上,值由USB规定和分配的 BYTE bDeviceProtocl;/USB分配的设备协议代码,同上 BYTE bMaxPacketSize0;/端点0的最大包的大小 WORD idVendor;/厂商编号 WORD idProduct;
15、/产品编号 WORD bcdDevice;/设备出厂编号 BYTE iManufacturer;/描述厂商字符串的索引 BYTE iProduct;/描述产品字符串的索引 BYTE iSerialNumber;/描述设备序列号字符串的索引 BYTE bNumConfiguration;/可能的配置数量 返回返回管道管道 在在USBUSBUSBUSB系统的分层结构中,可以认为数据传输是在主机软件(系统的分层结构中,可以认为数据传输是在主机软件(USBUSBUSBUSB系统软系统软件或客户软件)和件或客户软件)和USBUSBUSBUSB设备的各个端点之间进行的,它们之间的连接称为设备的各个端点之间
16、进行的,它们之间的连接称为管道。是对主机和管道。是对主机和USBUSBUSBUSB设备通信流的抽象,表示主机的设备通信流的抽象,表示主机的数据缓冲区数据缓冲区和和USBUSBUSBUSB设备的端点设备的端点之间存在逻辑数据传输,实际的传输是由之间存在逻辑数据传输,实际的传输是由USBUSBUSBUSB总线接口层还完总线接口层还完成的。成的。流管道 不具USB定义的结构,可用作 块传输,同步传输,中断传输,单向消息管道 USB定义的结构,保用作 控制传输,双向,既支持IN传输,又支持OUT传输,0号端点就是消息管道主机客户软件缓冲区管道功能单元通信流端点管道 USBUSBUSBUSB系统详细描述
17、系统详细描述 客户软件客户软件 (管理一个接口管理一个接口)主控制器SIESIE缓冲区缓冲区无无USBUSBUSBUSB格式格式一组管道一组管道缺省控制管道缺省控制管道0 0 0 0USBUSBUSBUSB系统软件系统软件 (管理软件管理软件)具有具有USBUSBUSBUSB格式格式传输传输USBUSBUSBUSB总线接口总线接口具有USB格式事务处理事务处理USBUSBUSBUSB电缆电缆USBUSBUSBUSB总线接口总线接口USBUSBUSBUSB逻辑设备逻辑设备(端点集合)功能单元功能单元 (接口集合)接口接口 X指定的指定的接口接口无无USBUSBUSBUSB格式格式 每个端点每个端
18、点的数据的数据具有具有USBUSBUSBUSB格式格式端点端点 0管道逻辑数据传输实际数据传输主机主机 互连互连 USBUSBUSBUSB设备设备 NRZINRZINRZINRZI编码编码USB总线上传输的数据进行NRZI编码,确保数据传输完整性。不需单独的时钟信号与数据一起发送,用电平的跳变表“0”,无跳变表“1”.用数据流中的跳变表同步信号,可保证发、收方的同步。长串1导致无电平跳变,引起接收失去同步信号使用位填充机制位填充机制原始数据原始数据总线空闲0 1 1 0 1 0 1 0 0 0 1 0 0 1 1 00 1 1 0 1 0 1 0 0 0 1 0 0 1 1 00 1 1 0
19、1 0 1 0 0 0 1 0 0 1 1 00 1 1 0 1 0 1 0 0 0 1 0 0 1 1 0NRZINRZINRZINRZI编码编码总线空闲位填充位填充 避免NRZI丢失同步信号,每6个连续“1“后加一“0”,检测时,6个连续“1”后的“0”抛掉原始数据原始数据位填充数据位填充数据同步字段同步字段传输数据传输数据6个连续的1填充位 USBUSBUSBUSB通信流通信流总线上,所有与设备功能单元的数据传输都是由客户软件启动,经过主机USB系统软件与USB总线接口模块才能到过USB设备。USB数据IRPs传输事务处理信息包软/硬件 接口USBD接口HCD接口客户软件USBDHCD事
20、务处理列表主控制器(1)客户软件把数据放入缓冲区,向USB总线驱动程序USBD发出IRP(I/O请求包)(2)USBD响应客户软件发出的IRP,把数据转换为具有USB格式的事务处理,向下传(3)主控制器驱动器程序HCD为这些事务处理建立一系列以帧/小帧为单位事务处理列表,并保证不超过USB带宽(4)主控制器读取事务处理列表,以信息包为单位发送到USB总线,可为低,全,高速(5)USB设备收到信息包后,由SIE自动解包并放入指定端点的接收缓冲内,由芯片固件对其处理 信息包信息包USB事务处理是主机和USB设备间数据传输基本单位基本单位基本单位基本单位,由一系列具有特点格式的信息包组成,如SETU
21、P包,ACK包。根据信息包的种类,事务分三个阶段:(1)令牌阶段令牌阶段:事务处理开始,并定义传输类型(2)数据阶段数据阶段:传送相关数据,长度具体而定,最长1024字节(3)握手阶段握手阶段:报告事务处理状态,数据接收是否成功同步字段令牌包EOP主机同步字段数据包EOP主机/USB设备同步字段握手包EOPUSB设备/主机一个典型的事务处理在某些情况下,事务处理可能不具有三个阶段,如数据丢失,事务处理可能不含数据包和握手包。包的组成单元包的组成单元-字段字段字段字段或域域是USB数据最小的单位,由若干位组成(至于是多少位由具体的域决定),域可分为七个类型:1、同步域(SYNC):7个连续“0”
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- USB 协议 PPT 原创
限制150内