新聞中心

USB接口介紹(下)

作者: 時(shí)間:2016-12-12 來源:網(wǎng)絡(luò) 收藏

USB 封包格式

USB 的封包格式和早期的internet封包格式非常相似,要了解USB連接原理就一定要先了解封包格式。

本文引用地址:http://butianyuan.cn/article/201612/329069.htm
USB packet format
OFFSETTYPESIZEVALUE
0HeaderChksum1Checksum of the header by adding the header bytes, excluding the header checksum.
1HeaderSize1Size of the header, including strings if applicable.
2Signature2Signature: 0x1234
4VendorID2USB Vendor ID
6ProductID2USB Product ID
8ProductVersion1Product version
9FirmwareVersion1Firmware version
10UsbAttributes1USB 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.
Bit 2: If set to 1, the device can be self powered; if set to 0, it cannot be self powered.
Bit 3: If set to 1, the device can be bus powered; if set to 0, it cannot be bus powered.
Bits 1 and 4 ... 7: Not used.

11MaxPower1Maximum power the device needs in units of 2 mA.
12Attribute1Device 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.
Bit 3: If set to 1, the devices EEPROM can support 400 MHz; if set to 0, it can not support 400 MHz.
Bits 1, 2 and 4 ... 7: Not used.

13WPageSize1Maximum I2C write page size
14DataType1This value defines if the device is application EEPROM or device EEPROM.

0x01: Application EEPROM
0x02: Device EEPROM
Other values are invalid.

15RpageSize1Maximum I2C read page size. If the value is zero, the whole PayLoadSize is read in one I2C read setup.
16PayLoadSize2Size of the application, if using EEPROM as an application EEPROM; otherwise the value is 0.
0xxxLanguage string4Language string in standard USB string format if applicable.
0xxxManufacture string...Manufacture string in standard USB string format if applicable.
0xxxProduct string...Product string in standard USB string format if applicable.
0xxxApplication Code...Application code if applicable.

設(shè)備分類

依附在總線上的設(shè)備可以是需要特定的驅(qū)動(dòng)程序的完全定制的設(shè)備,也可能屬于某個(gè)設(shè)備類別。這些類別定義了某種設(shè)備的行為和接口描述符,這樣一個(gè)驅(qū)動(dòng)程序可能用于所有此種類別的設(shè)備。一般操作系統(tǒng)都為支持這些設(shè)備類別,為其提供通用驅(qū)動(dòng)程序。

設(shè)備分類由USB設(shè)計(jì)論壇設(shè)備工作組決定,并分配ID。

如果一個(gè)設(shè)備類型屬于整個(gè)設(shè)備,該設(shè)備的描述府bDeviceClass的域保存類別ID;如果它這是設(shè)備的一個(gè)界面,其ID保存在界面描述府的;bInterfaceClass域。他們都占用一個(gè)字節(jié),所以最多有253種設(shè)備類別。(0x00和0xFF保留)。當(dāng)bDeviceClass設(shè)為0x00,操作系統(tǒng)會(huì)檢查每個(gè)接口的bInterfaceClass以確定其類別。

每種類別可選支持子類別(SubClass)和協(xié)議子定義(Protocol subdefinition)。這樣可以用于主設(shè)備類型的不斷修訂。

常用設(shè)備類別和ID有:

0x00
保留值
0x01
USB音頻設(shè)備, 像聲卡這樣的設(shè)備。
0x03
人機(jī)接口設(shè)備, 鍵盤鼠標(biāo)等
0x06
靜止圖像捕捉設(shè)備,用在USB上的Picture Transfer Protocol。
0x07
USB打印設(shè)備, 打印機(jī)。
0x08
USB大容量存儲(chǔ)設(shè)備keydrive, 可移動(dòng)硬盤,MMC卡、SD卡、CF卡讀卡器, 數(shù)碼相機(jī),數(shù)字音頻播放器等。 這一類設(shè)備顯示成一個(gè)文件系統(tǒng)。
0x09
USB hubs。
0x0A
USB通信設(shè)備("CDC") used for調(diào)制解調(diào)器(包括軟件調(diào)制解調(diào)器),網(wǎng)卡(交叉電纜),ISDN,傳真。
0x0E
USB視頻設(shè)備, 類似攝像頭,電視卡的動(dòng)態(tài)圖像捕捉設(shè)備。
0xE0
無線控制器,如藍(lán)牙dongles。
0xFF
定制設(shè)備。

USB接頭

接頭是由USB協(xié)會(huì)所指定,接頭的設(shè)計(jì)一方面為了支持眾多USB的基本需求,另一方面也避免以往許多類似串行接頭所出現(xiàn)的問題。

  • 接頭設(shè)計(jì)的相當(dāng)耐用。
  • 不可能把USB接口插錯(cuò)。
  • 接頭能相對(duì)便宜地大量生產(chǎn)。
  • 在USB網(wǎng)絡(luò)中,接頭被強(qiáng)制使用定向拓?fù)?/strong>。USB不支持環(huán)形網(wǎng)絡(luò),因此不兼容的USB設(shè)備之間接口也不兼容。不像其他通訊系統(tǒng)(如RJ-45電纜)不能使用轉(zhuǎn)換插頭,防止環(huán)形USB網(wǎng)絡(luò)產(chǎn)生。
  • 適度的插拔力。
  • 由于接頭的構(gòu)造,在將USB插頭插入U(xiǎn)SB座時(shí),插頭外面的金屬保護(hù)套會(huì)先接觸到USB座內(nèi)對(duì)應(yīng)的金屬部份,之后插頭內(nèi)部的四個(gè)觸點(diǎn)才會(huì)接觸到USB座。金屬保護(hù)套會(huì)連接到系統(tǒng)的地點(diǎn),提供路徑使靜電可以放電,避免因靜電通過電子零件而造成損壞。

電源

USB 接頭提供一組5伏特的電壓,可作為相連接USB設(shè)備的電源。實(shí)際上,設(shè)備接收到的電源可能會(huì)低于5V,只略高于4V。USB規(guī)范要求在任何情形下,電壓均不能超過5.25V;在最壞情形下(經(jīng)由USB供電HUB所連接的LOW POWER設(shè)備)電壓均不能低于4.375V,一般情形電壓會(huì)接近5V。

一個(gè) USB 的根集線器最多只能提供 500mA的電流。如此的電流已足以驅(qū)動(dòng)許多電子設(shè)備,不過連接在總線供電HUB的所有設(shè)備,需要共享 500mA 的電流額度。一個(gè)由總線供電的設(shè)備可以使用到它所連接埠上允許輸出的所有電源。

總線供電的HUB可以將電源供給連接在 HUB 上的所有設(shè)備,不過 USB 的規(guī)范只允許總線供電的 HUB 下游串接一層總線供電的設(shè)備,因此,總線供電的 HUB 下游不允許再串接另一個(gè)由總線供電的 HUB。許多 HUB 有外加電源,因此可以提供電源給下游的設(shè)備,不會(huì)消耗總線上的電源。若設(shè)備需要的電壓超過5V,或是需要電流超過500mA,都需要使用外加電源。

相對(duì)于之前其他溝通介面僅能傳遞訊息資料,高電壓USB插槽本身還能提供5V(伏特)的主動(dòng)電壓,及0.5A(安培)的電流,因此對(duì)于一些小型設(shè)備而言,可以不必再外接電源供應(yīng)裝置,就能利用來自USB插槽的電力順利運(yùn)作。利用這特點(diǎn),也有廠商開發(fā)出適當(dāng)?shù)呐啪€,將USB拿來當(dāng)作供電插座般使用,例如作為移動(dòng)電話的充電器,或是提供小型電燈的電力需要,反而與原本用來連接電腦用的主要用途無關(guān)。

同類標(biāo)準(zhǔn)比較

Storage

USB 使用USB mass storage device class標(biāo)準(zhǔn)實(shí)現(xiàn)Storage設(shè)備的連接.它最初被用于傳統(tǒng)的磁盤和光盤驅(qū)動(dòng),但是現(xiàn)在已經(jīng)擴(kuò)展到支持大量不同的設(shè)備.USB不能用于計(jì)算機(jī)內(nèi)部存儲(chǔ)設(shè)備的基本總線: 像ATA(IDE), Serial ATA (SATA), 和SCSI.

然而, USB有一個(gè)非常重要的優(yōu)點(diǎn),那就是它能夠在不關(guān)閉計(jì)算機(jī)的情況下動(dòng)態(tài)的安裝和刪除USB設(shè)備,這使它成為一個(gè)有用的外部設(shè)備.今天,大量的生產(chǎn)商提供便攜式USB移動(dòng)硬盤或者一個(gè)空的,能夠兼容內(nèi)部驅(qū)動(dòng)的盒子.這些內(nèi)部驅(qū)動(dòng)通常提供一個(gè)轉(zhuǎn)換驅(qū)動(dòng)接口,用以轉(zhuǎn)換IDE, ATA, SATA, ATAPI, 或者 SCSI 到USB port。對(duì)于用戶來講,就像連接了一個(gè)內(nèi)部的驅(qū)動(dòng)。其他的競爭標(biāo)準(zhǔn)是eSATA以及Firewire.

人機(jī)接口設(shè)備(HID)

USB沒有完全取代AT鍵盤接口和PS/2鍵盤鼠標(biāo)接口,但是事實(shí)上現(xiàn)在所有主板制造商都提供至少多于一個(gè)USB接口。到2004年,大多數(shù)新主板都配有多個(gè)高速USB 2.0接口,盡管有些是內(nèi)置在主板上的,需要使用電纜連接到位于主機(jī)前面板或者側(cè)面的接口。同樣的對(duì)游戲操縱桿,手柄,寫字板和其他人機(jī)接口設(shè)備的支持逐漸從原聲卡上的“MIDI/游戲”接口和PS/2接口上轉(zhuǎn)移到USB上。現(xiàn)在帶著USB轉(zhuǎn)PS/2接口轉(zhuǎn)換插頭的USB鍵盤鼠標(biāo)相當(dāng)普遍,他們可以使用任意2種接口之一。

使用專用鍵盤鼠標(biāo)的蘋果電腦1999年一月也開始使用USB接口。最初的IPOD只有IEEE1394接口,后來在3G的IPOD,蘋果電腦開始支持USB2.0,但是還不能用作充電,現(xiàn)在的IPOD,已經(jīng)全面兼容USB與IEEE1394,兩者均可充電以及連接計(jì)算機(jī)。

擴(kuò)展

PictBridge標(biāo)準(zhǔn)可以使得消費(fèi)者使用的圖形設(shè)備彼此互通(例如數(shù)碼相機(jī)直接通過打印機(jī)輸出)。一般它使用USB做為其底層通信協(xié)議。



關(guān)鍵詞: USB接口介

評(píng)論


技術(shù)專區(qū)

關(guān)閉