為了方便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技術。
USB規范規定了USB總線的連線長度最大為5m,使用Hub來擴展,也只能級聯5級,即最大為30m。這限制了USB在數據采集、設備監控等方面的應用。Icron公司開發了ExtermeUSB技術,可以將連線距離擴展到500~2000m。
這兩年,USB正在逐步進入無線傳輸領域。2003年8月Cypress公司推出的WirelessUSB,實現了10m的通信距離,可在 2.4G global ISM頻率下工作。而在2004年2月以Intel公司為首的7家技術重量級公司發起組成了無線USB組織,旨在開發一種基于超寬帶技術(UWB)的無線USB協議。2004年6月1日,Agilent公司與Freescale公司共同推出業內第一個為PC連接裝置而開發的通用串行總線(USB)無線光學鼠標參考設計。無線USB正成為USB發展的一個新的熱點。
USB技術的發展正在朝著更廣泛的方向發展,各種新型的USB控制器芯片不斷推出,為了更好的掌握這一技術,需要我們不斷地進行研究。