引言
本文引用地址:http://www.eepw.com.cn/article/201808/385300.htm為了方便PC與外設的連接,以Intel公司為首的7家公司於1994年11月推出了一種即插即用的USB通用串行總線協議規範。但由於USB是以主機為中心的分層的星狀總線拓撲結構,軟體比較複雜,對功率要求也比較高,所以在推出後的一段時期內,USB在基於PC的系統中得到了廣泛應用,而在嵌入式系統中應用不多。但是,在2000年發表的USB 2.0規範將USB接口的速度從12 Mbps提高到480 Mbps;2001年又發表了USB OTG補充規範,使外部設備可以擺脫PC機,實現在任何兩臺設備之間直接通信。經過這兩次升級,隨著有越來越多的帶USB接口的廉價外設可供使用,有越來越多的嵌入式系統工程師想把USB接口技術應用到嵌入式系統的設計中。這種需求也促進了USB控制器晶片的研發,給開發者提供了越來越多的選擇。僅在最近兩年內,就有多種新型的USB控制器晶片推出。然而這又給選擇帶來了困難,不同的USB控制器晶片有不同的性能和特點,以下對一些典型的USB控制器晶片進行分析和比較,供選擇時決策參考。
幾款典型USB控制器晶片性能分析
從晶片大的構架來分,市面上所有的USB控制器晶片可以分為不需要外接微處理器的晶片和需要外接微處理器的晶片。不需要外接微處理器的晶片又可以分為USB接口專用晶片和嵌入通用微控制器內核的晶片。
USB接口專用晶片內部採用專用的微控制器,具有特定的指令集,如Cypress的USB M8系列和enCoRe USB系列的晶片。其所能實現的功能有限,但是因為指令集是專門為USB應用優化的指令集,所以實現USB通信工作非常方便。
內嵌通用微控制器的USB控制晶片,一般是在通用微控制器的基礎上擴展了USB功能,其優點是開發者熟悉這些通用微控制器的結構和指令集,相關資料豐富,易於進行開發。如Cypress基於8051的EZ-USB系列,Microchip基於PIC的16C7x5,Motorola基於68HC08的68HC08JB8,Atmel基於AVR的AT76C711等USB控制晶片。
需要外接微控制器的晶片,只處理與USB相關的通信工作,而且必須由外部微控制器對其控制才能正常工作,所以這些晶片必須提供一個串行或並行的數據總線與微控制器進行連接。此外,還需要一個中斷引腳,當數據收到或發送完,這個中斷引腳會向微控制器發出中斷請求信號。其優點是晶片價格便宜,而且便於用戶使用自己熟悉的微控制器進行開發。
總之,USB晶片是一種集成了USB協議的微處理器,它能自動對各種USB事件做出響應,以處理USB總線上的數據傳輸。USB晶片按功能可以分為USB主控制器晶片、USB集線器晶片和USB功能設備晶片。
在對USB控制器晶片性能進行分析時,主要研究數據傳輸速度、功耗、電源、程序/數據存儲器容量、封裝及USB規範等通用的技術指標。另外,針對不同的功能類型,還會有不同的要求。下面將對最新有代表性的USB控制晶片進行分析比較。
1. USB主控制器晶片
USB主控制器晶片負責實現主機和USB設備間的物理數據傳輸,它是構成USB主機不可或缺的核心部件。隨著嵌入式技術的飛速發展,USB主機的嵌入式化是大勢所趨。在USB 2.0規範中也增加了On-The-Go(OTG)補充規範,它使得不同外設在無主機參與的情況下可直接互連通信。另外,雖然有的晶片是主機/設備控制器晶片,但是一般只將其作為主機控制器晶片使用,如SL811HS。所以,本部分討論的晶片包括USB主機晶片、OTG USB晶片和USB主機/設備晶片,不進行特別的區分。
我們選取TDI公司的TD242LP晶片、Philips公司的ISP1761和Cypress公司的CY7C67200進行比較分析。這三款晶片都是USB OTG 主機/設備控制器。表1是典型USB主控制器晶片特性的比較。
2.USB集線器晶片
USB集線器晶片負責將一個USB上行埠轉化為多個下行埠,它是構成USB集線器不可或缺的核心部件。它所需要關心的性能指標與USB主機的要求不完全相同,它所支持的下行埠的數目是一個很重要的指標。
我們選取Cypress公司的CY7C66113、Alcor Micro公司的AU9254 A21和Philips公司的ISP1251進行比較分析。典型USB集線器晶片的特性如表2所示。
3.USB功能設備晶片
USB功能設備晶片負責實現功能設備和USB主機間的物理數據傳輸,它是構成USB功能設備的必需部件。通常這些USB晶片都含有多個驅動外圍電路的I/O口,以實現USB設備的特殊功能。在這裡,我們只考慮單一功能的USB設備晶片,不考慮ORG-USB和主機/設備USB晶片。
我們選取Cypress公司的CY7C68013a、NetChip公司的Net2280和Philips公司的ISP1583進行比較分析。典型USB功能設備晶片特性如表3所示。
以上三種晶片的I/O接口各有自己的特點,但是都滿足USB的高速和全速傳輸的速率要求及傳輸類型的需要,可以根據不同工程要求,選擇合適的晶片。
通過對上述按功能劃分的三大類USB晶片的同一類型晶片之間特性的比較分析和掌握相關的研究方法,我們就可以根據實際開發項目的要求及設計的重點選擇合適的USB控制器晶片。
選擇USB晶片的其他相關因素
在進行USB項目開發時,除了需要針對不同功能的應用,對相應類型的不同的USB晶片的特性進行比較分析以選擇合適的USB晶片之外,還有許多因素值得我們考慮。為了更好更快地完成項目的開發,一般情況下還必須遵循以下準則:
1. 需要熟悉晶片的硬體體系結構和相關的固件程式語言,以及詳盡的硬體文檔;
2. 要有良好的USB晶片的開發工具包,便於進行固件下載和調試的開發系統;
3. 要有可以提供晶片固件的範例代碼、典型的USB設備驅動程序和界面應用程式等,開發人員只需在其基礎上稍加修改即可使用;
4. 關於USB晶片的價格,應儘量選擇性價比最高的晶片。對於批量生產的USB設備,可以選擇提供OTP(一次性編程)版本的USB晶片。
總之,正確的選擇是成功的開始,可以節省大量的時間和金錢。
USB技術的新發展
USB總線系統是一種新興的標準,雖然具有很多的優點,但是也具有不少的局限性。為了擴大USB的應用範圍,很多公司在USB規範的基礎上添加了新的功能,使得USB的應用更加廣泛。
根據USB規範,USB總線可為每個連接的外設提供+5V/500mA的電源,對於很多小功率的外設已能滿足要求,但是當外設需要超過500mA電流時,就需要外接電源。這不符合「即插即用」的思想。所以出現了解決這一問題的PoweredUSB技術。