




已阅读5页,还剩74页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第五章usb通用串行总线 目录5 1usb系统组成5 2usb系统的接口信号和电器特性5 3usb数据流类型和传输类型5 4usb交换的包格式5 5usb设备状态和总线枚举5 6usb外围芯片及应用 计算机接口技术 西安电子科技大学计算机学院司栋森 第2页 5 1usb系统组成 usb 的英文全称为 universalserialbus 中文名通常称之为 通用串行总线 接口 它是一种串行i o总线 带有5v电压 支持即插即用功能 支持热拔插功能 最多能同时连入127个usb设备 由各个设备均分带宽 usb技术诞生于1994年 当时是由pc界的几位巨头 如康柏 ibm intel和microsoft共同推出的 旨在统一外设如打印机 外置modem 扫描仪 鼠标等的接口 以便于安装使用 取代以往的串口 并口和ps 2接口 usb发展到今天 总共有三种标准 1996年发布的usb1 0 1998年发布的usb1 1 以及发布不久的最新标准usb2 0此三种标准最大的差别就在于数据传输率方面 在其它方面也有不同程度的改进 总体来说 目前的usb2 0而言 技术性能已经十分完善了 速度也上了一个新台阶 第3页 1 usb硬件概述 包括 usb主机 usb设备 hub和功能设备 和连接电缆 第4页 各部分说明 1 usb主机 pc机内 带有usb主控制器 和根hub 的pc机以及相应的软件 usb主机是整个总线上的主控者 掌握所有的控制权 负责对各个外围设备发出各种设定命令与配置 主机提供的主要功能 检测usb设备的接入和拆除操作 管理主机和usb设备之间传输的数据流 并进行流量控制 搜集状态和性能统计信息 控制主控制器和usb设备之间的电气接口 提供有限的电源 第5页 usb功能设备 2 集线器 hub 分成两类 集线器 hub 功能设备 集线器是用来向主机提供2个以上的usb设备接入点的设备 一般一个主机只提供2个或4个usb接口 即 主机带有一个根hub 因此 只有利用hub 才可能使一个主机带127个usb设备 利用hub整个usb系统可构成一个树形拓扑结构 hub的主要功能 连接主机和usb设备或usb设备与usb设备的互接 识别usb设备的添加和拆除 电源管理 总线故障检测和恢复 支持全速和低速率usb设备 第6页 usb功能设备 外设 带有usb接口的计算机外围设备就叫usb功能设备 一般usb功能设备与计算机相连接时不需要驱动卡 实际上该设备中的usb接口就带有驱动卡的功能 因此 usb功能设备与计算机连接变得非常简单 第7页 usb设备驱动程序实现对设备的初始化 采用分层的概念 降低驱动程序的复杂性 usb总线驱动程序在设备设置时读取描述器以获取usb设备的特征 并根据这些特征 在请求发生时组织数据传输 usb驱动程序可以是捆绑在操作系统中 也可以是以可装载的设备驱动程序形式加入到操作系统中 usb主控制器驱动程序完成对usb交换的调度 是访问硬件的接口 并通过根hub或其他的hub完成对交换的初始化 2 usb的软件 第8页 3usb总线的拓扑结构 1 总线拓扑 usb系统拓扑结构呈星状的层层向上的结构 如图 允许最多连接127个usb设备 主机 host 一个系统只能有一个主机集线器 hub 提供连接点 电源 终端自供电或总线供电设备 device 接口 interfaces 和端点 endpoints 设备是一个接口的集合接口是一个端点的集合可寻址127个设备和16个端点 第9页 5 2usb系统的接口信号和电气特性 1 接口信号线 usb总线包含4条信号线 其中d 和d 是信号线 vbus和gnd是电源线 第10页 第11页 usb主机或根hub对外设可以提供5v的电源 最大输出电流500ma usb主机有一个独立于usb系统的电源管理系统 apm 主机具有电源挂起和唤醒操作 暂时不用的usb设备 usb系统和apm将其置于电源挂起状态 usb设备第一次被主机检测到时 设备吸入的电流 100ma usb设备的供电一般采用总线供给 当设备耗电量大时 要采用外接电源的自供电方式 2 电气特性 第12页 vcc gnd 高速设备 第13页 usb常用信号电平 高速设备 第14页 usb设备接入检测及设备类型的区分 在usb设备未连接至pc机时 由于d d 两条信号线因下拉电阻的关系 几乎视为接地 0v 当某一个usb设备连接至pc机时 提升电阻 1 5k 与下拉电阻 15k 就会形成一个分压器 其中有一条信号线 d 或d 的电位就会提升到vcc的90 而另一条信号线电压维持在0v状态 根集线器测得此电压即可确定有一台设备已经连接上了 根集线器通过测得d 和d 上的电压即可确定有一台设备的类型 低速 全速 高速 显然 当hub测得两信号线电压小于0 8v 时间大于2 5 s时 即可断定该设备已脱离了 pc机会不断地轮询根hub 检查d d 的电位变化 以了解设备的连接情况 第15页 高 低速usb收发器 主机或集线器端口 高速usb收发器 高速设备 5vdc d d 地 15k 15k 3 0 3 6vdc 1 5k d d 高 低速usb收发器 主机或集线器端口 低速usb收发器 低速设备 5vdc d d 地 15k 15k 3 0 3 6vdc 1 5k d d usb数据线 usb数据线 全速设备 低速设备 第16页 设备接入到端口上的过程 设备从端口上断开过程 第17页 数据包传送开始过程 数据包传送结束过程 差分 0 起始位 第18页 nrzi的编码方法不需独立的时钟信号和数据一起发送 电平跳变代表 0 没有电平跳变代表 1 在数据被编码前 在数据流中每6个连续的 1 后插入1个 0 从而强迫nrzi码发生变化 接收端必须去掉这个插入的 0 3 nrzi编码 无回零反向码 第19页 5 3usb数据流类型和传输类型 usb数据流类型有4种 控制信号流 当usb设备加入时 usb系统软件与设备之间建立起控制信号流 发送控制信号 块数据流 用于发送大量的数据 中断数据流 用于传输少量随机输入信号 实时数据流 用于传输固定速率的信号 第20页 usb有4种基本的传输类型 2 批传输 单 双向 用于大批数据传输 要求准确 出错重传 时间性不强 打印机 1 控制传输 双向 用于配置设备或特殊用途 发生错误需重传 每个设备必须要用端点0完成usb主机检测时和主机交换信息的控制传送 初始化 3 中断传输 单向入主机 用于随机少量传送 采用查询中断方式 出错时下一查询周期重新传 键盘 4 等时传输 单 双向 用于连续实时的数据传输 时间性强 但出错无需重传 传输速率固定 音响 第21页 1 传输类型的特性 对于慢速设备仅支持控制型传输和中断型传输 每一种传输类型都具有自己的特性 规定的数据结构通信方向分组大小带宽限制所要求的数据顺序 第22页 2 控制型传输 属于双向型传输 用于传输主机发往设备的命令 设备请求 主机发往hub的集线器请求 设备传向主机的设备描述符配置及状态等信息 这些信息叫控制型数据 组成的包叫控制包 控制型传输分三个阶段 设定 setup 阶段 数据 data 阶段和状态 status 阶段 1 设定阶段 交换的有三个包 它们是 主机发往设备的setup令牌包 包含请求的设备地址 端口号等 主机发往设备的 包含有 设备请求 的数据包 设备给主机的握手包 第23页 2 数据阶段 交换的也有三个包 它们是 读 主机发往设备的in令牌包 设备发给主机的data1数据包 主机给设备的ack握手包 3 状态阶段 交换的也有三个包 它们是 主机发往设备的out令牌包 主机给设备的data0数据包 设备传向主机的ack应答 握手 信号 第24页 usb协议规定 控制型传输只能用端点0进行传输 每当usb设备第一次连接到usb主机时 就用控制型传输 设定usb设备的地址和读取设备的描述符 第25页 3 中断型传输 它属于单向传输 且只能从设备传到主机 由于usb不支持硬件中断 不占用系统的中断类型等资源 主机实际是采用 轮询 的方式 使用该种传输的有usb键盘 usb鼠标和usb摇杆等人机接口设备 hid 在中断传输类型中进行数据交换一般有三个或两个步骤 请求包 数据包 可有可无 和握手包 即 主机往设备发送in令牌包 设备往主机发送数据包 主机往设备发送握手包 第26页 如果主机往设备发送in令牌包后 设备无数据发往主机 则发送nak作应答 主机往设备发送in令牌包 主机往设备发送nak握手包 第27页 4 批传输 批传输用于大量数据的 准确的 但无速度限制 不考虑带宽 的传输 其特点是出现错误后 可以重传 应用这类传输的有usb打印机 usb扫描仪等 在批传输类型中进行数据交换一般有三个或两个步骤 请求包 数据包 可有可无 和握手包 即 主机往设备发送in令牌包 设备往主机发送数据包 主机往设备发送握手包 第28页 第29页 5 等时传输 用于传输连续 实时的数据 其特点是 要求稳定的带宽 实时性强 但可忽略错误 应用这类传输的有视频设备 数字声音设备 数字相机等全速设备 在实时传输类型中进行数据交换一般有两个步骤 请求包 数据包 可有可无 即 主机往设备发送in令牌包 设备往主机发送数据包 第30页 第31页 5 5usb数据交换的包格式 1 帧 usb中信息传输以 帧 为单位 一帧中可以包含多种 包 每一个包又包含多种类型的 域 usb系统在数据交换中常见的有五种包 令牌包 数据包 握手包 帧开始包和特殊包 包 中的 域 有7种类型 同步域 标识域 地址域 端点域 数据域 帧标识域和校检域等 各类包中所包含的域的种类和数量依包而定 1桢 令牌包 数据包 握手包 等1包 同步域 标识域 地址域 端点域 数据域 帧标识域和校检域 第32页 标志包 数据包 握手包 一次交换 事务处理 等时传输无握手包 交换完毕 进入帧结束间隔区发送方把d 和d 上的电压降低到0 8v以下 并保持2个位的传输时间 然后维持1个位传输时间的j状态表示包结束 之后进入闲置状态 每次交换均由主机发起 对中断传输 亦由主机发送查询包取得中断信息 帧结束间隔区 2 信息传递的过程 第33页 3 域类型 7种 sync 同步 域 每一种包的前面均有此域 占8位二进制位 取固定值 00000001 pid 分组标识域 跟在sync域后面 表示数据包的类型 占8位二进制位 传输时 首先传lsb 后传msb pid0pid1pid3pid4pid0pid1pid3pid4令牌包有三种类型的pid setup 配置令牌 pid out 发送令牌 pid和in 接收令牌 pid 数据包有二种类型的pid data0 偶pid数据 pid data1 奇pid数据 pid 握手包有三种类型的pid ack 无错应答 pid nak 不能接 发应答 pid stall 端点被禁止 pid 第34页 pid 分组标识域 第35页 地址域表达设备地址 由7位组成 可寻址127个外设 每当新的外设刚接入时 主机系统赋予默认地址0 其后再赋予该地址域表示的地址 端点域表达设备中的端点号 由4位组成 一个设备最多可有16个端点 该域只出现在out分组 in分组和setup分组中 因此 对全速设备可有16个发送端口和16个接收端口 慢速设备只有端口0及7个端点1作为中断传输模式 如cy7c63 系列usb微控制器 帧标号域仅存于sof分组内 由11位组成 通常 目标设备根据其帧标号来辨别起点帧 常用于实时型传输 因此 一般出现在全速设备的传输中 第36页 数据域仅存于数据分组中 数据域的大小从0 1023位 校检域循环冗余校检 除数据分组采用16位校检外 其余分组均采用5位校检 g x x5 x2 1 g x x16 x15 x2 1 第37页 4 包的类型 阴影部分是usb2 0规范 第38页 第39页 sync 同步序列 pid 包标识别 发送从低位到高位 所有数据发送都时从低位开始向高位发送 数据为10000000 pid pid的反码 包的一般格式 第40页 1 帧开始包 sof 一帧持续时间为1ms 编码 数据 0000000110100101 标志包 帧开始包 sof 告诉目标设备一帧的开始 由主机在每一帧的开始 将此包广播到所有全速设备 一帧占用1ms sof包只能在令牌包一起出现 不可能与数据包和握手包同时出现 第41页 2 接收包 3 发送包 接收交换包括了全部4种传输类型 接受交换 根hub广播接受包 目标设备返回数据包 根发握手包 等时传输无握手包 发送交换 根hub广播发送包 根发数据包 目标设备发握手包 批传输才有握手包 发送交换包括了除等时传输外的其他3种传输类型 第42页 4 设置包 控制传输开始由主机发设置包 后面可能由一个或多个in或out交换 或只包含一个端点传到主机的状态 数据包 发送包 接收包和设置包统称为令牌包 分组 第43页 数据接受方发向数据发送方 只有sync和pid组成主机希望与低速设备进行低速传输的时候发此包pid域应该高速 全速 发送 pid之后 在低速数据包传输之前要延迟4个高速字节时间低速设备只支持控制传输与中断传输与低速设备交换数据只有8字节 握手包 特殊包 第44页 5 5 6usb的 设备请求 1 标准设备请求 在usb系统中 主机始终占据主导地位 主机可以向设备发送各种命令 这些命令就称为 设备请求 usb协议规定了一些 标准的设备请求 设备开发商还可以定义自己设备的 特定设备请求 每一种 设备请求 均占有8个字节信息 usb主机在 控制传输类型 的第二个阶段 数据阶段 将设备请求的8字节信息以数据包的形式发送给设备 第45页 标准设备请求 第46页 2 设备请求数据格式 usb协议规定 8字节的 设备请求 由五部分组成 bmrequesttype 请求类型域 占一个字节brequest 特定请求域 占一个字节wvalue 向设备传递的参数域 占二个字节windex 传递的索引 占二个字节wlength 数据阶段传输的数据长度域 占二个字节 第47页 设备请求数据格式表 域 字节长度 功能说明 第48页 设备请求类型域 bmrequesttype 设备请求类型域 bmrequesttype 一般取值可有以下几类 0 1 2 它们对应于设置 set 类设备请求80h 81h 82h 它们对应于获取 get 类设备请求下表列出了对应于bmrequesttype去不同值时的设备请求各个域的配合情况 第49页 第50页 5 5 7usb总线枚举 1 总线枚举的过程 usb主机识别刚接入usb系统的各个usb设备 并配置刚接入的各个usb设备的过程或识别usb设备从系统中撤出的过程 就叫usb设备枚举或叫总线枚举 1 当usb设备接到hub上 该hub就会根据d d 电位的变化 得知这一事件 并将此事件通知主机 设备进入连接状态 但设备端口并未进入使能状态 端口是封闭的 2 主机传送一个重置命令 使新接入端口使能 端口被打开 3 hub提供100ma电流给usb设备 usb设备进入上电状态 所有的寄存器均重设 并响应默认地址 0地址 以上均由硬件完成 第51页 4 主机发出包含 setup令牌 的 设备请求 包及其后跟的data0数据包至地址0 以取得设备的描述符 5 usb设备中的控制器将此请求解码后 并从它的rom表格中取得设备描述符 在主机执行控制型读取时 发往主机 6 主机再发出包含 setup令牌 的 设备请求 包及其后跟的data0数据包至地址0 该数据包中包含有分配给设备的唯一地址 7 usb设备将新地址存于 设备地址寄存器 中 8 主机用新地址发出设备请求以获取完整的设备描述符 9 usb设备中的控制器将此请求解码后 并从它的rom表格中取得设备描述符 在主机执行控制型读取时 发往主机 第52页 10 主机执行控制型读取 请求配置等其它描述符 11 主机收到所有描述符后 总线枚举过程结束 第53页 2 usb设备状态和总线枚举 主机 hub 设备 第54页 5 5 8usb控制传输举例 例一 系统从设备读取设备描述符信息 控制传输包含2个或3个阶段 设定阶段 数据阶段 可有可无 和状态阶段 每个阶段都包含多个数据交换 主机使用控制型传输 该过程可分成三个阶段 1 设置阶段 主机先将setup令牌包发往设备 主机再往设备发送一个data0数据包 data0域的内容 主机对设备的 设备请求 共8个字节 控制型传输中数据包只有8个字节 设备如果接收到主机的请求 并已准备好 则给主机发送一个ack握手包 如果设备未准备好 则发送一个nak握手包 如果设备收到的请求包有错 则发回stall握手包 第55页 设置阶段包的交换过程 第56页 设置阶段包的交换过程说明 主机发数据包 中的data域为设备请求 共8个字节 其中 第一字节80h 为 设备请求类型 段 因d7 1 表明在控制型传输类型的第二阶段 数据传输方向是从设备到主机 因d6d5 0 表明主机的 设备请求 属于 标准设备请求 d4d3d2d1d0 0 表明 请求接收者 是 设备 不是接口和端点 第二字节6 为 特定请求 类型码段 6 表明为 获取设备描述符 01 为描述符类型码 0h01h 表明描述符是 设备描述符 最后两字节12h0 为所要求的描述符长度 为18字节 第57页 2 数据阶段 主机先将in令牌包发往设备 表明主机请求 接收设备 传来数据 设备将data1数据包 数据是设备描述符 发往主机 作为主机请求的响应 主机发送ack握手包作应答 其中 data 段数据为设备描述符的前8个字节的内容 usb协议规定 此处只需传输一部分即可 其它在以后的传输中再进行 第58页 3 状态阶段 主机先将out令牌包发往设备 主机再往设备发送一个data0数据包 data0域无内容 设备给主机发送ack握手包 整个传输结束 第59页 例二 设定设备地址 1 设置阶段 第60页 说明 data 域中各字节的含义 第一字节 0 为 设备请求类型 因d7 0 表明在控制型传输类型的第二阶段 数据传输方向是从主机到设备 因d6d5 0 表明主机的 设备请求 属于 标准设备请求 d4d3d2d1d0 0 表明 请求接收者 是 设备 不是接口和端点 第二字节5 为 特定请求 类型码段 5 表明为 设置地址请求 第三字节 2 为新的设备地址 第61页 2 数据阶段 第62页 基于cy7c68013的usb2 0开发 cy7c68013的特点 1 符合usb2 0规范 480mbps高速传输协议标准 并向下兼容usb1 1 2 含括增强型usbcore 高速8051core和16kram 3 拥有1个独特的架构 其中包括1个智能串行接口引擎 sie 它执行所有基本的usb功能 将嵌入式mcu解放出来以用于实现专用的功能 并保证其持续的高性能的传输速率 4 rs232串口 一个5 eeprom 用做存放vid pid或固件 可通过跳线选择eeprom容量 缺省配置24lc64 8k 6 包括2个通用可编程接口 gpif 可与任何asic或dsp进行连接 并且它还支持所有通用总线标准 包括ata utopia epp和pcmcia 第63页 第64页 使用cy7c68013a的优点 1 丰富的实验例子 包括批量传输 中断传输 控制传输 i2c按钮和数码管实验 fx2传输速度测试 io端口控制 gpif试验 usb转串口试验 串口转usb试验等 2 已建立固件 keilc51 驱动 ddk和driverstudio 和应用程序 vc6 0 开发环境 工程 3 keil软件仿真调试功能 64k程序 数据空间 4 在线下载和在系统可编程功能5 总线或外部供电可选 第65页 第五章结束 结束放映 第66页 usb主控制器 外设端 主控制器是一个微控制器芯片 内部集成了8位的risc 精简指令 微处理器 eprom sram 倍频器 usbsie 串行接口引擎 其功能是 将d 和d 的串行数据进行编码与解码 计算校检和 进行位填充 usb收 发 等功能部件 逻辑图如下 第67页 usb主控制器及主控制器软件具有以下功能 状态控制 串并转换 形成帧 向主机发送数据传输请求和处理来自主机的数据请求 传输差错控制 协议引擎 支持所有usb的协议 第68页 2 hub的组成 一个hub包括两部分 见图 集线器中继器 管理连接的建立和拆除 集线器控制器 提供状态控制 允许主机对hub进行访问 第69页 拓扑层状星型 分布连接点 最多127个设备可达6层 每段最长5米 总线事务速率 12mbps总计1 5mbps子通道同步和异步主机控制总线活动 配置热插拔即插即用物理层两根线差分信号 nrzi编码 位填充支持电源 5v信号采用cmos电压3 3v4脚连接器 4线电缆 2 设备地址和端口号 usb系统不占用系统资源 即 不用考虑i o地址 irq及dma通道等问题 但usb系统给已连接的usb设备分配一个唯一的7位二进制数的逻辑地址 地址0分配给刚刚连接上的外设 作为设备配置用 其它地址 地址1 127分配给已经连
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智能仓储分拣技术在智慧城市中的应用研究报告
- 毛皮加工技术发展分析报告
- 数字艺术作品版权保护与版权保护行业规范与标准实施效果研究报告
- 食品包装膜采购合同
- 中医理疗科试题及答案
- 中医美容保健试题及答案
- 2025年城市垃圾填埋场封场治理项目风险评估与环境保护风险评估报告
- 2025年前仿制药一致性评价对药品企业品牌建设的策略报告
- 线下演出市场复苏对地方旅游产业影响分析报告
- 中医湿敷法试题及答案
- 《用Python实现垃圾邮件过滤的核心代码程序》
- GB/T 3452.2-1987O形橡胶密封圈外观质量检验标准
- GB/T 1690-1992硫化橡胶耐液体试验方法
- 沙盘游戏治疗(2017)课件
- 叉车隐患排查情况记录表
- he及roma用于卵巢癌全程管理省肿瘤雷旦生
- 小儿呼吸机相关知识详解课件
- 维护手册v00-地铁3号线贯通道系统
- 心力衰竭心脏再同步(CRT)治疗课件
- 人防地下室墙体后开洞整改施工方案(防办)
- 现金流量表的编制培训课程(共93张)课件
评论
0/150
提交评论