![]() | |||
類別 | 匯流排 | ||
---|---|---|---|
產品歷史 | |||
設計者 | Compaq, DEC, IBM, Intel, Microsoft, NEC and Nortel | ||
設計时间 | 1994 | ||
製造商 | Intel, Compaq, Microsoft, NEC, Digital Equipment Corporation, IBM, Nortel | ||
前身 | 串行接口, 并行接口, 游戏端口, Apple Desktop Bus, PS/2接口 | ||
一般规格 | |||
長度 | 5公尺(最大) | ||
宽度 | 11.5毫米(A型連接器),8.45毫米(B型連接器) | ||
高度 | 4.5毫米(A型連接器),7.78毫米(B型連接器,pre-v3.0) | ||
热插拔 | 支援 | ||
外接 | 支援 | ||
纜線 | 4條纜線,而USB 3.0擁有9條纜線 | ||
引脚 | 4個(1个供电,2个数据,1个接地);USB 3.0擁有9個(另外4個提供給SuperSpeed技術);USB 3.1 Type C擁有24個 | ||
连接器 | 唯一 | ||
电力 | |||
信号 | 5伏特直流電 | ||
最大電壓 | 5 V(±5%) | ||
最大電流 | 500mA–5A @ 5V(根據不同版本) | ||
数据 | |||
数据信号 | Packet data, defined by specifications | ||
宽度 | 1 bit | ||
比特率 | 1.5/12/480/5,000/10,000 Mbit/s(根據不同版本) | ||
最多设备数 | 127 | ||
协议 | 串列 | ||
引脚输出 | |||
![]() | |||
標準USB A型連接器(左)及B型連接器(右) | |||
引脚1 | VCC(+5V) | ||
引脚2 | Data- | ||
引脚3 | Data+ | ||
引脚4 | 接地 |
通用串行总线(英語:Universal Serial Bus,縮寫:USB)是连接计算机系统与外部设备的一种串口总线标准,也是一种输入输出接口的技术规范,被广泛地应用于个人电脑和移动设备等信息通讯产品,并扩展至摄影器材、数字电视(机顶盒)、游戏机等其它相关领域。
多媒體電腦剛問世時,外接式裝置的傳輸介面各不相同,如印表機只能接LPT port、數據機只能接RS232、滑鼠鍵盤只能接PS/2等。繁雜的介面系統,加上必須安裝驅動程式並重新開機才能使用的限制,都會造成使用者的困擾。因此,創造出一個統一且支援易插拔的外接式傳輸介面,便成為無可避免的趨勢。
最新一代是USB 3.2,傳輸速度為20Gbit/s,三段式電壓5V/12V/20V,最大供電100W,另外除了舊有的 Type-A、B接口之外,新型USB Type-C接頭不再分正反。[2]
USB最初是由英特尔与微软倡導發起,其最大的特点是支持热插拔和即插即用。当设备插入时,主机枚举到此设备并加载所需的驱动程序,因此在使用上远比PCI和ISA总线方便。
USB在速度上远比并行端口(例如EPP、LPT)與串行接口(例如RS-232)等傳統電腦用標準匯流排快上許多。USB 1.1的最大傳輸速率為12Mbps,USB 2.0為480Mbps,USB 3.0(USB 3.1 Gen1) 為 5Gbps,USB 3.1(USB 3.1 Gen2) 為 10Gbps。
USB的设计为非对称式的,它由一个主机控制器和若干通过集线器设备以树形连接的设备组成。一个控制器下最多可以有5级Hub,包括Hub在内,最多可以連接128個設備,因為在設計時是使用7位元定址欄位,二的七次方就等於128,一般人說USB連接127個是指連接(某一設備)時需扣除一個連接主機的USB接頭,而一台计算机可以同时有多个控制器。和SPI-SCSI等标准不同,USB集线器不需要终结器。
USB可以连接的外设有鼠标、键盘、游戏手柄、游戏杆、扫描仪、数码相机、打印机、硬盘和网络部件。对数码相机这样的多媒体外设USB已经是缺省接口;由于大大简化与计算机的连接,USB也逐步取代并行接口成为打印机的主流连接方式。2004年已经有超过1亿台USB设备;到2007年時,高清晰度数字视频外设是仅有的USB未能染指的外设类别,因为他需要更高的传输速率。
现USB标准中,分为:
主条目:USB On-The-Go |
USB实装论坛负责USB标准制订,其成员包括:苹果电脑、惠普、NEC、微软和英特尔。
2001年底,USB-IF公布USB 2.0规范,与之前的USB 0.9、USB 1.0和USB 1.1一样,该规范完全向下兼容。随后,USB-IF公布USB On-The-Go(USB OTG,当前版本:1.0a)作为USB 2.0规范的补充标准,使其能够用于在便携设备之间直接交换数据。
USB的连接器分为A、B两种,分别用于主机和设备;其各自的小型化的连接器是Mini-A和Mini-B,另外还有Mini-AB(可同時支援Mini-A及Mini-B)的插口。
目前USB支持5种数据信号速率,USB设备应该在其外壳或者有时是自身上正确标明其使用的速率。USB-IF进行设备认证并为通过兼容测试并支付许可费用的设备提供基本速率(低速和全速)和高速的特殊商标许可。
USB信号使用分别标记为D+和D- 的双绞线传输,它们各自使用半双工的差分信号并协同工作,以抵消长导线的电磁干扰。
触点 | 功能(主机) | 功能(设备) |
---|---|---|
1 | VBUS(4.75-5.25 V) | VBUS(4.4-5.25 V) |
2 | D- | D- |
3 | D+ | D+ |
4 | 接地 | 接地 |
Mini USB除了第4针外,其他接口功能皆與标准USB相同。第4针成为ID,地线在mini-A上连接到第5针,在mini-B可以悬空亦可连接到第5针。
触点 | 功能 | 顏色 |
---|---|---|
1 | VBUS(4.4–5.25 V) | 紅 |
2 | D− | 白 |
3 | D+ | 綠 |
4 | ID | |
5 | 接地 | 黑 |
2007年1月4日,USB实装论坛颁布Micro-USB的插头标准[3]。该标准将在许多新型智能手机和PDA上替代Mini-USB。Micro-USB插头的插拔寿命为10,000次,比Mini-USB插头高度减半,宽度相差无几。OMTP组织最近宣布,Micro-USB将成为移动设备数据和电源的标准接口[4]。
2009年2月17日,全球行動通訊聯盟協會宣佈在2012年前將使用Micro-USB作為全球統一的標準充電器規格。首批簽署協議的廠商包括:諾基亞、樂金、摩托羅拉、三星、索尼移動、美國電話電報公司、法國電信、西班牙電信、T-Mobile與沃达丰。
USB使用NRZI编码方式:当数据为0时,电平翻转;数据为1时,电平不翻转。为了防止出现过长时间电平不变化现象,在发送数据时采用位填充处理。具体过程如下:当遇见连续6个高电平时,就强制插入一个0。经过位填充后的数据由串行接口引擎(SIE)将数据串行化和NRZI编码后,发送到USB的差分数据线上。接收端完成的过程和发送端刚好相反。
一个USB主机通过hub链可以连接多个设备。由于理论上一个物理设备可以承担多种功能,例如路由器同时也可以是一个SD卡读卡器,USB的术语中设备(device)指的是功能(functions)。集线器(hub)由于作用特殊,按照正式的观点并不认为是function。直接连接到主机的hub是根(root)hub。
设备/功能(和集线器)与管道pipe(逻辑通道)联系在一起,管道把主机控制器和被称为端点endpoint的逻辑实体连接起来。管道和比特流(例如UNIX的pipeline)有着相同的含义,而在USB词汇中术语端点经常和管道混用,甚至在正式文档中。
端点(和各自的管道)在每个方向上按照0-15编号,因此一个设备/功能最多有32个活动管道,16个进,16个出。(出(OUT)指离开控制器,而入(IN)指进入主机控制器。)两个方向的端点0总是留给总线管理,占用了32个端点中的2个。在管道中,数据使用不同长度的包传递,端点可以传递的包长度上限一般是字节,所以USB包经常包含的数据量依次有8、16、32、64、128、256、512或者1024字节。
一个端点只能单向(进/出)传输数据,自然管道也是单向的。每个USB设备至少有两个端点/管道:它们分别是进出方向的,编号为0,用于控制总线上的设备。按照各自的传输类型,管道被分为4类:
一旦设备(功能)通过总线的hub附加到主机控制器,主机控制器就给它分配一个主机上唯一的7位地址。主机控制器通过投票分配流量,一般是通过轮询模式,因此没有明确向主机控制器请求之前,设备不能传输数据。
为了访问端点,必须获得一个分层的配置。连接到主机的设备有且仅有一个设备描述符(device descriptor),而设备描述符有若干配置描述符(configuration descriptors)。这些配置一般与状态相对应,例如活跃和节能模式。每个配置描述符有若干接口描述符(interface setting),用于描述设备的一定方面,所以可以被用于不同的用途:如一个相机可能拥有视频和音频两个接口。接口描述符有一个缺省接口设置(default interface setting)和可能多个替代接口设置(alternate interface settings),它们都拥有如上所述的端点描述符。一个端点能够在多个接口和替代接口设置之间复用。
包含主机控制器和HUB的硬件为程序员提供了由硬件实现定义的接口主机控制器设备(HCD)。而实际上它在计算机上就是端口和内存映射。
1.0和1.1的标准有两个竞争的HCD实现。康柏的开放主机控制器接口(OHCI)和Intel的通用主机控制器接口(UHCI)。VIA威盛采纳了UHCI;其他主要的芯片组多使用OHCI。它们的主要区别是UHCI更加依赖软件驱动,因此对CPU要求更高,但是自身的硬件会更廉价。它们的并存导致操作系统开发和硬件厂商都必须在两个方案上开发和测试,从而导致费用上升。因此USB-IF在USB 2.0的设计阶段坚持只能有一个实现规范,这就是扩展主机控制器接口(EHCI)。因为EHCI只支持高速传输,所以EHCI控制器包括四个虚拟的全速或者慢速控制器。这里同样是Intel和Via使用虚拟UHCI,其他一般使用OHCI控制器。
某些版本的Windows上,打开设备管理器,如果设备说明中是否有“增强”("Enhanced"),就能够确认它是2.0版的。而在Linux系统中,命令lspci能够列出所有的PCI设备,而USB会分别命名为OHCI、UHCI或者EHCI,列出为32位地址的为EHCI,16位的为OHCI。命令lsusb能够显示所有USB设备的信息。命令dmesg能够显示OS启动时关于USB设备的信息。
USB的封包格式和早期的互联网封包格式非常相似,要了解USB連接原理就一定要先了解封包格式。
偏移量 | 类型 | 大小 | 值 |
---|---|---|---|
0 | HeaderChksum | 1 | 利用添加包头进行效验,不包括包头本身的校验。 |
1 | HeaderSize | 1 | 包头的大小,包括可用的字串。 |
2 | Signature | 2 | 数据值为0x1234 |
4 | VendorID | 2 | USB提供商的ID |
6 | ProductID | 2 | USB产品ID |
8 | ProductVersion | 1 | 产品版本号 |
9 | FirmwareVersion | 1 | 固件版本号 |
10 | USB属性 | 1 | USB Attribute: Bit 0:如果设为1,包头包括以下三个字串:语言、制造商、产品字串;如果设为0,包头不包括任何字串。 |
11 | 最大电力 | 1 | 设备需要的最大电力,以2mA(毫安培)为单位。 |
12 | 设备属性 | 1 | Device Attributes: Bit 0:如果设为1,CPU运行在24 MHz;如果设为0,CPU运行在12 MHz。 |
13 | WPageSize | 1 | I2C的最大写入页面大小 |
14 | 数据类型 | 1 | 该数值定义设备是软件EEPROM还是硬件EEPROM。0x02:硬件EEPROM 其它数值无效。 |
15 | RpageSize | 1 | I2C最大读取页面大小。如果值为0,整个负载大小由一个I2C读取装置读取。 |
16 | PayLoadSize | 2 | 如果将EEPROM作为软件EEPROM使用,表示软件的大小;除此之外该值都是0。 |
0xxx | Language string | 4 | 语言字串。以标准USB字串格式表示。(非必要欄位) |
0xxx | Manufacture string | ... | 制造商字串。以标准USB字串格式表示。(非必要欄位) |
0xxx | Product string | ... | 产品字串,以标准USB字串格式表示。(非必要欄位) |
0xxx | Application Code | ... | 表示应用代码。以标准USB字串格式表示。(非必要欄位) |
依附在总线上的设备可以是需要特定的驱动程序的完全定制的设备,也可能属于某个设备类别。这些类别定义了某种设备的行为和接口描述符,这样一个驱动程序可能用于所有此种类别的设备。一般操作系统都为支持这些设备类别,为其提供通用驱动程序。
设备分类由USB设计论坛设备工作组决定,并分配ID。
如果一个设备类型属于整个设备,该设备的描述符的bDeviceClass域保存类别ID;如果它这是设备的一个接口,其ID保存在接口描述符的bInterfaceClass域。他们都占用一个字节,所以最多有253种设备类别。(0x00和0xFF保留)。当bDeviceClass设为0x00,操作系统会检查每个接口的bInterfaceClass以确定其类别。
每种类别可选支持子类别(SubClass)和协议子定义(Protocol subdefinition)。这样可以用于主设备类型的不断修订。
常用设备类别和ID有:
ID | 裝置 | 例子 |
---|---|---|
0x00 [5] | 保留值 | 無 |
0x01 [5] | 音效裝置 | 音效卡 |
0x02 | USB通訊控制裝置 | 網卡、數據機、串列埠 |
0x03 [5] | 人機介面裝置(HID) | 鍵盤、滑鼠 |
0x05 | 物理介面裝置 | 控制杆 |
0x06 [5] | 靜止圖像捕捉設備 | 影像掃描器、Picture Transfer Protocol |
0x07 [5] | 列印裝置 | 打印機 |
0x08 [5] | 大容量存取裝置 | U盘、移動硬碟、記憶卡讀卡機、數碼相機 |
0x09 [5] | 集線器 | 集線器 |
0x0A [5] | 通信裝置 | 數據機、網絡配置卡、ISDN、傳真 |
0x0B | 智慧卡裝置 | 讀卡器 |
0x0E [5] | 影像裝置 | 網路攝影機 |
0xE0 [5] | 無線傳輸裝置 | 藍牙 |
0xFE | 特殊的應用 | 紅外線資料橋接器 |
0xFF [5] | 定製裝置 |
接头是由USB协会所指定,接头的设计一方面为了支持众多USB的基本需求,另一方面也避免以往许多类似串行接头所出现的问题。
USB接頭提供一組5伏特的電壓,可作為相連接USB設備的電源。實際上,設備接收到的電源可能會低於5V,只略高於4V。USB規範要求在任何情形下,電壓均不能超過5.25V;在最極端情形下(經由USB供電HUB所連接的LOW POWER設備)電壓均不能低於4.75V,一般情形電壓會接近5V。
一個USB的HUB最多只能提供500 mA的電流。如此的電流已足以驅動許多電子設備,不過連接在總線供電HUB的所有設備,需要共享500mA的電流額度。一個由總線供電的設備可以使用到它所連接埠上允許輸出的所有電源。
新的規範,USB-IF規範1.1版定義USB埠最高供電可達到1.5A/1500mA,而最新的1.2版規範更是修正為最大5A/5000mA的供電,但是總和也不得超過5A。
總線供電的HUB可以將電源供給連接在HUB上的所有設備,不過USB的規範只允許總線供電的HUB下游串接一層總線供電的設備,因此,總線供電的HUB下游不允許再串接另一個由總線供電的HUB。許多HUB有外加電源,因此可以提供電源給下游的設備,不會消耗總線上的電源。若設備需要的電壓超過5V,都需要使用外加電源。
相對於之前其他溝通介面僅能傳遞訊息資料,高電壓USB插槽本身還能提供5V(伏特)的主動電壓,及0.5A(安培)的電流,因此對於一些小型設備而言,可以不必再外接電源供應裝置,就能利用來自USB插槽的電力順利運作。利用這特點,也有廠商開發出適當的排線,將USB拿來當作供電插座般使用,例如作為行動電話的充電器,或是提供小型桌燈及電風扇等的電力需要,反而與原本用來連接電腦用的主要用途無關。
USB使用USB大容量存储设备标准实现Storage设备的连接。它最初被用于传统的磁盘和光盘驱动,但是现在已经扩展到支持大量不同的设备。USB不能用于计算机内部存储设备的基本总线:像ATA(IDE)、SATA和SCSI。
然而,USB有一个非常重要的优点,那就是它能够在不关闭電腦主機電源的情况下动态的安装和删除USB设备,这使它成为一个有用的外部设备。今天,大量的生产商提供便携式USB移动硬盘或者一个空的,能够兼容内部驱动的盒子。这些内部驱动通常提供一个转换驱动接口,用以转换IDE, ATA, SATA, ATAPI,或者SCSI到USB port。对于用户来讲,就像连接了一个内部的驱动。其他的竞争标准是eSATA以及Firewire。
在市面也可以找到USB 3.0 Dongle[7]此類小型可插拔式的行動裝置,尺寸如同隨身碟一樣迷你,有廠商推出USB介面的Wi-Fi/藍芽無線Dongle,只要將此Dongle插入液晶電視上,即可透過無線連接方式,將使用者手機、平板、筆電中的影片、照片分享到液晶電視上觀看,市面上已有廠商將Android作業系統直接寫入Dongle,成為多功能電視棒的產品。
相关存储产品包括:主机板、磁碟阵列卡、硬碟外接盒、磁碟阵列系统,、NAS网路储存设备、硬碟外接座等等。
USB没有完全取代AT键盘接口和PS/2键盘鼠标接口,但是事实上所有主板制造商都提供至少一个USB接口。到2004年,大多数新主板都配有多个高速USB 2.0接口,尽管有些是内置在主板上的,需要使用电缆连接到位于主机前面板或者侧面的接口。同样的对游戏操纵杆,手柄,写字板和其他人机接口设备的支持逐渐从原声卡上的“MIDI/游戏”接口和PS/2接口上转移到USB上。现在带着USB转PS/2接口转换插头的USB键盘鼠标相当普遍,他们可以使用任意2种接口之一。如今几乎没有厂商再提供多于一个的PS/2接口,但至少会提供一个混合键盘与鼠标的PS/2接口。
使用专用键盘鼠标接口的苹果电脑1999年1月也开始使用USB接口。最初iPod只有IEEE1394接口,後來在第三代的iPod,蘋果電腦開始支持USB2.0连接,但是還不能用作充電,現在的iPod,已經全面兼容USB,抛弃IEEE1394接口,只用USB接口充電以及連接電腦主機。
主条目:USB 3.0 |
USB 3.0于2008年11月发布,速度由480Mbps大幅提升到5Gbps。USB 3.0插座通常是藍色的,並向下兼容USB 2.0。
主条目:USB 3.1 |
USB3.0推廣小組於2013年7月31日宣佈USB 3.1規格[8],傳輸速度提升為10Gb/s,比USB3.0的5Gb/s快上一倍,並向下兼容USB 2.0/1.0,如果要得到10Gb/s的傳輸速度仍需在主機、目標端同時具備對應的晶片才能達成,電力供應可高達100瓦。[9]
主条目:USB 3.2 |
USB 3.2的主要技術要點:
1,在現有的USB Type-C數據線上實現雙通道
2,繼續使用現有的超高速USB物理傳輸率和技術
3,一些小的規範更新,確保單雙通道無縫切換。
速度方面,使用USB 3.2主機連接USB 3.2儲存設備,可以實現兩條通道10Gb / s的傳輸速度,也就是超過2GB /秒。
據悉,USB 3.2因為要求集成USB 2.0和USB 3.1主控,所以完全向下兼容。 另外,從USB 3.2開始,Type-C將成為唯一推薦的接口方案。
主条目:USB On-The-Go |
USB On-The-Go是USB2.0規格的補充標準。它可使USB裝置,例如播放器或手機,從USB周邊裝置變為USB主機,與其他USB裝置連線通訊。
PictBridge标准可以使得消费者使用的图形设备彼此互通(例如数码相机直接通过打印机输出)。一般它使用USB做为其底层通信协议。
微软的Xbox游戏主机和IBM的UltraPort均使用自身独有的专用接口,有别于标准的USB;不同的是,前者(Xbox)使用的是标准的USB 1.1信号格式,后者则使用标准的USB信号格式,而供电能力也更强。
开源项目USB/IP实现了USB数据包的网络传送,逻辑上将USB数据线无限延长。同时配合无线路由器等手段,可以实现无线USB传输。
主条目:無線通用序列匯流排 |
![]() |
维基共享资源上的相关多媒体资源:USB |
![]() |
維基教科書中的相關電子教程:USB connectors |
|
|
|
|