新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 高速USB OTG——便攜設(shè)備絕佳的互連解決方案

高速USB OTG——便攜設(shè)備絕佳的互連解決方案

——
作者:智原科技(上海)有限公司技術(shù)支持部 陳宏銘 朱愛莉 陳麒安 時間:2006-12-06 來源:今日電子 收藏

電子產(chǎn)品在挑戰(zhàn)尺寸、容量、處理速度與便利性的同時,也考驗著研發(fā)人員的設(shè)計能力。過去接口的單向傳輸方式已很難適應(yīng)現(xiàn)在便攜式電子產(chǎn)品所需要的強大功能,市場需要的是讓直接互連的雙向連接方式。 的出現(xiàn)解決了這一問題。

如何相互溝通

隨著的功能和數(shù)據(jù)容量的提升,使用者也開始希望其能與其他便攜式與非便攜設(shè)備共享信息,但是掌上型設(shè)備的數(shù)據(jù)輸入及顯示較為不易。因為體積小,便攜設(shè)備通常沒有實用的接口,只有一個小屏幕和有限的按鍵。

便攜設(shè)備存在的另一個問題是“需要傳輸?shù)臄?shù)據(jù)量”。以一臺數(shù)碼相機為例,其存儲容量可高達數(shù)百兆。此外,數(shù)據(jù)傳輸?shù)姆绞揭灿泻芏?,手機用戶可能會想將手機連接到PC,下載原先儲存的信息;有時需要和其他手機聯(lián)機,互傳電話號碼;或者需要和數(shù)碼相機聯(lián)機,上傳所拍攝的照片;當然有時還必須連接到PDA并使用其無線網(wǎng)絡(luò)功能。

無奈手機等便攜設(shè)備體積太小,沒有空間為各種連機類型提供專屬的接頭,而且便攜設(shè)備的市場對成本相當敏感,想要提供這么多的接頭,會導(dǎo)致成本過高。由此看來,我們需要一種便宜、普及、使用容易、傳輸速率高的

 
聯(lián)機方式,使各種不同的電子設(shè)備能夠彼此通信并傳輸數(shù)據(jù)。

標準的USB連接架構(gòu)

圖1  標準的連接架構(gòu)

標準的USB連機需要一個主端(host),這個主端通常是PC。如果想把儲存在某個外圍設(shè)備的數(shù)據(jù)傳輸?shù)搅硪粋€外圍設(shè)備,唯一的方法是通過主端來中介傳輸,如圖1所示。例如,想要將數(shù)碼相機的照片打印出來,必須先將照片上傳到主端,再從主端傳送到打印機。為什么不在便攜設(shè)備里加入主端功能呢?USB是一種主從架構(gòu)的通信協(xié)議,原先是給一個主端搭配多個外圍設(shè)備的應(yīng)用方式設(shè)計的,因此USB連機的操控管理,多半是仰賴主端。如果要將整套USB規(guī)格的主端控管邏輯全部建構(gòu)在一個便攜設(shè)備中,對于著重功能簡便的便攜設(shè)備而言,會造成很大的負擔。而且USB傳輸線具有方向性,插入主端的接頭和插入外圍設(shè)備的接頭并不相同。

以便攜設(shè)備而言,有時候必須擔任主端的角色,例如,數(shù)碼相機傳送照片給打印機;而有時候則必須擔任外圍設(shè)備的角色,例如,數(shù)碼相機將照片上傳至PC,如圖2所示。雖然USB的專用接頭體積不大,但如果要建構(gòu)于小巧的便攜設(shè)備之中,可能還是過于龐大。USB架構(gòu)認定主端具備充足的電源,可為聯(lián)機的外圍設(shè)備提供電力,有些設(shè)備甚至全部的電力都是來自USB總線的。這樣的供電架構(gòu),對于一些電力有限的小型便攜設(shè)備而言,會造成難以承受的負擔。USB 補充規(guī)格中最重要的改變就是擴充了原先的USB協(xié)議,提供更嚴謹?shù)碾娫垂芾砉δ?,并允許電子設(shè)備擔任主端角色或外圍角色。

USB OTG的連接架構(gòu)

圖2  USB 的連接架構(gòu)

雙重角色設(shè)備

“雙重角色設(shè)備(Dual-Role Device)”既可擔任主端角色、亦可擔任外圍的電子設(shè)備角色。除了要符合USB 2.0標準的所有要求之外,“雙重角色設(shè)備”還必須提供有限的主端功能,并支持“事務(wù)請求協(xié)議(SRP)”以及“主端協(xié)商協(xié)議(HNP)”,而且應(yīng)具備單一Mini-AB插槽。此外,這種設(shè)備必須能傳送信息給使用者。當“雙重角色設(shè)備”處于主端模式運作時,VBUS只需要供應(yīng)8mA的電流,這個規(guī)格有別于標準USB主端的100mA或500mA要求。

主端協(xié)商協(xié)議

當“雙重角色設(shè)備”連接了一個Mini-A或Mini-B插頭時,它相應(yīng)的便以O(shè)TG主機或外設(shè)的默認方式工作。A設(shè)備為默認主端,所以由它提供VBUS電源,且在檢測到有設(shè)備接入時復(fù)位總線、列舉并配置B設(shè)備。

A設(shè)備在完成對B設(shè)備的使用后,可以通過查詢B設(shè)備的OTG性能描述符來判斷是否支持HNP(即是否為“雙重角色設(shè)備”)。如支持HNP,B設(shè)備將返回有效的OTG性能描述符,A設(shè)備則產(chǎn)生一個Set_feature命令(即HNP_Enable)來通知B設(shè)備可以在總線掛起的時候以主端方式工作,隨后A設(shè)備掛起總線。

B設(shè)備通過上拉電阻(全速時)或者下拉電阻(高速時)拉低D+(數(shù)據(jù)線上拉電阻)以示連接斷開。隨后,作為對B設(shè)備斷開的響應(yīng),A設(shè)備使能它的數(shù)據(jù)線并開始以從端方式工作。完成這些轉(zhuǎn)換后,B設(shè)備和A設(shè)備便各自以主機角色和外設(shè)角色使用總線。如果該B設(shè)備屬于“雙重角色設(shè)備”且A設(shè)備不再使用它了,A設(shè)備便重發(fā)Set_feature命令并掛起總線。若B設(shè)備申請角色轉(zhuǎn)換時出錯,A設(shè)備則拉低VBUS以結(jié)束該事務(wù)。當B設(shè)備正常結(jié)束傳輸事務(wù)時便掛起VBUS使能其上拉電阻,重新以從端方式運行。A設(shè)備檢測到總線掛起后,發(fā)出一個連接斷開信號并重新以主機方式工作。

事務(wù)請求協(xié)議

在以往的USB系統(tǒng)運行過程中,主機提供5V的電源和不低于100mA的總線電流。當OTG主機(指以主機方式工作的兩用OTG設(shè)備,又稱A設(shè)備)連接到有線電源時這種方法是適用的,但像手機這樣的自供電移動設(shè)備則不能承受如此大的電能浪費。為了節(jié)約電源延長電池的使用壽命,當總線上沒有活動時,OTG主機將掛起總線電源VBUS。SRP可使OTG從端(指外設(shè)式設(shè)備或者以外設(shè)方式工作的“雙重角色設(shè)備”,又稱B設(shè)備)請求設(shè)備重新使能VBUS,而后A設(shè)備使用HNP交換兩個設(shè)備的工作方式,這兩步完成后由新的OTG主機開始事務(wù)傳輸。B設(shè)備可在前一事務(wù)結(jié)束2ms后的任意時間開始SRP。

B設(shè)備將先后執(zhí)行數(shù)據(jù)線脈沖調(diào)制和VBUS脈沖調(diào)制,分別通過使能數(shù)據(jù)線上拉電阻(全速和高速設(shè)備為D+,低速設(shè)備為D-)5~10ms和驅(qū)動VBUS實現(xiàn)。VBUS必須要有足夠長的時間對其電容充電,這個時間應(yīng)能保證不大于13μF的電容充電至2.1V(OTG設(shè)備的電容是6.5μF或更小),從而不會對標準主機的96μF或更大的電容充電至2.0V。該限制保證了從B設(shè)備引來的VBUS電流不會破壞標準主機的端口。

A設(shè)備檢測到數(shù)據(jù)線脈沖調(diào)制或者VBUS脈沖調(diào)制后,首先復(fù)位總線,然后發(fā)送Set_feature命令而先不進行設(shè)備的枚舉,此時B設(shè)備尚處在默認的從端狀態(tài)。如果Set_feature命令成功執(zhí)行,說明B設(shè)備為兩用OTG設(shè)備,A設(shè)備(使用HNP協(xié)議)掛起VBUS準備讓B設(shè)備交換為主機方式接管總線。如果Set_feature命令執(zhí)行失敗,說明B設(shè)備為外設(shè)式OTG設(shè)備,于是A設(shè)備使能VBUS準備開始一個傳輸事務(wù)(此時,A設(shè)備只是被喚醒,并未改變工作方式)。當A設(shè)備認為總線上沒有傳輸需要時,掛起VBUS以結(jié)束該事務(wù)。這種A設(shè)備自動檢測B設(shè)備是否支持HNP的特征稱為“No Silent Failure”。

USB得以成功的其中一項秘訣在于完善的認證測試程序。這道程序能檢測設(shè)備是否符合規(guī)范且能否與其他USB設(shè)備共同運作,唯有通過認證測試的設(shè)備才能貼上USB的認可標簽。目前,認證測試有兩種途徑,可通過USB Compliance Workshop(Plugfests)或個別的測試實驗室進行測試。以上兩種方式都能將通過檢測的設(shè)備列入符合規(guī)范USB設(shè)備的整合廠商名單中。

USB OTG 評估板測試

1 USB EHCI 主端控制器測試

每個設(shè)備應(yīng)該能響應(yīng)USB規(guī)范所定義的控制請求。主端應(yīng)該能利用主端控制器經(jīng)USB纜線送出控制需求到USB設(shè)備。

EHCI 主端控制器測試架構(gòu)

圖3  EHCI 主端控制器測試架構(gòu)

測試方法如下:USB測試Class驅(qū)動呼叫由USB IP核提供更高層的API,經(jīng)USB子系統(tǒng)送出需求到USB設(shè)備。接著, 主端經(jīng)控制端點(Endpoint)接受控制IN/OUT,然后解析/獲得回應(yīng)數(shù)據(jù)/狀況用以核對其正確性。此外, 每個USB設(shè)備應(yīng)該包含幾個必需的描述符并依靠所接受的Get_Descriptor需求的內(nèi)容來回應(yīng)這些描述符。圖3中PC安裝Windows 2000或是Windows XP,利用ARM ADS1.2的AxD調(diào)試器,F(xiàn)A5 CPU的ICE一端連接PC的打印機口或是USB口,另一端連接開發(fā)板,開發(fā)板的另一端則是各種USB設(shè)備,如USB集線器、攝像頭、鼠標、鍵盤和U盤。

互測SNP和HNP的連接架構(gòu)

圖4  互測SNP和HNP的連接架構(gòu)

2 OTG 測試

利用兩臺USB OTG開發(fā)板互測SNP和HNP的連接架構(gòu)如圖4所示。

大量存儲的應(yīng)用測試

圖5  大量存儲的應(yīng)用測試

應(yīng)用測試

如圖5所示,設(shè)計一個SD卡主端應(yīng)用來做演示, SD卡的大量存儲用以測試FOTG200功能。

FOTG200是智原的USB 2.0 OTG控制器, 能作為一個雙重角色。作為主設(shè)備,它包含一個USB主端制器,能支援所有速度的事務(wù)。無須軟件干涉的情形下,主端制器能處理一個基于事務(wù)的數(shù)據(jù)結(jié)構(gòu)以減去主控CPU的負擔,自動地在USB總線上轉(zhuǎn)送和接收數(shù)據(jù)。作為從設(shè)備,每個端點,除了端點0,都承擔可編程的HS/FS傳輸類型提供彈性以適應(yīng)各式各樣的應(yīng)用。

在這個應(yīng)用上, USB子系統(tǒng)由USB IP核、EHCI HCD控制器、USB大量存儲Class驅(qū)動、文件系統(tǒng)和SD卡設(shè)備驅(qū)動所組成。因此,主端設(shè)備能夠讀/寫文檔到SD卡(外部設(shè)備)。順便也能驗證大量存儲Class驅(qū)動和Bulk IN/OUT傳輸?shù)墓δ堋?nbsp;



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉