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. 以宽字符形式读整个文件的内容(wifstream的使用)

    // TestShlwAPI.cpp : 定义控制台应用程序的入口点.// #include "stdafx.h" #include <iostream>using s ...

  2. 字符串 - KMP模式匹配

    在朴素的模式匹配算法中,主串的pos值(i)是不断地回溯来完成的(见字符串的基本操作中的Index函数).而计算机的大仙们发现这种回溯其实可以是不需要的.既然i值不回溯,也就是不可以变小,那么考虑的变 ...

  3. java中你确定用对单例了吗?

    作为程序员这样的特殊物种来说,都掌握了一种特殊能力就是编程思想,逻辑比較慎重,可是有时候总会忽略到一些细节,比方我,一直以来总认为Singleton是设计模式里最简单的,不用太在意,然而就是由于这样的 ...

  4. C++ 设计模式 —— 訪问者(Visitor)

    訪问者设计模式的实现借助于两个继承体系, (1)elements:一个是被操作的类(基类及其子类) (2)visitors:一个定义了一系列操作的訪问者(基类及其子类) 訪问者模式是一种行为型设计模式 ...

  5. Java并发和多线程:序

      近期,和不少公司的"大牛"聊了聊,当中非常多是关于"并发和多线程"."系统架构"."分布式"等方面内容的.不少问题, ...

  6. Android IPC机制(三)在Android Studio中使用AIDL实现跨进程方法调用

    在上一篇文章Android IPC机制(二)用Messenger进行进程间通信中我们介绍了使用Messenger来进行进程间通信的方法.可是我们能发现Messenger是以串行的方式来处理client ...

  7. XML基础(一)

    一.简单介绍 1.概念 可扩展标记语言(EXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言.非常类似 HTML.       ...

  8. TextBoxes 与 TextBoxes ++

    TextBoxes 论文关键idea 本文和SegLink一样,也是在SSD的基础上进行改进的.相比SSD做了以下的改进: 修改了default box的apect ratio,分别为[1 2 3 5 ...

  9. CentOS安装Webmin

    解析:Webmin是目前功能最强大的基于Web的Unix系统管理工具.管理员通过浏览器访问Webmin的各种管理功能并完成相应的管理动作.目前 Webmin支持绝大多数的Unix系统,这些系统除了各种 ...

  10. Aurora 8B/10B、PCIe 2.0、SRIO 2.0三种协议比较

    在高性能雷达信号处理机研制中,高速串行总线正逐步取代并行总线.业界广泛使用的Xilinx公司Virtex-6系列FPGA支持多种高速串行通信协议,本文针对其中较为常用的Aurora 8B/10B和PC ...