USB設(shè)備配置簡介
一個(gè)USB設(shè)備可以有幾種配置。比如,一個(gè)最大需求200 mA電流的設(shè)備和一個(gè)總線供電的LJSB設(shè)備相連時(shí),它只能獲得100 mA電流。在這種情況下,這個(gè)設(shè)備就不被支持,主機(jī)軟件也不會(huì)激活這個(gè)設(shè)備。為了避免出現(xiàn)這個(gè)情況,設(shè)備的設(shè)計(jì)者可以提供一種可選的配置,把設(shè)備對(duì)總線電流量的要求減少到100 mA(當(dāng)然,應(yīng)采取措施保證在100 mA時(shí)也能工作,比如,關(guān)閉某些功能)。
一個(gè)USB設(shè)備可以有幾個(gè)接口。比如,USB數(shù)字電話有兩個(gè)接口:音頻接口(發(fā)送器和接收器)和人機(jī)接口(撥號(hào)裝置)。又如,CD-ROM有三個(gè)接口:音頻接口、視頻接口和大容量存儲(chǔ)接口。在USB系統(tǒng)中,一個(gè)接口實(shí)現(xiàn)一種功能。也可反過來說,設(shè)備中具有某種獨(dú)立功能的部分構(gòu)成一個(gè)接口。
端點(diǎn)的概念在前面已經(jīng)提到,端點(diǎn)是主機(jī)和設(shè)備之間通信流的終點(diǎn)。比如,設(shè)備的一個(gè)輸出寄存器就是一個(gè)輸出端點(diǎn)。一個(gè)設(shè)備可以有多個(gè)端點(diǎn),而端點(diǎn)總是屬于某個(gè)接口的,這是因?yàn)槎它c(diǎn)是根據(jù)接口的需要設(shè)置的,一個(gè)接口可以有多個(gè)端點(diǎn)。
認(rèn)識(shí)了USB設(shè)備的邏輯構(gòu)成,就可以掃描一下USB設(shè)備的描述符。在USB系統(tǒng)中,設(shè)備的描述符包括:
①設(shè)備描述符:每個(gè)設(shè)備有一個(gè)設(shè)備描述符,它包含了設(shè)備的一般信息,并且標(biāo)出了一個(gè)設(shè)備所支持的可能的配置的數(shù)量(一個(gè)或幾個(gè))。此外,它還包含了缺省通信管道(端點(diǎn)0)的信息。
②配置描述符:一個(gè)設(shè)備對(duì)它所支持的每一種配置都有一個(gè)配置描述符。它包括關(guān)于配置的一般信息,并且定義了當(dāng)使用這些配置時(shí)的接口數(shù)量。
③接口描述符:提供了關(guān)于接口的一般信息,也指出了特定的接口所支持設(shè)備類。此外,它還指出了該接口進(jìn)行通信時(shí)所使用的端點(diǎn)描述符的數(shù)量。
④端點(diǎn)描述符:一個(gè)端點(diǎn)描述符定義了一個(gè)通信點(diǎn)。端點(diǎn)描述符包含了一些信息,例如,端點(diǎn)支持的傳輸類型(指塊傳輸、中斷傳輸、等時(shí)傳輸和控制傳輸)以及支持的最高傳輸速率。
⑤字符串描述符:可選的描述符,由UNICODE(統(tǒng)一字符編碼標(biāo)準(zhǔn),用16位二進(jìn)制數(shù)表示一個(gè)字符)字符串組成。它提供了那些可顯示出來供人們讀取的信息??梢詾橹圃焐獭a(chǎn)品、序列號(hào)、配置和接口等定義字符串描述符。例如,為某個(gè)接口定義一個(gè)字符串描述符,并在接口描述符中設(shè)置指向該字符串描述符的指針。這樣,可顯示出與這個(gè)接口有關(guān)的說明信息。
⑥設(shè)備類定義描述符:可用來定義新的設(shè)備類,以便在標(biāo)準(zhǔn)設(shè)備類的基礎(chǔ)上增加一些新的功能。
各種描述符的格式和含義在USB總線規(guī)范中都清楚地作了說明
評(píng)論