




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、USB3.0 與USB2.0的特性比較3.2 超速結(jié)構(gòu) 超速總線是一個分層的通訊結(jié)構(gòu),如下圖所示:協(xié)議層:協(xié)議層在主機和設(shè)備間定義了end-to-end(端到端)通訊規(guī)則。超速協(xié)議在主機和設(shè)備端點(endpoint)之間提供應(yīng)用數(shù)據(jù)信息交換。這個通訊關(guān)系叫做管道(pipe)。它是主機導(dǎo)向的協(xié)議,意味著主機決定什么時候在主機和設(shè)備間進行應(yīng)用數(shù)據(jù)傳輸。設(shè)備可以通過一個特定端點向主機發(fā)起異步請求服務(wù),所以它不是一個輪詢協(xié)議(USB2.0為輪詢協(xié)議)。 數(shù)據(jù)可以連續(xù)突發(fā)傳輸,提高總線效率。 對某些傳輸類型(塊傳輸),協(xié)議提
2、供流控支持。 SS設(shè)備可以異步發(fā)送,通知主機,設(shè)備的功能狀態(tài)發(fā)生改變。而不是輪詢的方式。設(shè)備端點可以通過設(shè)備異步發(fā)送的“ready”包(ERDY TP)通知主機進行數(shù)據(jù)發(fā)送與接收,主機對于“ready”通知,如果有有效的數(shù)據(jù)發(fā)送或者緩存接收數(shù)據(jù),會添加管道。 主機發(fā)送包含主機時間戳的特殊包頭(ITP)到總線上,該值可以用于保持設(shè)備和主機同步(如果需要的話)。超速USB電源管理:鏈路電源管理的關(guān)鍵點是:·設(shè)備向主機發(fā)送異步“ready”通知· 包是有路由路徑的,這樣就允許不參與數(shù)據(jù)通訊的鏈路進入或仍舊停留在低電源狀態(tài)。· 如果包送到一個處于低電源狀態(tài)的端口
3、,這個端口會切換到退出低電源狀態(tài)并指示這是個切換事件。設(shè)備: ·超速需要支持USB2.0對默認的控制管道的規(guī)定。HUB設(shè)備:因為USB3.0向下兼容USB2.0,為支持USB3.0雙總線結(jié)構(gòu),USB3.0 HUB在邏輯上是兩個HUB的組合:一個USB2.0 HUB和一個USB3.0 HUB。連接到上游端口的電源和地線是共享的。集線器(HUB)參與到一個端到端的協(xié)議中,所承當?shù)墓ぷ鳎?#183;路由選擇輸出的包到下游端口。·輸入包混合傳遞到上游端口·當不在低功耗狀態(tài)下時,向所有下游端口廣播時間戳包(ITP),即為同步時間信息包
4、。·當在一個低功耗狀態(tài)的端口檢測到包時,集線器將目標端口轉(zhuǎn)變成退出低功耗狀態(tài),通知主機和設(shè)備(帶內(nèi))包遭遇到了一個在低功耗狀態(tài)的端口。主機(Hosts): 一個USB3.0主機通過主控器和USB設(shè)備互連。為了支持USB3.0雙總線結(jié)構(gòu),USB3.0主控器必須包括超速(USB3.0)和USB2.0部分,這樣可以同時管理每一個總線上主機和設(shè)備間的控制、狀態(tài)和信息交換。主機含有幾個根下行端口實現(xiàn)超速USB和USB2.0,主機通過這些端口:·檢測USB設(shè)備的連接和移除;·管理主機和設(shè)備間的控制流;·管理主機和設(shè)備間的數(shù)據(jù)流;·收集狀態(tài)和活動統(tǒng)
5、計;·對連接的設(shè)備供電;USB系統(tǒng)軟件繼承了USB2.0的結(jié)構(gòu),包括:·設(shè)備枚舉和配置;·規(guī)劃周期性和異步數(shù)據(jù)傳輸;·設(shè)備和功能電源管理;·設(shè)備和總線管理信息。數(shù)據(jù)流模型:超速USB集成了USB2.0的數(shù)據(jù)流模型,包括: ·主機和設(shè)備間的數(shù)據(jù)和控制交換通過管道(pipe)進行 ,數(shù)據(jù)傳輸在主機軟件和指定的設(shè)備端點間進行。·設(shè)備可以有不止一個的活動管道,有兩種類型的管道:流式管道(數(shù)據(jù))和消息管道(控制),流式管道沒有USB2.0定義的結(jié)構(gòu),消息管道有指定的結(jié)構(gòu)(請求的結(jié)構(gòu))。管道相關(guān)聯(lián)的是數(shù)據(jù)帶寬,傳輸類
6、型(見下面描述),端點屬性,如傳輸方向與緩沖大小。 ·大多數(shù)管道在系統(tǒng)軟件對設(shè)備進行配置后才存在,但是當設(shè)備上電在默認的狀態(tài)后,一個消息管道即默認的控制管道總是存在的。提供權(quán)限訪問設(shè)備的配置,狀態(tài)和控制信息。·一個管道支持USB2.0定義的四種傳輸類型的一種(管道和端點屬性一致)。·海量傳輸類型(bulk)在超速中進行了擴展,叫做流(stream)。流式提供在協(xié)議級支持在標準塊傳輸管道中多路傳輸多個獨立的邏輯數(shù)據(jù)流。第四章 超速數(shù)據(jù)流模型4.2超速通信流SS保持相似的觀念和機理,支持端點,管道和傳輸類型。參考USB2.
7、0協(xié)議。端點的屬性(最大包尺寸(端點緩存大?。话l(fā)大小等)被記錄在描述符中和SS Endpoint Companion Descriptor。正如在USB2.0中,端點是使用三個參數(shù)組成的地址來驗證(設(shè)備地址,端點號和方向)。所有的SS設(shè)備必須起碼在默認控制管道(端點0)開始執(zhí)行。4.2.1 管道一個超速管道是一個設(shè)備上的端點和主機軟件的連接。管道代表擁有緩存空間的主機軟件和設(shè)備端點之間傳輸數(shù)據(jù)的能力,和USB2.0有相同的過程。主要的區(qū)別在于當超速的非同步端點忙時,會返回一個沒有準備好(NRDY)應(yīng)答,當它想又要服務(wù)時必須發(fā)送準備好(ERDY)通知。主機在下一個傳輸類型限制下的有效時機中重
8、新安排事務(wù)。4.3超速協(xié)議綜述:正如在USB3.0結(jié)構(gòu)總覽那章中提到的,超速協(xié)議是利用雙差分數(shù)據(jù)線的物理層。所有的USB2.0的類型都可以被高速協(xié)議支持。協(xié)議之間的區(qū)別在于下面要首先討論的超速中使用的包的描述。4.3.1與USB2.0的區(qū)別:在框架上,超速是向后兼容USB2.0的,但是二者在協(xié)議上還是有一些重大的不同:·USB2.0的transaction(事務(wù)處理)有三部分(令牌(token)、數(shù)據(jù)(data)和握手(handshake),超速也是這三部分但是用法不同(令牌包集成在頭包和DPH中,各種類型的握手包都是TP包形式);對于OUT事務(wù),令牌被合并在數(shù)據(jù)包中;對于IN事務(wù),
9、令牌被握手包代替。·USB2.0不支持突發(fā)(bursting),超速支持持續(xù)突發(fā);·USB2.0是半雙工(half-duplex)的廣播總線,超速是dual-simplex(全雙工)的非廣播總線,支持同時進行IN、OUT transaction;·USB2.0使用輪詢模式,超速使用異步通知方式;·USB2.0不支持流能力,超速支持海量(bulk)端點的Stream方式;·USB2.0在同步傳輸(isochronous)間隔中沒有進入低耗電狀態(tài)的機制,超速則允許同步傳輸服務(wù)間隔中自動進入低耗電狀態(tài)(不服務(wù)的時間段進入低功耗);SS主機在
10、服務(wù)間隔前發(fā)送一個PING包到目標同步設(shè)備允許開始同步傳輸之前轉(zhuǎn)變成電源活動狀態(tài)。·USB2.0設(shè)備無法通知主機自己在進入低耗電狀態(tài)前可容忍的延遲時間(設(shè)備通知主機自己進入低功耗狀態(tài)的最長延遲時間),超速則提供Latency Tolerance消息;·USB2.0以固定的1ms/125us間隔發(fā)送幀包/小幀包(USB 2.0全速和高速模式)。超速下,設(shè)備可以發(fā)送Interval Adjustment消息給主機調(diào)整間隔125us一直到+/-13.333us;·USB2.0電源管理總是主機導(dǎo)向(主機初始化)的,超速鏈路兩端都支持電源管理;因此不管何
11、時需要空閑,需要退出,需要通信,每個鏈路能獨立的進入低電源狀態(tài)。·USB2.0 僅在每個transaction進行end-to-end級別的錯誤檢測、恢復(fù)、流控,超速在end-to-end(數(shù)據(jù)包重試)和鏈路級別(頭包重試)分割這些功能。4.3.2比較USB2.0和超速的事務(wù)處理(Transaction)超速全雙工總線物理層允許同時進行雙向的通信。超速協(xié)議允許收到握手包之前發(fā)送多個數(shù)據(jù)包(突發(fā))。對于OUT傳輸,包含在USB2.0令牌包中的信息(設(shè)備地址和端點信息)被合并在數(shù)據(jù)包頭里面,因此不需要額外令牌包。對于輸入傳輸IN,超速主機發(fā)送一個握手包(ACK)給設(shè)備以請求數(shù)據(jù)
12、(和指示數(shù)據(jù)是否正確)。設(shè)備可以通過返回數(shù)據(jù)或者返回STALL握手包來應(yīng)答,或者返回一個沒準備好(NRDY)握手包延遲傳輸直到設(shè)備準備好了。USB2.0的包是廣播方式,每個連接的設(shè)備解析每個包的地址、端點、方向信息來決定自己是否應(yīng)該響應(yīng)。超速包有路由信息,HUB決定每個包要送達哪個設(shè)備,只有一個例外,等時(同步)時間戳包(Isochronous Timestamp Packet, ITP)廣播到每一個設(shè)備。USB2.0的查詢方式已經(jīng)被異步通知代替。超速傳輸通過主機發(fā)出一個請求來開始傳輸,后面跟隨著設(shè)備的應(yīng)答。如果設(shè)備能接受請求,它就接收數(shù)據(jù)或者發(fā)送數(shù)據(jù);如果端點停
13、止了,設(shè)備應(yīng)該以STALL握手包響應(yīng);如果設(shè)備由于缺少緩存空間或者沒有數(shù)據(jù)而不能接受請求,應(yīng)該以NRDY應(yīng)答告訴主機現(xiàn)在還不能處理請求。當?shù)鹊皆O(shè)備能接受請求時,設(shè)備會主動發(fā)送一個端點準備好(ERDY)異步通知給主機然后主機會重新安排傳輸事務(wù)。單路傳送和有限制的多點廣播的包以及異步通知,都允許沒有活躍傳輸包的鏈路進入一個降低功耗狀態(tài),上游和下游端口共同決定它們的鏈路進入一個低功耗狀態(tài),集線器會傳遞到上游端口。通過允許鏈路伙伴獨立控制它們的鏈路電源狀態(tài),集線器將任意下游端口可見的最高鏈路電源狀態(tài)傳遞到上游端口,使總線快速進入最低允許電源狀態(tài)。4.3.1.2超速包介紹:超速包以16字節(jié)的頭部開始。一
14、些包只包含有頭部(TP,LMP,ITP)。所有的頭部以用于決定包處理方式的包類型信息開始。頭部有16位CRC保護,以2個字節(jié)鏈路控制字(link control word)結(jié)束。依賴于類型,大多數(shù)包包含有路由信息(路由字符)和一個三參數(shù)的設(shè)備地址(設(shè)備地址,端點號和方向)。路由字符給主機用來指導(dǎo)包被發(fā)送到被指向的拓撲路徑。設(shè)備發(fā)送的包被集線器默認路由選擇,集線器總是把數(shù)據(jù)從任何可見的下游端口傳到上游端口(這一過程不需要路由信息)。有四種基本類型的包:(協(xié)議層)·Link Management Packet(LMP),只穿過一對直接連接的端口(鏈路兩端),主要用來管
15、理鏈路。·Transaction Packet(TP,事務(wù)包),穿過所有直接連接主機與設(shè)備的鏈路,用來控制流式數(shù)據(jù)包,配置設(shè)備和集線器等(任何傳輸類型的事務(wù)處理都用到)。注意一個Transaction Packet是沒有數(shù)據(jù)的。(控制命令包,TP包就是一個包頭(DPH)·Data Packet(DP),穿過所有直接連接主機與設(shè)備的鏈路,數(shù)據(jù)包有兩部分組成,一個和TP包相似的數(shù)據(jù)包頭(DPH)和帶有數(shù)據(jù)塊加上用來確保數(shù)據(jù)完整性的32位CRC的數(shù)據(jù)包(DDP)·Isochronous Timestamp Packet(
16、ITP)。它被主機用來多點廣播到所有的活動的鏈路上。4.4 對傳輸(transfer)的一般性描述:每一個發(fā)送給接收器的非同步數(shù)據(jù)包通過一個握手包(ACK TP)被應(yīng)答(同步端點不應(yīng)答,非同步端點要為每個收到的數(shù)據(jù)包進行應(yīng)答,以報告是否正確傳輸和是否要重傳),但是由于超速有獨立的發(fā)送與接收路徑,所以發(fā)送器不必在發(fā)送下一個包之前為每次傳輸?shù)臄?shù)據(jù)包等待一個握手(超速USB的一個特色:同時進行發(fā)送數(shù)據(jù)與接收應(yīng)答,當設(shè)備檢測到數(shù)據(jù)包錯誤時或者端點錯誤,沒準備好等,都會通過在應(yīng)答TP包中反應(yīng)給主機,主機收到的應(yīng)答TP包中記錄出錯的包順序號,于是主機從錯誤的那個順序號開始重新發(fā)送包)。超速保護所有的基本數(shù)
17、據(jù)流和USB2.0定義的傳輸觀點,包括傳輸類型,管道和基本數(shù)據(jù)流模式。和USB2.0的區(qū)別在這章被討論,開始是協(xié)議層,然后是傳輸類型。USB2.0規(guī)范利用一系列事務(wù)處理的模式。這從本質(zhì)上意味這主機是在開始下一次事務(wù)前完成這一次總線處理(令牌,數(shù)據(jù)和握手)。分離事務(wù)處理也堅持這相同模式,因為他們由完整的高速事務(wù)組成,類似所有其他事務(wù)在相同的模式下完成。超速通過實施發(fā)送與接受同步改善了USB2.0事務(wù)的協(xié)議。因此超速USB事務(wù)處理協(xié)議本質(zhì)上是一個分離的事務(wù)處理協(xié)議,它允許在同一時間不止一個OUT總線事務(wù)處理(設(shè)備可以多個)和至多一個IN總線事務(wù)處理(主機只有一個)在總線上活動。設(shè)備對事務(wù)處理的應(yīng)答
18、的命令是確定在每個端點基礎(chǔ)上(例如,如果一個端點接收三個DP包,端點必須為每一個DP包返回ACK TP告知收到DP包)。USB2.0協(xié)議要在繼續(xù)下一個總線事務(wù)處理之前完成整個IN或OUT事務(wù)(令牌,數(shù)據(jù)和握手包連續(xù)傳輸),所有的來自主機的傳輸本質(zhì)上是廣播到USB2.0總線上的每一個活動設(shè)備,與之比較起來,超速協(xié)議不進行廣播任何包(ITP除外),包只穿過需要達到目標接收方的鏈路,主機通過發(fā)送握手請求(ACK TP)或者發(fā)送數(shù)據(jù)(OUT)開始所有的事務(wù),設(shè)備以數(shù)據(jù)或者握手來應(yīng)答。假如設(shè)備沒有有效的數(shù)據(jù)(IN)或者不能接受數(shù)據(jù)(OUT),它會以一種包(NRDY)來應(yīng)答以指示不能進行此操作。之后,當設(shè)
19、備準備好發(fā)送或者接收數(shù)據(jù)時,它會發(fā)送一個包給主機指示它已經(jīng)準備好重新進行事務(wù)處理。除此之外,超速提供將鏈路轉(zhuǎn)變成指定的低電源狀態(tài)或者退出低電源狀態(tài)的能力。低電源鏈路狀態(tài)可以在軟件使能以后由軟件控制或者自發(fā)的硬件控制來進入。還提供一個自動將主機與設(shè)備之間的所有鏈路由非活動電源狀態(tài)轉(zhuǎn)變成活動電源狀態(tài)的機制。設(shè)備在每個端點的描述符中記錄每個端點的最大包尺寸。這個尺寸只指示負載數(shù)據(jù)塊長度,不包括鏈路層和協(xié)議層的包頭(DPH)。超速的帶寬分配相似于USB2.0。4.4.1 Data Bursting(突發(fā)數(shù)據(jù))突發(fā)數(shù)據(jù)通過消除在每個基于數(shù)據(jù)包應(yīng)答的等待時間提高效率(即無需等待應(yīng)答就能處理數(shù)據(jù))。每個超速
20、設(shè)備上的端點指示了它在必須等待一個明顯握手之前能夠發(fā)送/接受的包數(shù)量(稱之為最大數(shù)據(jù)突發(fā)大?。W畲髷?shù)據(jù)突發(fā)大小是一個每個端點各自的能力,一個主機從與端點相關(guān)的SuperSpeed Endpoint Companion descriptor描述符決定一個端點的最大數(shù)據(jù)突發(fā)大小。主機在每個事務(wù)處理的基礎(chǔ)之上能動態(tài)改變突發(fā)大小,直到最大突發(fā)大小被配置了。主機能使用不同突發(fā)大小的一個例子,不受限于,但是包括一個主機上的公平?jīng)Q策和中斷流的重試。 當端點是OUT類型,主機能容易控制突發(fā)大小(接收器必須總是能管理突發(fā)大小事務(wù)處理),當端點為IN類型,主機能基于每次事務(wù)處理限制端點突發(fā)大小,是通過在發(fā)送給設(shè)
21、備的應(yīng)答包中的一個域來限制。4.4.2 IN transfer(輸入傳輸):主機和設(shè)備應(yīng)該延續(xù)傳輸類型和端點屬性的約束。一個主機通過發(fā)送一個ACK確認請求包給設(shè)備(IN)開始請求一次傳輸。這個確認(握手包)包包含了數(shù)據(jù)包路由選擇到想要的端點所需要的地址信息。主機告知設(shè)備它可以發(fā)送的數(shù)據(jù)包數(shù)量和期望來自于設(shè)備第一個包的序號(0)。在應(yīng)答中,端點會發(fā)送正確的序列號的數(shù)據(jù)包給主機,主機發(fā)的確認包也暗中應(yīng)答了之前成功收到的數(shù)據(jù)包(以及請求下一個順序號的數(shù)據(jù)包)。注意:即使主機需要為每一個收到的數(shù)據(jù)包發(fā)送一個確認包,但是設(shè)備可以不需等待任何確認包就發(fā)送所需要的數(shù)據(jù)包數(shù)量。超速總線的一次IN傳輸
22、由一個或多個IN事務(wù)處理組成,一個IN事務(wù)處理由一個或多個包組成(比如主機發(fā)送ACK TP,設(shè)備發(fā)送DP或NRDY TP或STALL)。當下面的任何條件發(fā)生,都能結(jié)束IN傳輸:·所有數(shù)據(jù)已經(jīng)成功傳送;·設(shè)備端點發(fā)送一個短包(比最大包尺寸小的包)作為應(yīng)答;·端點響應(yīng)錯誤。(Host發(fā)送IN packet之后,設(shè)備可以持續(xù)發(fā)送多個數(shù)據(jù)包,不需要等待每個包都得到host的確認包(ACK TP),因為超速是dual-simplex(全雙工)的,但是設(shè)備收到的總的認可包數(shù)量應(yīng)該和設(shè)備發(fā)送的數(shù)據(jù)包數(shù)量一樣。)4.4.3 OUT transfer:主機通過發(fā)
23、送一個突發(fā)數(shù)據(jù)包給設(shè)備開始一次OUT傳輸,每一個數(shù)據(jù)包(的DPH)包含需要路由選擇目標端點的地址信息,也包含數(shù)據(jù)包的順序號(作為區(qū)分不同發(fā)送順序的數(shù)據(jù)包標號)。對于一個非同步事務(wù),設(shè)備返回一個確認包,其中包含下個要接收的數(shù)據(jù)包順序號和隱含地應(yīng)答當前數(shù)據(jù)包。注意:雖然設(shè)備需要為每個收到的數(shù)據(jù)包發(fā)一個確認包,但是主機不需等待一個應(yīng)答就能發(fā)送最大的突發(fā)數(shù)據(jù)包數(shù)量給設(shè)備。OUT transfer在下列情況下時會結(jié)束:·所有數(shù)據(jù)已經(jīng)成功傳送;·Host發(fā)送了一個短包;·端點響應(yīng)錯誤。四種transfer類型:control、bulk、interrupt、isoch
24、ronous transfer。用意同USB2.0,但是bulk 最大包大小增加為1024B,control端點最大包大小增加為512B。control 端點不支持burst,bulk可以burst 116,bulk還增加了Stream能力;interrupt、isochronous可以burst 116(當最大突發(fā)大小為1時,對于同步傳輸,其最大包大小能為0-1024之間任意大小,對于中斷端點,最大包大小可以在1-1024之間任意大小;如果最大突發(fā)大小為>1時,最大包大小只能為1024)。4.4.5 控制傳輸控制傳輸?shù)哪康呐c特點與USB
25、2.0協(xié)議完全相同。這個規(guī)格的協(xié)議層章節(jié)詳細描述了用于完成控制傳輸?shù)陌?,總線事務(wù)處理和事務(wù)處理流程。設(shè)備架構(gòu)那章定義了完整系列的設(shè)備使用的標準命令編碼。每個設(shè)備需要啟動默認控制管道作為一個消息管道。這個管道用來進行設(shè)備初始化和管理,用來訪問設(shè)備描述符和向設(shè)備請求對其進行操作(在設(shè)備級)??刂苽鬏敱仨毦S持相同的在USB2.0中定義的請求(獲取描述符等命令)。超速系統(tǒng)會制造一個最好的條件情況支持主機與設(shè)備間的控制傳輸。正如USB2.0,功能和客戶軟件不能為控制傳輸主動要求指定帶寬(不是能分配10%的帶寬嗎?)。4.4.5.1 控制傳輸包大小控制端點有一個固定的最大控制傳輸數(shù)據(jù)包大小為512字節(jié)(同
26、時反應(yīng)了端點緩存大?。_€有一個最大突發(fā)大小為1(控制傳輸不支持突發(fā)數(shù)據(jù)?)。這些最大值適用于在控制傳輸數(shù)據(jù)階段的所有的數(shù)據(jù)事務(wù)處理。參考8.12.2章,詳細描述了超速控制傳輸?shù)慕ⅲ╯etup)與數(shù)據(jù)階段(data)。超速設(shè)備在設(shè)備描述符的bMaxPacketSize域中必須記錄一個09H的值。默認控制管道的默認最大包大小的解碼規(guī)則在9.6.1章被給出(2的9次方=512B)。默認控制管道必須支持最大順序值為32(在0-31范圍的順序值被使用)。USB2.0與超速之間,設(shè)備到主機和主機到設(shè)備的數(shù)據(jù)階段數(shù)據(jù)傳輸和完成一般沒有什么改變。4.4.5.2 控制傳輸帶寬需求設(shè)備沒有方法為控制管道指示想
27、要的帶寬。主機通過權(quán)衡所有控制管道總線訪問需求與在那些管道上掛起事務(wù)處理來提供一個最好的情況給客戶軟件和功能設(shè)備之間的傳輸。這個規(guī)則跟USB2.0相似。超速需要保留有效的總線帶寬給控制管道作為以下使用:·控制傳輸事務(wù)處理可能與其他被定義功能端點的事務(wù)處理一同被安排·控制傳輸?shù)闹卦嚥荒軆?yōu)先于其他最好情況的事務(wù)處理·如果有控制傳輸和塊傳輸為多個端點掛起,根據(jù)一個主機控制器相關(guān)的公平規(guī)則,不同端點的控制傳輸被選擇服務(wù)。 ·當一個控制端點傳輸一個流控制事件,主機會移除來自于被安排的活動端點。一旦收到一個來自于設(shè)備準備好的通知,主機會對這個端點恢復(fù)傳輸。這些要求允
28、許主機與設(shè)備間的控制傳輸周期性的通過有最好條件的超速總線移動數(shù)據(jù)。系統(tǒng)軟件的任意操作行為在USB2.0 5.5.4定義。超速控制傳輸同樣適用。4.4.5.3 控制傳輸數(shù)據(jù)流程超速保護消息格式和在USB2.0定義的控制傳輸?shù)囊话汶A段流程。超速協(xié)議定義了對控制傳輸建立和狀態(tài)階段的相同改變。4.4.6 塊傳輸此規(guī)格的8.12.1章詳細描述了用來完成塊傳輸?shù)陌偩€事務(wù)處理和事務(wù)處理流程。塊傳輸類型是用來支持想要跟相當大的海量數(shù)據(jù)通信設(shè)備,傳輸能使用任何可用的超速帶寬。超速塊傳輸功能端點提供以下:·對基于有限帶寬的超速總線訪問·保證數(shù)據(jù)的發(fā)送,但是不保證帶寬和發(fā)送時間超速維持下面的
29、塊傳輸管道特征:·對塊傳輸管道通信流沒有強制固定的數(shù)據(jù)結(jié)構(gòu)·塊傳輸管道是一個流式管道,因此總是有通信流進出主機。如果應(yīng)用需要一個雙向塊傳輸通信流,必須使用兩個塊傳輸管道(一個OUT,一個IN)。標準USB塊傳輸管道提供移動數(shù)據(jù)流的能力。超速增加了協(xié)議級支持多倍流模式的流式概念。4.4.6.1 塊傳輸數(shù)據(jù)包大小塊傳輸端點應(yīng)該在端點描述符中設(shè)置最大數(shù)據(jù)包大小為1024字節(jié)。也要指定端點在超速總線上能夠接受或發(fā)送的突發(fā)大小。可允許的塊傳輸端點突發(fā)大小在1到16的范圍。所有的超速塊傳輸端點要支持0-31的順序值。主機需要支持任何超速bulk傳輸端點和所有的bulk傳輸突發(fā)大小。主機
30、要確保發(fā)送給端點的數(shù)據(jù)包的數(shù)量不能超過描述符中定義的最大包大小。此外,發(fā)送的突發(fā)數(shù)據(jù)包不能超過記錄的最大突發(fā)大小。塊傳輸功能端點發(fā)送的數(shù)據(jù)包,其數(shù)據(jù)域必須總是小于等于1024字節(jié)。如果塊傳輸數(shù)據(jù)量超過1024,則突發(fā)事務(wù)中所有數(shù)據(jù)包除了最后一次,都必須是1024字節(jié)大?。?,最后一次是剩下的不足1024字節(jié)的數(shù)據(jù)。塊傳輸可以持續(xù)多個總線事務(wù)處理。塊傳輸在端點有以下情況時完成:·已經(jīng)準確傳輸完了所期待的數(shù)據(jù)·傳輸了一個比1024字節(jié)少的數(shù)據(jù)包(短包)·應(yīng)答STALL握手包4.4.6.2 塊傳輸帶寬需求正如USB2.0,塊傳輸功能端點沒有方法為塊管道指定想要的帶寬。塊事
31、務(wù)處理只發(fā)生在超速總線上有可用帶寬的基礎(chǔ)上。超速提供一個最好的條件在客戶軟件和功能設(shè)備間傳輸塊數(shù)據(jù)。控制傳輸對總線操作比塊傳輸更有優(yōu)先權(quán)(對總線操作的優(yōu)先級,控制傳輸比較高)。當有多個端點的bulk傳輸掛起時,主機會根據(jù)一個公平訪問原則提供事務(wù)處理的機會給每個端點,這就是主機依賴性操作。所有在系統(tǒng)中掛起的塊傳輸競爭相同的有效總線時間。端點和客戶軟件不能為塊傳輸假定配置一個指定的服務(wù)率(總線帶寬不能為塊傳輸主動分配)??偩€時間被提供給客戶軟件,由于其他設(shè)備被插入到系統(tǒng)或者從系統(tǒng)中移除或者因為塊傳輸被其他功能端點需要,端點能被改變??蛻糗浖荒芗俣ㄔ趬K傳輸和控制傳輸之間的順序,即在一些情形中,塊傳
32、輸能在控制傳輸?shù)那懊孢M行。主機在帶有塊傳輸端點的事務(wù)處理中能使用任何在1和記錄的最大的突發(fā)大小,更高效的利用有效總線帶寬。例如,可能有比有效總線帶寬更多的塊傳輸,所以主機可以每次使用事務(wù)中更小的數(shù)據(jù)突發(fā),以提供公平服務(wù)給所有掛起的塊數(shù)據(jù)流(因為塊傳輸多,有效帶寬少,所以為了能公平給所有等待的塊傳輸機會,主機會使用事務(wù)處理中比較小的數(shù)據(jù)突發(fā)大小,從而將有效帶寬充分平均分配給所有塊傳輸)。當一個塊傳輸端點傳輸一次流控制事件(在8.10.1章定義)時,主機會從安排的活動端點中移除它,主機會基于接收到來自于設(shè)備的準備好通知恢復(fù)端點的傳輸。4.4.6.3 塊傳輸數(shù)據(jù)流程塊事務(wù)處理為數(shù)據(jù)可靠傳輸使用標準的
33、突發(fā)序列,在8.10.2章定義。塊端點通過一次合適的控制傳輸(SetConfiguration, SetInterface, ClearEndpointFeature)被初始化成最初的發(fā)送/接受順序號和突發(fā)大小值(8.12.1.2 和8.12.1.3)。同樣,主機在已經(jīng)成功完成了上面提到的合適的控制傳輸后,配置塊傳輸管道初始的發(fā)送/接收序列號和突發(fā)大小值。超速塊管道的停止條件跟USB2.0定義的塊端點一樣同樣有副作用。從停止條件中恢復(fù)也跟USB2.0相同。塊管道停止條件包括STALL握手包作為一次事務(wù)處理的應(yīng)答或者由于發(fā)送錯誤主機事務(wù)處理的重試次數(shù)消耗完的應(yīng)答。4.4.7 中斷傳輸中斷傳輸類型
34、用來支持帶有輪詢服務(wù)間隔需要高可靠性傳輸小數(shù)量數(shù)據(jù)的設(shè)備。這個規(guī)格的協(xié)議層章詳細描述了與中斷傳輸相關(guān)的包,總線事務(wù)和事務(wù)處理流程。超速中斷傳輸類型一般提供以下方面:·能保證最大的服務(wù)間隔·能保證在下一次服務(wù)間隔中嘗試重新傳輸在每個服務(wù)周期中為中斷端點嘗試中斷傳輸,保留一定帶寬保證在每個服務(wù)間隔嘗試傳輸。一旦傳輸成功,就不嘗試另外一次傳輸(在此周期內(nèi)),直到下一個輪詢服務(wù)周期到來(保證每個服務(wù)周期中嘗試一次中斷傳輸)。如果端點以沒有準備好的通知或者一個指示不能接收任何包的ACK應(yīng)答,則主機不會在此次服務(wù)中嘗試另外一次到端點的傳輸,除非接收到準備好的通知。然后主機必須在收到(準
35、備好)通知后的2個服務(wù)周期內(nèi)服務(wù)端點。端點服務(wù)周期的請求在它的端點描述符中描述。超速維持中斷管道下面的特性:·沒有數(shù)據(jù)內(nèi)容結(jié)構(gòu)用于中斷管道通信流·中斷管道是一條流式管道,因此總是單向的。4.4.7.1 中斷傳輸包大小中斷傳輸端點指定了超速總線上可以接受的/發(fā)送的最大數(shù)據(jù)包大小,對于支持突發(fā)次數(shù)(burst size)大于1的中斷端點,僅僅允許的最大數(shù)據(jù)包大小為1024字節(jié);對于突發(fā)次數(shù)等于1的中斷端點,最大數(shù)據(jù)包大小能為1到1024的任何值。中斷端點允許的最大的突發(fā)次數(shù)是3. 所有的超速中斷端點應(yīng)該支持在范圍0-31的順序值。超速中斷端點只用來移動帶有界限服務(wù)間隔的小數(shù)量數(shù)
36、據(jù)。超速協(xié)議不要求中斷事務(wù)處理的包為最大化大?。床灰竺總€數(shù)據(jù)包都為1024字節(jié)大)。主機被要求支持超速中斷端點,主機應(yīng)該支持所有允許的中斷包大小和突發(fā)大小的組合。主機要確保在一次突發(fā)事務(wù)處理中發(fā)送到端點的數(shù)據(jù)包大小不能超過端點的最大數(shù)據(jù)包大小。在突發(fā)事務(wù)處理中主機也不能發(fā)送超過端點最大突發(fā)大小的數(shù)據(jù)包數(shù)量。中斷端點應(yīng)該總是發(fā)送帶有數(shù)據(jù)域小于等于端點最大數(shù)據(jù)包大小的包,如果中斷傳輸有比適應(yīng)端點最大數(shù)據(jù)包大小更多的信息,所有的突發(fā)事務(wù)處理的數(shù)據(jù)都要求為最大包大小,除了突發(fā)事務(wù)處理的最后一個數(shù)據(jù)包,就是包含剩下的數(shù)據(jù)。中斷傳輸可以包含多個突發(fā)事務(wù)。中斷傳輸是在端點做以下幾個完成的:·已
37、經(jīng)傳輸了所需精確的數(shù)據(jù)量·傳輸了比最大包尺寸小的數(shù)據(jù)包(短包)·應(yīng)答STALL握手包4.4.7.2 中斷傳輸帶寬需求周期性端點(中斷和同步)可以被分配到超速總線可利用帶寬的80%。中斷管道的端點通過端點描述符指定它想要的服務(wù)間隔,中斷端點能指定一個想要的周期2(bInterval-1) x 125 s,bInterval值是在范圍1到(包含16)16。USB系統(tǒng)軟件會在配置期間使用這個信息,決定能被采用的連續(xù)周期。被系統(tǒng)提供的周期可以縮到比設(shè)備想要的還短,最短到超速定義的周期大小(也是參考的總線輪詢周期125s)。注意總線上的錯誤能阻止中斷事務(wù)處理在總線上的成功傳輸,因此超
38、過了想要的周期。超速中斷端點在每個服務(wù)周期能提升到三個最大數(shù)據(jù)包的大?。?x1024bytes)。對于中斷傳輸,主機沒有方法決定端點是否在沒有訪問端點和請求一個中斷傳輸下進行源/同步數(shù)據(jù)。如果一次IN中斷端點沒有中斷數(shù)據(jù)要傳輸或者OUT中斷端點沒有充足buffer接受數(shù)據(jù),當被主機訪問的話,會以一個流控制進行應(yīng)答。當有中斷數(shù)據(jù)掛起避免客戶軟件錯誤通知傳輸完成的時候,端點應(yīng)該只提供中斷數(shù)據(jù)。一個數(shù)據(jù)負載為零長度的數(shù)據(jù)包是一次有效傳輸,可以用來進行某些操作。主機可以在輪詢服務(wù)周期中任何時刻訪問一個端點。 中斷端點不應(yīng)該在嘗試事務(wù)處理之間分配固定的空間。中斷端點只能假定它在輪詢服務(wù)周期會收到一次事務(wù)
39、處理嘗試。錯誤能阻止輪詢服務(wù)周期中的數(shù)據(jù)成功傳輸,主機不被要求在同一個輪詢服務(wù)周期中重新嘗試事務(wù)處理,只在下一個輪詢服務(wù)周期中重試事務(wù)處理。4.4.7.3中斷傳輸數(shù)據(jù)流程中斷事務(wù)處理使用標準的突發(fā)流程進行可靠的數(shù)據(jù)傳輸(在8.10.2)。中斷端點通過適當?shù)目刂苽鬏敚⊿etConfiguration, SetInterface, ClearEndpointFeature)被初始化成初始的發(fā)送或者接收順序號值和突發(fā)大?。▍⒖?.12.4.1和8.12.4.2)。主機在完成了合適的控制傳輸后成功為中斷管道設(shè)置初始的發(fā)送/接收序列號和突發(fā)大小。超速中斷管道停止條件和USB2.0定義的中斷端點一樣有相同
40、的副作用。從停止條件中恢復(fù)也跟USB2.0相同(Section 5.7.5 in the Universal Serial Bus Specification, Revision 2.0.)。中斷管道停止條件包含STALL握手包對事務(wù)處理應(yīng)答或者對由于發(fā)送錯誤導(dǎo)致主機事務(wù)處理嘗試次數(shù)的消耗的應(yīng)答。4.4.8 同步傳輸正如USB2.0一樣,超速同步傳輸類型是用來支持想要能容忍錯誤,周期性的輪詢服務(wù)的傳輸流。超速跟USB2.0一樣不發(fā)送起始幀,但是時序信息要通過同步時間戳包(ITP)被發(fā)送給設(shè)備。這個規(guī)格的協(xié)議層章詳細描述了用來完成同步傳輸?shù)陌?,總線事務(wù)和事務(wù)處理流程。也描述了怎么樣傳送時序信息給
41、設(shè)備。超速同步傳輸類型提供下面的:·保證在超速總線上一定范圍延遲嘗試事務(wù)處理的帶寬·只要數(shù)據(jù)被提供給管道,保證通過管道的數(shù)據(jù)率同步事務(wù)處理在每個服務(wù)周期在同步端點上被嘗試。超速總線上承認的同步端點被保證它們需要的總線帶寬。主機在對設(shè)備的特殊端點進行輪詢服務(wù)間隔的任何時候都能請求來自設(shè)備的數(shù)據(jù)或者發(fā)給設(shè)備數(shù)據(jù)。被要求的端點輪詢服務(wù)周期在端點描述符中被定義。超速同步傳輸是用來支持一個以相同平均速率產(chǎn)生和消耗數(shù)據(jù)的發(fā)送器/接受器。超速同步管道是一種流管道,總是單向的管道。端點描述符確定被給定的同步管道通信流是流向主機還是流出主機。如果設(shè)備需要雙向的同步通信流,則要使用兩個同步管道
42、,一個輸入,一個輸出。無論任何時候當同步傳輸需要穿過非活動鏈接, 超速電源管理都會妨礙到同步傳輸。結(jié)果延遲會導(dǎo)致數(shù)據(jù)在服務(wù)周期內(nèi)沒有到達。為防止這種情況,超速定義了PING和PING_RESPONSE機理(參考8.5.7),開始一次同步傳輸之前,主機可以發(fā)送一個PING包給設(shè)備,設(shè)備以PING_RESPONSE包應(yīng)答通知主機所有連到設(shè)備的鏈路在活動狀態(tài)。4.4.8.1 同步傳輸包大小同步傳輸端點指定了端點在總線上能夠接收/發(fā)送的最大數(shù)據(jù)包大小。對于支持突發(fā)尺寸大于1的同步端點,允許的最大數(shù)據(jù)包大小只能為1024字節(jié);對于支持突發(fā)尺寸等于1的同步端點,最大數(shù)據(jù)包大小可為0到1024之間的任何值。
43、同步端點允許的最大突發(fā)尺寸為16.但是同步端點能在同一個服務(wù)周期中請求3次突發(fā)事務(wù)處理。超速協(xié)議不要求同步數(shù)據(jù)包一定要為最大數(shù)據(jù)包大小,但是如果傳輸?shù)臄?shù)據(jù)量比最大數(shù)據(jù)包尺寸小的話,數(shù)據(jù)包不被填滿。主機應(yīng)該支持超速同步端點所有的同步數(shù)據(jù)包大小和突發(fā)大小。主機應(yīng)該確保發(fā)送到端點的數(shù)據(jù)包量小于端點描述符中定義的最大數(shù)據(jù)包大小,還要確保突發(fā)事務(wù)處理中的數(shù)據(jù)包量不能超過端點的最大突發(fā)大小。同步端點應(yīng)該總是發(fā)送數(shù)據(jù)域小于等于端點的最大數(shù)據(jù)包大小的數(shù)據(jù)包。如果同步傳輸對端點最大包大小有充足的信息,突發(fā)事務(wù)處理中的所有數(shù)據(jù)都要求為最大數(shù)據(jù)包大小,除非突發(fā)事務(wù)中最后一次數(shù)據(jù)包,即包含了剩下的數(shù)據(jù)。同步傳輸能進行
44、幾次突發(fā)事務(wù)處理。4.4.8.2 同步傳輸帶寬需求周期性端點(中斷和同步傳輸)能分配到80%的有效超速總線帶寬。同步管道的端點通過端點描述符指定它想要的輪詢間隔。同步端點能指定想要的周期2(bInterval-1) x 125 s。bInterval的范圍是1-16. 系統(tǒng)軟件將在配置時候使用這個信息決定端點是否能被主機安排。注意總線錯誤能阻止同步事務(wù)在總線上的的成功進行。超速同步端點在每個服務(wù)周期能進行3次最大突發(fā)大小為16的事務(wù)處理的數(shù)據(jù)包傳輸(3x16x1024bytes)。主機會在每個服務(wù)周期發(fā)送數(shù)據(jù)到端點或者從端點請求數(shù)據(jù)。注意,如果端點沒有同步數(shù)據(jù)發(fā)送而被主機訪問請求數(shù)據(jù),則會發(fā)送
45、一個0長度包作為數(shù)據(jù)請求的應(yīng)答。主機可以在合適的服務(wù)間隔的任何時刻訪問端點。同步傳輸端點不應(yīng)該嘗試在事務(wù)處理之間假定一個固定空間(兩次事務(wù)處理間相隔的時間不固定?),同步端點只能假定它在服務(wù)周期會收到一次事務(wù)處理的嘗試。輪詢服務(wù)周期發(fā)生的錯誤可以阻止數(shù)據(jù)的成功傳輸。但是由于同步事務(wù)處理中的包沒有應(yīng)答,主機沒有方法知道包是否成功傳輸,因此不會重試包傳輸。4.4.8.3 同步傳輸數(shù)據(jù)流程同步端點總是在輪詢服務(wù)周期中從包順序號0開始發(fā)送數(shù)據(jù)包。每個在輪詢服務(wù)間隔中被依次連續(xù)發(fā)送的的數(shù)據(jù)包都帶有下一個遞增的順序號。順序號應(yīng)該從0到31循環(huán)。當發(fā)送了32個包后,又從0開始發(fā)送。同步端點不支持重試,不能應(yīng)
46、答流控制。4.4.9 設(shè)備告知(非管道模式)設(shè)備告知是一種為設(shè)備向主機進行設(shè)備級和總線級的事件通知的異步通信標準方式。這個特色沒有映射到為標準傳輸類型定義的管道模式。設(shè)備告知總是由設(shè)備開始。數(shù)據(jù)流通知總是從設(shè)備到主機。第七章 鏈路層7.1 字節(jié)順序包或者鏈路命令中的多字節(jié)域以小端順序通過總線傳輸。即先傳輸最低有效字節(jié)(LSB),最后傳輸最高有效字節(jié)(MSB)。Figure 7-2展示了字節(jié)順序的例子:7.2.1 包和包幀超速使用包來傳輸信息。鏈路電源管理包、事務(wù)包、同步時間戳包和數(shù)據(jù)包的詳細包格式在第8.2章定義。在協(xié)議層,頭包幀是不可見的。7.2
47、.1.1 頭包結(jié)構(gòu)所有頭包有20符號長度,格式在在Figure 7-3中. 包括有LMPs, TPs, ITPs, 和DPHs。頭包由三個部分組成,一個頭包幀,一個包頭,一個鏈路控制字。7.2.1.1.1 頭包幀(4B)頭包幀,HPSTART(header)順序集,是一個4個基于K標志的有序集合頭包起始幀。被定義為3個連續(xù)的SHP標志后面跟著一個K-symbol的 EPF。一個頭包應(yīng)該總是以HPSTART序列集開始。頭包幀的結(jié)構(gòu)是能容忍1個符號錯誤的。7.2.1.1.2 包頭(14B)一個包頭由14個字節(jié)組成,格式如Figure 7-4所示。它包括12字節(jié)的頭信息和一個2字節(jié)的CRC-16。C
48、RC-16用來保護12字節(jié)的頭信息的數(shù)據(jù)完整性。7.2.1.2 數(shù)據(jù)包結(jié)構(gòu)數(shù)據(jù)包是一種由數(shù)據(jù)包頭(DPH)和一個數(shù)據(jù)負載包(DPP)組成的特別包。DPH定義在7.2.1.1.章。另外一方面,DPP由數(shù)據(jù)包幀和可變長度的數(shù)據(jù)構(gòu)成,可變長度數(shù)據(jù)后面跟著CRC-32。Figure 7-8描述了DPP格式。7.2.1.2.1 數(shù)據(jù)包幀DPP幀由8個K-symbols,一個作為DPP起始幀的four-symbol 有序集和作為DPP結(jié)束幀的four-symbol有序集構(gòu)成。正如Figure 7-8 所表示的,作為DPP起始幀的DPPSTART序列集,由三個連續(xù)的SDP的K-symbols和后面跟著的一個
49、EPF的K-symbol組成。一個DPP結(jié)束幀序列集有兩種不同類型。第一種類型,DPPEND序列集,它是一個由三個連續(xù)的K-symbol of END和后面跟著的單個K-symbol of EPF 組成的結(jié)束幀有序集。第二種類型,DPPABORT序列集,是一個DPP(未完成)終止幀序列集,它由3個連續(xù)的K-symbol of EDB和后面跟著的單個K-symbol of EPF組成。DPPEND序列集是用來指示完成了的DPP的正常結(jié)束,而DPPABORT序列集用來指示一個DPP的半途終止結(jié)束。7.2.1.2.2 數(shù)據(jù)包DPP區(qū)域有0-1024字節(jié)的數(shù)據(jù),后面跟著4字節(jié)的CRC-32。任何一個D
50、PP包提前結(jié)束應(yīng)該包含一個DPPABORT有序集。DPP應(yīng)該快速無縫的跟著它相對應(yīng)的DPH。CRC-32略7.2.1.2.3 在數(shù)據(jù)包頭(DPH)域數(shù)據(jù)負載包(DPP)之間的空間間隙在數(shù)據(jù)包頭(DPH)與數(shù)據(jù)負載包(DPP)之間不應(yīng)該有空間間隙,如Figure 7-10.所示:頭包由共20個字節(jié),四個字節(jié)的HPSTART序列集,14個字節(jié)的包頭(Packet Header),2個字節(jié)的鏈路控制字構(gòu)成。HPSTART似乎是用于鏈路雙方數(shù)據(jù)時鐘恢復(fù)同步用途,類似于USB2.0時的SYNC(同步序列);Packet Header則包含12個字節(jié)的包信息和2個字節(jié)的16位CRC;L
51、ink Control Word為2個byte,包括3 bit Header Sequence Number,3 bit reserved,3 bit Hub Depth Index,1 bit Delayed bit,1 bit Deferred bit,和5bit CRC。在第八章將會看到,LMP,TP,ITP,DPH其實都是頭包結(jié)構(gòu),只不過12byte的包信息定義了不同的格式意義。數(shù)據(jù)包構(gòu)造:數(shù)據(jù)包其
52、實是由一個數(shù)據(jù)包頭(Data Packet Header,DPH)后面無縫跟著一個數(shù)據(jù)負載包(Data Packet Payload,DPP)構(gòu)成的。DPH的結(jié)構(gòu)同上面的頭包結(jié)構(gòu),DPP的結(jié)構(gòu)如圖7-8所示:DPP由四個字節(jié)的DPPSTART(類似頭包中的HPSTART),01024字節(jié)的數(shù)據(jù),四個字節(jié)的32位CRC,以及四個字節(jié)的DPPEND(作用類似于USB2.0的EOP?在數(shù)據(jù)有異常的時候這個將是DPPABORT)構(gòu)成。第8章 、協(xié)議層協(xié)議層管理Host和Device間end-to-end數(shù)據(jù)流,是建立在鏈路層正確傳輸基礎(chǔ)上的。本章詳細描述:
53、83;包類型;(LMP,DP,TP,ITP)·包格式;·包期待的響應(yīng);·四種transaction類型;8.1超速事務(wù)處理隨著向設(shè)備端點請求或者發(fā)送數(shù)據(jù),主機開始超速事務(wù)處理。隨著端點發(fā)送數(shù)據(jù)或者對接收數(shù)據(jù)應(yīng)答完成事務(wù)處理。在超速總線上的一次傳輸是一次從設(shè)備到主機的數(shù)據(jù)請求,然后將其分解為一次或者幾次突發(fā)事務(wù)處理。當超速主機在等待當前總線事務(wù)完成的時候, 它可能會開始一次或多次OUT總線事務(wù)輸出到一個或幾個端點。然而,超速主機不應(yīng)該開始另外一次對端點的IN總線事務(wù),直到主機:(同時能進行多個OUT事務(wù),只能進行一個IN事務(wù))·收到一個DP包或者NRDY或
54、STALL TP包或者因為當前被發(fā)送到非同步端點的ACK TP包的事務(wù)處理超時·收到了所有被請求的DP包或者主機收到一個短包,或者一個最后包標志域置位的DP包,或者因為當前被發(fā)送到同步端點的ACK TP(注意同步端點沒有錯誤應(yīng)答)事務(wù)處理超時對于非同步傳輸,端點可以通過下面應(yīng)答有效的事務(wù)處理:·返回一個NRDY TP包·在OUT事務(wù)中通過返回一個ACK TP(正確應(yīng)答)包接收數(shù)據(jù)·在IN事務(wù)中返回一個或更多數(shù)據(jù)包·如果發(fā)生了內(nèi)部端點錯誤,則返回一個STALL TP包一個NRDY TP包應(yīng)答指示端點還沒有準備好接受或發(fā)送數(shù)據(jù)。因此,設(shè)備端點和主機
55、之間不應(yīng)該有更多進一步操作,除非端點通知主機它準備好了。允許在設(shè)備和主機之間實現(xiàn)一個鏈路降低功耗狀態(tài),直到端點準備好接受或發(fā)送數(shù)據(jù)。當準備好時,端點異步發(fā)送一個通知(ERDY TP)給主機,告知它現(xiàn)在準備好移動數(shù)據(jù),主機通過重新安排請求事務(wù)進行應(yīng)答(返回ACK TP?)。注意當它們被主機進行周期性輪詢服務(wù)時,同步傳輸不使用ERDY和NRDY TP包。此外,發(fā)送到或者接收自同步端點的數(shù)據(jù)包不被應(yīng)答(同步傳輸不檢測錯誤,不應(yīng)答錯誤)。也就是ACK TP包不被主機發(fā)送給同步端點來應(yīng)答對數(shù)據(jù)包的接收。(如果同步端點不能發(fā)送給主機要求的數(shù)據(jù)則發(fā)送一個長度為0的數(shù)據(jù)包)端點只對主機的要求做應(yīng)答。主機是負責
56、在總線上安排事務(wù)處理,保證數(shù)據(jù)傳輸?shù)恼_與公平,這通過IN和OUT請求的命令和時序來實現(xiàn)。事務(wù)處理不是廣播的(USB2.0是廣播),在主機和設(shè)備間的包傳輸是有一條直接路徑。任何沒有使用的鏈路都會進入降低功耗狀態(tài),使得總線遵從強制的電源管理。8.2 包類型:LMP,TP,DP,ITP四種。所有的包有一個14B字節(jié)的頭,結(jié)尾跟著一個2字節(jié)的鏈路控制字組成(16byte)。所有的包頭都有兩個需要被接收方使用的公共域(版本與類型),用來決定怎樣處理包,所有的包頭包含一個2字節(jié)CRC-16。包頭有一個不可改變的錯誤率,它為1012個位中不能出現(xiàn)一個錯誤。所有的設(shè)備(包括集線器)和主機使用他們收到的LMP
57、包。集線器額外負責將DP,ITP,TP傳遞到連接設(shè)備的下游端口和連接主機的上游端口。注意ITP只能被主機發(fā)送和被設(shè)備接收(廣播)。LMP所有的包都被集線器傳遞出去,除非包是路由選擇集線器它自己。傳遞ITP包額外的規(guī)則在8.7被描述。注意TP,ITP,或者DPH中的鏈路控制字(比如DF域)在被傳遞出去之前可以被集線器更改。鏈路控制字的域在8.3.1.2被描述。如果Type域的值是TP或者DPH,路由信息(字符)和設(shè)備地址域就跟在Type域后。路由信息是被集線器用來路由選擇上游端口的包傳遞到正確的下游端口。從設(shè)備到主機的包組成的流總是從集線器的下游端口通過路由選擇傳到上游端口。設(shè)備地址域被提供給主
58、機用來驗證一個包的源頭。所有的其他域在這章會被描述。數(shù)據(jù)包的頭部包含了用來描述數(shù)據(jù)塊的額外信息。數(shù)據(jù)塊(DPP)總是被跟著一個4字節(jié)CRC-32用來判定數(shù)據(jù)的正確性。數(shù)據(jù)塊和CRC-32一同組成了數(shù)據(jù)負載包DPP.8.3 包格式這個區(qū)域定義了超速包。它定義了組成各種包類型和子類型的區(qū)域。這個區(qū)域的包類型和位定義以未編碼數(shù)據(jù)格式呈現(xiàn)。添加到串流上的符號有影響(即幀包,控制或修改鏈路),像位編碼,鏈路層幀,為了精簡講述,已經(jīng)被移除了(它們對協(xié)議層是不可見的)。詳細參考6,7章信息。在總線操作,效率或者時序討論到的地方,會描述那些底層操作對提供額外內(nèi)容的影響。8.3.1 所有頭的公共區(qū)域所有超速頭以
59、類型域開始用來決定怎樣處理包。在頂層這個告訴包接收方怎樣處理包:是使用它(DP)或者是管理鏈路(LMP)或移動和控制設(shè)備和主機間的數(shù)據(jù)流(TP)。8.3.1.1 保留值和保留區(qū)域處理保留區(qū)域和保留值不應(yīng)該用在一個商家指定操作中。發(fā)送器應(yīng)該設(shè)置所有保留域為0,接收器應(yīng)該忽略任何保留值。發(fā)送器不應(yīng)該設(shè)置已定義域為保留值,接收器應(yīng)該忽略任何在定義域上設(shè)置保留值的包。注意,接收器應(yīng)該應(yīng)答包,返回credit作為每一個在7.2.4.1章指定的要求。8.3.1.2 類型域類型域是一個5位區(qū)域,用來確認包格式。類型用來決定怎樣使用包或被中間鏈路傳送。8.4 鏈路管理包(LMP)LMP是指類型域被設(shè)置為鏈路管
60、理包的包。這些包用來管理單個鏈路,它們沒有帶有尋址信息和路由信息。可以是由集線器端口命令產(chǎn)生。例如,集線器端口命令用來設(shè)置U2非活動超時。除此之外,它們用來交換端口屬性信息和測試目的。格式如圖8-4所示:可以看到,結(jié)構(gòu)上就是第七章中的頭包結(jié)構(gòu)(從協(xié)議層角度看包格式,屏蔽了HPSTART序列以及8b/10b轉(zhuǎn)換碼等物理層的特性)。Type是5bit,所有類型的包都有的,其意義為:00000: LMP00100: TP01000: DP01100: ITP所以LMP類型包,Type總是00000。8.4.1 子類型域SubType為4bit,表示了是何種類型的LMP:0000:reserved0001:Set Link Function0010
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO 10713:2025 EN Jewellery and precious metals - Gold alloy coatings
- T-ZHAQ 8-2024 小葉牛大力種植技術(shù)規(guī)程
- 二零二五年度應(yīng)屆大學生人力資源實習合同
- 二零二五年度股票投資風險控制與合規(guī)監(jiān)督協(xié)議
- 二零二五年度個人債權(quán)轉(zhuǎn)讓協(xié)議書(關(guān)于專利權(quán)轉(zhuǎn)讓)
- 高管二零二五年度勞動合同及離職交接程序
- 二零二五年度路橋工程土地征用與拆遷合同
- 美容院合伙人投資回報與風險控制協(xié)議書(2025年度)
- 2025年度金融借款合同違約起訴流程及費用結(jié)算合同
- 2025年度餐飲企業(yè)跨界合作合伙經(jīng)營合同
- 六年級心理健康ppt名師優(yōu)質(zhì)課獲獎市賽課一等獎?wù)n件
- 四川輕化工大學
- 六西格瑪質(zhì)量管理在口腔科器械管理中的作用
- 高中心理健康教育-認識自我悅納自我教學課件設(shè)計
- 素材合集-扁平化圖標素材(彩色)
- (全)電梯安全風險管控清單
- 中國思想史 馬工程329P
- 《網(wǎng)店美工》教案-商品詳情頁設(shè)計
- 原始狩獵圖哀郢楚商
- 新版冀教版(冀人版)科學五年級下冊全冊教案
- 烏茲別克斯坦
評論
0/150
提交評論