免费获取学习方案
ARTICLE DETAIL

资讯详情

深耕编程基础知识与建站技术分享的一线实战洞察。

USB(一): USB 概述介绍

USB(一): USB 概述介绍 USB Overview1.概述USB(Universal Serial Bus) 是连接计算机系统与外部设备的一种串口总线标准也是一种输入输出接口的技术规范可以用来支持通信和供电被广泛地应用于个人电脑和移动设备等信息通讯产品并扩展至摄影器材、数字电视机顶盒、游戏机等其它相关领域 也取代了很多原有的接口例如串口、并口.相比于其他外设连接, USB的优势如下:从使用者的角度来说:USB接口可以自动配置, 不需要使用者去设置usb设备的速度, 数据格式, 或者配置中断, 输入/输出地址, 直接访问内存的通道等等.USB设备的插头都是标准化的USB可以根据使用情况自动调节功耗, 在空闲的状态下做到节能.USB设备支持热插拔(插入新设备或者把设备从一个接口换到另一个接口, 不需要重启主机).USB接口可以支持小型USB设备的供电, 不需要额外的供电.因为使用USB logo需要经过承诺测试, 通过测试的设备不会进行一些使用者不知情的设置或配置, 可以放心使用.USB接口有能力修复一些常见问题, 让使用更加稳定可靠.安装USB设备做到了最大程度的方便易用. 当一个USB设备插入到一台运行的主机上, 有时可以自动匹配到合适的驱动并安装; 有时会弹出一些合适的驱动供用户选择, 选择之后的安装过程完全自动化, 不需要用户的操作.从制造商的角度来说USB的标准化让制造商免去了很多设计工作.USB接口的传输速度既能支持一些简单设备, 例如鼠标键盘, 也可以支持视频设备传输大量流媒体数据.USB接口可以被设计成实时反馈也可以在后台传输不占用系统资源.USB接口不会出现一条信号线只提供单一功能的情况.2.接口类型和发展历史USB1.x1996年第一次发布的USB1.0传输速率是1.5 Mbit/s。1998年进行了升级推出了USB1.1速度可以达到12 Mbit/s。USB2.02000年的时候USB进行了大升级推出了USB2.0速度可以达到480 Mbit/s被称作高速USB(named High Speed or High Bandwidth)。USB3.x2008年发布的USB3.0速度可以达到5.0 Gbit/s是USB2.0速度的10倍。2013年又发布了USB3.1速度可以达到10 Gbit/s。2017年发布的USB3.2速度达到了20 Gbit/s。USB4.02019年的USB4是目前最快的版本速度为 40 Gbit/s。由于连接的设备不同USB线的接口形状也不太相同。Type AType-A是标准USB接口其他接口只是它的衍生物一般连接pc端的都是type Aj接口。Type BType B接口是方形设计顶部带有斜角。主要是打印机和麦克风在用。还有一种mini版本的Type B叫做mini B很少见主要用在比较旧的手机上。Micro B是mini B的后续版本体型更轻薄可以用在更薄的设备上所以使用也更广泛。Type B 3.0比上面提到的Type B接口多了5个引脚支持USB3.0协议传输速度更快而且还能给设备供电。Type B micro 3.0也是支持USB3.0协议体型也薄在移动硬盘设备上比较常见。Type C上面的Type B设备目前都被2014发布的Type C逐渐取代这种接口没有上下、正反之分可以实现盲插。据统计平均每人每年在插USB上浪费的时间是30分钟第一次插总是插不进去的多次插拔到怀疑人生时最后发现还是第一次的才是对的后面的N次尝试不过是人生中的小小曲折有了type-C接口后终于可以一次搞定了。下图总结了我们提到的历史和不同类型的接口。3.物理拓扑结构主机和USB设备通过USB总线连接的, USB的物理连接是一个树状结构, 在集线器(Hub)上可以连接其他集线器或者设备, 如下图所示. 由于数据传输时间的限制, 树的最大层数是7层.这棵树主要包括USB连接, USB host controller和USB设备三部分, 其中USB设备包括hub和功能设备(也就是图中的func).USB连接USB连接指的是连接USB设备和主机或hub的四条电缆, 其中包括VBUS用于供电, GND接地, D和D-两条数据线提供差分信号.Host controllerHost controller是USB主控制器, 用于控制USB设备的通信. 计算机的CPU不会直接和USB设备打交道, 如果CPU需要USB设备做什么事, 它会告诉控制器, 然后不用管下面的事了, 由控制器去完成剩下的事情, 事情办完后再通知CPU.USB设备USB设备包括我们常见的键盘 鼠标 u盘等功能设备, 给系统提供特定的功能; 也包括hub, 用于连接功能设备或者下一级的hub形成树状结构. 在上图中的塔顶位置, USB控制器和一个特殊的hub绑定在一起, 这个hub被称作root hub, 一台主机上所有的USB设备都是由root hub这里延伸出去的.有两种特殊的设备: compound device 和 composite device如下图所示, compound device是将hub和连在hub上的设备封装在一起所组成的设备,它里面包含的hub 和各个设备都会有自己独立的地址; 而composite device是包含彼此独立的多个接口的设备(参考下面对接口的介绍), 一个composite device 里不管有多少接口, 它都只有一个地址.4.设备 配置 接口 端点 管道5.1 介绍在USB设备的逻辑组织中包含设备、配置、接口和端点4个层次。设备(device):一个设备里包含了不同级别的配置可以有一个或者多个配置。配置(configuration):USB接口被捆绑为配置。一个USB设备可以有多个配置而且可以在配置之间切换以改变设备的状态但一个时刻只能激活一个配置。接口(interface):USB接口代表一个基本功能, 只处理一种USB逻辑例如鼠标键盘或者音频流. 一些USB设备具有多个接口例如一个USB声卡有两个接口一个用来播放声音一个用来录音。每个USB接口都需要一个USB驱动程序控制因此以上述USB声卡为例需要两个不同的驱动程序来处理一个硬件设备。端点(endpoint):端点(endpoint)是USB通信的最基本的形式每个USB设备在主机看来就是一个端点的集合。主机只能通过USB端点只能往一个方向传送数据从主机到设备(称为输出端点out)或者从设备到主机(称为输入端点in). 需要注意的是每个USB设备都有一个名为“端点0”的控制端点, 用于初始化设备等功能, 只要设备连上USB接口, 端点0就能被访问. 端点1 2等用于数据端点, 存放主机设备间的数据.管道(pipe)主机和端点之间的数据通过管道传输, 一端是主机上的数据缓冲区, 另一端是设备上的端点.5.2 描述符USB协议定义了一套描述设备功能和属性的有固定结构的描述符用来描述上述的设备、配置、接口、端点等在文档USB传输协议 里有具体介绍。
返回列表