新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于嵌入式應用的單芯片USB方案

        基于嵌入式應用的單芯片USB方案

        作者: 時間:2014-08-14 來源:網絡 收藏

          技術的應用已經從最初應用為一種連接外設和PC的方法經過了長足的發展。標準的靈活性和適應性,加上目前流行的基于的存儲設備和音樂播放器,激發了許多不是基于PC的系統紛紛采用USB。現在,從電視機和機頂盒等家庭娛樂設備,到智能儀器、機器控制器、數碼標識系統和手持終端等工業應用,各種應用都正在引入USB主機接口以提供數據存儲/傳輸,媒體錄音重放以及其他接口能力。

        本文引用地址:http://www.104case.com/article/261725.htm

          當把USB連接引入到一個現有的應用的時候,對于如何升級設計者現有的設計以支持USB,有多種選擇。一個選擇就是用一個具有內部USB 協議處理能力的設備替代它們現有的處理設備(CPU或微控制器)。這時用戶通常需要重新設計他們的硬件和軟件的核心部分以支持新的處理器。尤其是如果需要 USB主機能力,則需要新的軟件設備驅動和服務來處理設備枚舉之類的功能,支持不同的USB設備類和傳輸模式。對現有產品作這樣的重要變化,經常是非常耗時并且代價不菲的。

          

         

          FTDI Vinculum-II (VNC2)模塊圖。

          另一種方法是使用一種現成的USB芯片方案,如英商飛特帝亞有限公司(FTDI)的Vinculum-II(VNC2)。Vinculum 是FTDI的嵌入式USB主/從控制器系列的名稱。最新發布的第二代芯片 VNC2是針對在嵌入式應用中實現USB功能時的許多關鍵問題而設計,并提供完整的單芯片USB解決方案。這款芯片的特點是有兩個獨立的可配置的USB 主/從接口,一個用戶可編程處理器核,具有多種靈活的接口以支持輕松集成到一個現有的嵌入式設計中。使用這種方案的好處在于設計者能夠重用其現有設計的核心部分,用最小的開發成本和最快的上市時間支持增強的產品特征。

          進一步觀察VNC2的性能,該芯片有2個獨立的USB 2.0接口,提供USB主控端或從控端的連接,具有一個16位哈弗結構CPU核,16K字節的SRAM存儲器和258K字節的FLASH用于編程和固件存儲。由兩個嵌入式的USB主/從控制器以最小的內部CPU負荷實現完整的USB協議處理。這樣解放了CPU核,使它可用于用戶處理功能。控制器支持4個主要的USB傳輸類型(控制、批處理、中斷和同步),因此可以支持廣泛的USB應用。

          除了USB接口,VNC2還支持一系列靈活的接口,使之能夠輕松的連接到其他的處理設備和外設。所支持的接口包括一個串行UART接口,用來連接到其它CPU或微控制器,一個高速FIFO接口,可用于比如一個ASIC或PLD(可編程邏輯器件)、SPI(串行外設接口)主從端口、以及8個 PWM(脈沖寬度調制)通道之間傳輸數據以支持相關電路的控制。圖2為一個VNC2所提供的靈活連接的例子的細節設計。

          

         

          圖2:帶有通訊功能的MP3/媒體播放器接口設計。

          圖2描述的應用是使用FTDI VNC2設備以對現有處理單元的最小的負荷提供MP3和視頻播放以及與現有應用的通訊功能。

          MP3/音頻重放:運行在VNC2上的固件代碼用于從USB存儲棒上讀取文件。音頻數據傳送個MP3解碼器用于音頻輸出,同時顯示屏用于圖像或視頻重放。Vinculum II軟件工具鏈具有與USB閃存接口和與顯示控制器和音頻編解碼SPI接口的設備驅動。通信:通過第二個可用的USB接口可以對應用增加進一步的功能。這里,通過適當的USB KEY可以增加通訊設備類(CDC)來支持藍牙,3G/GPRS通訊。

          對于所有的嵌入式應用,無論是采用電池供電還是市電供電的,電源消耗和管理都是關鍵問題。為了實現低耗電工作,VNC2支持各種低功耗模式。在典型的工作模式,CPU運行在48MHz,VNC2芯片在1.8V核電壓僅消耗25mA(1.8V是從3.3V供電的芯片內部產生的)。要進一步降低功耗,可以首先通過降低CPU的工作頻率至24MHz或12MHz的方式,其次可采用通過軟件關閉芯片上不使用的接口的方式。另外還可使用設備掛起模式。在掛起模式下,VNC2僅消耗128uA電流。這些不同的功耗模式為用戶提供了設備功耗管理的優良的增益控制,幫助嵌入式應用獲取優化的功耗性能。

          軟件接口

          在考慮USB應用的軟件開發時,很重要的一點是首先要了解USB軟件的功能。在許多USB連接方案中,有一個USB主機(比如PC)和一個 USB從設備(比如打印機或USB鍵盤)。在USB從設備最初連接時,USB主機(PC)的作用是識別/枚舉這個設備。枚舉涉及到從從設備中讀取USB的參數和功能信息。從設備讀來的信息包含廠商/產品ID,支持的傳輸和設備類型。這個設備類型表示了從設備的功能和數據傳輸要求。比方說USB鍵盤(人機接口設備)設備按照他們不同的用法會有不同的功能,對USB存儲器(大容量存儲器類設備)支持不同的數據傳輸。每個設備類型會要求不同的軟件設備驅動。在 PC應用中,操作系統比如Windows執行設備枚舉功能,具有各種驅動支持不同的USB類型。

          在嵌入式應用中實現USB主控功能需要采用類似的方法。集成了USB功能的嵌入式處理設備需要驅動以支持枚舉和各種USB設備類型。有些情況下沒有完整的USB驅動,需要用戶用盡開發資源。還有一些特定的設備結構,USB協議處理是由軟件實現的,要求設計者要么自己開發要么購買USB協議棧。這種方式除了開發和版權的開銷,USB接口性能也可能被運行在設備CPU上的其他軟件進程所限制。

          使用VNC2 USB主/從控制器,用戶可受益于一個優化的結構,它具有基于USB處理的硬件和軟件驅動綜合套件,以及在單個設備中提供完整USB功能的資源。用戶可以使用Vinculum II軟件工具套件在VNC2上作應用開發。這個工具有一個嵌入式RTOS(實時操作系統)管理下層接口函數,一套設備驅動支持不同的硬件接口以及各種應用層驅動。這個應用層驅動對不同的USB類型設備提供支持,比如USB HID,USB主機和USB設備。還有其他的應用驅動可用于管理FAT文件系統和執行磁盤存儲功能。Vinculum II軟件工具套件幫助開發人員使用這些資源來實現他們自己的應用代碼,允許在VNC2上直接處理用戶數據,從而不需要在外部MCU或處理器上的主機處理功能。VNC2的軟件結構圖如圖3所示。

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

        上一頁 1 2 下一頁

        關鍵詞: 嵌入式 USB LQFP

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 高陵县| 高雄县| 吉木萨尔县| 綦江县| 武宣县| 建宁县| 北碚区| 旅游| 延津县| 平昌县| 台东市| 高阳县| 黎川县| 永仁县| 定边县| 蒲江县| 平舆县| 松滋市| 漳平市| 盱眙县| 海林市| 门源| 山西省| 正定县| 汉中市| 增城市| 抚顺市| 宾川县| 龙海市| 镇巴县| 修水县| 嘉峪关市| 澄迈县| 永济市| 潜江市| 石阡县| 宜兰县| 家居| 齐齐哈尔市| 建水县| 岫岩|