1. 概述
一個完整的usb 系統通信流程如下圖所示:整個系統大致分為三層。
host
客戶軟件:管理接口設備
usb 系統軟件:管理設備
USB 總線接口(HDC):管理usb 幀數據
device
function :管理接口
usb 邏輯設備:管理端點
USB 總線接口(UDC):管理usb 幀數據
整個數據流向如下:
設備端:function -> usb logical device -> SIE。
那么usb framed 數據到底是怎么產生的?
第一種方式:純軟件行為,軟件添加
第二種方式:硬件加工,生成符合usb 協議規范的幀數據。
目前市面上大部分主流usb 控制器采用第二種方式:即 CPU 從DDR 搬運數據到usb 控制器,然后通過usb phy 模型差分信號發送出去。
2. 什么是usb 控制器與phy
了解了前面的usb 數據通信基礎流程。那么接下來我們來介紹一下,什么是控制器及phy。
2.1 usb 控制器
usb 控制器,可以簡單理解為用來控制usb 邏輯及數據流傳輸的裝置。我們可以類比其他控制器。包含幾大塊:
中斷
dma(內部dma/外部dma)
FIFO(sram)
輸入/輸出:比如與phy 接口
現代復雜的usb 控制器有的還內置usb phy。
2.2 usb phy
所謂 phy,從字面意思就是物理接口。一般完成物理信號的轉換。對于usb phy 而言,其主要完成以下工作:
usb FS/HS 或者LS 模式選擇
usb 數據 NRZI 編碼 和 Bit Stuffer
將otg 并行數據 轉為 差分串行D-/D+ 數據
速度枚舉,J/K 信號產生。
......
一句話總結:usb phy 將usb 控制器的數據,按字usb 標準協議編碼,然后轉成串行差分數據,并通過D+/D- 發送出去。反之,對于從host 產生的數據,經過usb phy 解碼,然后到usb 控制器,最后到我們ddr 可以訪問的應用數據。
3. 常見的控制器與phy 的形式
目前市面上主流的控制器與phy 大致有兩種形式:
第一種,控制器集成usb phy
第二種,控制器需要外部接usb phy
不管是內部集成,還是外部連接。我們只需要關心控制器與phy 之間的標準接口即可。對于USB2.0 一般采用 UTMI 或者UTMI+ 接口。對于usb3.0 一般采用PIPE 接口。
不管是UTMI 接口還是PIPE 接口,其都是并行的標準接口。因此我們在學習時,不用關心特定的phy, 只需要關心其對應的接口協議即可。
4. UTMblock
有關utmi 接口介紹,本文不做詳細介紹。如下圖是UTM function block。從圖中我們可以看出,其主要的功能:
HS/FS 模式選擇
NRZI 編碼/解碼
Bit Stufer/unstuffer
輸出clk
5. 控制器、PHY 與Soc 連接
控制器與phy 連接是通過標準的接口UTMI(2.0) 或者PIPE(3.0)
整個數據流程大致如下:
發送數據:CPU 通過cpu 模式/DMA 模式 搬運數據到 USB 控制器 的端點FIFO, 然后通過UTMI 接口經過usb phy 通過usb 發到host 端
接口數據:host 到來的數據,經過usb phy 經utmi 接口轉換,到usb 控制器的端點FIFO,然后通過cpu 或者dma 模式搬運到DDR
6. 總結
本文介紹了usb 控制器與phy 的關系。旨在幫助我們更好的理解usb 的整個數據流向。當我們在調usb 的通信時,到底在調什么?結合前面的枚舉流程,來思考什么時候usb 的通信到了軟件層面。
事實上,對于不調usb 控制器的廠家來說,大部分人都接觸不到usb phy 的知識,因為很多原廠已經幫我們搞定。不過筆者認為,對于usb 的學習,不能只停留在軟件層面,應該結合硬件對整個協議才會有一個更深入的認知。
當我們接觸一款新的usb 控制器驅動時,我們應該關心什么?
usb 控制器流程:不同的控制器參考usb ip 廠商給的控制流程。
usb phy 初始化:事實上,phy 在芯片量產時基本已定型??膳涞目臻g很小。phy 上大部分信號都是控制器輸入的。故一般控制器配置ok. phy 上可能只需要微調一下即可。比如產生復位或者強制suspend 信號。
審核編輯:劉清
-
控制器
+關注
關注
112文章
16203瀏覽量
177407 -
DDR
+關注
關注
11文章
711瀏覽量
65229 -
PHY
+關注
關注
2文章
301瀏覽量
51695 -
USB通信
+關注
關注
0文章
22瀏覽量
10906 -
hdc
+關注
關注
1文章
44瀏覽量
3577
原文標題:一文搞懂 USB 控制器與phy 關系
文章出處:【微信號:漫談嵌入式,微信公眾號:漫談嵌入式】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論