日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

USB枚舉周詳過程剖析

出處:bighill 發(fā)布于:2011-08-26 13:40:42

 

  USB ,是英文Universal Serial BUS(通用串行總線)的縮寫,而其中文簡稱為"通串線,是一個外部總線標(biāo)準(zhǔn),用于規(guī)范電腦與外部設(shè)備的連接和通訊。是應(yīng)用在PC領(lǐng)域的接口技術(shù)。USB接口支持設(shè)備的即插即用和熱插拔功能。隨著計算機(jī)硬件飛速發(fā)展,外圍設(shè)備日益增多,鍵盤、鼠標(biāo)、調(diào)制解調(diào)器、打印機(jī)、掃描儀早已為人所共知,數(shù)碼相機(jī)、MP3隨身聽接踵而至,這么多的設(shè)備,如何接入個人計算機(jī)?USB就是基于這個目的產(chǎn)生的。USB是一個使計算機(jī)周邊設(shè)備連接標(biāo)準(zhǔn)化、單一化的接口,其規(guī)格是由Intel(英特爾)、NEC、Compaq、DEC、IBM(商業(yè)機(jī)器公司)、Microsoft(微軟)、Northern Telecom聯(lián)系制定的。

    (1)集線器檢測新設(shè)備

  主機(jī)集線器監(jiān)視著每個端口的信號電壓,當(dāng)有新設(shè)備接入時便可覺察。(集線器端口的兩根信號線的每一根都有15kΩ的下拉電阻,而每一個設(shè)備在D+都有一個1.5kΩ的上拉電阻。當(dāng)用USB線將PC和設(shè)備接通后,設(shè)備的上拉電阻使信號線的電位升高,因此被主機(jī)集線器檢測到。)

 ?。?)主機(jī)知道了新設(shè)備連接后

  每個集線器用中斷傳輸來在集線器上的事件。當(dāng)主機(jī)知道了這個事件,它給集線器發(fā)送一個Get_Status請求來了解更多的消息。返回的消息告訴主機(jī)一個設(shè)備是什么時候連接的。

 ?。?)集線器重新設(shè)置這個新設(shè)備

  當(dāng)主機(jī)知道有一個新的設(shè)備時,主機(jī)給集線器發(fā)送一個Set_Feature請求,請求集線器來重新設(shè)置端口。集線器使得設(shè)備的USB數(shù)據(jù)線處于重啟(RESET)狀態(tài)至少10ms.

  (4)集線器在設(shè)備和主機(jī)之間建立一個信號通路

  主機(jī)發(fā)送一個Get_Status請求來驗證設(shè)備是否激起重啟狀態(tài)。返回的數(shù)據(jù)有一位表示設(shè)備仍然處于重啟狀態(tài)。當(dāng)集線器釋放了重啟狀態(tài),設(shè)備就處于默認(rèn)狀態(tài)了,即設(shè)備已經(jīng)準(zhǔn)備好通過Endpoint 0 的默認(rèn)流程響應(yīng)控制傳輸。即設(shè)備現(xiàn)在使用默認(rèn)地址0x0與主機(jī)通信。

 ?。?)集線器檢測設(shè)備速度

  集線器通過測定那根信號線(D+或D-)在空閑時有更高的電壓來檢測設(shè)備是低速設(shè)備還是全速設(shè)備。(全速和高速設(shè)備D+有上拉電阻,低速設(shè)備D-有上拉電阻)。

  以下,需要USB的firmware進(jìn)行干預(yù)

 ?。?)獲取數(shù)據(jù)包長度

  PC向address 0發(fā)送USB協(xié)議規(guī)定的Get_Device_Descriptor命令,以取得卻缺省控制管道所支持的數(shù)據(jù)包長度,并在有限的時間內(nèi)等待USB設(shè)備的響應(yīng),該長度包含在設(shè)備描述符的bMaxPacketSize0字段中,其地址偏移量為7,所以這時主機(jī)只需讀取該描述符的前8個字節(jié)。注意,主機(jī)只能列舉一個USB設(shè)備,所以同一時刻只能有一個USB設(shè)備使用缺省地址0.

  以下操作雷同,不同操作系統(tǒng)設(shè)定時延是不一樣的,比如說win2k大概是幾毫秒,如果沒有反應(yīng)就再發(fā)送命令,重復(fù)三次。

 ?。?)主機(jī)分配一個新的地址給設(shè)備

  主機(jī)通過發(fā)送一個Set_Address請求來分配一個的地址給設(shè)備。設(shè)備讀取這個請求,返回一個確認(rèn),并保存新的地址。從此開始所有通信都使用這個新地址。

 ?。?)主機(jī)向新地址重新發(fā)送Get_Device_Descriptor命令,此次讀取其設(shè)備描述符的全部字段,以了解該設(shè)備的總體信息,如VID,PID.

 ?。?)主機(jī)向設(shè)備循環(huán)發(fā)送Get_Device_Configuration命令,要求USB設(shè)備回答,以讀取全部配置信息。

 ?。?0)主機(jī)發(fā)送Get_Device_String命令,獲得字符集描述(unicode),比如產(chǎn)商、產(chǎn)品描述、型號等等。

 ?。?1)此時主機(jī)將會彈出窗口,展示發(fā)現(xiàn)新設(shè)備的信息,產(chǎn)商、產(chǎn)品描述、型號等。

  (12)根據(jù)Device_Descriptor和Device_Configuration應(yīng)答,PC判斷是否能夠提供USB的Driver,一般win2k能提供幾大類的設(shè)備,如游戲操作桿、存儲、打印機(jī)、掃描儀等,操作就在后臺運(yùn)行。但是Win98卻不可以,所以在此時將會彈出對話框,索要USB的Driver.

  (13)加載了USB設(shè)備驅(qū)動以后,主機(jī)發(fā)送Set_Configuration(x)命令請求為該設(shè)備選擇一個合適的配置(x代表非0的配置值)。如果配置成功,USB設(shè)備進(jìn)入"配置"狀態(tài),并可以和客戶軟件進(jìn)行數(shù)據(jù)傳輸。

  此時,常規(guī)的USB完成了其必須進(jìn)行的配置和連接工作。查看注冊表,能夠發(fā)現(xiàn)相應(yīng)的項目已經(jīng)添加完畢,至此設(shè)備應(yīng)當(dāng)可以開始使用。不過,USB協(xié)議還提供了一些用戶可選的協(xié)議,設(shè)備如果不應(yīng)答,也不會出錯,但是會影響到系統(tǒng)的功能。

  USB架構(gòu)中,hub負(fù)責(zé)檢測設(shè)備的連接和斷開,利用其中斷IN端點(diǎn)(Interrupt IN Endpoint)來向主機(jī)(Host)。在系統(tǒng)啟動時,主機(jī)輪詢它的根hub(Root Hub)的狀態(tài)看是否有設(shè)備(包括子hub和子hub上的設(shè)備)連接。一旦獲悉有新設(shè)備連接上來,主機(jī)就會發(fā)送一系列的請求(Resqusts)給設(shè)備所掛載到的hub,再由hub建立起一條連接主機(jī)(Host)和設(shè)備(Device)之間的通信通道。然后主機(jī)以控制傳輸(Control Transfer)的方式,通過端點(diǎn)0(Endpoint 0)對設(shè)備發(fā)送各種請求,設(shè)備收到主機(jī)發(fā)來的請求后回復(fù)相應(yīng)的信息,進(jìn)行枚舉(Enumerate)操作。所有的USB設(shè)備必須支持標(biāo)準(zhǔn)請求(Standard Requests),控制傳輸方式(Control Transfer)和端點(diǎn)0(Endpoint 0)。從用戶角度來看,枚舉過程是自動完成并不可見的。但很多初次使用的設(shè)備連接時,系統(tǒng)會彈出說新硬件檢測到,設(shè)備安裝成功,可以使用之類的消息提示框,而且有時還需要用戶配合選擇安裝相關(guān)的驅(qū)動。當(dāng)枚舉完成后,這個新添加的設(shè)備可在Windows的設(shè)備管理器里面看到,當(dāng)用戶刪除這個設(shè)備/硬件時,系統(tǒng)把這個設(shè)備從設(shè)備管理器里刪除。對于一般的設(shè)備,固件(Firmware)內(nèi)包含主機(jī)所要請求的信息,而有些設(shè)備則是完全由硬件來負(fù)責(zé)響應(yīng)主機(jī)的請求。在主機(jī)方面則是由操作系統(tǒng)而非應(yīng)用程序負(fù)責(zé)處理相關(guān)枚舉操作。

 



  
關(guān)鍵詞:USB

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!