




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第十二章總線與接口標(biāo)準(zhǔn)
12.1
通用串行總線USB
問(wèn)題的提出:外設(shè)與PCU的連接存在接口標(biāo)準(zhǔn)各自獨(dú)立、互不兼容、無(wú)法共享的頭問(wèn)題,并且安裝、配置麻煩。其基本思路:采用通用連接器和自動(dòng)配置及熱插拔技術(shù)和相應(yīng)的軟件,實(shí)現(xiàn)資源共享和外設(shè)簡(jiǎn)單快速連接,提供設(shè)備共享接口來(lái)解決PC機(jī)與外部設(shè)備連接的通用性。針對(duì)這一問(wèn)題的解決,提出了USB通用外設(shè)接口標(biāo)準(zhǔn)。USB(UniversalSerialBus)的中文含義是通用串行總線.USB以Intel公司為主,并有Compaq、Microsoft、IBM、DEC、IEC等公司共同開發(fā),于1994年11月制定了第一個(gè)草案,1996年2月公布了USB1.0版本,目前,已發(fā)展到2.0版.1997年,微軟在Windows97中開始外掛模塊形式提供對(duì)USB的支持,1998后,隨著Windows98中內(nèi)置了對(duì)USB接口的支持模塊,加上USB設(shè)備日益增多,USB逐漸流行起來(lái)。USB的主要優(yōu)點(diǎn):速度快。
USB有全速和低速兩種方式,主模式為全速模式,速率為12Mbps,另外為了適應(yīng)一些不需要很大吞吐量和很高實(shí)時(shí)性的設(shè)備,如鼠標(biāo)等,USB還提供低速方式,速率為1.5Mbps。2000年9月即將推出的USB2.0協(xié)議將使其速率達(dá)到480Mbps,它非常適用于一些視頻輸入/輸出產(chǎn)品,并很有可能替代SCSI接口標(biāo)準(zhǔn)。設(shè)備安裝和配置容易。
安裝USB設(shè)備不必再打開機(jī)箱,所有USB設(shè)備支持熱拔插,系統(tǒng)對(duì)其進(jìn)行自動(dòng)配置,徹底拋棄了過(guò)去的跳線和撥碼開關(guān)設(shè)置。實(shí)現(xiàn)成本低。
USB對(duì)系統(tǒng)與PC的集成進(jìn)行了優(yōu)化,適合于開發(fā)低成本的外設(shè)。易于擴(kuò)展。通過(guò)使用Hub擴(kuò)展可駁接多達(dá)127個(gè)外設(shè)。標(biāo)準(zhǔn)USB電纜長(zhǎng)度為3米(低速為5米)。通過(guò)Hub或中繼器可以使外設(shè)距離達(dá)到30米。使用靈活。
USB共有4種傳輸模式:控制傳輸(control)、同步傳輸(Synchronization)、中斷傳輸(interrupt)、塊傳輸(bulk),以適應(yīng)不同設(shè)備的需要。能夠采用總線供電。
USB工作在5V電壓下,總線提供最大達(dá)500mA電流。
一、USB的物理接口和電氣特性1、接口信號(hào)線
USB總線(電纜)包含4根信號(hào)線,用以傳送信號(hào)和提供電源。其中,D+和D-為信號(hào)線,傳送信號(hào),是一對(duì)雙絞線;Vbus和GND是電源線,提供電源,如圖12。20(a)所示。相應(yīng)的的USB接口插頭(座)也比較簡(jiǎn)單,只有4芯。兩根信號(hào)線的D+線上,當(dāng)設(shè)備在滿速傳輸時(shí),要求接1.5K
±5%的上拉電阻,并且在D+和D-線上分別接入串聯(lián)電阻,其阻值為29~44,如圖12。20(b)所示?!璘SB設(shè)備1.5K
3.0~3.6VD+D-VBusD+D-GNDVBusD+D-GND(a)(b)USB29~44
圖12.20在滿速傳輸時(shí)外接電阻的連接2、電氣特性
USB主機(jī)或根Hub對(duì)設(shè)備提供的對(duì)地電源電壓為4.75~5.25V,設(shè)備能吸入的最大電流值為500mA。USB設(shè)備的電源供給有兩種方式:自給方式(設(shè)備自帶電源)和總線供給方式。USBHub是前一種方式。
USB主機(jī)有一個(gè)獨(dú)立于USB的電源管理系統(tǒng)(APM)。USB系統(tǒng)軟件通過(guò)與主機(jī)電源管理系統(tǒng)交互來(lái)處理諸如掛起、喚醒等電源事件。二、USB設(shè)備及其描述器1.USB設(shè)備
USB設(shè)備分成Hub、功能設(shè)備兩種。
Hub設(shè)備即集線器,是USB即插即用技術(shù)中的核心部分,完成USB設(shè)備的添加、插拔檢測(cè)和電源管理等功能。Hub設(shè)備不僅能向下層設(shè)備提供電源和設(shè)置速度類型,而且能為其他USB設(shè)備提供擴(kuò)展端口。(1)USBHUBUSBhub是USB實(shí)現(xiàn)即插即用的一個(gè)關(guān)鍵部分。每個(gè)USBhub有一個(gè)面向主機(jī)的端口,稱為上游端口(UpstreamPort);同時(shí)還有幾個(gè)用于和下端USB設(shè)備連接的端口,稱為下游端口(DownstreamPort)。hub可以檢測(cè)到下游端口是否有設(shè)備插入,同時(shí)也可以禁用某一個(gè)或某幾個(gè)下游端口。每個(gè)下游端口可自由連接全速或低速設(shè)備。一個(gè)USB集線器由控制器(Controller)和中繼器(Repeater)兩部分組成。中繼器是一個(gè)上游端口和下游端口之間的開關(guān)(Switch),由協(xié)議控制.它能由硬件產(chǎn)生復(fù)位(Reset),休眠(Suspend)和恢復(fù)(Resume)信號(hào)??刂破魈峁┙涌诩拇嫫?,用于和主機(jī)通信。根據(jù)集線器特定的狀態(tài),主機(jī)使用一定的控制命令可對(duì)集線器進(jìn)行配置,檢查各端口并對(duì)它們進(jìn)行控制。下圖是一個(gè)USB集線器的結(jié)構(gòu)圖。功能設(shè)備能在總線上發(fā)送和接收數(shù)據(jù)或控制信息,它是完成某項(xiàng)具體功能的硬件設(shè)備,如鼠標(biāo)、鍵盤等。每個(gè)設(shè)備中有一個(gè)或多個(gè)邏輯連接點(diǎn),稱為端點(diǎn)(Endpoint)。端點(diǎn)在硬件上其實(shí)是一個(gè)有一定深度的FIFO。端點(diǎn)和主機(jī)共有四種形式的數(shù)據(jù)傳輸類型,在設(shè)備配置時(shí)每個(gè)端點(diǎn)指明它與主機(jī)進(jìn)行何種類型的傳輸。所有設(shè)備都有一個(gè)端點(diǎn)0,主機(jī)與它通信,對(duì)設(shè)備進(jìn)行配置和基本的控制。(2)功能設(shè)備2、端點(diǎn)在USB接口中再也不用考慮I/O地址空間、IRQ線及DMA通道的問(wèn)題。只給每個(gè)USB外設(shè)分配一個(gè)邏輯地址,但并不指定分配任何系統(tǒng)資源。而USB外設(shè)本身應(yīng)包含一不定期數(shù)量的獨(dú)立的寄存器端口,并能由USB設(shè)備驅(qū)動(dòng)程序直接操作。這些寄存器也就是USB設(shè)備的端點(diǎn)(Endpoint)。一個(gè)設(shè)備可以有多個(gè)端點(diǎn),但所有的USB設(shè)備都必須有一個(gè)零端點(diǎn)以用于設(shè)置,完成Control類型傳送。3、管道
USB支持功能性和控制性的數(shù)據(jù)傳送,這些傳送發(fā)生在主機(jī)軟件和USB設(shè)備的端點(diǎn)之間,我們把USB設(shè)備的端點(diǎn)和主機(jī)軟件的聯(lián)合稱為管道(Pipe)。因此,管道是從邏輯概念上來(lái)描述信息傳輸?shù)耐ǖ?。一個(gè)USB設(shè)備應(yīng)有一個(gè)端點(diǎn)來(lái)支持接受數(shù)據(jù)的管道,還應(yīng)有另一個(gè)端點(diǎn)來(lái)支持發(fā)送數(shù)據(jù)的管道。端點(diǎn)0所對(duì)應(yīng)的管道。USB主機(jī)對(duì)外設(shè)的控制就是通過(guò)在與外設(shè)之間相連的默認(rèn)管道發(fā)“外設(shè)請(qǐng)求”來(lái)實(shí)現(xiàn)的??梢姡镎J(rèn)管道主要用于控制類型的傳輸。4、USB設(shè)備描述器描述器:
描述器是一個(gè)有一定格式的數(shù)據(jù)結(jié)構(gòu)。
USB設(shè)備是通過(guò)描述器來(lái)報(bào)告它的屬性和特點(diǎn)的。每個(gè)USB設(shè)備都必須有設(shè)備描述器、設(shè)置描述器、接口描述器和端點(diǎn)描述器。這些描述器提供的信息包括目標(biāo)USB設(shè)備的地址、要進(jìn)行的傳輸類型、數(shù)據(jù)包的大小和帶寬請(qǐng)求等。設(shè)備描述器
一個(gè)USB設(shè)備只有一個(gè)設(shè)備描述器,它包含了設(shè)備設(shè)置所用的默認(rèn)管道的信息和設(shè)備的一般信息。設(shè)置描述器
一個(gè)USB設(shè)備有一個(gè)或多個(gè)設(shè)置描述器,例如,一個(gè)高電源設(shè)備可能也支持某種低電源方式,因此,兩個(gè)供電方式便需要兩種描述器。接口描述器
一種設(shè)置可能支持一個(gè)或多個(gè)接口。比如一個(gè)CD-ROM,因?yàn)橛?種設(shè)備驅(qū)動(dòng)器可能使用它,因此需要有3個(gè)接口,一個(gè)用于數(shù)據(jù)口,一個(gè)用于音頻口,一個(gè)用于視頻口。接口描述器提供的一般信息,也用于指定具體接口所支持的設(shè)置類型和用該接口通信時(shí)所用的端點(diǎn)描述器數(shù),但不將零端點(diǎn)計(jì)數(shù)在內(nèi)。端點(diǎn)描述器
一個(gè)接口可能含有一個(gè)或多個(gè)端點(diǎn)描述器,分別定義各自的通信點(diǎn)(如一個(gè)寄存器)。端點(diǎn)描述器包含的是它所支持的傳輸類型(4種)和最大傳輸速率。三、USB系統(tǒng)組成和拓?fù)浣Y(jié)構(gòu)1、USB系統(tǒng)的組成:
USB系統(tǒng)包括硬件和軟件兩部分。(1)USB硬件部分
USB系統(tǒng)的組成如圖12.21所示。它包括USB主機(jī)、USB設(shè)備(Hub和功能設(shè)備)和連接電纜。
USB主機(jī)是一個(gè)帶有USB主控制器的PC機(jī),在USB系統(tǒng)中,只有1個(gè)主機(jī),它是USB系統(tǒng)的主控者。
USB主控制器/根Hub(USBHostController/RootHub)分別完成對(duì)傳輸?shù)某跏蓟驮O(shè)備的接入。主機(jī)控制器負(fù)責(zé)產(chǎn)生由主機(jī)軟件高度的傳輸,然后再傳給根Hub。USBHubs除了根Hub以外,為了接入更多的外部設(shè)備,系統(tǒng)還需要其他USBHubs。USBHubs可串在一起再并接到根Hub上。USB功能設(shè)備其作用在前面已討論過(guò)。PCRootHub8x930Ax打印機(jī)8x930Ax數(shù)字相機(jī)8x930Ax游戲桿8x930Ax揚(yáng)聲器宿主USB
功能設(shè)備USB
功能設(shè)備USB
功能設(shè)備USB
功能設(shè)備USBHub圖12.21USB系統(tǒng)的組成8x930Hx顯示器(2)USB軟件部分
USB設(shè)備驅(qū)動(dòng)程序(UBSDeviceDrivers)通過(guò)I/O請(qǐng)求包(IRKPs)發(fā)出給USB設(shè)備的請(qǐng)求,而這些IRPs則完成對(duì)目標(biāo)設(shè)備傳輸?shù)脑O(shè)置。
USB驅(qū)動(dòng)程序(UBSDriver)在設(shè)備設(shè)置時(shí)讀取描述寄存器以獲取USB設(shè)備的特征,并根據(jù)這些特征,在請(qǐng)求發(fā)生時(shí)組織數(shù)據(jù)傳輸。主控制器驅(qū)動(dòng)程序(HostControllerDriver)完成對(duì)USB交換的調(diào)度,并通過(guò)根Hub或其他的Hub完成對(duì)交換的初始化。(3)數(shù)據(jù)流模型
簡(jiǎn)單的說(shuō),數(shù)據(jù)流發(fā)生在主機(jī)和USB設(shè)備之間,我們以常用的分層模型介紹USB系統(tǒng)的數(shù)據(jù)流。
主機(jī)分客戶軟件層(ClientSW),USB系統(tǒng)軟件層(USBSystemSW)和USB主機(jī)控制器(HostController)。設(shè)備分USB總線接口層(USBBusInterfaceLayer),USB設(shè)備層(USBDeviceLayer)和功能層(FunctionLayer)。USB系統(tǒng)軟件是指在某一操作系統(tǒng)上支持USB的軟件,它獨(dú)立于USB設(shè)備和客戶軟件。USB主機(jī)控制器是主機(jī)方的USB接口,它是軟硬件的總稱。
USB主機(jī)控制器USB系統(tǒng)軟件層客戶軟件層總線接口層USB設(shè)備層功能層主機(jī)設(shè)備從圖上我們可以看出,USB總線接口層提供主機(jī)和設(shè)備之間物理的連接。而從邏輯上看,USB設(shè)備層與USB系統(tǒng)軟件層對(duì)應(yīng),它們完成USB設(shè)備一些基本的、共有的工作。功能層和客戶軟件層通信,它們實(shí)現(xiàn)單個(gè)USB設(shè)備特有的功能。在編程時(shí),客戶軟件通過(guò)USB系統(tǒng)軟件提供的編程接口操作對(duì)應(yīng)的設(shè)備,而不是直接通過(guò)操作內(nèi)存或I/O口來(lái)實(shí)現(xiàn)。所有USB設(shè)備只有在被主機(jī)承認(rèn)并配置后才可進(jìn)入系統(tǒng)工作。2、USB系統(tǒng)拓?fù)浣Y(jié)構(gòu)
USB協(xié)議定義了在USB系統(tǒng)中宿主Host與USB設(shè)備之間的連接和通信,其物理拓?fù)浣Y(jié)構(gòu)如圖12.22所示。Host宿主HublHublNodeNodeHublHublNodeNodeNodeNodeNodeNode圖12.22USB系統(tǒng)拓?fù)浣Y(jié)構(gòu)示意圖第一層第二層第三層第四層
PC微機(jī)的USB拓?fù)浣Y(jié)構(gòu)中,USB設(shè)備具體連接方式如12.23所示。鍵盤顯示器USB主機(jī)光筆鼠標(biāo)音箱麥克風(fēng)電話集線器集線器圖12.23USB設(shè)備具體連接方式四、USB傳輸類型
USB數(shù)據(jù)流類型:USB支持控制信號(hào)流、塊數(shù)據(jù)流、中斷數(shù)據(jù)流、實(shí)時(shí)數(shù)據(jù)流等4種數(shù)據(jù)類型。
USB有4種基本的傳輸類型,它們是:1、控制傳輸控制(Control)傳輸是雙向的,它的傳輸有2~3個(gè)階段:
Setup階段,Data階段(可有可無(wú))和Status階段。在Setup階段,主機(jī)送命令給設(shè)備;在Data階段,傳輸?shù)氖荢etup階段所設(shè)定的數(shù)據(jù);Status階段,設(shè)備返回握手信號(hào)給主機(jī)。2、批傳輸批(Bulk)傳輸是單向,也可以是雙向。它用于傳送大批數(shù)據(jù),這種數(shù)據(jù)的時(shí)間性不強(qiáng),但要確保數(shù)據(jù)的正確性。
3、中斷傳輸
中斷(Interrupt)傳輸是單向的,且僅輸入到主機(jī),它用于不固定的、少量的數(shù)據(jù)傳送。當(dāng)設(shè)備需要主機(jī)為其服務(wù)時(shí),向主機(jī)發(fā)送此類信息以通知主機(jī),像鍵盤、鼠標(biāo)之類的輸入設(shè)備采用這種方式。USB的中斷是Polling(查詢)類型。4、等時(shí)傳輸
等時(shí)(Isochronous)(同步)傳輸可以單向也可以雙向,用于傳送連續(xù)性、實(shí)時(shí)的數(shù)據(jù)。以上4種傳輸類型的實(shí)際傳輸過(guò)程分別為:
控制傳輸類型:
總線空閑狀態(tài)→主機(jī)發(fā)設(shè)置(Setup)標(biāo)志→主機(jī)傳送數(shù)據(jù)→端點(diǎn)返回成功信息→總線空閑狀態(tài)。
塊傳輸類型:
當(dāng)端點(diǎn)處于可用狀態(tài),并且主機(jī)接收數(shù)據(jù)時(shí),總線空閑狀態(tài)→發(fā)送IN標(biāo)志以示允許輸入→端點(diǎn)發(fā)送數(shù)據(jù)→主機(jī)通知端點(diǎn)已成功收到→總線空閑狀態(tài)。
中斷傳輸類型:
當(dāng)端點(diǎn)處于可用狀態(tài)時(shí),總線空閑狀態(tài)→主機(jī)發(fā)IN標(biāo)志以示允許輸入→端點(diǎn)發(fā)送數(shù)據(jù)→端點(diǎn)返回成功信息→總線空閑狀態(tài)。
等時(shí)傳輸類型:
總線空閑狀態(tài)→主機(jī)發(fā)IN(或OUT)標(biāo)志以示允許輸入(或輸出)→端點(diǎn)(主機(jī))發(fā)送數(shù)據(jù)→總線空閑狀態(tài)。五、USB數(shù)據(jù)傳輸過(guò)程
USB協(xié)議將每1ms劃分為一幀。在全速傳輸時(shí),一個(gè)幀最多可連續(xù)傳輸1500字節(jié);在低速時(shí),最多傳輸187個(gè)字節(jié)。幀主要作為一種給不同類型的傳輸分配帶寬的手段。設(shè)備也可以利用常規(guī)的幀時(shí)序,于使它的活動(dòng)與USB總線同步,這對(duì)于等時(shí)設(shè)備是很有意義的。在USB線路上傳輸?shù)淖钚?shù)據(jù)塊是包。一個(gè)包由同步信號(hào)(SYNC),包ID(PID),有時(shí)還有一些數(shù)據(jù)和一些CRC校驗(yàn)字節(jié)組成。總共有四類10個(gè)PID,如下表2-1所列:
USB是一種查詢(Polled)式的總線,每一次USB數(shù)據(jù)傳輸都是由USB主機(jī)控制器發(fā)起。數(shù)據(jù)傳輸?shù)幕締卧鞘聞?wù)(Transaction),它是主機(jī)和設(shè)備之間一個(gè)或多個(gè)包的離散交換。主機(jī)總是用一個(gè)令牌(TOKEN)包開始一個(gè)Transaction。令牌包指定一個(gè)設(shè)備地址和端點(diǎn)地址。所有設(shè)備對(duì)地址進(jìn)行解碼,與此地址匹配的設(shè)備的端點(diǎn)將與主機(jī)進(jìn)行通信。在這之后是一個(gè)或多個(gè)數(shù)據(jù)包傳輸(有的Transaction也可不需要進(jìn)行數(shù)據(jù)包傳輸),傳輸方向也由令牌指定。最后是沿?cái)?shù)據(jù)傳輸?shù)姆捶较虬l(fā)送一個(gè)握手(Handshake)包。
類型標(biāo)志與意義令牌(TOKEN)OUT表示數(shù)據(jù)方向從主機(jī)到設(shè)備IN表示數(shù)據(jù)方向從設(shè)備到主機(jī)SOF表示這個(gè)包指示幀開始SETUP表示這是一個(gè)USB標(biāo)準(zhǔn)控制事務(wù)包數(shù)據(jù)(DATA)DATA0表示一個(gè)偶數(shù)據(jù)包DATA1表示一個(gè)奇數(shù)據(jù)包握手HANDSHAKEACK表示傳輸成功完成NAK一般表示器件正忙或暫時(shí)沒(méi)有數(shù)據(jù)STALL一般表示傳輸有錯(cuò)誤特殊PRE用于低速傳輸
USBPID說(shuō)明Packet類型PID名稱PID3PID2PID1PID0
TokenOUT0001TokenIN
1001TokenSOF
0101TokenSetup
1101DataDATA0
0
0
11DataDATA1
1
011HandshakeACK
0
010HandshakeNAK
1
010HandshakeStall
1
110SpecialPRE
1
100表12.9包的類型編碼五、USB交換的包格式通過(guò)USB總線的傳輸包含一個(gè)或多個(gè)交換(Transaction),而交換又是所謂“包”組成的,包是組成USB交換的基本單位。USB總線上的每一次交換至少需要3個(gè)包才完成。標(biāo)志包中有設(shè)備地址碼、端點(diǎn)號(hào)、傳輸方向和傳輸類型等信息。包的種類及格式如下:
1、標(biāo)志包(令牌包TokenPacket)USB總線是一種基于標(biāo)志的總線協(xié)議,所以,所有的交換都以標(biāo)志包(Token)為首部。PIDSYNCADDRENDPCRC8位8位7位4位5位圖12.25標(biāo)志(令牌)包格式SYNC:所有包的開始都是同步(SYNC)域,輸入電路利用它來(lái)同步,以便有效數(shù)據(jù)到來(lái)時(shí)識(shí)別,長(zhǎng)度為8位。
PID:包類型域,Token包有4種類型,它們是OUT,IN,Setup和SOF。ADDR:設(shè)備地址域,確定包的傳輸目的地。7個(gè)長(zhǎng)度,可有128個(gè)地址。ENDP:端點(diǎn)域,確定包要傳輸?shù)皆O(shè)備的哪個(gè)端點(diǎn)。4位長(zhǎng)度,一個(gè)設(shè)備可有16個(gè)端點(diǎn)號(hào)。
CRC:檢查域,5位長(zhǎng)度,用于ADDR域和ENDP域的校驗(yàn)。下面分別討論志包中的4種類型(1)幀開始包SOF(Start-of-FramePacket)USB的總線時(shí)間被劃分為幀,一個(gè)幀周期可以描述為:在主機(jī)發(fā)幀開始標(biāo)志(幀啟動(dòng)標(biāo)志)后,總線處于工作狀態(tài),主機(jī)將發(fā)送和接收幾個(gè)交換,交換完畢,然后進(jìn)入幀結(jié)束間隔區(qū),此時(shí)總線處空閑狀態(tài),等待下一個(gè)幀啟動(dòng)標(biāo)志的到來(lái),再開始下一幀。PIDSYNCFRAMENUMBERCRC8位8位11位5位圖12.26幀開始(啟動(dòng))包格式SOF
EOF間隙(FRAMEN-1)FRAMENFRAMEN+1SOFSOFSOF主機(jī)控制器有義務(wù)將USB時(shí)間劃分為以1ms為單位的幀。主機(jī)控制器以每1ms間隙產(chǎn)生SOF(Start-of-Frame)標(biāo)識(shí)以示新的一幀的開始(如圖)。SOF標(biāo)識(shí)是一幀的開始部份,在SOF標(biāo)識(shí)之后主機(jī)控制器在該幀的余下時(shí)間內(nèi)傳輸其它的東西。當(dāng)主機(jī)控制器處于正常工作狀態(tài)時(shí),SOF標(biāo)識(shí)必須以1ms為間隙連續(xù)的發(fā)送而不管其它的總線活動(dòng)。當(dāng)總線控制器處于不給總線提供能量的狀態(tài)時(shí),它不能產(chǎn)生SOF標(biāo)識(shí)。當(dāng)總線控制器不產(chǎn)生SOF標(biāo)識(shí)時(shí),它處于一種節(jié)能方式。幀序號(hào)具有以下各方面的作用:用于將兩幀唯一的區(qū)別開,在每幀的結(jié)尾處加1;對(duì)于它的后繼幀有效.
(2)接受包
(InPacket)
當(dāng)系統(tǒng)軟件要從設(shè)備中讀取住處時(shí),便使用接受包(IN),此時(shí),包類型定義為IN類型。接受標(biāo)志包包括PID類型域,類型檢查域,USB設(shè)備地址,端點(diǎn)號(hào),以及5位CRC字節(jié)。接受交換中,有4種USB傳輸類型,即中斷傳輸、批傳輸、控制傳輸?shù)臄?shù)據(jù)、等時(shí)傳輸。
(3)發(fā)送包(OutPacket)
系統(tǒng)軟件需要將數(shù)據(jù)傳到目標(biāo)USB設(shè)備時(shí),便使用發(fā)(OUT),發(fā)送標(biāo)志包包含有PID域,類型檢查域,USB目標(biāo)設(shè)備地址,端點(diǎn)號(hào)和5位的CRC字節(jié)。發(fā)送交換中,只有3種傳輸類型,即批傳輸、控制傳輸?shù)臄?shù)據(jù)、等時(shí)傳輸。
(4)設(shè)置包(SetupPacket)
在控制傳輸開始,由主機(jī)發(fā)設(shè)置包(Setup)。設(shè)置包只用于控制傳輸?shù)脑O(shè)置。設(shè)置包傳送主機(jī)的一個(gè)請(qǐng)求讓目標(biāo)設(shè)備完成.根據(jù)請(qǐng)求,設(shè)置包后面可能有一個(gè)或多個(gè)接受和發(fā)送交換執(zhí)行,或者只包含一個(gè)從端點(diǎn)傳向主機(jī)的狀態(tài)。2、數(shù)據(jù)包(DataPacket)
若主機(jī)請(qǐng)求設(shè)備發(fā)送數(shù)據(jù),則送INToken到設(shè)備某一端點(diǎn),設(shè)備將以數(shù)據(jù)(Data)包形式加以響應(yīng)。一個(gè)數(shù)據(jù)包包括PID域、數(shù)據(jù)域和CRC域3個(gè)部分,其格式如圖12.27所示。SYNCPIDDATACRC8位8位PID0~1023位5位圖12.27數(shù)據(jù)包格式3、握手包(HandshakePacket)握手包(Handshake)由設(shè)備用來(lái)報(bào)告交換的狀態(tài),通過(guò)3種不同類型的握手包可以傳送不同的結(jié)果報(bào)告。握手包是由數(shù)據(jù)的接受方(可能是目標(biāo)設(shè)備,也可能是根Hub)發(fā)向數(shù)據(jù)的發(fā)送方的。握手包有ACK、NAK和STALL三種類型應(yīng)答包(ACK)表示接受數(shù)據(jù)正確。發(fā)送設(shè)備會(huì)收到一個(gè)ACK。無(wú)應(yīng)答包(NAK)表示功能設(shè)備不能接受來(lái)自Host的數(shù)據(jù),或者沒(méi)有任何數(shù)據(jù)返回給Host。掛起包(STALL)表示功能設(shè)備無(wú)法完成數(shù)據(jù)傳輸,并且需要主機(jī)插手來(lái)解決故障,以使設(shè)備從掛起狀態(tài)中恢復(fù)正常。SYNCPID8位8位圖12.28握手包格式4、預(yù)告包當(dāng)主機(jī)希望在低速方式下與低速設(shè)備通信時(shí),主機(jī)將送預(yù)告包,作為開始包,然后與低速設(shè)備通信。六、USB
設(shè)備狀態(tài)和總線枚舉以下是USB設(shè)備從插到總線上到設(shè)備可用的整個(gè)枚舉過(guò)程。當(dāng)USB設(shè)備接到Hub上,該Hub就會(huì)通知主機(jī)發(fā)生了設(shè)備接入事件,設(shè)備進(jìn)入了連接(Attached)狀態(tài),主機(jī)檢測(cè)Hub,確認(rèn)設(shè)備的接入事件和接入端口。主機(jī)知道了有新設(shè)備接入端,則將該端口使能,并傳送一個(gè)重起(Reset)命令。Hub向端口送一個(gè)持續(xù)100ms的重起命令(Reset)信號(hào),當(dāng)Reset信號(hào)結(jié)束時(shí),端口已使能,被打開。在RSB設(shè)備收到唯一地址前,可以通過(guò)設(shè)備的默認(rèn)管道Pipe(即Endpoint0所對(duì)應(yīng)的Pipe)。主機(jī)給USB設(shè)備分發(fā)一個(gè)唯一的地址,設(shè)備進(jìn)入地址(Addressed)狀態(tài)。7.主機(jī)讀取設(shè)備的配置信息,主機(jī)以配置信息和USB設(shè)備的用途,向設(shè)備分發(fā)一個(gè)配置值。七、USB即插即用設(shè)備棧Windows驅(qū)動(dòng)程序模型(WDM)重新定義驅(qū)動(dòng)程序分層,以適應(yīng)于即插即用系統(tǒng)。一個(gè)設(shè)備棧代表處理請(qǐng)求的驅(qū)動(dòng)程序?qū)哟?,如下圖9-1所示,總線驅(qū)動(dòng)程序控制對(duì)總線上的所有設(shè)備的訪問(wèn)上層類過(guò)濾驅(qū)動(dòng)程序上層設(shè)備過(guò)濾驅(qū)動(dòng)程序功能驅(qū)動(dòng)程序下層類過(guò)濾驅(qū)動(dòng)程序下層設(shè)備驅(qū)動(dòng)過(guò)濾程序總線過(guò)濾驅(qū)動(dòng)程序總線驅(qū)動(dòng)程序更多的功能驅(qū)動(dòng)程序和過(guò)濾驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序的功能一個(gè)驅(qū)動(dòng)程序可以做的工作有:初始化它自己創(chuàng)建和刪除設(shè)備處理Win32打開和關(guān)閉文件句柄的請(qǐng)求處理Win32輸入/輸出(I/O)請(qǐng)求串行化對(duì)設(shè)備的訪問(wèn)訪問(wèn)硬件調(diào)用其他驅(qū)動(dòng)程序取消I/O請(qǐng)求和超時(shí)I/O請(qǐng)求處理一個(gè)可熱插拔的設(shè)備被加入或刪除的情況處理電源管理請(qǐng)求
設(shè)備驅(qū)動(dòng)程序在DOS中的位置,以及它如何起作:
應(yīng)用程序Win32子系統(tǒng)I/O系統(tǒng)服務(wù)I/O管理器最高層驅(qū)動(dòng)程序中間層驅(qū)動(dòng)程序最低層驅(qū)動(dòng)程序硬件抽象層(HAL)驅(qū)動(dòng)程序棧內(nèi)存管理器等用戶態(tài)內(nèi)核態(tài)終端用戶IRP
FeaturesforCypress'sEZ-USBFX2:IntegratedUSB2.0MicrocontrollerAbletotransferdataatfullUSB2.0bandwidth:56MBytes/second4kendpointbuffersGeneralPurposeInterface(GPIF),amicrocodedstatemachine,whichservesasatiminggenerator/synchronizerfor‘glueless’interfaces(ATAPI,EPP,etc.)Supports8and16bitdatapathsFourintegratedFIFOsBringsglueFIFOsinsideforlowersystemcostAutomaticconversiontoandfrom16-bitbusesMasterorSlaveoperation
EasyinterfacetoASICandDSPICs3.3-voltoperationBuilt-in8051runningat12,24,or48MHzFullyfeatured—256bytesofregisterRAM,2UARTS,3timers,twodatapointers.Fast—fourclockspercycle.Soft:8051runsfrominternalRAM,whichis:DownloadedviaUSBorLoadedfromEEPROMUpto40generalpurposeI/O’sFIFOscanuseexternallysuppliedclockorasynchronousstrobesIntegratedI2Ccompatiblecontroller,runsat100or400kHzThreepackageoptions-128-pinTQFP,100-pinTQFP,and56-pinSSOP
TypicalApplications:xDSLModemsATAInterfaceMemoryCardReadersLegacyConversionDevicesCamerasScannersHomePNAWirelessLANMP3PlayersNetworking12.2高性能串行總線標(biāo)準(zhǔn)IEEE1394一、IEEE1394總線特征IEEE1394是Apple公司于1993年首先提出,用以取代SCSI的高速串行總線“FireWire”,后經(jīng)IEEE協(xié)會(huì)于1995年12月正式接納成為一個(gè)工業(yè)標(biāo)準(zhǔn),全稱為IEEE1394高性能串行總線標(biāo)準(zhǔn)(IEEE1394HighPerformanceSerialBUSStandard)。遵從IEEE1212控制和狀態(tài)寄存器結(jié)構(gòu)標(biāo)準(zhǔn)(ControlandStatusRegisterArchitect
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 生態(tài)農(nóng)業(yè)種植技術(shù)轉(zhuǎn)讓合同
- 音樂(lè)會(huì)組織服務(wù)合同
- 蔬菜水果居間合同本月修正
- 市政工程施工合同范本
- 虛擬仿真平臺(tái)創(chuàng)業(yè)計(jì)劃書
- 國(guó)際分銷合同樣本標(biāo)準(zhǔn)3篇
- 員工入職關(guān)懷培訓(xùn)
- 湖北省“黃鄂鄂”2025年高三下學(xué)期4月聯(lián)考試題 政治 含解析
- 工程施工員試題庫(kù)+答案
- 浙江省鎮(zhèn)海市鎮(zhèn)海中學(xué)2025屆高考英語(yǔ)倒計(jì)時(shí)模擬卷含解析
- 2025屆鄂東南省級(jí)示范高中聯(lián)盟高考英語(yǔ)二模試卷含答案
- 2025購(gòu)銷合同范本下載
- (四調(diào))武漢市2025屆高中畢業(yè)生四月調(diào)研考試 地理試卷(含答案)
- 大概念視角下的初中數(shù)學(xué)函數(shù)單元整體教學(xué)設(shè)計(jì)研究與實(shí)踐
- 海南省??谑?2024年-2025年小學(xué)五年級(jí)語(yǔ)文)統(tǒng)編版期中考試((上下)學(xué)期)試卷及答案
- GB/T 13025.7-2012制鹽工業(yè)通用試驗(yàn)方法碘的測(cè)定
- 全文《中國(guó)式現(xiàn)代化》PPT
- 封條模板A4直接打印版
- 肛腸科 肛門濕瘍病中醫(yī)診療方案
- 毒理基因組學(xué)與系統(tǒng)毒理學(xué)
- 單線鐵路隧道畢業(yè)設(shè)計(jì)計(jì)算書(72頁(yè))
評(píng)論
0/150
提交評(píng)論