通過之前的介紹
USB3.0 PHY簡介
首先我們需要了解PHY具體完成哪些工作以及我利用FPGA能 實(shí)現(xiàn)哪些工作才能實(shí)現(xiàn)USB通信。
要實(shí)現(xiàn)USB通信大致需要兩部分:Controller和PHY兩部分,Controller大多為數(shù)字邏輯實(shí)現(xiàn)(邏輯控制主要分為:MAC、CSR以及FIFO,MAC部分主要按照USB協(xié)議進(jìn)行數(shù)據(jù)的打包和分解,并按照PIPE(USB3.0)或者UTMI(2.0)的總線的數(shù)據(jù)格式發(fā)送給PHY(2.0或者3.0);
CSR部分主要進(jìn)行寄存器的控制(軟件對寄存器進(jìn)行操作主要是操作CSR寄存器;FIFO部分主要是實(shí)現(xiàn)高速和低俗轉(zhuǎn)換。));PHY通常為模擬邏輯實(shí)現(xiàn)(實(shí)現(xiàn)并轉(zhuǎn)串的功能,把UTMI或者PIPE口的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù),再通過差分?jǐn)?shù)據(jù)線輸出到芯片外部)。大致的通信方式如下圖所示:
PHY部分負(fù)責(zé)最底層的信號轉(zhuǎn)換,作用類似于網(wǎng)口的PHY,這里如果大家需要了解具體的工作可以查看usb specification,因?yàn)楹捅疚年P(guān)系不大,所以不過多介紹了。
Controller部分主要實(shí)現(xiàn)USB的協(xié)議和控制。也是目前普通FPGA可以實(shí)現(xiàn)的,整個作用類似網(wǎng)絡(luò)中的MAC層。
PS:目前高級一點(diǎn)的FPGA(帶SerDes),可以在不借助外部PHY的情況實(shí)現(xiàn)USB(主要原因還是USB大量地借鑒了第二代PCIe協(xié)議,所以基本實(shí)現(xiàn)和PCIe差不多),但是相對外置PHY成本過高,需要使用IP等原因市場上還是很少這么做的。
在上圖中還看到UTMI和PIPE,這是PHY和controller通信的接口,USB2.0PHY主要使用ULPI和UTMI,USB3.0主要使用PIPE,對于ULPI和UTMI的區(qū)別如下:
UTMI LEVEL0 通信連接示意圖
升級的UTMI+接口
ULPI(UTMI+ Low Pin Interface) 通信連接示意圖
以上三種接口都是和USB2.0 PHY通信的接口(如果還不理解的話,這三種接口類似網(wǎng)口中媒體接口-MII、RGMII、GMII等)。區(qū)別大概為USB PHY的位置:如果芯片的usb phy封裝在芯片內(nèi),采用UTMI+的接口。不封裝到芯片內(nèi)的采用ULPI接口,這樣可以降低pin的數(shù)量。
舉例如下:我用FPGA實(shí)現(xiàn)USB2.0通信,我使用邏輯實(shí)現(xiàn)cntroller+外掛USB PHY的方式,那么我的接口基本使用ULPI接口(降低pin的數(shù)量);
USB3316 芯片邏輯框圖 (來源:芯片數(shù)據(jù)手冊)
我覺得邏輯部分有點(diǎn)復(fù)雜,我想把邏輯部分放到外部PHY里,我只需要控制FIFO或者一些低速接口即可實(shí)現(xiàn)整個USB通信,這種芯片內(nèi)部帶了cntroller+USB PHY,如下圖所示:
FTDI600/601Q 芯片邏輯框圖 (來源:芯片數(shù)據(jù)手冊)
上圖中可以看到FPGA和controller通信方式為FIFO或者SPI等接口,SPI主要時用在2.0/1.1時代,典型代表(MAX3421E)。而FIFO則是目前3.0時代比較常用的方式。
通過以上分析,其實(shí)目前常用的USB3.0 PHY也可以大致分為兩種:帶controller和不帶controller,這兩種PHY市場上傾向于帶controller的芯片,主要原因是簡單、方便、性價比高,這里在多說一句,目前市場上為了方便開發(fā),USB3.0芯片內(nèi)部會放置一個單片機(jī),主要還是方便擴(kuò)展接口,以方便芯片不單單只在USB3.0通信方面應(yīng)用。下面一節(jié)我們就簡單介紹一下市場上常見的USB3.0 PHY片。
市場上常見的PHY
上圖中可以將PHY分為兩種,下面會標(biāo)注是第一種還是第二種,兩種的區(qū)別在上一節(jié)中已經(jīng)進(jìn)行區(qū)分了,這里就不再贅述了。
公司 | 型號 | 功能 | APP接口 | 物理層接口 | CPU核 | 第幾種PHY |
---|---|---|---|---|---|---|
TI/ NI | TUSB1310A | 純PHY | / | PIPE 3 | 無 | 第二種 |
Cypress | CYUSB3014 | OTG控制器(2.0)+PHY Slave控制器+PHY | GPIF II | 內(nèi)部PIPE | ARM926EJ-S | 第一種 |
FTDI | FT600/FT601 | FIFO interface bridge | / | FIFO | 無 | 第一種 |
南京沁恒 | CH569/565 | USB3.0 主機(jī)Host/設(shè)備Device模式、OTG功能,支持USB3.0 HUB | HSPI | / | RISC-V | 第一種 |
1、TUSB1310A
?
https://www.ti.com.cn/document-viewer/cn/TUSB1310A/datasheet
?
TUSB1310A 框圖
2、CYUSB3014
中文版數(shù)據(jù)手冊:
?
https://www.cypress.com/file/133711/download
?
CYUSB3014 框圖
3、FT600/FT601
?
https://ftdichip.com/products/ft600q-b/
?
?
https://ftdichip.com/wp-content/uploads/2020/07/DS_FT600Q-FT601Q-IC-Datasheet.pdf
?
FT600/FT601 框圖
4、CH569/5
?
http://www.wch.cn/products/CH569.html
?
?
http://www.wch.cn/downloads/CH569DS1_PDF.html
?
南京沁恒 CH569/565 框圖
PS:RISC-V內(nèi)核,120MHz系統(tǒng)主頻,支持單周期乘法和硬件除法、可編程中斷控制器、低功耗兩級流水線。
總結(jié)
上面的表格也很清晰表現(xiàn)出各個芯片的區(qū)別,這里就不展開描述了,這里在介紹幾個USB 3.0 的ReDrive(NXP , PTN36221AHX 單通道橋,PTN36241BBS單通道橋,PTN36242LBS雙通道橋(數(shù)據(jù)手冊:https://www.nxp.com/docs/en/data-sheet/PTN36221A.pdf))。
今天的文章就到這里,綜合考慮上面的芯片,我們后續(xù)的方案使用使用廣泛的CYUSB3014繼續(xù)接下來的系列文章。
編輯:jq
-
FPGA
+關(guān)注
關(guān)注
1625文章
21620瀏覽量
601231 -
usb
+關(guān)注
關(guān)注
60文章
7876瀏覽量
263692 -
數(shù)據(jù)手冊
+關(guān)注
關(guān)注
94文章
6087瀏覽量
42254
原文標(biāo)題:FPGA和USB3.0通信-USB3.0 PHY介紹
文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論