帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
USB 3.0 普及關鍵 – xHCI 1.0
主機端控制晶片設計有訣竅

【作者: Fresco Logic】   2011年05月27日 星期五

瀏覽人次:【14902】

USB協會在2008年,終提出新一代的USB 3.0傳輸規格,將USB的頻寬上推十倍達5Gbps及全雙工雙向傳輸;相容的連接器設計,確保裝置的向下相容性,並提升供電電流從5V 500mA至5V 900mA。隨著裝置端及主控端的控制晶片陸續問世,Intel及AMD陸續將USB 3.0主控端納入參考設計,並計畫推出原生支援晶片組,USB 3.0的普及終成定局。而其中普及的關鍵,就是由intel訂定的主控端介面規格定案版本:eXtensible Host Controller Interface(xHCI)1.0。


USB 3.0系統架構及主控端設計

USB系統的實體裝置包括三種類:主控端(Host),周邊端(Peripheral)及集線器(Hub)。周邊端(Device)負責提供單一或多樣的功能性,例如提供人機介面裝置(Human Interface Device):鍵盤滑鼠;影像裝置:掃描器、webcam…;儲存裝置如外接硬碟,隨身碟等。集線器介於主控端及周邊端,提供上下層資訊的傳遞與交換以提供簡單易用的裝置擴充聯接性。


主控端是USB系統中的核心運作裝置,系統中的裝置控制及資料傳遞皆由主控端發起。主控端的運作由硬體及軟體相互配合完成下列工作,主控端的運作均須仰賴USB主控端系統中軟硬體層次:


 偵測裝置的連接或移除


 管理主控端及周邊裝置的控制流程


 管理主控端及周邊裝置的資料流程


 管理並統計系統運作狀態


 提供USB裝置的電源


 裝置端的啟動及設定


 資料傳輸的排程


 裝置端電源管理


 USB匯流排管理


《圖一 USB 3.0系統運作的系統區塊圖。》
《圖一 USB 3.0系統運作的系統區塊圖。》

圖一中的虛線代表軟硬體的區分線,軟硬體的溝通則遵循xHCI界面規格。虛線以上的區塊表示主控端的軟體部份,包含下列四大軟體層;


Application Software:透過Class Driver所提供的標準類別服務,提供使用者USB周邊裝置的所提供的特定功能。


Class Driver Software:在主控端PC執行USB的特定類別功能。如儲存類別軟體,人機介面類別軟體,聲訊類別等。


USB Driver (USBD):對應作業系統以及xHCD驅動程式的軟體層,向上經標準USB Driver界面(USBDI)與作業系統或裝置之Class Driver傳遞資訊。


Host Controller Driver (xHCD):經由xHCI界面與主控端控制器溝通之軟體層,提供USB Driver及xHC控制器的軟硬體溝通界面。


軟體層部份,Application Software及Class Driver Software提供使用者操作周邊裝置端功能,由作業系統或裝置廠商提供。而USB Driver及Host Controller Driver則是與控制器的運作緊密配合,目前多是由USB 3.0控制器的廠商研發提供。


圖一虛線以下的部分表示USB系統中的硬體實現,包括一個主端控制器硬體,及多個集線器、多個周邊裝置。


Host Controller (xHC)主控端控制器:USB 3.0主控端的硬體ASIC,提供xHCI界面供軟體執行指令及傳遞資訊。提供支援LS/FS/HS及SuperSpeed運作速度之下行實體連接埠。硬體設計則必須遵循兩大主要規格:xHCI及USB 3.0規格。


USB Device周邊裝置:提供特定功能的USB硬體裝置,或擴展USB匯流排的集線器硬體。


綜合以上架構,主控端的整體設計可以分成軟體硬體兩大部份:


1. xHCI軟體,包括xHC Driver及USB Driver


2. xHCI硬體,包括對應軟體的xHC Controller,以及提供USB連接的USB Port部份。


xHCI 0.96與1.0比較

xHCI規格是由Intel制定。2008年8月首次發布0.9初步版本,首次定義USB 3.0主控端與PC軟硬體介面規格,設計之初便以USB 3.0為主要應用對象,並保留對應未來更高頻寬界面的可縮放性。


2009年5月,Intel發布0.96版本,也是早期設計的USB 3.0 Host Controller相容的版本。2010年5月,Intel發表正式定案1.0版本,成為目前USB 3.0主控端規格的最終版本。xHCI 1.0版本也將成為未來USB 3.0控制器的主流規格。



《圖二 xHCI的基本運作》
《圖二 xHCI的基本運作》

xHCI定義在現今的PC系統中,軟體存取PCI Express的PCI Config Space,MMIO Space,執行USB 3.0主控端所需的控制及快速資料傳輸。xHCI以Ring作為所有動作執行的基本資料結構,為一環狀的儲列資料結構,包含三種類:


Command Ring:系統軟體以Command Ring發出指令給主控端控制器硬體(xHC)


Event Ring:主控端控制器以Event Ring回傳狀態及執行結果給系統軟體


Transfer Ring:用來在系統記憶體及端點(Endpoint)兩端搬移資料。Transfer Ting包含多組的Transfer Descriptor,TD由一組或多組Transfer Ring Block (TRB)組成,為xHCI資料結構中之基本傳輸單位。系統軟體透過TRB來傳輸資料區塊,包括一組資料緩衝指標,及狀態及控制單元。


xHCI 1.0修正了超過20章節以上,以釐清xHCI規格發展過程中,定義模糊或爭議的部分,並納入主要開發者的回饋意見,也被認為是未來支援原生USB 3.0晶片組的設計規格定案。xHCI 1.0也新增了部份設計,藉此提升整體系統效率及使用者體驗。以下列舉幾項較重要的改善功能。


較少的軟體中斷

在一般的運作下,每個Event TRB在Event Ring結束時,會觸發軟體中斷,使CPU必須進入service routine處理軟體中斷。然而這些軟體中斷並非都是必須且有意義的,xHCI 1.0對此現象,在Normal TRB及Isoch Transfer TRB加入Block Event Interrupt (BEI)旗標,允許系統發送Event TRB而不會產生軟體中斷。較少的軟體中斷意味著CPU被占用的時間將會降低,對CPU的依賴程度也會降低,等效於提升傳輸的效能。


錯誤處理

USB為支援熱插拔之開放界面,大多數的相容性問題都需要靠錯誤處理來回復,減低使用者的不便。xHCI 1.0新增了Soft retry機制,當發生USB傳輸錯誤的時候,周邊裝置端不知道主控端已經停止部份endpoint,會持續等待主控端的再次嘗試。Soft retry機制可針對此狀況給予多次嘗試,回復錯誤。


使用於影音應用的ISOCH傳輸,由於不支援CErr的錯誤回復,xHCI 1.0也為此加入較嚴謹之錯誤回復機制。


低功耗模式的支援

xHCI 1.0支援Save and Restore Operations。針對PC系統上的省電模式如Sleep, Hibernate,Save and Restore Operations可使USB系統在進出省電模式時省卻重新啟動內部狀態的繁複步驟,迅速的進出省電狀態。特別針對不會移除的周邊裝置,如內建的視訊攝影機等。此外對於USB 2.0 Link Power Management (LPM)的支援,xHCI 1.0也一併更新對於支援USB2 LPM硬體控制機制。


USB 3.0主控端認證

USB協會目前已開始認證支援xHCI 1.0的主控端控制器,其中的xHCI CV (Command Verifier)測試程式會針對主控端進行xHCI的細部規格測試,確保主控端控制器符合xHCI設計規範。Microsoft WLK 1.5版本已宣告在未來系統上的USB 3.0主端控制器必須符合xHCI 1.0規範。此一測項,也將成為未來Windows對於USB 3.0主端控制器的內建驅動程式的開發依據。


至於USB協會對於主控端的認證包括三大部份:


電氣特性量測

測試USB 3.0裝置的實體層及線路設計是否符合USB 3.0規格的電氣特性規範,包含傳輸端及接收端。傳輸端測試包含5Gbps信號品質眼圖(eye diagram),展頻規範,時基誤差(Jitter)規範等。接收端測試包含在多組特定時基誤差規範下的位元錯誤率(Bit Error Rate)。電氣特性量測確保所有USB 3.0實體層設計能有基本傳輸接收相容性。同時,USB 2.0的向下相容信號,也必須符合USB 2.0的規範。


xHCI/USB Command Verifier測試

主控端的Command Verifier (CV)測試不同於周邊裝置,除了周邊裝置的USB CV,主控端還必須針對xHCI的設計部份進行CV測試。CV測試針對待測物的硬體設計,進行xHCI及USB的細項規範驗證,確保待測物的硬體設計完全符合xHCI及USB規範,其中針對xHCI 1.0的測項,也是以此執行。


相容性測試

USB協會對於主控端控制器的相容性非常重視,主控端對於USB 3.0及USB 2.0的周邊,都必須經過詳細的相容性交互測試,確保未來市售產品的品質。


主控端的相容性測試包括兩大項目:Gold tree測試及大量USB 3.0及USB 2.0周邊裝置測試,考驗主控端硬體及軟體的功能完整性及錯誤處理能力。Gold Tree測試為超過10種以上的包含各種類別(Class)的裝置,以多層USB 3.0及USB 2.0集線器連接成樹狀,而合格的主控端軟硬體必須能同時使所有的裝置運作,且具備正確的插拔、休眠、及錯誤處理能力。主要考驗的硬體設計是否能夠處理極端的多裝置狀況,及軟體設計是否有完整支援各類型裝置和錯誤處理能力。此外,協會會以取得認證的USB 3.0/2.0裝置,總數超過200隻以上,橫跨所有USB定義的類別,逐一測試主控端的相容性。


結論

隨著Intel及AMD陸續導入USB 3.0參考設計及未來的原生支援,USB 3.0以確立成為主流外部連接介面。10倍的頻寬,也將把應用帶往即時、高解析度影音的編輯及輸出入發展,不再局限於大容量儲存裝置。主機板上的埠數也將從早期的1-2埠,持續增加至6-10埠,並導入前面板支援,也將考驗主控端控制器廠商的類比設計能力及多埠數的頻寬處理能力。


(本文由Fresco Logic提供)


相關文章
NB Camera產品與台灣產業發展趨勢
USB3.0攻頂就看主機端
USB 3.0顯示新應用
徹底搞懂USB3.0通訊
掌握關鍵技術 創惟在USB 3.0市場游刃有餘
comments powered by Disqus
相關討論
  相關新聞
» 技嘉Super Computing超進化 支援先進散熱與AI動力
» 廣積推出強固型5G無風扇IoT邊緣閘道器電腦系統
» 低功耗IB838單板電腦主機板
» 技嘉參與GTC 2023大會AI主題課程 發表更多NVIDIA認證伺服器
» 宏正2023年營收續創新高 專業影音將受惠AI帶動成長


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.18.227.228.95
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: webmaster@ctimes.com.tw