USB接口分为USB A型、USB B型、USBmini型、USBmicro型、USB3.0其中每种都有相应的插座和插头。

图1

图2

上图是USBA型接口,图1为插座,图2为插头。插座指向下行方向,插头指向上行方向。

USB中一般常用有4根线,两边两根线一般为VBUS(5V的接入或接出线,对应上图中的1引脚)和GND(对应上图中的4引脚)。中间两根为D+(对应上图中的3引脚),D-(对应上图中的2引脚),还有外加一个屏蔽层。

图3

图4

USB B型所对应的各信号和USB A型一致。在各种开发板上比较喜欢用USB B型接口,占PCB面积较小。

图5

图6

图5是插座,图6是插头。和USB A和USB B不同的是,USB mini型接口多了一个引脚,那么这个引脚对应图中的4,此引脚作为ID,只有在OTG情况下才有用。关于OTG笔者搜索了一下资料,现整理如下:

USB OTG是USB On-The-Go的缩写,是近年发展起来的技术,2001年12月18日由USB Implementers Forum公布,主要应用于各种不同的设备或移动设备间的联接,进行数据交换。特别是PAD、移动电话、消费类设备。

由上面的介绍可以得到一个结论,此技术就是实现不同设备之间的连接,并进行数据交换,由于USB设备分为主(Host)和从(Slave),只有当一个主设备和从设备连接时才能实现数据传输。而OTG技术也是遵从主从关系,只不过主可能不是PC机,可以是任意其他的设备,然后对于ID引脚,作为主设备,可以将其接地,作为从设备一端的4引脚悬空,这样就可以区分开谁是主和从的关系。

图7

图8

上图是USB micro的插座和插头,最常见的例子就是我们的手机数据线,插入手机一端就是USB micro接口。上图中micro-AB是可以插入USB micro A型插头或USB micro B型插头。

图9

图10

USB3.0 A型接口。 上图是USB3.0的靓照,感觉看一个数据线是不是USB3.0的接口,估计最明显的标注就是在插头上会有SS标志。USB2.0最大速度也就是高速情况下可以达到480Mbps(60MB/s)半双工,而USB3.0高速情况下可以达到5.0Gbps(500MB/s)全双工,注意这里不是5Gb/s除以8得到的640MB/s,而是除以10bit,采用与SATA相同的10bit传输模式,编码规则采用8/10的方法,存在2bit的控制信号,所以USB3.0的理论数据传输速率是5Gbps/10bitt=500MB/s。

图11

USB3.0接口和USB2.0接口有很大的不同。USB3.0接口有9根线,前4根线和普通的USB线一样,后5根线是为超高速做准备。其中超高速输入引脚5脚为SSRX-,6脚SSRX+,超高速输出引脚8脚SSTX-,9脚SSTX+,7脚为GND引脚,还包括屏蔽层。

USB3.0在高速情况下之所以比USB2.0快,是因为额外增加两对传输线,如图11所示。

USB3.0能够实现较好的电源管理,USB3.0接口供电能力为1A,USB2.0为0.5A。实现USB充电电池,LED照明和mini风扇提供更多的功率。这意味着通过USB3.0来充电可以更快完成充电。能够使主机更快地识别器件,处理数据效率更高。

转换到USB 3.0,功耗也是要考虑的很重要的一个问题,因此有效的电源管理就很必要,可以保证设备的空闲的时候减少电力消耗。

大量的数据流传输需要更快的性能支持,同时传输的时候,空闲时设备可以转入到低功耗状态。甚至可以空下来去接收其他的指令,完成其他动作。其实,在USB 3.0中也并不是所有的东西都更新换代了,比如线缆的长度。当在某些应用中需要尽可能高的吞吐量的时候,往往线缆依旧会成为瓶颈。虽然在USB 3.0规范中,没有明确指定USB线缆有多长,但是电缆材质和信号质量还是影响了传输的效果。因此在传输数百兆大数据流的时候,线缆长度最好不要超过3米。

虽然USB 2.0 Hi-Speed的数据传输速率是480Mpbs,也就是理想状况下应该为60MB/s,但是在Windows based操作系统下,由于default driver的限制,实际的效能大约为30MB/s~35MB/s,与60MB/s有一大段距离。

图12

图12是USB2.0和USB3.0的主要区别。

图13

上图是USB3.0 B型接口,可以兼容USB2.0和USB3.0接口,买过移动硬盘的朋友应该见过这种接口。

USB2.0学习笔记连载(二):USB基础知识简介的更多相关文章

  1. USB2.0学习笔记连载(三):通用USB驱动程序解析

    对于USB驱动的开发,读者可以使用Windows DDK.DriverStudio等多种开发工具来实现USB的驱动,但是驱动程序的开发过程都比较复杂,而且很容易致使USB主机内存泄露而死机.那么对于笔 ...

  2. USB2.0学习笔记连载(十四):USB驱动安装及固件程序的编写

    在之前的博客中已经讲过,驱动程序最核心的两个文件,一个是xxx.sys文件,一个是xxx.inf文件,主机是寻找xxx.inf文件. 在下面的文件中有相关关于USB驱动的说明.对于用户来说,xxx.s ...

  3. USB2.0学习笔记连载(一):CY7C68013特性简介

    上一篇博客已经给出了整个视频板卡架构,那么对于USB接口部分需要着重理解和学习. 对于目前来说,若是利用FPGA去模拟USB2.0内核,难度还是挺大的,整个状态的收发都不好控制.现在目前都在使用桥接芯 ...

  4. USB2.0学习笔记连载(十九):EZ-USB TRM手册重要部分介绍

        TRM手册中给出了所有的寄存器配置,在 slave fifo模式或者 GPIF模式等,所以对于用到的各种寄存器配置需要查看此手册,当然还可以配合着应用手册<AN61345>.   ...

  5. USB2.0学习笔记连载(十七):keil实现寄存器的配置及相关函数讲解(一)

    首先要实现对寄存器的配置,可以参考手册<Development kit  User Guide>,如下图所示: 此文件包含在 文件中.上述的应用文档详细介绍了如何利用KEIL实现对固件程序 ...

  6. USB2.0学习笔记连载(六):USB2.0硬件设计需要注意事项

    笔者在设计USB2.0时找到了一个官方给的硬件设计正确设计指南,其中有些内容还挺nice的.不单单只是USB的设计,其中有些思想可以应用到其他的场合中. 对于USB2.0而言,全速状态下可以达到480 ...

  7. USB2.0学习笔记连载(十八):keil实现寄存器的配置及相关函数讲解(二)

    其实之前也有提及过,Cypress公司提供的官方文件和应用手册真的可以解决很多问题.做的也很人性化,操作也及其简单,几乎只要在 TD_int()里面配置一些常用的参数即可,其他都可以不用操作. 作为一 ...

  8. USB2.0学习笔记连载(九):USB设备驱动的安装

    在第一次插入USB设备时(笔者用的是自己做的USB最小系统来测试),插入电脑后,在设备管理器中会显示 未知设备,如下图所示: 点击右键,选择属性,在详细信息中可以看到硬件ID以及PID等,如下图所示. ...

  9. USB2.0学习笔记连载(五):EZ-USB重要寄存器的配置

    本篇博客主要讲解EZ-USB一些重要寄存器的配置,首先对于本篇博客所讲的内容,读者应该到官网上去下载相关的手册,其中包括<EZ-USB Technical Reference Manual> ...

随机推荐

  1. C 标准IO 库函数与Unbuffered IO函数

    先来看看C标准I/O库函数是如何用系统调用实现的. fopen(3) 调用open(2)打开指定的文件,返回一个文件描述符(就是一个int 类型的编号),分配一 个FILE 结构体, 通常里面包含了: ...

  2. ie11 下 input 默认有 X 关闭按钮的问题

    &::-ms-clear, ::-ms-reveal{display: none;}

  3. python标准库介绍——27 random 模块详解

    ==random 模块== "Anyone who considers arithmetical methods of producing random digits is, of cour ...

  4. Latex学习——长竖线及长括号

    Latex学习——长竖线及长括号   文章修改中要求把花括号和竖线变长,查了下发现下面的几种方法: 1.花括号“{ }”变长: \$         \left\{... content...... ...

  5. Xilinx全局时钟

    前言 Xilinx系列.ISE环境中,设计复杂工程时全局时钟系统的设计显得尤为重要. 一.时钟网络与全局缓冲 在XilinxFPGA中,时钟网络分为两类:全局时钟网络和I/O区域时钟网络.以全铜工艺实 ...

  6. INFINITY的一个坑

    float a=INFINITY; if(a==INFINITY){ cout<<"a is inf"<<endl; }else{ cout<< ...

  7. Android Hawk数据库 github开源项目

    Android Hawk数据库 github开源项目 Hawk 是一个很便捷的数据库  . 操作数据库仅仅需一行代码 , 能存不论什么数据类型 . github 地址: https://github. ...

  8. PCIe调试心得_DMA part2

    作者:East  FPGA那点事儿 上一章讲述了PCIe总线DMA的原理和XAPP1052存在的问题. 本章以服务器常用的4通道1000M以太网卡为例讲述如何提高DMA的效率. 1.内存重分配Wind ...

  9. [k8s]prometheus+alertmanager二进制安装实现简单邮件告警

    本次任务是用alertmanaer发一个报警邮件 本次环境采用二进制普罗组件 本次准备监控一个节点的内存,当使用率大于2%时候(测试),发邮件报警. k8s集群使用普罗官方文档 环境准备 下载二进制h ...

  10. 【Android】16.5 Android内置的系统服务

    分类:C#.Android.VS2015: 创建日期:2016-03-01 一.简介 实际上,在Android.Content.Context类中,Android已经提供了多种类型的系统服务,这些服务 ...