USB技術入門
USB驅動程序(USBD)位于UHCD之上。它提供驅動器級的接口,滿足現(xiàn)有設備驅動器設計的要求,USBD所實現(xiàn)的準確細節(jié)隨不同操作系統(tǒng)環(huán)境而有所不同,但USBD在不同操作系統(tǒng)環(huán)境下完成的是一樣的工作。USBD以I/O請求包(IRPs)的形式提供數(shù)據(jù)傳輸構架,它由通過特定管道(Pipe)傳輸數(shù)據(jù)的需求組成。此外,USBD使客戶端出現(xiàn)設備的一個抽象,以便于抽象和管理。作為抽象的一部分,USBD擁有缺省的管道。通過它可以訪問所有的USB設備以進行標準的USB控制。該缺省管道描述了一條USBD和USB設備間通信的邏輯信道。
在某些操作系統(tǒng)中,沒有提供USB系統(tǒng)軟件。這些軟件本來是用于向設備驅動程序提供配置信息和裝載結構的。在這些操作系統(tǒng)中,設備驅動程序將應用提供的接口而不是直接訪問USBDI結構。
客戶軟件位于軟件結構的最高層,它負責處理特定USB設備的設備驅動器??蛻舫绦驅用枋隽怂兄苯幼饔糜谠O備的軟件入口。當設備被系統(tǒng)檢測到,這些客戶程序將直接作用于外圍硬件。這個共享的特性將USB系統(tǒng)軟件置于客戶和它的設備之間,也就是說,一個客戶程序不能直接訪問設備硬件,而是根據(jù)USBD在客戶端形成的設備映像由客戶程序對它進行處理。
總體上說,主機各層有以下功能:
檢測連接和移去的USB設備
管理主機和USB設備間的數(shù)據(jù)流
連接USB狀態(tài)和活動統(tǒng)計
控制主控制器和USB設備間的電氣接口,包括限量能量供應
控制信息可能以帶內方式或帶外方式在主機和設備間傳輸。帶內方式將控制信息與數(shù)據(jù)混在一個管道內;帶外方式將控制信息與數(shù)據(jù)放在分離的管道內。
每一個連上的USB設備都有一個被稱為缺省管道的消息管道。為了像設備列舉和配置這樣的標準流控制,在USB設備和主機之間建立邏輯關聯(lián)。缺省管道為所有的設備提供了一個標準的接口。缺省信道也用于設備通信,由USBD作為中介,USBD擁有所有設備的缺省信道。
特別的USB設備允許使用附加的消息管道傳輸具體設備的控制信息。這些管道使用相同的通信協(xié)議作為缺省信道,但傳輸?shù)男畔⒈仨毦唧w到特定的設備,而不被規(guī)范標準化。USBD支持其客戶共享它擁有和使用的缺省信道。它也可以訪問其它設備的控制管道。
基于不同級別的抽象,HCD和USBD提供不同的軟件接口。他們被希望以某種特殊的方式一起工作來滿足所有USB系統(tǒng)的需求。USB系統(tǒng)的需求主要體現(xiàn)為對USBDI的需求。USBD和HCD間任務的區(qū)分沒有定義。然而,在特定的操作系統(tǒng)中支持多主控制器設備是HCDI必須滿足的需求。
HCD提供了主控制器的抽象和通過USB傳輸?shù)臄?shù)據(jù)的主控制器視角的一個抽象。USBD提供了USB設備的抽象和USBD客戶與USB功能間數(shù)據(jù)傳輸?shù)囊粋€抽象。總之,USB系統(tǒng)促進客戶和功能間的數(shù)據(jù)傳輸,并作為USB設備的規(guī)范接口的一個控制點。USB系統(tǒng)提供緩沖區(qū)管理能力并允許數(shù)據(jù)傳輸同步與客戶和功能的需求。
USB上的數(shù)據(jù)流傳輸
主控制器負責主機和USB設備間數(shù)據(jù)流的傳輸。這些傳輸數(shù)據(jù)被當作連續(xù)的比特流。每個設備提供了一個或多個可以和客戶程序通信的接口。每個接口由0個或多個管道組成,這些管道分別獨立地在客戶程序和設備的特定終端間傳輸數(shù)據(jù)。USBD為主機軟件的現(xiàn)實需求建立了接口和管道。當提出配置請求時,主控制器基于主機軟件提供的參數(shù)提供服務。
USB支持四種基本的數(shù)據(jù)傳輸模式:
控制傳輸
同步傳輸
中斷傳輸
數(shù)據(jù)塊傳輸
每種傳輸模式應用到具有相同名字的終端,具有不同的性質。控制傳輸類型支持外設與主機之間的控制、狀態(tài)、配置等信息的傳輸,為外設與主機之間提供一個控制信道。每種外設都支持控制傳輸類型,這樣主機PC與外設之間就可以傳送配置和命令/狀態(tài)信息。
等時(Isochronous)傳輸類型支持有周期性、有限的時延和帶寬、且數(shù)據(jù)傳輸速率不變的外設與主機間的數(shù)據(jù)傳輸。該類型無差錯校驗,故不能保證正確的數(shù)據(jù)傳輸,支持像計算機-電話集成系統(tǒng)(CTI)和音頻系統(tǒng)與主機的數(shù)據(jù)傳輸。
中斷傳輸類型支持像游戲棒、鼠標和鍵盤等人機輸入設備,這些設備與主機間數(shù)據(jù)傳輸量小、無周期性,但對響應時間敏感,要求馬上響應。
數(shù)據(jù)塊(Bulk)傳輸類型支持打印機、掃描儀、數(shù)字相機等外設,這些外設與主機間傳輸?shù)臄?shù)據(jù)量很大,USB在滿足帶寬的情況下才進行該類型的數(shù)據(jù)傳輸。
USB采用分塊帶寬分配方案,若外設超過當前帶寬分配或潛在的要求,則拒絕進入該設備。同步和中斷傳輸類型的終端保留帶寬,并保證數(shù)據(jù)按一定的速率傳送。集中和控制終端按可用的最佳帶寬來傳輸數(shù)據(jù)。但是,10%的帶寬為批量處理和控制傳送而保留,數(shù)據(jù)塊傳輸僅在帶寬滿足要求的情況下才會出現(xiàn)。
USB采用1ms幀時間框來傳輸數(shù)據(jù),主控制器通過產(chǎn)生框開始(SOF)來開始每幀的傳輸。
SOF標志擁有訪問總線的最高權限,在框結束(EOF)間隔串音電路與其它活動的傳輸器電氣地獨立,并為SOF傳輸提供空閑總線
評論