嵌入式系統設計中的USB OTG方案
與PC系統相比,設計工程師在嵌入式系統中實(shí)現USB將面臨很多挑戰和局限性,包括功耗、PCB面積、CPU處理能力等。本文以TD1120為例,分析了嵌入式應用中USB OTG控制器的功能特性,以及基于TD1120的軟件實(shí)現。 移動(dòng)設備和嵌入式市場(chǎng)的爆炸性增長(cháng)促進(jìn)了通過(guò)公共標準接口在不同設備之間進(jìn)行方便的數據共享需求的增長(cháng)。通用串行接口(USB)的廣泛應用穩固了其作為業(yè)界標準接口的地位,已經(jīng)成為嵌入式系統I/O連接的事實(shí)標準。USB的成功和流行歸功于其具有熱拔插和即插即用的易用性能。USB從最初引入到PC,到目前已經(jīng)迅速擴展到非PC的應用,包括移動(dòng)嵌入式系統。今天嵌入式系統生產(chǎn)商的問(wèn)題已經(jīng)不是在產(chǎn)品中實(shí)現USB,而是如何最佳地將USB性能集成到他的產(chǎn)品中去,以大大地提升產(chǎn)品的連接性能。
本文引用地址:http://dyxdggzs.com/article/149405.htm在嵌入式應用中實(shí)現USB并不那么簡(jiǎn)單,與PC系統相比,設計工程師將面臨很多挑戰和局限性。如果USB實(shí)現的規劃很好,將簡(jiǎn)化并加快把USB集成到終端產(chǎn)品的工作。這其中涉及到關(guān)于根據終端產(chǎn)品的USB應用情況進(jìn)行的系統層面決策,產(chǎn)品特性和性能要求的權衡的不同將影響到USB功能性的恰當實(shí)現。
USB2.0與OTG
USB2.0規范是USB1.1的演進(jìn),采用一個(gè)高速接口使系統生產(chǎn)商能推出具有相同易用連接優(yōu)點(diǎn)的高性能產(chǎn)品。USB2.0支持高達480Mbps的高速數據傳輸,并且與USB1.1規范后向兼容,而后者僅支持全速的12Mbps和低速的1.5Mbps。
USB OTG是USB2.0規范的補充,結合了對移動(dòng)應用友好的新特性,包括低功耗、更小的USB接頭以及在相同的USB端口上增加了雙重角色的功能(作為主機和外設的功能)。OTG通過(guò)在沒(méi)有計算機的情況下,相互之間對等連接使傳統的只能作為USB外設的移動(dòng)產(chǎn)品的性能和連接性得到擴展。
圖1:USB軟件與操作系統的上層關(guān)系圖。
OTG控制器
TD1120是TransDimensiON公司提供的第三代OTG控制器,并針對便攜式媒體播放器(PMP)、智能電話(huà)、個(gè)人數字助理(PDA)、便攜式視頻錄像機(PVR)、數字相冊和多功能打印機等進(jìn)行了優(yōu)化。TD1120使得這些產(chǎn)品能擴展其應用,既可以當作全速USB主機操作或高速外設,又能同時(shí)執行兩種功能。
數據內容量的增加和要求高帶寬的應用(例如大數據文件的傳輸)推動(dòng)了高速外設連接需求。TD1120能實(shí)現高速數據傳輸,減少像連接到PC這樣的USB主機時(shí)大數據內容(圖形文件)的傳輸時(shí)間。當在主機模式時(shí),TD1120使系統能連接到更寬范圍的USB外設,例如大容量存儲設備(U盤(pán))、鍵盤(pán)、鼠標、打印機以及數碼相機。在全速下功耗較低,能延長(cháng)系統電池壽命。
對于多功能打印機,TD1120提供了一種將打印機升級到具有USB主機功能和外設連接特性的一種具有成本效益的方法。高速USB外設控制器提供從打印機到PC的連接,同時(shí)全速主機控制器能支持PictBridge功能,這樣用戶(hù)就可以將數碼相機連接到具有PictBridge的打印機,實(shí)現照片直接打印。
PC環(huán)境通常具有高性能的CPU,這個(gè)CPU具有充足的存儲器、功率預算以及PCB空間。然而,在嵌入式應用中,由于產(chǎn)品設計的要求,這些資源是非常有限的。要恰當地實(shí)現USB功能特性,需要認真的產(chǎn)品規劃和系統層面的考慮,這需要從USB應用、特性和性能要求以及權衡這些選擇對嵌入式處理器、操作系統(OS)和USB軟件堆棧的影響的判斷能力。
相對于需要分別用來(lái)支持高速外設和全速主機功能兩個(gè)USB控制器的雙芯片實(shí)現來(lái)說(shuō),TD1120提供USB設計靈活性、低功耗、大大節省PCB空間并縮短系統開(kāi)發(fā)周期的方案,這些都是工程師的主要關(guān)注的,這些好處同樣也轉換為系統成本的節省、加快客戶(hù)產(chǎn)品面市時(shí)間。
TD1120允許多端口配置、同時(shí)的主機和外設操作以及靈活的操作模式。支持以下端口配置:雙端口,一個(gè)OTG端口加標準的全速主機端口;三端口,兩個(gè)全速主機端口和一個(gè)高速外設端口。Mini-AB插座用來(lái)作為OTG端口(OTG端口具有雙重角色功能)。OTG端口可以配制成主機端口或外設端口,取決于插入Mini-A或Mini-B插頭時(shí)所檢測到的ID管腳。如果插入的是Mini-A插頭(ID管腳短路),端口配置為主機,當Mini-B插頭插入(ID管腳浮置),則端口配置為外設。
TD1120集成了一個(gè)片上高電流充電泵,可以支持高達100mA的電流,這樣可以支持很多種USB設備,包括鍵盤(pán)、鼠標、部分U盤(pán),這樣就不存在需要外部充電泵的問(wèn)題。此外,還集成了鎖相環(huán)(PLL)來(lái)支持外部晶振或12MHz和30MHz晶振實(shí)現額外的系統靈活性。
采用TD1120在全速主機模式下功耗低于40mA(最大),全速外設操作時(shí)最大為80mA。TD1120整個(gè)芯片支持功率節省模式,包括主機控制器以及外設控制器的延緩模式以使功率消耗最小化,延長(cháng)系統電池壽命,對于移動(dòng)設備來(lái)說(shuō),電池壽命是很關(guān)鍵的性能。
接口性能表現
USB數據傳輸速率高度依賴(lài)于系統平臺。對速率的期望要現實(shí)而適當,因為有很多因素會(huì )影響到系統的數據吞吐量,包括CPU處理能力、CPU的利用率、OS存儲系統總線(xiàn)訪(fǎng)問(wèn)時(shí)間、USB控制器、系統應用程序、軟件和協(xié)議開(kāi)銷(xiāo),等等。采用400MHz處理器的嵌入式系統不能與4GHz CPU的USB速度相提并論,后者在高速模式下可以達到200Mbps的吞吐量。
圖2:TD1120架構框圖。
TD1120設計實(shí)現了硬件處理調度和傳輸層協(xié)議,包括實(shí)現高級性能的數據轉換、重試和帶寬管理。當出現傳輸錯誤或者設備還沒(méi)有準備接收傳輸時(shí),將發(fā)送設備否定應答(NAK)。NAK可以是性能和系統影響的巨大因素,TD1120的設計減小了這些影響。當出現在主機與連接的外設之間進(jìn)行大量的數據交換所采用的批量數據傳輸的情況時(shí),批量列表結構(Bulk list structure)經(jīng)過(guò)存儲器映射到TD1120的主機控制器,所有因為USB設備N(xiāo)AK而產(chǎn)生的重試以及傳輸描述符(TD)都在硬件內部處理,而不需要對系統總線(xiàn)的持續訪(fǎng)問(wèn),這樣減少了中斷并降低了對CPU的占用。
TD1120的高速的外設控制器實(shí)現了像連接到PC這樣的主機的性能,減少了傳輸大量數據內容的時(shí)間,因而大大提高了通過(guò)高速外設控制器的吞吐量,提升了用戶(hù)體驗。TD1120支持兩個(gè)與外部直接存儲器存取(DMA)主機接口的從DMA通道,這樣可以在沒(méi)有CPU干涉的情況下實(shí)現從或到外部存儲器或設備的高帶寬數據傳輸,減少對系統CPU的占用。然而,必須注意仔細調整CPU的外部存儲器訪(fǎng)問(wèn)時(shí)間,以嚴格匹配外部USB主機控制器的時(shí)序要求,從而提高系統性能。
軟件支持
軟件在實(shí)現USB功能方面扮演了主要的角色。用于驅動(dòng)控制器的必要軟件可能很復雜。除了硬件之外,選擇適當的OS和USB堆棧方案是USB實(shí)現的關(guān)鍵。支持TD1120的軟件可以從TransDimension的SoftConnex軟件套件得到,很多的實(shí)時(shí)操作系統(RTOS)都支持該軟件堆棧,該軟件套件提供完整的嵌入式USB方案的軟件堆棧和驅動(dòng)程序。嵌入式系統領(lǐng)域采用了大量的實(shí)時(shí)操作系統。本身帶有USB主機和外設堆棧支持的操作系統在市場(chǎng)上并不多,如WinCE或Linux。對這些本身就帶有USB堆棧的操作系統,TransDimension支持主機和外設低級控制器驅動(dòng)程序來(lái)與USB協(xié)議層接口。協(xié)議堆棧負責協(xié)議管理和調度功能,包括處理即插即用特性,以便告知系統新插入的設備,并管理帶寬以及其他與USB相關(guān)的資源。
對于其他本身并不帶USB堆棧的操作系統來(lái)說(shuō),TransDimension可以通過(guò)向客戶(hù)發(fā)放許可證的形式讓客戶(hù)使用TransDimension的軟件堆棧和驅動(dòng)程序實(shí)現USB主機、外設或OTG功能,并將其配置到很多種操作系統和CPU。模塊化的軟件架構能實(shí)現靈活的產(chǎn)品設計,系統設計工程師可以輕易地從主機或/和外設設計轉到OTG方案上。
此外,TransDimension還提供便攜主機控制器驅動(dòng)程序(HCD)以及外設控制器驅動(dòng)程序(PCD)。開(kāi)發(fā)商可以輕易地將驅動(dòng)程序移植到多種USB主機和外設軟件堆棧、操作系統、處理器和硬件平臺中。便攜HCD和PCD提供設計工程師低級的應用編程接口(API)驅動(dòng)程序來(lái)開(kāi)發(fā)他們自己的USB方案,而可以不管TD1120是如何工作的細節。
便攜式HCD和PCD提供簡(jiǎn)單的API,使用戶(hù)能寫(xiě)獨立的USB應用程序以及將驅動(dòng)程序連接到現存的USB堆棧,并實(shí)現特定應用軟件。當要求更多特性的應用,如支持大容量存儲,而內部開(kāi)發(fā)能力和資源受到項目時(shí)間的限制,采用授權軟件產(chǎn)品可以提供最快的產(chǎn)品面世方案。
低功率設計
--低功率特性包括可調節內核時(shí)鐘、動(dòng)態(tài)寄存器關(guān)斷、動(dòng)態(tài)和可編程時(shí)鐘選通大大降低功率消耗
魯棒的OTG邏輯
--可配置硬件和軟件主機協(xié)調協(xié)議和會(huì )話(huà)請求協(xié)議
內存映射接口
--16位數據總線(xiàn)允許直接連接到大多數微處理器
同時(shí)操作
--主機和外設控制器實(shí)現允許同時(shí)操作
靈活的端口配置
--允許多個(gè)端口配置,支持多達3個(gè)端口
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論