<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 嵌入式系統(tǒng)設(shè)計中的USB OTG方案

          嵌入式系統(tǒng)設(shè)計中的USB OTG方案

          作者: 時間:2012-03-16 來源:網(wǎng)絡(luò) 收藏

          與PC相比,工程師在中實現(xiàn)將面臨很多挑戰(zhàn)和局限性,包括功耗、PCB面積、CPU處理能力等。本文以TD1120為例,分析了應(yīng)用中 控制器的功能特性,以及基于TD1120的軟件實現(xiàn)。   移動設(shè)備和市場的爆炸性增長促進了通過公共標準接口在不同設(shè)備之間進行方便的數(shù)據(jù)共享需求的增長。通用串行接口()的廣泛應(yīng)用穩(wěn)固了其作為業(yè)界標準接口的地位,已經(jīng)成為嵌入式I/O連接的事實標準。USB的成功和流行歸功于其具有熱拔插和即插即用的易用性能。USB從最初引入到PC,到目前已經(jīng)迅速擴展到非PC的應(yīng)用,包括移動嵌入式系統(tǒng)。今天嵌入式系統(tǒng)生產(chǎn)商的問題已經(jīng)不是在產(chǎn)品中實現(xiàn)USB,而是如何最佳地將USB性能集成到他的產(chǎn)品中去,以大大地提升產(chǎn)品的連接性能。

          本文引用地址:http://www.ex-cimer.com/article/149405.htm

          在嵌入式應(yīng)用中實現(xiàn)USB并不那么簡單,與PC系統(tǒng)相比,工程師將面臨很多挑戰(zhàn)和局限性。如果USB實現(xiàn)的規(guī)劃很好,將簡化并加快把USB集成到終端產(chǎn)品的工作。這其中涉及到關(guān)于根據(jù)終端產(chǎn)品的USB應(yīng)用情況進行的系統(tǒng)層面決策,產(chǎn)品特性和性能要求的權(quán)衡的不同將影響到USB功能性的恰當(dāng)實現(xiàn)。

          USB2.0與

          USB2.0規(guī)范是USB1.1的演進,采用一個高速接口使系統(tǒng)生產(chǎn)商能推出具有相同易用連接優(yōu)點的高性能產(chǎn)品。USB2.0支持高達480Mbps的高速數(shù)據(jù)傳輸,并且與USB1.1規(guī)范后向兼容,而后者僅支持全速的12Mbps和低速的1.5Mbps。

          USB 是USB2.0規(guī)范的補充,結(jié)合了對移動應(yīng)用友好的新特性,包括低功耗、更小的USB接頭以及在相同的USB端口上增加了雙重角色的功能(作為主機和外設(shè)的功能)。OTG通過在沒有計算機的情況下,相互之間對等連接使傳統(tǒng)的只能作為USB外設(shè)的移動產(chǎn)品的性能和連接性得到擴展。

          圖1:USB軟件與操作系統(tǒng)的上層關(guān)系圖。

          OTG控制器

          TD1120是TransDimensiON公司提供的第三代OTG控制器,并針對便攜式媒體播放器(PMP)、智能電話、個人數(shù)字助理(PDA)、便攜式視頻錄像機(PVR)、數(shù)字相冊和多功能打印機等進行了優(yōu)化。TD1120使得這些產(chǎn)品能擴展其應(yīng)用,既可以當(dāng)作全速USB主機操作或高速外設(shè),又能同時執(zhí)行兩種功能。

          數(shù)據(jù)內(nèi)容量的增加和要求高帶寬的應(yīng)用(例如大數(shù)據(jù)文件的傳輸)推動了高速外設(shè)連接需求。TD1120能實現(xiàn)高速數(shù)據(jù)傳輸,減少像連接到PC這樣的USB主機時大數(shù)據(jù)內(nèi)容(圖形文件)的傳輸時間。當(dāng)在主機模式時,TD1120使系統(tǒng)能連接到更寬范圍的USB外設(shè),例如大容量存儲設(shè)備(U盤)、鍵盤、鼠標、打印機以及數(shù)碼相機。在全速下功耗較低,能延長系統(tǒng)電池壽命。

          對于多功能打印機,TD1120提供了一種將打印機升級到具有USB主機功能和外設(shè)連接特性的一種具有成本效益的方法。高速USB外設(shè)控制器提供從打印機到PC的連接,同時全速主機控制器能支持PictBridge功能,這樣用戶就可以將數(shù)碼相機連接到具有PictBridge的打印機,實現(xiàn)照片直接打印。

          PC環(huán)境通常具有高性能的CPU,這個CPU具有充足的存儲器、功率預(yù)算以及PCB空間。然而,在嵌入式應(yīng)用中,由于產(chǎn)品的要求,這些資源是非常有限的。要恰當(dāng)?shù)貙崿F(xiàn)USB功能特性,需要認真的產(chǎn)品規(guī)劃和系統(tǒng)層面的考慮,這需要從USB應(yīng)用、特性和性能要求以及權(quán)衡這些選擇對嵌入式處理器、操作系統(tǒng)(OS)和USB軟件堆棧的影響的判斷能力。

          相對于需要分別用來支持高速外設(shè)和全速主機功能兩個USB控制器的雙芯片實現(xiàn)來說,TD1120提供USB設(shè)計靈活性、低功耗、大大節(jié)省PCB空間并縮短系統(tǒng)開發(fā)周期的,這些都是工程師的主要關(guān)注的,這些好處同樣也轉(zhuǎn)換為系統(tǒng)成本的節(jié)省、加快客戶產(chǎn)品面市時間。

          TD1120允許多端口配置、同時的主機和外設(shè)操作以及靈活的操作模式。支持以下端口配置:雙端口,一個OTG端口加標準的全速主機端口;三端口,兩個全速主機端口和一個高速外設(shè)端口。Mini-AB插座用來作為OTG端口(OTG端口具有雙重角色功能)。OTG端口可以配制成主機端口或外設(shè)端口,取決于插入Mini-A或Mini-B插頭時所檢測到的ID管腳。如果插入的是Mini-A插頭(ID管腳短路),端口配置為主機,當(dāng)Mini-B插頭插入(ID管腳浮置),則端口配置為外設(shè)。

          TD1120集成了一個片上高電流充電泵,可以支持高達100mA的電流,這樣可以支持很多種USB設(shè)備,包括鍵盤、鼠標、部分U盤,這樣就不存在需要外部充電泵的問題。此外,還集成了鎖相環(huán)(PLL)來支持外部晶振或12MHz和30MHz晶振實現(xiàn)額外的系統(tǒng)靈活性。

          采用TD1120在全速主機模式下功耗低于40mA(最大),全速外設(shè)操作時最大為80mA。TD1120整個芯片支持功率節(jié)省模式,包括主機控制器以及外設(shè)控制器的延緩模式以使功率消耗最小化,延長系統(tǒng)電池壽命,對于移動設(shè)備來說,電池壽命是很關(guān)鍵的性能。

          接口性能表現(xiàn)

          USB數(shù)據(jù)傳輸速率高度依賴于系統(tǒng)平臺。對速率的期望要現(xiàn)實而適當(dāng),因為有很多因素會影響到系統(tǒng)的數(shù)據(jù)吞吐量,包括CPU處理能力、CPU的利用率、OS存儲系統(tǒng)總線訪問時間、USB控制器、系統(tǒng)應(yīng)用程序、軟件和協(xié)議開銷,等等。采用400MHz處理器的嵌入式系統(tǒng)不能與4GHz CPU的USB速度相提并論,后者在高速模式下可以達到200Mbps的吞吐量。

          圖2:TD1120架構(gòu)框圖。

          TD1120設(shè)計實現(xiàn)了硬件處理調(diào)度和傳輸層協(xié)議,包括實現(xiàn)高級性能的數(shù)據(jù)轉(zhuǎn)換、重試和帶寬管理。當(dāng)出現(xiàn)傳輸錯誤或者設(shè)備還沒有準備接收傳輸時,將發(fā)送設(shè)備否定應(yīng)答(NAK)。NAK可以是性能和系統(tǒng)影響的巨大因素,TD1120的設(shè)計減小了這些影響。當(dāng)出現(xiàn)在主機與連接的外設(shè)之間進行大量的數(shù)據(jù)交換所采用的批量數(shù)據(jù)傳輸?shù)那闆r時,批量列表結(jié)構(gòu)(Bulk list structure)經(jīng)過存儲器映射到TD1120的主機控制器,所有因為USB設(shè)備NAK而產(chǎn)生的重試以及傳輸描述符(TD)都在硬件內(nèi)部處理,而不需要對系統(tǒng)總線的持續(xù)訪問,這樣減少了中斷并降低了對CPU的占用。

          TD1120的高速的外設(shè)控制器實現(xiàn)了像連接到PC這樣的主機的性能,減少了傳輸大量數(shù)據(jù)內(nèi)容的時間,因而大大提高了通過高速外設(shè)控制器的吞吐量,提升了用戶體驗。TD1120支持兩個與外部直接存儲器存取(DMA)主機接口的從DMA通道,這樣可以在沒有CPU干涉的情況下實現(xiàn)從或到外部存儲器或設(shè)備的高帶寬數(shù)據(jù)傳輸,減少對系統(tǒng)CPU的占用。然而,必須注意仔細調(diào)整CPU的外部存儲器訪問時間,以嚴格匹配外部USB主機控制器的時序要求,從而提高系統(tǒng)性能。

          軟件支持

          軟件在實現(xiàn)USB功能方面扮演了主要的角色。用于驅(qū)動控制器的必要軟件可能很復(fù)雜。除了硬件之外,選擇適當(dāng)?shù)腛S和USB堆棧是USB實現(xiàn)的關(guān)鍵。支持TD1120的軟件可以從TransDimension的SoftConnex軟件套件得到,很多的實時操作系統(tǒng)(RTOS)都支持該軟件堆棧,該軟件套件提供完整的嵌入式USB的軟件堆棧和驅(qū)動程序。嵌入式系統(tǒng)領(lǐng)域采用了大量的實時操作系統(tǒng)。本身帶有USB主機和外設(shè)堆棧支持的操作系統(tǒng)在市場上并不多,如WinCE或Linux。對這些本身就帶有USB堆棧的操作系統(tǒng),TransDimension支持主機和外設(shè)低級控制器驅(qū)動程序來與USB協(xié)議層接口。協(xié)議堆棧負責(zé)協(xié)議管理和調(diào)度功能,包括處理即插即用特性,以便告知系統(tǒng)新插入的設(shè)備,并管理帶寬以及其他與USB相關(guān)的資源。

          對于其他本身并不帶USB堆棧的操作系統(tǒng)來說,TransDimension可以通過向客戶發(fā)放許可證的形式讓客戶使用TransDimension的軟件堆棧和驅(qū)動程序?qū)崿F(xiàn)USB主機、外設(shè)或OTG功能,并將其配置到很多種操作系統(tǒng)和CPU。模塊化的軟件架構(gòu)能實現(xiàn)靈活的產(chǎn)品設(shè)計,系統(tǒng)設(shè)計工程師可以輕易地從主機或/和外設(shè)設(shè)計轉(zhuǎn)到OTG方案上。

          此外,TransDimension還提供便攜主機控制器驅(qū)動程序(HCD)以及外設(shè)控制器驅(qū)動程序(PCD)。開發(fā)商可以輕易地將驅(qū)動程序移植到多種USB主機和外設(shè)軟件堆棧、操作系統(tǒng)、處理器和硬件平臺中。便攜HCD和PCD提供設(shè)計工程師低級的應(yīng)用編程接口(API)驅(qū)動程序來開發(fā)他們自己的USB方案,而可以不管TD1120是如何工作的細節(jié)。

          便攜式HCD和PCD提供簡單的API,使用戶能寫?yīng)毩⒌腢SB應(yīng)用程序以及將驅(qū)動程序連接到現(xiàn)存的USB堆棧,并實現(xiàn)特定應(yīng)用軟件。當(dāng)要求更多特性的應(yīng)用,如支持大容量存儲,而內(nèi)部開發(fā)能力和資源受到項目時間的限制,采用授權(quán)軟件產(chǎn)品可以提供最快的產(chǎn)品面世方案。

          低功率設(shè)計

          --低功率特性包括可調(diào)節(jié)內(nèi)核時鐘、動態(tài)寄存器關(guān)斷、動態(tài)和可編程時鐘選通大大降低功率消耗

          魯棒的OTG邏輯

          --可配置硬件和軟件主機協(xié)調(diào)協(xié)議和會話請求協(xié)議

          內(nèi)存映射接口

          --16位數(shù)據(jù)總線允許直接連接到大多數(shù)微處理器

          同時操作

          --主機和外設(shè)控制器實現(xiàn)允許同時操作

          靈活的端口配置

          --允許多個端口配置,支持多達3個端口

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();