USB開發(fā)者論壇發(fā)布了USB2.0補(bǔ)充規(guī)范USB OTG(On-The-GO),解決了兩個關(guān)鍵的問題:一是雙角色的USB外設(shè),二是供電問題,從而實(shí)現(xiàn)了便攜設(shè)備間無主機(jī)的數(shù)據(jù)傳輸[1-2]。
目前,TI公司推出的高速USB2.0 OTG雙功能控制器TUSB6020,是一種小型解決方案,既能作為針對USB外設(shè)的功能控制器使用,又能作為點(diǎn)對點(diǎn)或點(diǎn)對多點(diǎn)通信中的主機(jī)/外設(shè)工作。本文在此基礎(chǔ)上研究TMS320DM6437與TUSB6020的USB OTG的接口設(shè)計(jì)方案。
1 TUSB6020的特性、內(nèi)部結(jié)構(gòu)及其工作原理。
1.1 TUSB6020特性和內(nèi)部結(jié)構(gòu) TUSB6020采用最小5×5mm封裝,符合USBG2.0 OTG規(guī)范,具有以下關(guān)鍵特性:
SRP和主機(jī)流通協(xié)議HNP。
提供多種工作速率,包括 1.5Mbps低速率、12Mbps全速率和 480Mbps高速率。
VBUS短路的保護(hù)電路。
片上集成可切換的上拉和下拉電阻。
片上鎖相環(huán)可降低高速時鐘噪聲。
電源耗電量小于100mW。
圖1為TUSB6020的內(nèi)部結(jié)構(gòu)。TUSB6020主要模塊有USB 2.0 PHY模塊、電源/復(fù)位/時鐘控制模塊(PRCM)、USB2.0 OTG控制模塊及VLYNQ外部主機(jī)接口模塊等。功能參見文獻(xiàn)[3]。
1.2 TUSB6020工作原理
TUSB6020工作狀態(tài)分為復(fù)位狀態(tài)、空閑狀態(tài)和正常工作狀態(tài)。在空閑狀態(tài)下,USB2.0 PHY掛起;正常工作狀態(tài)下,使能USB2.0 PHY,從而使能VBUS檢測電路和ID檢測電路。不妨設(shè)TUSB6020為OTG主機(jī)設(shè)備(A設(shè)備),對方USB設(shè)備作為OTG從機(jī)設(shè)備(B設(shè)備),分析對話請求協(xié)議SRP和主機(jī)通信協(xié)議HNP的工作過程。
B設(shè)備向A設(shè)備發(fā)起SRP會話的條件是:(1)VBUS跌落到會話有效閥值0.8V以下;(2)DM/DP維持低電平SEO狀態(tài)至少2ms。之后,B設(shè)備開始發(fā)起SRP請求,如圖2所示。
工作步驟如下:(1)B設(shè)備將上拉電阻接入 DM/DP并持續(xù)5-10ms;(2)B設(shè)備驅(qū)動 VBUS足夠長的一段時間直到 VBUS大于會話有效閥值0.8V;(3)A設(shè)備檢測到 DM/DP或 VBUS升高,開啟 VBUS電源給 B設(shè)備供電;(4)A設(shè)備復(fù)位總線對 B設(shè)備進(jìn)行枚舉配置,開始傳輸任務(wù)。
HNP協(xié)議用來控制A、B兩設(shè)備主從角色的轉(zhuǎn)換。A設(shè)備查詢B設(shè)備的OTG性能描述符,以判斷B設(shè)備是否為OTG設(shè)備,若B設(shè)備為OTG設(shè)備,返回有效的性能描述符,A設(shè)備向B設(shè)備發(fā)送Setfeature命令,然后掛起總線,等待B設(shè)備的HNP請求。如圖3所示。