(文章來源:電子工程網)
USB技術的應用已經從最初應用為一種連接外設和PC的方法經過了長足的發展。USB標準的靈活性和適應性,加上目前流行的基于USB的存儲設備和音樂播放器,激發了許多不是基于PC的嵌入式系統紛紛采用USB。現在,從電視機和機頂盒等家庭娛樂設備,到智能儀器、機器控制器、數碼標識系統和手持終端等工業應用,各種嵌入式應用都正在引入USB主機接口以提供數據存儲/傳輸,媒體錄音重放以及其他接口能力。
當把USB連接引入到一個現有的嵌入式應用的時候,對于如何升級設計者現有的設計以支持USB,有多種選擇。一個選擇就是用一個具有內部USB協議處理能力的設備替代它們現有的處理設備(CPU或微控制器)。這時用戶通常需要重新設計他們的硬件和軟件的核心部分以支持新的處理器。尤其是如果需要USB主機能力,則需要新的軟件設備驅動和服務來處理設備枚舉之類的功能,支持不同的USB設備類和傳輸模式。對現有產品作這樣的重要變化,經常是非常耗時并且代價不菲的。
另一種方法是使用一種現成的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核,使它可用于用戶處理功能??刂破髦С?個主要的USB傳輸類型(控制、批處理、中斷和同步),因此可以支持廣泛的USB應用。
除了USB接口,VNC2還支持一系列靈活的接口,使之能夠輕松的連接到其他的處理設備和外設。所支持的接口包括一個串行UART接口,用來連接到其它CPU或微控制器,一個高速FIFO接口,可用于比如一個ASIC或PLD(可編程邏輯器件)、SPI(串行外設接口)主從端口、以及8個PWM(脈沖寬度調制)通道之間傳輸數據以支持相關電路的控制。
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驅動,需要用戶用盡開發資源。還有一些特定的設備結構,USB協議處理是由軟件實現的,要求設計者要么自己開發要么購買USB協議棧。這種方式除了開發和版權的開銷,USB接口性能也可能被運行在設備CPU上的其他軟件進程所限制。
Vinculum II軟件開發工具套件允許用戶針對VNC2上的CPU處理器創建基于C的應用程序。這個工具套件是封裝為一個集成開發環境(IDE),具有標準的代碼編譯,創建,調試和編輯功能。這個IDE可從FTDI免費獲取,不需要許可證或版權費用。
除了開發工具,FTDI還開發了一系列的預編譯固件鏡像文件。固件鏡像文件能包含通常的USB應用相關的功能,比如對USB存儲設備的管理和接口,音樂重放,與USB打印機,HUB和HID類型設備的接口。這些固件鏡像文件已經可用于第一代Vinculum芯片VNC1L。預編譯固件鏡像文件提供一個備用的應用程序,嵌入式系統設計者可以展開它或直接用作一個引用來添加到他們自己的專用程序中。當結合多種特征和前面提到的免費的軟件開發資源,VNC2為嵌入式應用提供了一種有成本效益的完整的USB功能,同時通過把重新設計用戶現有設計的核心部分的工作量最小化,從而減少了開發風險。
許多的硬件平臺可用于支持采用FTDI VNC2 USB主/從芯片進行USB應用的原型和開發。VNC2 USB主/從控制器有各種封裝形式可用,LQFP和QFN類型的封裝有32腳、48腳和64腳等多種選擇。
? ? ? (責任編輯:fqj)
評論
查看更多