USB接口介紹(下)
USB 封包格式
USB 的封包格式和早期的internet封包格式非常相似,要了解USB連接原理就一定要先了解封包格式。
本文引用地址:http://m.butianyuan.cn/article/201612/329069.htmOFFSET | TYPE | SIZE | VALUE |
---|---|---|---|
0 | HeaderChksum | 1 | Checksum of the header by adding the header bytes, excluding the header checksum. |
1 | HeaderSize | 1 | Size of the header, including strings if applicable. |
2 | Signature | 2 | Signature: 0x1234 |
4 | VendorID | 2 | USB Vendor ID |
6 | ProductID | 2 | USB Product ID |
8 | ProductVersion | 1 | Product version |
9 | FirmwareVersion | 1 | Firmware version |
10 | UsbAttributes | 1 | USB attributes: Bit 0: If set to 1, the header includes all three strings: language, manufacture, and product strings; if set to 0, the header does not include any strings. |
11 | MaxPower | 1 | Maximum power the device needs in units of 2 mA. |
12 | Attribute | 1 | Device attributes: Bit 0: If set to 1, the CPU speed runs at 24 MHz; if set to 0, the CPU speed runs at 12 MHz. |
13 | WPageSize | 1 | Maximum I2C write page size |
14 | DataType | 1 | This value defines if the device is application EEPROM or device EEPROM. 0x01: Application EEPROM |
15 | RpageSize | 1 | Maximum I2C read page size. If the value is zero, the whole PayLoadSize is read in one I2C read setup. |
16 | PayLoadSize | 2 | Size of the application, if using EEPROM as an application EEPROM; otherwise the value is 0. |
0xxx | Language string | 4 | Language string in standard USB string format if applicable. |
0xxx | Manufacture string | ... | Manufacture string in standard USB string format if applicable. |
0xxx | Product string | ... | Product string in standard USB string format if applicable. |
0xxx | Application Code | ... | Application code if applicable. |
設備分類
依附在總線上的設備可以是需要特定的驅(qū)動程序的完全定制的設備,也可能屬于某個設備類別。這些類別定義了某種設備的行為和接口描述符,這樣一個驅(qū)動程序可能用于所有此種類別的設備。一般操作系統(tǒng)都為支持這些設備類別,為其提供通用驅(qū)動程序。
設備分類由USB設計論壇設備工作組決定,并分配ID。
如果一個設備類型屬于整個設備,該設備的描述府bDeviceClass的域保存類別ID;如果它這是設備的一個界面,其ID保存在界面描述府的;bInterfaceClass域。他們都占用一個字節(jié),所以最多有253種設備類別。(0x00和0xFF保留)。當bDeviceClass設為0x00,操作系統(tǒng)會檢查每個接口的bInterfaceClass以確定其類別。
每種類別可選支持子類別(SubClass)和協(xié)議子定義(Protocol subdefinition)。這樣可以用于主設備類型的不斷修訂。
常用設備類別和ID有:
- 0x00
- 保留值
- 0x01
- USB音頻設備, 像聲卡這樣的設備。
- 0x03
- 人機接口設備, 鍵盤鼠標等
- 0x06
- 靜止圖像捕捉設備,用在USB上的Picture Transfer Protocol。
- 0x07
- USB打印設備, 打印機。
- 0x08
- USB大容量存儲設備keydrive, 可移動硬盤,MMC卡、SD卡、CF卡讀卡器, 數(shù)碼相機,數(shù)字音頻播放器等。 這一類設備顯示成一個文件系統(tǒng)。
- 0x09
- USB hubs。
- 0x0A
- USB通信設備("CDC") used for調(diào)制解調(diào)器(包括軟件調(diào)制解調(diào)器),網(wǎng)卡(交叉電纜),ISDN,傳真。
- 0x0E
- USB視頻設備, 類似攝像頭,電視卡的動態(tài)圖像捕捉設備。
- 0xE0
- 無線控制器,如藍牙dongles。
- 0xFF
- 定制設備。
USB接頭
接頭是由USB協(xié)會所指定,接頭的設計一方面為了支持眾多USB的基本需求,另一方面也避免以往許多類似串行接頭所出現(xiàn)的問題。
- 接頭設計的相當耐用。
- 不可能把USB接口插錯。
- 接頭能相對便宜地大量生產(chǎn)。
- 在USB網(wǎng)絡中,接頭被強制使用定向拓撲。USB不支持環(huán)形網(wǎng)絡,因此不兼容的USB設備之間接口也不兼容。不像其他通訊系統(tǒng)(如RJ-45電纜)不能使用轉(zhuǎn)換插頭,防止環(huán)形USB網(wǎng)絡產(chǎn)生。
- 適度的插拔力。
- 由于接頭的構(gòu)造,在將USB插頭插入USB座時,插頭外面的金屬保護套會先接觸到USB座內(nèi)對應的金屬部份,之后插頭內(nèi)部的四個觸點才會接觸到USB座。金屬保護套會連接到系統(tǒng)的地點,提供路徑使靜電可以放電,避免因靜電通過電子零件而造成損壞。
電源
USB 接頭提供一組5伏特的電壓,可作為相連接USB設備的電源。實際上,設備接收到的電源可能會低于5V,只略高于4V。USB規(guī)范要求在任何情形下,電壓均不能超過5.25V;在最壞情形下(經(jīng)由USB供電HUB所連接的LOW POWER設備)電壓均不能低于4.375V,一般情形電壓會接近5V。
一個 USB 的根集線器最多只能提供 500mA的電流。如此的電流已足以驅(qū)動許多電子設備,不過連接在總線供電HUB的所有設備,需要共享 500mA 的電流額度。一個由總線供電的設備可以使用到它所連接埠上允許輸出的所有電源。
總線供電的HUB可以將電源供給連接在 HUB 上的所有設備,不過 USB 的規(guī)范只允許總線供電的 HUB 下游串接一層總線供電的設備,因此,總線供電的 HUB 下游不允許再串接另一個由總線供電的 HUB。許多 HUB 有外加電源,因此可以提供電源給下游的設備,不會消耗總線上的電源。若設備需要的電壓超過5V,或是需要電流超過500mA,都需要使用外加電源。
相對于之前其他溝通介面僅能傳遞訊息資料,高電壓USB插槽本身還能提供5V(伏特)的主動電壓,及0.5A(安培)的電流,因此對于一些小型設備而言,可以不必再外接電源供應裝置,就能利用來自USB插槽的電力順利運作。利用這特點,也有廠商開發(fā)出適當?shù)呐啪€,將USB拿來當作供電插座般使用,例如作為移動電話的充電器,或是提供小型電燈的電力需要,反而與原本用來連接電腦用的主要用途無關。
同類標準比較
Storage
USB 使用USB mass storage device class標準實現(xiàn)Storage設備的連接.它最初被用于傳統(tǒng)的磁盤和光盤驅(qū)動,但是現(xiàn)在已經(jīng)擴展到支持大量不同的設備.USB不能用于計算機內(nèi)部存儲設備的基本總線: 像ATA(IDE), Serial ATA (SATA), 和SCSI.
然而, USB有一個非常重要的優(yōu)點,那就是它能夠在不關閉計算機的情況下動態(tài)的安裝和刪除USB設備,這使它成為一個有用的外部設備.今天,大量的生產(chǎn)商提供便攜式USB移動硬盤或者一個空的,能夠兼容內(nèi)部驅(qū)動的盒子.這些內(nèi)部驅(qū)動通常提供一個轉(zhuǎn)換驅(qū)動接口,用以轉(zhuǎn)換IDE, ATA, SATA, ATAPI, 或者 SCSI 到USB port。對于用戶來講,就像連接了一個內(nèi)部的驅(qū)動。其他的競爭標準是eSATA以及Firewire.
人機接口設備(HID)
USB沒有完全取代AT鍵盤接口和PS/2鍵盤鼠標接口,但是事實上現(xiàn)在所有主板制造商都提供至少多于一個USB接口。到2004年,大多數(shù)新主板都配有多個高速USB 2.0接口,盡管有些是內(nèi)置在主板上的,需要使用電纜連接到位于主機前面板或者側(cè)面的接口。同樣的對游戲操縱桿,手柄,寫字板和其他人機接口設備的支持逐漸從原聲卡上的“MIDI/游戲”接口和PS/2接口上轉(zhuǎn)移到USB上?,F(xiàn)在帶著USB轉(zhuǎn)PS/2接口轉(zhuǎn)換插頭的USB鍵盤鼠標相當普遍,他們可以使用任意2種接口之一。
使用專用鍵盤鼠標的蘋果電腦1999年一月也開始使用USB接口。最初的IPOD只有IEEE1394接口,后來在3G的IPOD,蘋果電腦開始支持USB2.0,但是還不能用作充電,現(xiàn)在的IPOD,已經(jīng)全面兼容USB與IEEE1394,兩者均可充電以及連接計算機。
擴展
PictBridge標準可以使得消費者使用的圖形設備彼此互通(例如數(shù)碼相機直接通過打印機輸出)。一般它使用USB做為其底層通信協(xié)議。
評論