版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 usbusb通用串行总线通用串行总线 目目 录录 5.1 usb系统组成 5.2 usb系统的接口信号和电器特性 5.3 usb数据流类型和传输类型 5.4 usb交换的包格式 5.5 usb设备状态和总线枚举 5.6 usb外围芯片及应用 西安电子科技大学 计算机学院 司栋森 第五章第五章 串行接口术串行接口术 第 2 页 5.1 5.1 usb系统组成系统组成 “usb”的英文全称为“universal serial bus”,中文 名通常称之为“通用串行总线”接口。它是一种串行i/o总线, 带有5v电压,支持即插即用功能,支持热拔插功能,最多能 同时连入127个usb设备,由各个设备
2、均分带宽。 usb技术诞生于1994年,当时是由pc界的几位巨头,如康 柏、ibm、intel和microsoft共同推出的,旨在统一外设如打 印机、外置modem、扫描仪、鼠标等的接口,以便于安装使用, 取代以往的串口、并口和ps/2接口。 usb发展到今天,总共有三种标准: .1996年发布的usb1.0 .1998年发布的usb1.1 .以及发布不久的最新标准usb2.0 此三种标准最大的差别就在于数据传输率方面,在其它 方面也有不同程度的改进。总体来说,目前的usb2.0而言, 技术性能已经十分完善了,速度也上了一个新台阶。 第五章第五章 串行接口术串行接口术 第 3 页 1、 usb
3、 硬件概述硬件概述 包括:包括:usbusb主机、主机、usbusb设备(设备(hubhub和功能设备)和连接电缆。和功能设备)和连接电缆。 第五章第五章 串行接口术串行接口术 第 4 页 各部分说明各部分说明 (1)(1) usbusb主机(主机(pcpc机内)机内) 带有usb主控制器(和根hub)的pc机以及相应的软件。 usb主机是整个总线上的主控者,掌握所有的控制权,负 责对各个外围设备发出各种设定命令与配置。 主机提供的主要功能: 检测usb设备的接入和拆除操作; 管理主机和usb设备之间传输的数据流,并进行流量控制; 搜集状态和性能统计信息; 控制主控制器和usb设备之间的电气接
4、口,提供有限的电 源。 第五章第五章 串行接口术串行接口术 第 5 页 usb功能设备 (2)(2) 集线器(集线器(hub)hub) 分成两类:集线器(hub)、功能设备 。 集线器是用来向主机提供2个以上的usb设备接入点的设备。 一般一个主机只提供2个或4个usb接口(即:主机带有一个 根hub)。因此,只有利用hub,才可能使一个主机带127个usb 设备。利用hub整个usb系统可构成一个树形拓扑结构。 hub的主要功能 连接主机和usb设备或usb设备与usb设备的互接。 识别usb设备的添加和拆除。 电源管理。 总线故障检测和恢复。 支持全速和低速率usb设备。 第五章第五章 串
5、行接口术串行接口术 第 6 页 usbusb功能设备(外设)功能设备(外设) 带有usb接口的计算机外围设备就叫usb功 能设备。 一般usb功能设备与计算机相连接时不需 要驱动卡(实际上该设备中的usb接口就带有 驱动卡的功能)。因此,usb功能设备与计算 机连接变得非常简单。 第五章第五章 串行接口术串行接口术 第 7 页 usb设备驱动程序 实现对设备的初始化。采用分层的概念,降低驱 动程序的复杂性。 usb总线驱动程序 在设备设置时读取描述器以获取usb设备的特征 ,并根据这些特征,在请求发生时组织数据传输。 usb驱动程序可以是捆绑在操作系统中,也可以 是以可装载的设备驱动程序形式加
6、入到操作系统中。 usb主控制器驱动程序 完成对usb交换的调度,是访问硬件的接口,并通 过根hub或其他的hub完成对交换的初始化。 2. usb2. usb的软件的软件 第五章第五章 串行接口术串行接口术 第 8 页 3 usb3 usb总线的拓扑结构总线的拓扑结构 1 1、总线拓扑、总线拓扑 usb系统拓扑结构呈星状的层层向上的结构。如图,允 许最多连接127个usb设备。 主机(host) u一个系统只能有一个主机 集线器(hub) u提供连接点, 电源,终端 u自供电或总线供电 设备(device), 接口 (interfaces) 和端点 (endpoints) u设备是一个接口的
7、集合 u接口是一个端点的集合 u可寻址127个设备和16个端 点 第五章第五章 串行接口术串行接口术 第 9 页 5.2 usb系统的接口信号和电气特性系统的接口信号和电气特性 1、接口信号线、接口信号线 第五章第五章 串行接口术串行接口术 第 10 页 第五章第五章 串行接口术串行接口术 第 11 页 l usb主机或根hub对外设可以提供5v的电源。 最大输出电流500ma。 l usb主机有一个独立于usb系统的电源管理系 统(apm)。 l 主机具有电源挂起和唤醒操作。暂时不用的 usb设备,usb系统和apm将其置于电源挂起状态。 usb设备第一次被主机检测到时,设备吸入的电 流2.
8、8v并且d-200mv并且 d+2.0v 差分“0”d-2.8v并且d+200mv并且d- 2.0v 单端点0(se0) d+和d-0.3v d+和d-2.7v并且d-0.8v usb常用信号电平(高速设备)常用信号电平(高速设备) 第五章第五章 串行接口术串行接口术 第 14 页 usbusb设备接入检测及设备类型的区分设备接入检测及设备类型的区分 在usb设备未连接至pc机时,由于d+、d-两条信号线因下 拉电阻的关系,几乎视为接地(0v)。 当某一个usb设备连接至pc机时,提升电阻(1.5k)与 下拉电阻(15k)就会形成一个分压器,其中有一条信号 线(d+或d-)的电位就会提升到vc
9、c的90%,而另一条信号 线电压维持在0v状态。根集线器测得此电压即可确定有一 台设备已经连接上了。 根集线器通过测得d+和d-上的电压即可确定有一台设备 的类型(低速、全速/高速)。 显然,当hub测得两信号线电压小于0.8v,时间大于 2.5s时,即可断定该设备已脱离了。 pc机会不断地轮询根hub,检查d+、d-的电位变化,以了 解设备的连接情况。 第五章第五章 串行接口术串行接口术 第 15 页 高高/低速低速usb 收发器收发器 (主机或集线主机或集线 器端口器端口) 高速高速usb收收 发器发器 (高速设备高速设备) +5vdc d+ d- 地地 15k 15k +3.0 3.6v
10、dc 1.5k d+ d- 高高/低速低速usb 收发器收发器(主机主机 或集线器端或集线器端 口口) 低速低速usb收收 发器发器(低速设低速设 备备) +5vdc d+ d- 地地 15k 15k +3.0 3.6vdc 1.5k d+ d- usb数据线数据线 usb数据线数据线 全速设备全速设备 低速设备低速设备 第五章第五章 串行接口术串行接口术 第 16 页 d+d+和和d-d-的电压全部下降到的电压全部下降到0.8v0.8v并维并维 持持2.52.5 s s 连接连接 状态状态 断开断开 状态状态 d+d+或或d-d-的电压上升的电压上升 到到2.5(2.7)v2.5(2.7)v
11、 断开断开 状态状态 闲置闲置 状态状态 维持维持2.52.5 s s 以上以上 连接连接 状态状态 设备接入到端口上的过程设备接入到端口上的过程 设备从端口上断开过程设备从端口上断开过程 第五章第五章 串行接口术串行接口术 第 17 页 保持信号线保持信号线2 2个位的传输时间的个位的传输时间的se0se0状态状态 ,之后保持,之后保持1 1个位传输时间的个位传输时间的j j状态。状态。 传送传送 状态状态 闲置闲置 状态状态 信号线跳变到其信号线跳变到其 反向逻辑电平反向逻辑电平 数据数据k k 状态状态 闲置闲置 状态状态 差分数据线按差分数据线按 传送数据变换传送数据变换 传送传送 状
12、态状态 数据包传送开始过程数据包传送开始过程 数据包传送结束过程数据包传送结束过程 差分差分“0” / 起始起始 位位 第五章第五章 串行接口术串行接口术 第 18 页 原始原始 数据数据 空闲空闲 填充填充 数据数据 填充位填充位 nrzinrzi码码 0 0 0 1 1 1 1 1 1 0 1 1 0 1 10 0 0 1 1 1 1 1 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 1 0 1 1 0 1 10 0 0 1 1 1 1 1 1 0 1 1 0 1 1 位填充和位填充和nrzinrzi编码编码 0 0 0 1 1 1 1 1 1 1 1 0 1 10 0 0
13、1 1 1 1 1 1 1 1 0 1 1 nrzi nrzi的编码方法的编码方法不需独立的时钟信号不需独立的时钟信号和数据一起发送和数据一起发送 ,电平跳变代表电平跳变代表“0 0”,没有电平跳变代表没有电平跳变代表“1 1”。在数据被。在数据被 编码前,在数据流中编码前,在数据流中每每6 6个连续的个连续的“1 1”后插入后插入1 1个个“0 0”,从,从 而强迫而强迫nrzinrzi码发生变化,接收端必须去掉这个插入的码发生变化,接收端必须去掉这个插入的“0 0” 。 3 3、 nrzinrzi编码编码 (无回零反向码)(无回零反向码) 第五章第五章 串行接口术串行接口术 第 19 页
14、5.3 usb5.3 usb数据流类型和传输类型数据流类型和传输类型 usb数据流类型有4种: 控制信号流:当usb设备加入时,usb系统软件与设备之 间建立起控制信号流,发送控制信号。 块数据流:用于发送大量的数据。 中断数据流:用于传输少量随机输入信号。 实时数据流:用于传输固定速率的信号。 第五章第五章 串行接口术串行接口术 第 20 页 usbusb有有4 4种基本的传输类型:种基本的传输类型: 2 2批传输批传输:单:单/ /双向,用于双向,用于大批数据传输大批数据传输,要求准确,出,要求准确,出 错重传错重传。时间性不强。(打印机)。时间性不强。(打印机) 1 1控制传输控制传输:
15、 双向,用于双向,用于配置设备配置设备或特殊用途,发生错或特殊用途,发生错 误需重传。每个设备必须要用误需重传。每个设备必须要用端点端点0 0完成完成usbusb主机检测时和主机检测时和 主机交换信息的控制传送。(初始化)主机交换信息的控制传送。(初始化) 3 3中断传输中断传输 :单向入主机,用于单向入主机,用于随机少量传送随机少量传送。采用。采用 查询中断查询中断方式,出错时下一查询周期重新传。(键盘)方式,出错时下一查询周期重新传。(键盘) 4 4等时传输等时传输:单:单/ /双向,双向,用于连续实时的数据传输,时间用于连续实时的数据传输,时间 性强,但出错无需重传性强,但出错无需重传。
16、传输速率固定。(音响)。传输速率固定。(音响) 第五章第五章 串行接口术串行接口术 第 21 页 1 1、传输类型的特性、传输类型的特性 对于对于慢速设备慢速设备仅支持仅支持控制型传输控制型传输和和中断型传中断型传 输。输。 每一种传输类型都具有自己的每一种传输类型都具有自己的特性特性: 规定的数据结构规定的数据结构 通信方向通信方向 分组大小分组大小 带宽限制带宽限制 所要求的数据顺序所要求的数据顺序 第五章第五章 串行接口术串行接口术 第 22 页 2 2、控制型传输、控制型传输 属于双向型传输。用于传输属于双向型传输。用于传输主机发往设备的命令主机发往设备的命令 (设备请求)、主机发往(
17、设备请求)、主机发往hubhub的集线器请求、设备传的集线器请求、设备传 向主机的设备描述符配置及状态等信息。向主机的设备描述符配置及状态等信息。这些信息叫这些信息叫 控制型数据,组成的包叫控制型数据,组成的包叫控制包控制包。 控制型传输分控制型传输分三个阶段三个阶段:设定(设定(setupsetup)阶段)阶段、数数 据(据(datadata)阶段)阶段和和状态(状态(statusstatus)阶段)阶段。 (1 1)“设定阶段设定阶段”交换的有三个包。它们是:交换的有三个包。它们是: 主机发往设备的主机发往设备的setupsetup令牌包令牌包(包含请求的设备地址、(包含请求的设备地址、
18、端口号等);端口号等); 主机发往设备的,包含有主机发往设备的,包含有“设备请求设备请求”的的数据包数据包; 设备给主机的设备给主机的握手包握手包。 第五章第五章 串行接口术串行接口术 第 23 页 (2)“数据阶段”交换的也有三个包。它们是(读:) 主机发往设备的in令牌包; 设备发给主机的data1数据包; 主机给设备的ack握手包。 (3)“状态阶段”交换的也有三个包。它们是: 主机发往设备的out令牌包; 主机给设备的data0数据包; 设备传向主机的ack应答(握手)信号。 第五章第五章 串行接口术串行接口术 第 24 页 usb协议规定:控制型传输只能用端点0进行传输。 每当usb
19、设备第一次连接到usb主机时,就用控制型传 输,设定usb设备的地址和读取设备的描述符。 第五章第五章 串行接口术串行接口术 第 25 页 3、中断型传输 它属于单向传输,且只能从设备传到主机。 由于usb不支持硬件中断(不占用系统的中断类型等资 源),主机实际是采用“轮询”的方式。使用该种传输的 有usb键盘、usb鼠标和usb摇杆等人机接口设备(hid)。 在中断传输类型中进行数据交换一般有三个或两个步骤: 请求包、数据包(可有可无)和握手包。即: 主机往设备发送in令牌包; 设备往主机发送数据包; 主机往设备发送握手包。 第五章第五章 串行接口术串行接口术 第 26 页 如果主机往设备发
20、送如果主机往设备发送inin令牌包后,设备无数据发往主机,令牌包后,设备无数据发往主机, 则发送则发送naknak作应答:作应答: 主机往设备发送主机往设备发送inin令牌包;令牌包; 主机往设备发送主机往设备发送naknak握手包。握手包。 第五章第五章 串行接口术串行接口术 第 27 页 4 4、批传输、批传输 批传输用于大量数据的,准确的,但无速度限制(不考 虑带宽)的传输。其特点是出现错误后,可以重传。 应用这类传输的有usb打印机、usb扫描仪等。 在批传输类型中进行数据交换一般有三个或两个步骤: 请求包、数据包(可有可无)和握手包。即: 主机往设备发送in令牌包; 设备往主机发送数
21、据包; 主机往设备发送握手包。 第五章第五章 串行接口术串行接口术 第 28 页 第五章第五章 串行接口术串行接口术 第 29 页 5 5、等时传输、等时传输 用于传输连续、实时的数据。其特点是:要求 稳定的带宽,实时性强,但可忽略错误。 应用这类传输的有视频设备、数字声音设备、 数字相机等全速设备。 在实时传输类型中进行数据交换一般有两个步 骤:请求包、数据包(可有可无)。即: 主机往设备发送in令牌包; 设备往主机发送数据包; 第五章第五章 串行接口术串行接口术 第 30 页 第五章第五章 串行接口术串行接口术 第 31 页 5.5 usb5.5 usb数据交换的包格式数据交换的包格式 1
22、、帧 usb中信息传输以“帧”为单位,一帧中可以包含多种 “包”,每一个包又包含多种类型的“域”。 usb系统在数据交换中常见的有五种包:令牌包、数据包、 握手包、帧开始包和特殊包。 “包”中的“域”有7种类型:同步域、标识域、地址域、 端点域、数据域、帧标识域和校检域等。 各类包中所包含的域的种类和数量依包而定。 1桢 = 令牌包、数据包、握手包、等 1包 =同步域、标识域、地址域、端点域、数据域、帧标识域和校检域 第五章第五章 串行接口术串行接口术 第 32 页 标志包标志包数据包数据包握手包握手包 一次交换(事务处理)一次交换(事务处理) 等时传输无握手包等时传输无握手包 交换完毕,进入
23、交换完毕,进入帧结束间隔区帧结束间隔区发送方把发送方把d+d+和和d-d-上的电压上的电压 降低到降低到0.8v0.8v以下,并保持以下,并保持2 2个位的传输时间,然后维持个位的传输时间,然后维持1 1个个 位传输时间的位传输时间的j j状态表示包结束,之后进入闲置状态。状态表示包结束,之后进入闲置状态。 每次交换均由主机发起每次交换均由主机发起,对中断传输,亦由主机发送查,对中断传输,亦由主机发送查 询包取得中断信息。询包取得中断信息。 帧结束帧结束 间隔区间隔区 2 2、信息传递的过程、信息传递的过程 第五章第五章 串行接口术串行接口术 第 33 页 3 3、域类型、域类型(7 (7种)
24、:种): sync(同步)域。每一种包的前面均有此域,占8位二 进制位,取固定值:00000001 pid(分组标识域); 跟在sync域后面,表示数据包的类型,占8位二进制位。 传输时,首先传lsb,后传msb: pid0 pid1 pid3 pid4 pid0 pid1 pid3 pid4 令牌包有三种类型的pid:setup(配置令牌)pid、out (发送令牌)pid和in(接收令牌)pid; 数据包有二种类型的pid:data0(偶pid数据)pid、 data1(奇pid数据)pid; 握手包有三种类型的pid:ack(无错应答)pid、nak (不能接、发应答)pid、stall
25、(端点被禁止)pid。 第五章第五章 串行接口术串行接口术 第 34 页 pidpid(分组标识域)(分组标识域) 第五章第五章 串行接口术串行接口术 第 35 页 地址域地址域 表达设备地址,由7位组成。可寻址127个外设。每当新的 外设刚接入时,主机系统赋予默认地址0,其后再赋予该地址 域表示的地址。 端点域端点域 表达设备中的端点号,由表达设备中的端点号,由4 4位组成位组成。一个设备最多可有。一个设备最多可有1616个个 端点。该域只出现在端点。该域只出现在outout分组、分组、inin分组和分组和setupsetup分组中,因此,分组中,因此, 对全速设备可有对全速设备可有1616
26、个发送端口和个发送端口和1616个接收端口。慢速设备只个接收端口。慢速设备只 有端口有端口0 0及及7 7个端点个端点1 1作为中断传输模式(如作为中断传输模式(如cy7c63cy7c63?系列?系列 usbusb微控制器)。微控制器)。 帧标号域帧标号域 仅存于仅存于sofsof分组内。由分组内。由1111位组成位组成。通常,目标设备根据其帧。通常,目标设备根据其帧 标号标号来辨别起点帧来辨别起点帧。常用于实时型传输,因此,一般出现在。常用于实时型传输,因此,一般出现在 全速设备的传输中。全速设备的传输中。 第五章第五章 串行接口术串行接口术 第 36 页 数据域数据域 仅存于数据分组中仅存
27、于数据分组中。数据域的大小从。数据域的大小从0-10230-1023位。位。 校检域校检域 循环冗余校检。循环冗余校检。除数据分组采用除数据分组采用1616位校检外,其余分组位校检外,其余分组 均采用均采用5 5位校检:位校检: g(x)=xg(x)=x5 5+x+x2 2+1+1; g(x)=xg(x)=x16 16+x +x15 15+x +x2 2+1 +1 第五章第五章 串行接口术串行接口术 第 37 页 pid类型类型pid名称名称pid3:0描述描述 标志包标志包 out0001b 具有具有pid、类型检查、设备地址、端点、类型检查、设备地址、端点 号和号和crc域的宿主到功能设备
28、的发送包域的宿主到功能设备的发送包 in1001b功能设备到宿主的接收包,具有和发送功能设备到宿主的接收包,具有和发送 包一样的域包一样的域 sof0101b帧开始包帧开始包 setup1101b主机发给设备的设置包,用于控制传输主机发给设备的设置包,用于控制传输 的设置。的设置。 数据包数据包 data00011b数据包数据包0 data11011b数据包数据包1 data20111b为帧中高速、高带宽的等时交换的数据为帧中高速、高带宽的等时交换的数据 包包 mdata1111b 为分离的高速和高带宽等时交换中的数为分离的高速和高带宽等时交换中的数 据包据包 4、包的类型、包的类型(阴影部分
29、是阴影部分是usb2.0规范规范) 第五章第五章 串行接口术串行接口术 第 38 页 握手包握手包 ack0010b接收设备发的接受数据正确的应答包接收设备发的接受数据正确的应答包 nak1010b接收设备无法接受数据或没有数据返接收设备无法接受数据或没有数据返 回个宿主回个宿主 stall1110b设备已经被挂起,需要主机插手解决设备已经被挂起,需要主机插手解决 故障故障 nyet0110b接收器无应答接收器无应答 特殊包特殊包 pre1100b(token)预告包,预告下面将以低速方预告包,预告下面将以低速方 式和低速设备通信式和低速设备通信 err1100b(handshake)分离交换
30、错误的握手信号分离交换错误的握手信号 split1000b高速分离交换标志高速分离交换标志 ping0100b为批或控制端点传输而设置的高速流为批或控制端点传输而设置的高速流 控制探测控制探测 reserved0000b保留保留 第五章第五章 串行接口术串行接口术 第 39 页 syncsyncpidpid 包特定信息包特定信息 crccrc 8 8位位 8 8位位n n位位5 5位或位或1616位位 syncsync:同步序列同步序列 pidpid:包标识别,发送从低位到高位包标识别,发送从低位到高位 所有数据发送都时从低位开始向高位发送 数据为数据为1000000010000000 pid
31、0pid0 pid1pid1 lsblsb pid2pid2 pid3pid3 pid0pid0 # # pid1pid1 # # pid2pid2 # # pid3#pid3# msbmsb pidpidpidpid的反码的反码 包的一般格式包的一般格式 第五章第五章 串行接口术串行接口术 第 40 页 (1) (1) 帧开始包(帧开始包(sofsof)(一帧持续时间为)(一帧持续时间为1ms1ms) syncsyncpidpid frame number frame numbercrccrc 8 8位位 帧开始包格式帧开始包格式 8 8位位1111位位5 5位位 编码编码 数据数据 0 0
32、 0 0 0 0 0 1 1 0 1 0 0 1 0 10 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 标志包标志包 帧开始包(帧开始包(sofsof)告诉目标设备一帧的开始)告诉目标设备一帧的开始。由主机在每。由主机在每 一帧的开始,将此包广播到所有全速设备。一帧占用一帧的开始,将此包广播到所有全速设备。一帧占用1 ms1 ms。 sofsof包只能在令牌包一起出现,不可能与数据包和握手包同包只能在令牌包一起出现,不可能与数据包和握手包同 时出现。时出现。 第五章第五章 串行接口术串行接口术 第 41 页 sycnsycnpidpidaddraddrendpendp crcc
33、rc 8 8位位 接受和发送包的格式接受和发送包的格式 8 8位位7 7位位4 4位位5 5位位 (2) (2) 接收包接收包 (3) (3) 发送包发送包 接收交换包括了全部接收交换包括了全部4 4种传输类型种传输类型 接受交换接受交换: : 根根hubhub广播接受包广播接受包目标设备返回数据包目标设备返回数据包根发握手包根发握手包 (等时传输无握手包等时传输无握手包) 发送交换发送交换: : 根根hubhub广播发送包广播发送包根发数据包根发数据包目标设备发握手包目标设备发握手包 (批传输才有握手包批传输才有握手包) 发送交换包括了除等时传输外的其他发送交换包括了除等时传输外的其他3 3
34、种传输类型种传输类型 第五章第五章 串行接口术串行接口术 第 42 页 datadatacrccrcsyncsyncpidpid 8 8位位 usb 1.1usb 1.1数据包格式数据包格式 8 8位位0102301023位位1616位位 syncsyncpidpiddatadatacrccrc 8 8位位 usb 2.0usb 2.0数据包格式数据包格式 8 8位位0819208192位位1616位位 (4)(4)设置包设置包 控制传输开始由主机发设置包,后面可能由一个或控制传输开始由主机发设置包,后面可能由一个或 多个多个inin或或outout交换,或只包含一个端点传到主机的状交换,或只
35、包含一个端点传到主机的状 态态 数据包数据包 发送包、接收包和设置包统称为发送包、接收包和设置包统称为令牌包(令牌包(分组)。分组)。 第五章第五章 串行接口术串行接口术 第 43 页 sycnsycnpidpid 8 8位位 握手包的格式握手包的格式 8 8位位 数据接受方发向数据发送方。 只有sync和pid组成 主机希望与低速设备进行低速传输的时候发此包 pid域应该高速(全速)发送。 pid之后,在低速数据包传输之前要延迟4个高速 字节时间 低速设备只支持控制传输与中断传输 与低速设备交换数据只有8字节 握手包握手包 特殊包特殊包 第五章第五章 串行接口术串行接口术 第 44 页 5.
36、5.6 usb5.5.6 usb的的“设备请求设备请求” 1 1、标准设备请求、标准设备请求 在usb系统中,主机始终占据主导地位。主机可以向设 备发送各种命令,这些命令就称为“设备请求”。 usb协议规定了一些“标准的设备请求”,设备开 发商还可以定义自己设备的“特定设备请求”。 每一种“设备请求”均占有8个字节信息。usb主机 在“控制传输类型”的第二个阶段数据阶段,将设 备请求的8字节信息以数据包的形式发送给设备。 第五章第五章 串行接口术串行接口术 第 45 页 标准设备请求:标准设备请求: 第五章第五章 串行接口术串行接口术 第 46 页 2 2、设备请求数据格式、设备请求数据格式
37、usb协议规定:8字节的“设备请求”由五部分组成: bmrequesttype请求类型域,占一个字节 brequest特定请求域,占一个字节 wvalue向设备传递的参数域,占二个字节 windex传递的索引,占二个字节 wlength数据阶段传输的数据长度域,占二个字节 第五章第五章 串行接口术串行接口术 第 47 页 设备请求数据格式表:设备请求数据格式表: 域域字节长度字节长度功能说明功能说明 bmrequesttypebmrequesttype1 1 d7:d7:数据阶段的传输方向,数据阶段的传输方向,d7=0 d7=0 主机至设备主机至设备 d7=1d7=1设备至主机设备至主机 d6
38、-d5:d6-d5:设备请求类型:设备请求类型:0=0=标准设备请求,标准设备请求,1=1= 某类型设备定某类型设备定 义的额外请求,义的额外请求,2=2=开发商自定义请求开发商自定义请求 d4-d0d4-d0:接收者:接收者:0=0=设备;设备;1=1=接口;接口;2=2=端点;端点; 3=3=其它其它 brequestbrequest1 1特定请求特定请求 wvaluewvalue2 2向设备传递的参数向设备传递的参数 windexwindex2 2传递索引或为宜量传递索引或为宜量 wlengthwlength2 2数据阶段中数据包所传递的数据的字节长度数据阶段中数据包所传递的数据的字节长
39、度 第五章第五章 串行接口术串行接口术 第 48 页 设备请求类型域(设备请求类型域(bmrequesttypebmrequesttype) 设备请求类型域(设备请求类型域(bmrequesttypebmrequesttype)一般取值可有以下几)一般取值可有以下几 类:类: 0 0、1 1、2 2:它们对应于设置(:它们对应于设置(set)set)类设备请求类设备请求 80h80h、81h81h、82h82h:它们对应于获取(:它们对应于获取(get)get)类设备请求类设备请求 下表列出了对应于下表列出了对应于bmrequesttypebmrequesttype去不同值时的设备请求去不同值
40、时的设备请求 各个域的配合情况:各个域的配合情况: 第五章第五章 串行接口术串行接口术 第 49 页 第五章第五章 串行接口术串行接口术 第 50 页 5.5.7 usb5.5.7 usb总线枚举总线枚举 1 1、总线枚举的过程:、总线枚举的过程: usb主机识别刚接入usb系统的各个usb设备,并配置刚接 入的各个usb设备的过程或识别usb设备从系统中撤出的过程, 就叫usb设备枚举或叫总线枚举。 (1)当usb设备接到hub上,该hub就会根据d-、d+电位的 变化,得知这一事件,并将此事件通知主机,设备进入连 接状态,但设备端口并未进入使能状态,端口是封闭的。 (2)主机传送一个重置命
41、令,使新接入端口使能,端口 被打开。 (3) hub提供100ma电流给usb设备,usb设备进入上电 状态,所有的寄存器均重设,并响应默认地址(0地址)。 以上均由硬件完成; 第五章第五章 串行接口术串行接口术 第 51 页 (4 4)主机发出包含)主机发出包含“setupsetup令牌令牌”的的“设备请求设备请求”包及其包及其 后跟的后跟的data0data0数据包至地址数据包至地址0 0,以,以取得设备的描述符取得设备的描述符; (5 5) usbusb设备中的控制器将此请求解码后,并从它的设备中的控制器将此请求解码后,并从它的romrom 表格中表格中取得设备描述符取得设备描述符,在主
42、机执行控制型读取时,发往主,在主机执行控制型读取时,发往主 机;机; (6 6)主机再发出包含)主机再发出包含“setupsetup令牌令牌”的的“设备请求设备请求”包及包及 其后跟的其后跟的data0data0数据包至地址数据包至地址0 0,该数据包中包含有,该数据包中包含有分配给设分配给设 备的唯一地址备的唯一地址; (7 7)usbusb设备将设备将新地址存于新地址存于“设备地址寄存器设备地址寄存器”中;中; (8 8)主机用新地址发出设备请求以获取完整的设备描述)主机用新地址发出设备请求以获取完整的设备描述 符;符; (9 9)usbusb设备中的控制器将此请求解码后,并从它的设备中的
43、控制器将此请求解码后,并从它的romrom 表格中表格中取得设备描述符取得设备描述符,在主机执行控制型读取时,发往主,在主机执行控制型读取时,发往主 机;机; 第五章第五章 串行接口术串行接口术 第 52 页 (1010)主机执行控制型读取,请求配置等其它描述符;)主机执行控制型读取,请求配置等其它描述符; (1111)主机收到所有描述符后,总线枚举过程结束。)主机收到所有描述符后,总线枚举过程结束。 第五章第五章 串行接口术串行接口术 第 53 页 2 2、 usbusb设备状态和总线枚举设备状态和总线枚举 主主 机机 hubhub 设设 备备 1.1 1.1 设备接入设备接入 连接状态连接
44、状态 1.2 1.2 通知有设备接入通知有设备接入 2 2 检测检测hub,hub,确认有接入确认有接入 3 3 使能该端口,发使能该端口,发resetreset命令命令 4 4 发发resetreset信号,供电信号,供电 上电状态上电状态 5.1 5.1 利用默认端点利用默认端点0 0读设备描述器读设备描述器 6.2 6.2 分发地址分发地址 地址状态地址状态 7.2 7.2 读配置信息读配置信息 7.1 7.1 按地址读设备配置信息按地址读设备配置信息 8.2 8.2 写配置信息写配置信息 配置状态配置状态 8.1 8.1 按地址设设备配置信息按地址设设备配置信息 6.1 6.1 给设备
45、分发地址给设备分发地址 5.2 5.2 读设备描述器读设备描述器 地址默认状态地址默认状态 第五章第五章 串行接口术串行接口术 第 54 页 5.5.8 usb控制传输举例 例一:系统从设备读取设备描述符信息。例一:系统从设备读取设备描述符信息。 控制传输包含2个或3个阶段:设定阶段、数据阶段(可有 可无)和状态阶段。每个阶段都包含多个数据交换。 主机使用控制型传输。该过程可分成三个阶段: (1)设置阶段 主机先将setup令牌包发往设备; 主机再往设备发送一个data0数据包,data0域的内 容:主机对设备的“设备请求”,共8个字节(控制型传输 中数据包只有8个字节); 设备如果接收到主机
46、的请求,并已准备好,则给主 机发送一个ack握手包,如果设备未准备好,则发送一个 nak握手包,如果设备收到的请求包有错,则发回stall握 手包。 第五章第五章 串行接口术串行接口术 第 55 页 设置阶段包的交换过程设置阶段包的交换过程 第五章第五章 串行接口术串行接口术 第 56 页 设置阶段包的交换过程说明:设置阶段包的交换过程说明: “主机发数据包主机发数据包”中的中的datadata域域为为设备请求设备请求(共(共8 8个字节)。个字节)。 其中:其中: 第一字节第一字节80h80h为为“设备请求类型设备请求类型”段。段。因因d7d71 1,表明表明 在控制型传输类型的第二阶段,数
47、据传输方向是从设备到主机;在控制型传输类型的第二阶段,数据传输方向是从设备到主机; 因因d6d5=0d6d5=0,表明主机的,表明主机的“设备请求设备请求”属于属于“标准设备请求标准设备请求”; d4d3d2d1d0=0d4d3d2d1d0=0,表明,表明“请求接收者请求接收者”是是“设备设备”(不是接(不是接 口和端点)。口和端点)。 第二字节第二字节6 6为为“特定请求特定请求”类型码段。类型码段。66表明为表明为“获取获取 设备描述符设备描述符”。 0 10 1为描述符类型码。为描述符类型码。“0h01h”0h01h”表明描述符是表明描述符是“设备设备 描述符描述符”。 最后两字节最后两
48、字节12h 012h 0- -为所要求的描述符长度,为为所要求的描述符长度,为1818字节。字节。 第五章第五章 串行接口术串行接口术 第 57 页 (2) 2)数据阶段数据阶段 主机先将in令牌包发往设备,表明主机请求“接收设 备”传来数据; 设备将data1数据包(数据是设备描述符)发往主机, 作为主机请求的响应; 主机发送ack握手包作应答。 其中“data段数 据为设备描述符的前 8个字节的内容。usb 协议规定:此处只需 传输一部分即可(其 它在以后的传输中再 进行)。 第五章第五章 串行接口术串行接口术 第 58 页 (3)3)状态阶段状态阶段 主机先将主机先将outout令牌包令
49、牌包发往设备;发往设备; 主机再往设备发送一个主机再往设备发送一个data0data0数据包数据包,data0data0域无内容:域无内容: 设备给主机发送设备给主机发送ackack握手包握手包。整个传输结束。整个传输结束。 第五章第五章 串行接口术串行接口术 第 59 页 例二:设定设备地址例二:设定设备地址 (1 1)设置阶段)设置阶段 第五章第五章 串行接口术串行接口术 第 60 页 说明:说明: “datadata”域中各字节的含义:域中各字节的含义: 第一字节第一字节“00为为“设备请求类型设备请求类型”,因因d7d70 0,表明在表明在 控制型传输类型的第二阶段,数据传输方向是从主
50、机到控制型传输类型的第二阶段,数据传输方向是从主机到 设备;设备;因因d6d5=0d6d5=0,表明主机的,表明主机的“设备请求设备请求”属于属于“标准标准 设备请求设备请求”;d4d3d2d1d0=0d4d3d2d1d0=0,表明,表明“请求接收者请求接收者”是是 “设备设备”(不是接口和端点)。(不是接口和端点)。 第二字节第二字节5 5为为“特定请求特定请求”类型码段。类型码段。55表明为表明为 “设置地址请求设置地址请求”。 第三字节第三字节”22为新的设备地址。为新的设备地址。 第五章第五章 串行接口术串行接口术 第 61 页 (2 2)数据阶段)数据阶段 第五章第五章 串行接口术串
51、行接口术 第 62 页 基于基于cy7c68013的的usb2.0开发开发 cy7c68013的特点:的特点: 1、符合usb2.0规范,480mbps高速传输协议标准,并向下兼 容usb1.1。 2、含括增强型usb core、高速8051 core和16k ram, 3、拥有1个独特的架构,其中包括1个智能串行接口引擎 (sie)。它执行所有基本的usb功能,将嵌入式mcu解放出 来以用于实现专用的功能,并保证其持续的高性能的传输 速率。 4、rs232串口:一个 5、eeprom:用做存放vid/pid或固件,可通过跳线选择 eeprom容量,缺省配置24lc64(8k) 6、包括2个通
52、用可编程接口(gpif),可与任何asic或dsp进 行连接,并且它还支持所有通用总线标准,包括ata、 utopia、epp和pcmcia。 第五章第五章 串行接口术串行接口术 第 63 页 第五章第五章 串行接口术串行接口术 第 64 页 使用使用cy7c68013a cy7c68013a 的优点:的优点: 1、丰富的实验例子,包括批量传输,中断传输,控制传输, i2c按钮和数码管实验, fx2传输速度测试,io端口控制, gpif试验,usb转串口试验,串口转usb试验等。 2、 已建立固件(keil c51)、驱动(ddk和driverstudio) 和应用程序(vc6.0)开发环境(
53、工程) 3、 keil软件仿真调试功能(64k程序,数据空间) 4、 在线下载和在系统可编程功能 5、 总线或外部供电可选 第五章第五章 串行接口术串行接口术 第 65 页 第五章 结 束 结束放映 第五章第五章 串行接口术串行接口术 第 66 页 usb主控制器(外设端) 主控制器是一个微控制器芯片,内部集成了8位的risc(精 简指令)微处理器、eprom、sram、倍频器、usb sie(串行接口 引擎,其功能是:将d+和d-的串行数据进行编码与解码、计算校 检和、进行位填充、usb收、发)等功能部件,逻辑图如下: 第五章第五章 串行接口术串行接口术 第 67 页 usbusb主控制器及
54、主控制器主控制器及主控制器软件软件具有以下具有以下功能功能: 状态控制; 串并转换; 形成帧; 向主机发送数据传输请求和处理来自主 机的数据请求; 传输差错控制; 协议引擎。支持所有usb的协议。 第五章第五章 串行接口术串行接口术 第 68 页 (2) hub的组成 一个hub包括两部分:(见图) 集线器中继器:管理连接的建立和拆除; 集线器控制器:提供状态控制,允许主机对hub进行访问。 第五章第五章 串行接口术串行接口术 第 69 页 u拓扑拓扑 层状星型层状星型 (分布连接点分布连接点) 最多最多127个设备个设备 可达可达6层层 (每段最长每段最长5米米) 总线事务总线事务 速率速率
55、: 12mbps 总计总计 1.5mbps 子通道子通道 同步和异步同步和异步 主机控制总线活动主机控制总线活动 u配置配置 热插拔热插拔 即插即用即插即用 u 物理层物理层 两根线差分信号两根线差分信号, nrzi 编码编码,位填充位填充 支持电源支持电源 +5v 信号采用信号采用 cmos电压电压 3.3v 4 脚连接器脚连接器, 4 线电缆线电缆 2 2、设备地址设备地址和和端口号端口号 u usb系统不占用系统资源,即:不用考虑i/o地址、irq及 dma通道等问题。 u 但usb系统给已连接的usb设备分配一个唯一的7位二进制 数的逻辑地址。 u 地址0分配给刚刚连接上的外设,作为设备配置用。其它 地址:地址1-127分配给已经连接的外设,(可见usb系统最 多可连接127个外设)。 u 每一个usb外设均具有一定数量的寄存器,每一个寄存器 均有一个端口号,按usb的协议的规定,每个端口用4位二进 制数表示一个端口号,用1位二进制数表示是输入还是输出, 所以,一个usb设备最多只能有32个i/o端口,其
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度供暖服务续约协议
- 2024年度建筑材料研发与技术转让合同
- 2024年城市废弃物处理设施租赁合同
- 2024创意拓展训练服务合同
- 2024年廉洁购销合同范本
- 2024年度安徽省某县高速公路路基施工合同
- 2024年度企业级云存储服务合同
- 2024大型活动场地土方平整合同
- 2024年度果皮箱批量采购合同
- 2024年度国际教育培训项目合作合同
- GB/T 27021.1-2017合格评定管理体系审核认证机构要求第1部分:要求
- GB/T 22796-2021床上用品
- 中国联通LAN工程施工及验收规范
- 中间表模式接口相关-住院与his-adt方案
- 临床PCR检验的室内质控方法课件
- 计算机解决问题的过程-优质课课件
- 作文讲评-“忘不了……”课件
- 深基坑安全管理(安全培训)课件
- 12月4日全国法制宣传日宪法日宪法知识科普宣教PPT教学课件
- 血液透析营养管理课件
- 神经内科医疗质量评价体系考核标准
评论
0/150
提交评论