當(dāng)前位置:首頁(yè) > 智能硬件 > 智能硬件
[導(dǎo)讀]USB開(kāi)發(fā)者論壇發(fā)布了USB2.0補(bǔ)充規(guī)范USB OTG(On-The-GO),解決了兩個(gè)關(guān)鍵的問(wèn)題:一是雙角色的USB外設(shè),二是供電問(wèn)題,從而實(shí)現(xiàn)了便攜設(shè)備間無(wú)主機(jī)的數(shù)據(jù)傳輸 [1-2]。目前,TI公司推出的高速USB2.0 OTG雙功能控制器T

USB開(kāi)發(fā)者論壇發(fā)布了USB2.0補(bǔ)充規(guī)范USB OTG(On-The-GO),解決了兩個(gè)關(guān)鍵的問(wèn)題:一是雙角色的USB外設(shè),二是供電問(wèn)題,從而實(shí)現(xiàn)了便攜設(shè)備間無(wú)主機(jī)的數(shù)據(jù)傳輸 [1-2]。目前,TI公司推出的高速USB2.0 OTG雙功能控制器TUSB6020,是一種小型解決方案,既能作為針對(duì)USB外設(shè)的功能控制器使用,又能作為點(diǎn)對(duì)點(diǎn)或點(diǎn)對(duì)多點(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)可降低高速時(shí)鐘噪聲。
 電源耗電量小于100mW。

500)this.style.width=500;" border="0" />

圖1為T(mén)USB6020的內(nèi)部結(jié)構(gòu)。TUSB6020主要模塊有USB 2.0 PHY模塊、電源/復(fù)位/時(shí)鐘控制模塊(PRCM)、USB2.0 OTG控制模塊及VLYNQ外部主機(jī)接口模塊等。功能參見(jiàn)文獻(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檢測(cè)電路和ID檢測(cè)電路。不妨設(shè)TUSB6020為OTG主機(jī)設(shè)備(A設(shè)備),對(duì)方USB設(shè)備作為OTG從機(jī)設(shè)備(B設(shè)備),分析對(duì)話請(qǐng)求協(xié)議SRP和主機(jī)通信協(xié)議HNP的工作過(guò)程。
B設(shè)備向A設(shè)備發(fā)起SRP會(huì)話的條件是:(1)VBUS跌落到會(huì)話有效閥值0.8V以下;(2)DM/DP維持低電平SEO狀態(tài)至少2ms。之后,B設(shè)備開(kāi)始發(fā)起SRP請(qǐng)求,如圖2所示。 
 500)this.style.width=500;" border="0" /> 


 

 
 
工作步驟如下:(1)B設(shè)備將上拉電阻接入 DM/DP并持續(xù)5-10ms;(2)B設(shè)備驅(qū)動(dòng) VBUS足夠長(zhǎng)的一段時(shí)間直到 VBUS大于會(huì)話有效閥值0.8V;(3)A設(shè)備檢測(cè)到 DM/DP或 VBUS升高,開(kāi)啟 VBUS電源給 B設(shè)備供電;(4)A設(shè)備復(fù)位總線對(duì) B設(shè)備進(jìn)行枚舉配置,開(kāi)始傳輸任務(wù)。
HNP協(xié)議用來(lái)控制A、B兩設(shè)備主從角色的轉(zhuǎn)換。A設(shè)備查詢B設(shè)備的OTG性能描述符,以判斷B設(shè)備是否為OTG設(shè)備,若B設(shè)備為OTG設(shè)備,返回有效的性能描述符,A設(shè)備向B設(shè)備發(fā)送Set feature命令,然后掛起總線,等待B設(shè)備的HNP請(qǐng)求。如圖3所示。

500)this.style.width=500;" border="0" />

工作流程可以歸納為:(1)A設(shè)備掛起總線,DM/DP為高電平;(2)B設(shè)備收到Set feature命令,在總線掛起后斷開(kāi)它的DM/DP上拉電阻,將總線釋放到SEO狀態(tài);(3)A設(shè)備檢測(cè)到SEO狀態(tài)后響應(yīng),連接它的DM/DP上拉電阻;(4)B設(shè)備在檢測(cè)到DM/DP變高后,開(kāi)始以主機(jī)方式工作,B設(shè)備復(fù)位總線,開(kāi)始使用總線;(5)B設(shè)備使用完總線后,停止總線活動(dòng)掛起總線,DM/DP再次變?yōu)楦唠娖?;?)A設(shè)備檢測(cè)到總線空閑后,斷開(kāi)DM/DP上拉電阻;(7)B設(shè)備檢測(cè)DM/DP變低后,連接DM/DP上拉電阻;(8)A設(shè)備等待DM/DP變高后,表明B設(shè)備已準(zhǔn)備回到從機(jī)狀態(tài),A設(shè)備從新成為主機(jī)復(fù)位總線,開(kāi)始使用總線。2 “達(dá)芬奇”處理器 TMS320DM6437與 TUSB6020的接口設(shè)計(jì)
TMS320DM6437是達(dá)芬奇技術(shù)中首批僅基于DSP的產(chǎn)品,集成有600MHz時(shí)鐘的C64x+增強(qiáng)型DSP核心、視頻處理子系統(tǒng)(VPS)以及豐富的外圍接口,支持通用USB2.0和VLYNQ高速傳輸總線,以低于以往的價(jià)位提供了更高的處理性能。
2.1 硬件設(shè)計(jì) TUSB6020與 TMS320DM6437硬件連接的電路圖如圖 4所示。

500)this.style.width=500;" border="0" />

TUSB6020的DM/DP、ID和VBUS引腳與USBmicroAB連接器相連,建立與對(duì)方 USB設(shè)備的物理連接,其中 VBUS 5V電壓由 VBUS電源開(kāi)關(guān)提供,CPEN連接至它 EN引腳用以提供電源開(kāi)關(guān)使能信號(hào)。雙電源調(diào)節(jié)器向 TUSB6020提供 3.3V和 1.5V的數(shù)字、模擬電壓[4]。
VLYNQ接口引腳詳細(xì)描述如下:(1)TUSB6020的 VLYNQ CLK接外部時(shí)鐘,VLYNQ控制寄存器中的 CLKDIR比特位設(shè)置為 1,VLYNQ接口時(shí)鐘由 DM6437系統(tǒng)時(shí)鐘提供。(2)VLYNQ SCRUN為 VLYNQ時(shí)鐘運(yùn)行請(qǐng)求引腳,低電平表示允許 VLYNQ時(shí)鐘運(yùn)行,高電平表示傳輸事務(wù)結(jié)束,VLYNQ時(shí)鐘運(yùn)行停止。(3)TMS320DM6437寫(xiě)操作時(shí),將數(shù)據(jù)壓縮、地址編譯,經(jīng)串行編碼后由 VLYNQTXD[0:3]發(fā)出,TUSB6020將數(shù)據(jù)進(jìn)行串行解碼和解壓縮后讀取地址,將數(shù)據(jù)寫(xiě)入指定寄存器。
(4)TMS320DM6437讀操作時(shí),由 VLYNQ TXD[0:3]發(fā)送讀請(qǐng)求數(shù)據(jù)包,TUSB6020收到請(qǐng)求后,將數(shù)據(jù)壓縮和串行編碼后由 VLYNQ TXD[0:3]發(fā)往TMS320DM6437。(5)VLYNQ接口的數(shù)據(jù)收發(fā)與VLYNQ串行時(shí)鐘同步。
2.2 軟件設(shè)計(jì)
2.2.1 TMS320DM6437和TUSB6020底層通信的實(shí)現(xiàn)

TMS320DM6437和TUSB6020底層通信是整個(gè)USB體系軟件的根基,包括了DM6437對(duì)TUSB6020的讀、寫(xiě)、設(shè)定地址等操作,主要通過(guò) DM6437訪問(wèn) TUSB6020的控制寄存器來(lái)完成。下面是寫(xiě)TUSB6020控制寄存器的部分程序代碼。

void TUSB6020_Write_Reg(Uint32*OTG_base_addr,Uint32 offset,Uint8 size,Uint32 data)
{
Uint32 tmp_addr=0;
Uint16 tmp_data=0;

{…
case 16:
tmp_addr=*OTG_base_addr;

tmp_addr=tmp_addr+offset;
tmp_data=(Uint16)data;
(*(volatile Uint16*)tmp_addr)=data;
break;
…/*Todo Print Error Message*/
break;
}
}

2.2.2 TUSB6020驅(qū)動(dòng)程序設(shè)計(jì)
圖 5為 DSP/BIOS外設(shè)驅(qū)動(dòng)模型。TI公司的DSP/BIOS外設(shè)驅(qū)動(dòng)模型分為兩層三類,即:類驅(qū)動(dòng)層和微型驅(qū)動(dòng)層,PIP/PI0類、SIO/DIO類和 GI0類,結(jié)構(gòu)圖如圖5所示。

500)this.style.width=500;" border="0" />
 
PIO模型具有良好的緩沖器分配回收機(jī)制,適合描述視頻設(shè)備,SIO模型支持更底層的通信,適合設(shè)計(jì)比較簡(jiǎn)單的外設(shè)驅(qū)動(dòng)程序,GIO模型設(shè)計(jì)的目的就是針對(duì)特殊硬件的新型設(shè)備,因此,TUSB6020類驅(qū)動(dòng)程序的設(shè)計(jì)選用 GIO模型。
GIO模型在提供必要的同步讀/寫(xiě)API函數(shù)及其擴(kuò)展函數(shù)的同時(shí),將代碼和使用數(shù)據(jù)緩存的大小盡量簡(jiǎn)化,應(yīng)用程序可以調(diào)用 GIO的 API函數(shù)直接與微型驅(qū)動(dòng)的 IOM交換數(shù)據(jù)。當(dāng)調(diào)用GIO_create創(chuàng)建 TUSB6020的通道實(shí)例時(shí),GIO在通道實(shí)例中增加I/O請(qǐng)求狀態(tài)結(jié)構(gòu)、IOM數(shù)據(jù)包(TUSB6020_USB_Packets)及一個(gè) GIO數(shù)據(jù)對(duì)象。
微型驅(qū)動(dòng)創(chuàng)建規(guī)定的函數(shù),應(yīng)用程序通過(guò) GIO類驅(qū)動(dòng)調(diào)用,這些函數(shù)將放入TUSB6020_USB_fxns中的相應(yīng)位置,供應(yīng)用程序通過(guò) GIO類驅(qū)動(dòng)調(diào)用。TMS320DM6437初始化時(shí)調(diào)用已注冊(cè)到微型驅(qū)動(dòng)中的 mdBindDev綁定通道函數(shù)。mdBindDev函數(shù)實(shí)現(xiàn)下列功能:根據(jù)配置的 TUSB6020設(shè)備參數(shù)初始化 TUSB6020設(shè)備,掛入中斷服務(wù)函數(shù),獲得緩存、DMA等資源;與其對(duì)應(yīng)的 mdUnBindDev綁定通道解除函數(shù)使 TUSB6020設(shè)備處于無(wú)效狀態(tài),不能再使用;mdCreateChan通道創(chuàng)建函數(shù)為應(yīng)用程序和驅(qū)動(dòng)程序建立通信通道,并給通道對(duì)象設(shè)置初始值,為通道申請(qǐng)緩沖區(qū);mdDeleteChan通道刪除函數(shù)刪除已創(chuàng)建好的通道對(duì)象,釋放緩沖區(qū)資源;mdSubmitChan I/O請(qǐng)求發(fā)送函數(shù)負(fù)責(zé)管理緩沖區(qū),處理 TUSB6020_USB_Packet包中的命令字段;mdControlChan設(shè)備控制函數(shù)用來(lái)操作 TUSB6020設(shè)備,完成 OTG角色轉(zhuǎn)換及數(shù)據(jù)收發(fā)等功能。

3 小結(jié)
TUSB6020節(jié)省芯片資源,功耗低,架構(gòu)簡(jiǎn)潔,接口靈活,兼容性好。本文介紹了TUSB6020的功能特性、內(nèi)部結(jié)構(gòu)和TUSB6020的工作原理,分析了TUSB6020與外部主機(jī)的連接方式,提出了一種TMS320DM6437與TUSB6020的USB OTG接口設(shè)計(jì)方案。該接口設(shè)計(jì)可以廣泛應(yīng)用于各種便攜式、嵌入式系統(tǒng)中,從而可靠便捷地實(shí)現(xiàn)USB OTG功能。
本文作者創(chuàng)新點(diǎn):提出了TUSB6020與TMS320DM6437的USB OTG設(shè)計(jì)方案,硬件設(shè)計(jì)有效利用了VLYNQ接口,軟件設(shè)計(jì)簡(jiǎn)捷靈活,為USB OTG的接口設(shè)計(jì)提供了一種新的參考,有廣泛的應(yīng)用價(jià)值。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉