USB 2.0與 USB 3.0功能特性對比分析
簡(jiǎn)介
本文引用地址:http://dyxdggzs.com/article/155643.htm USB由于具備簡(jiǎn)單、成熟、即插即用特征。然而,USB 2.0 480 Mbps的速度無(wú)法支持新一代存儲和視頻。因此,移植到一個(gè)更快標準的時(shí)機已經(jīng)成熟,這就導致了USB 3.0新協(xié)議的開(kāi)發(fā)。對于開(kāi)發(fā)商而言,挑戰是如何充分利用USB 3.0的潛能。本文將探討使用USB 3.0硬件軟件設計問(wèn)題,本文主要介紹的是手持產(chǎn)品。首先,我們將比較USB 2.0和USB 3.0的性能,以及過(guò)渡到USB 3.0模塊影響到的器件。
在一個(gè)普通的場(chǎng)景中,在device端,處理器直接連接到USB、存儲器和外設。記住這種結構,由High-Speed過(guò)渡到SuperSpeed,處理器的影響可以概括如下:

USB 2.0 VS USB 3.0
數據速率
USB 2.0和USB 3.0的基本區別是帶寬。USB 2.0所提供的理論帶寬是480Mbps。事實(shí)上,收到的最大吞吐量約為320Mbps (40MBps),它大致是理論值的三分之二。使用USB3.0,數據吞吐量為4.8Gbps。如果我們用相同的比例,那么預期的數據速率是3.2Gbps (400MBps)。然而,許多開(kāi)發(fā)人員希望能提供更高的吞吐量。圖1顯示了USB 3.0 和USB 2.0用于Buffalo外部存儲磁盤(pán)進(jìn)行不同大小文件傳輸的數據率差異。應該指出的是,USB 3.0數據速率受儲存設備約束,否則400 Mbps的數據速率很容易達到。

圖1可以看出,單個(gè)請求傳輸大小增大了,數據傳輸速率也隨之增加了。這是因為當請求傳輸大小增加時(shí),請求數量和因此MSC設備要處理中斷減少,那么整體性能就更好了。64 KB傳輸過(guò)后,數據速率達到飽和(因為Windows驅動(dòng)在一個(gè)SCSI請求中不能請求超過(guò)64 KB的數據)。這些數據顯示了中斷在整個(gè)系統性能的重要性和影響。
高數據率增加了中斷速率和數據請求速率,這使處理器負荷顯著(zhù)提高。當處理器忙于處理USB相關(guān)的實(shí)時(shí)請求時(shí),增加了延時(shí),用戶(hù)會(huì )看到應用處理慢了下來(lái),這并不是一個(gè)滿(mǎn)意的結果。
數據流
USB 2.0數據請求一次只能是一個(gè)方向,與USB 2.0標準不同,USB 3.0支持同時(shí)讀和寫(xiě)。這是因為USB 2.0是半雙工協(xié)議,而USB 3.0是全雙工協(xié)議。全雙工通信是通過(guò)增加更多連接來(lái)支持同時(shí)傳輸數據的。它同時(shí)也帶來(lái)了成本的增加和軟件的復雜性。使用USB 2.0,處理器一次只參與傳輸,并且數據結構和請求處理非常簡(jiǎn)單。但隨著(zhù)全雙工USB 3.0的到來(lái),現在的數據結構需要加倍的信息。USB軟件模塊還需要能夠處理同時(shí)的數據操作。
電源管理
封包傳輸協(xié)議改變了(例如,廣播定向),設備polling消除了,link的定義和功能級中間狀態(tài),使USB3.0電源管理要很不錯。我們將討論USB設備處理器必須要做的事情,因為第三種降低功耗改變了,例如多種中間狀態(tài)。
在USB 2.0中,狀態(tài)只有ACTIVE 和SUSPEND。SuperSpeed中有兩個(gè)以上的狀態(tài):FAST EXIT IDLE 和SLOW EXIT IDL。狀態(tài)越多意味著(zhù)硬件和軟件兩個(gè)方面都更復雜。外設可以使用link級電源管理發(fā)起省電模式。要獲得實(shí)際利益,處理器需要跟蹤USB接口的空閑時(shí)間,智能采取行動(dòng)。對于一個(gè)設備來(lái)說(shuō)電源連接狀態(tài)的入口和出口速率可能很頻繁。例如,同步傳輸允許外設在服務(wù)間隔進(jìn)入低功耗狀態(tài)。這可以顯著(zhù)增加處理器負載運行時(shí)間。
流支持
USB3.0拓展了批量傳輸模式,支持流模式。批量流提供了同頻帶信號傳輸,通過(guò)一個(gè)標準批量傳送支持多路多個(gè)獨立邏輯數據流協(xié)議。這種作法簡(jiǎn)化了USB設計復雜的類(lèi)協(xié)議。例如,USB SCSI (UAS)海量存儲類(lèi)使用批量流代替簡(jiǎn)單的BOT協(xié)議。在BOT中,一次只有一個(gè)pending請求,而在UAS中,一次可能有n-1個(gè)請求,這里n是批量端點(diǎn)中支持的流數。實(shí)現和維護一個(gè)復雜的類(lèi)協(xié)議也可能使處理器一直很忙。對于BOT來(lái)說(shuō)單個(gè)平面數據結構就夠了,UAS協(xié)議要求基于優(yōu)先級的數據結構用于實(shí)現外設端固件。
評論