USB匯流排-RK3399 USB3.0控制器特性介紹(二)
1.RK3399 USB
下圖是RK3399 SOC的框圖。RK3399包含了2個USB2.0 Host控制器;兩個USB3.0 OTG控制器,同時相容USB2.0。USB3.0使用的是Synopsys公司的IP,驅動也使用Synopsys的dwc3 USB驅動。
2.USB3.0 OTG Controller簡介
USB3.0 OTG控制器可以作為主機(Host)、裝置(Device),或者根據從USB2.0 PHY和DFP/UFP/Data Role Swap輸入的ID狀態確定是USB2.0/3.0 OTG A裝置和B裝置。可以以Super-Speed/High-Speed/Full-Speed/Low-Speed的速度在主機與裝置之間進行資料傳輸。USB3.0 OTG控制器支援如下的特性:
1)通用特性
-
相容規範
-
Universal Serial Bus 3.0 Specification, Revision 1.0
-
Universal Serial Bus Specification, Revision 2.0
-
eXtensible Host Controller Interface for Universal Serial Bus (xHCI), Revision 1.1
-
-
支援控制、批量(包括流)、中斷、等時傳輸
-
USB3.0模式時可以同時輸入輸出,最大可達8Gbps的頻寬
-
在高延遲的系統中使用描述符快取和資料預取改善系統性能
-
USB2.0支援連結電源管理協議(LPM);USB3.0支援U0、U1、U2、U3四種狀態
-
端點的動態FIFO記憶體分配
-
低速(LS)模式下支援Keep-Alive特性,高速和全速(HS/FS)模式下支援(micro-)SOFs特性
-
低MIPS(Million Instructions Per Second)支援
- 驅動程式只需要在傳輸建立時和高等級錯誤恢復時參與其中
- 硬體自動將資料打包並路由到明確的管道(pipe)中
(2)應用程式介面特性
- AHB 從機(Slave)介面
- AXI 主機(Master)介面
- 可程式設計的burst lengths,最大可設定到16
- 可處理固定burst address對齊
- 可程式設計數量的未完成讀/寫請求(outstanding read/write requests)最多16個
- 併發讀/寫以獲得最佳USB3.0雙工操作效能
(3)USB3.0裝置特性
- 7個輸入(IN)端點,包括端點0
- 6個輸出(OUT)端點,包括端點0
- 13個端點傳輸資源,每個端點對應一個
- 靈活的端點配置,適用於多種應用/USB配置模式
- 硬體自動處理ERDY和burst
- 基於流(Stream-based)的批量端點可以自動控制啟動資料移動
- 在資料緩衝區中使用等時資料的等時端點
- 靈活的描述符,具有豐富的功能集,以支援緩衝區中斷調節,多次傳輸,同步,控制和分散的緩衝支援
(4)USB特定類裝置特性
- UASP(USB Attached SCSI Protocol)應用程式的流支援
- 分散資料包聚合以支援虛擬USB乙太網
- 非中斷排程多乙太網資料包
- 每端點的FIFO緩衝區分配可變
- 對於等時傳輸的應用,每個微幀的變長度有效載荷可以排程
- 高精度的同步傳輸微幀排程
- 可配置的端點型別選擇和動態 FIFO 分配,以促進多功能/複合裝置實現在set-config或alternate-setting過程中,裝置資源被重新配置以滿足配置或alternate設定的要求
(4)USB3.0 xHCI控制器特性
- 最多支援64個裝置
- 擁有一個interrupter
- 擁有1個USB2.0 port和1個Super-Speed port
- 擁有xHCI除錯能力
- USB3.0/USB2.0併發傳輸,最大達8.48Gbps的頻寬
- 支援標準或開源的xHCI和類驅動程式
(5)USB 3.0 Dual-Role Device (DRD) 特性
- 靜態裝置操作
- 靜態主機操作
- 基於ID的USB3.0/USB2.0 OTG A裝置和B裝置
3.USB3.0 OTG Controller硬體框圖
從下面的硬體框圖中可以看出,USB3.0 OTG控制器內部的USB2.0和USB3.0的PHY和MAC是獨立的,各自使用自己的硬體。因此USB2.0和USB3.0的頻寬也是獨立計算的,USB2.0的頻寬並不會佔用USB3.0的頻寬。USB3.0 OTG控制器由以下幾部分組成:
- Bus Interface/List Management: Register Interface/Data and Descriptors DMA management
- HS/FS/LS MAC : USB2.0 part logic
- SS MAC : SS part logic(USB3.0)
- USB2.0 PHY: UTMI+ interface USB2.0 PHY
- TypeC PHY: Pipe Interface Super-Speed PHY