一、 USB總線簡介 通用串行總線USB(Universal Serial Bus)是由Intel等廠商制定的連接計算機與具有USB接口的多種外設之間通信的串行總線。目前,帶USB接口的設備越來越多,如鼠標、鍵盤、數碼相機、調制解調器、掃描儀、攝像機、電視及視頻抓取盒、音箱等。 USB總線最多可支持127個USB外設連接到計算機系統。USB的拓撲是樹形結構,有1個USB根集線器(root hub),下面還可有若干集線器。1個集線器下面可接若干USB接口。USB線纜包括4條線:Vbus(USB電源)、D+(數據)、D-(數據)和Gnd(USB地)。線纜最大長度不超過5m。USB1.1的傳輸速率最高為12Mb/s(低速外設的標準速率為1.5Mb/s,高速外設的標準速率為12Mb/s)。圖1是典型的USB功能器件結構框圖,圖2是高速外設的USB線纜與電阻的連接圖。 [table][/table]圖2中:FS為全速(高速);LS為低速;R1=15kΩ,R2=1?5kΩ。USB外設可以采用計算機里的電源(+5V,500mA),也可外接USB電源。在所有的USB信道之間動態地分配帶寬是USB總線的特征之一,這大大地提高了USB帶寬的利用率。當一臺USB外設長時間(3ms以上)不使用時,就處于掛起狀態,這時只消耗0.5mA電流。按USB1.0/1.1標準,USB的標準脈沖時鐘頻率為12MHz,而其總線時脈沖時鐘為1ms(1kHz),即每隔1ms,USB器件應為USB線纜產生1個時鐘脈沖序列。這個脈沖系列稱為幀開始數據包(SOF)。高速外設長度為每幀12000bit(位),而低速外設長度只有每幀1500bit。1個USB數據包可包含0"1023字節數據。每個數據包的傳送都以1個同步字段開始。 圖1 典型USB功能器件結構框圖 圖2 高速外設的USB線纜與電阻的連接圖 二、 USB 2.0特性 2000年生產的PC主機幾乎都有了USB插口,最新的PC機還有USB集線器(Hub)和4"6個USB插口。USB集線器的結構如圖3所示。但這些還是不能滿足對高速外設的要求。最近推出了USB2.0標準,其速度比USB1.0/1.1快40倍,達480Mb/s。使USB推廣到硬盤、電纜調制解調器、信息家電網絡產品和其他的快速外設成為可能。 一些公司已開發出支持USB2.0的產品,其中,Cypress半導體公司是USB控制器的帶頭者。該公司已開發出了稱為EZ\|USB FX2的單芯片USB2.0。 圖3 USB的Hub(集線器)結構 1 設計USB2.0系統的兩種方法 (1) 多芯片方法 多芯片和ASIC(專用集成電路)方法:使用多芯片方法需要購買USB2.0收發器和串行接口引擎(SIE),并把收發器(作為一種外設)與單片機相連接。這時,單片機要處理許多USB協議。 自然,用建有芯片系統的ASIC并在它上面集成有全部必需的部件,這樣能獲得更高的集成度,但是,這樣需要面對應用和如何使用USB2.0兩方面的工作。這意味著設計者需要做更大的努力,并且產品上市時間長。此方法的好處是最終部件的價格低,因此對大批量生產是有價值的。 (2) 單芯片方法 EZ-USB FX2的單芯片內有USB2.0物理層(PHY)電路和基于該公司的EZ\|USB FX結構的8051單片機。用單片EZ\|USB FX2開發USB2.0外設具有一定的優勢,因此最好是用單芯片方法。這就是為什么Cypress半導體公司生產EZ\|USB FX2(以下簡寫FX2)單芯片的原因。 Cypress公司指出,當運行在480Mb/s時,數字和模擬之間的接口會有更多的細致差別。例如,噪聲熱容限會更小。USB2.0的電壓擺幅比USB1.1更小。例如,要建立1個100K(10萬)門的IC,小的物理層(PHY)將會存在更大的挑戰。那樣做不是不可能,但肯定會影響上市時間。第1個ASIC必須分兩步走,這影響上市時間。 另外,USB2.0需要在USB1.1“全速度”(“full speed”)速率基礎上完成。換句話說,USB2.0收發器和SIE(串行接口引擎)要做全速和高速率設計。這意味著設計時必須使USB1.1和USB2.0兼容。 2 良好的調整有助于產品的快速上市和性能提高 Cypress相信它的單芯片方法給公司提供了1個USB2.0結構的可能性。這是考慮了既要獲得所需的高性能I/O(輸入/輸出),又要保持480Mb/s的USB2.0高速率。 此外,該公司看到了USB1.1多芯片方法中存在的引腳數問題:USB1.1的數據寬度是8位,而現在USB2.0的寬度至少是32位。這需要大的封裝,如100和128引腳四方扁平封裝。按該公司的方法,這正好適合作為SIE(串行接口引擎)和PHY(物理層)用,但并不包括單片機。因此,封裝的費用就占了總價格的相當部分,則總系統的價格就更高。公司有3種芯片版本,最小的是56引腳的縮小外形輸出封裝(SSOP)。引腳數少是因為寬的數據引線都在芯片內部,封裝的引腳是作為外部接口用。 總之,單芯片方法的優勢可體現在性能、靈活性和價格方面。如上所述,寬數據總線在芯片內,實際上能調整結構以適應高速度。 FX2部件的特點之一是采用低價的8051單片機,仍然能獲得很高的速度。至于靈活性,則體現在USB2.0的可編程接口能為特定的應用接口編程。 FX2的特點是內有8位8051單片機內核,它可工作在12,24或48MHz,這取決于應用對象。圖4所示為FX2方框圖,它展示了芯片的集成特性。此單片機之所以得到廣泛的應用,是因為它能適應各種功耗和應用的要求,并能保持USB2.0高速度的特點。此外,USB的端點(endpoint)數據緩沖器以及從屬FIFO(先入先出寄存器),現在都與經典的FIFO一樣。該緩沖器可與Cypress智能USB2.0 SIE(串行接口引擎)相連接。如圖4所示:數據進入收發器后,通過SIE直接轉向FIFO,然后,通過8或16位數據路徑,可與外部連接,存取數據。注意,這時在數據路徑上沒有單片機。 圖4 EZ-USB FX2方框圖 收發器與SIE(串行接口引擎)相連接,SIE直接與端點(endpoint)FIFO相連。僅當需要完成檢驗分組信息的工作時,單片機才與USB傳輸發生關系。 單片機仍可對FIFO進行存取。例如,它能根據信息分組(包)的頭標碼內容與因特網進行存取操作;但是,數據路徑的速度與單片機的處理速度無關,它有獨立的速度。這是調整了結構的1個例子。 Cypress USB2.0 SIE類似該公司以前的FX部件,能執行USB2.0協議的大部分內容。設計師不必考慮所有三級處理這類事情,而全由智能SIE來完成。當用戶訂購該公司的開發板,并插入PC插槽時,不必寫入任何代碼,開發板就能工作。很明顯,這是由于有智能SIE之故,使用戶應用時不需調整開發板。在啟動這部分工作時不會影響其他部分,USB就能立即傳輸數據。 由智能SIE支持的另一工作是Cypress固件下載。由于固件是在FX2的RAM中,所以能通過SIE用USB下載。當單片機復位時,SIE就能做下載工作。因為USB2.0是新的,有許多問題要考慮。下載給設計師提供了一種容易升級的方法。在參數變化時,這是一個重要的優點,因此減少了風險和不確定性,增加了產品上市快的優勢。 端點(endpoint)FIFO的關鍵之處是它按雙口RAM來執行。USB是分組協議,它可立即發送整個分組信息。USB2.0的分組長度是512字節。如果用經典的FIFO,當產生壞的CRC(循環校驗碼)時,所有的數據必然泛濫流出,因為它是壞數據。把FIFO作為RAM來執行,它變得更像分組的FIFO。整個分組信息能送入雙口存儲器。如果CRC是好的,則分組信息能從USB域交換到I/O(輸入/輸出)域。對外來說,它看起來仍然像FIFO,但代之以每次只傳送1個字或1個字節為立即傳送整個分組信息。 端點FIFO的其他部分與速度有關。因為數據流入很快,所以對分組來說,至少需要雙口緩沖器。 Cypress公司的器件因可編程而進了一步。端點緩沖器可能是雙、三或四緩沖器,與所需的數據量或靈活性有關。例如,批量存儲的外設,在高速時,要斷開1個讀數據信道。然后讀/寫頭移到下一條路徑,在USB上發送數據。為保證此工作,需要四重緩沖。 實際上不需要了解FIFO對外是如何進行調整工作的,因為有FIFO滿標志、FIFO空標志以及可編程標志。事實上,這是一個“量子”FIFO(公司這樣稱呼),分組的換入、換出是完全透明的。“量子”FIFO就是有256×16位的雙口RAM塊,如圖5所示。它們放置在USB這邊,而數據是從USB輸出或輸入。數據穿過虛線進行交換(見圖5),達到I/O系統部分,這時能肯定整個分組是好的。8051單片機也對此存儲器存取有效,這在另一種分組協議時就要用到。如以太網,在應用之前,可能要對分組進行試驗。8051能視分組的頭標碼內容按需要進行處理。在任何給定時間,某些RAM塊都是在SIE(串行接口引擎)控制下,由USB數據充滿/空閑;而其他的RAM塊則可由8051單片機和()或I/O控制單元使用。在USB域,RAM塊是單口;在8051的I/O單元域,RAM塊是雙口。RAM塊能構成單、雙、三或四緩沖。 圖5 256×16位的雙口RAM塊 通過USB1.1和USB2.0的比較,明確了哪些東西是不用去學習研究的。需要考慮的是如何執行USB2.0的總體結構。如果Cypress公司仍停留在使用原來的結構,則USB將包括:在I/O一邊的FIFO和另一邊的端點緩沖器。但是,因為USB2.0工作非常快,以至于這兩種緩沖器將會是巨大的,從而增加了器件的成本。 “量子”FIFO思想是一個有創造性的方法,它把幾種功能都結合起來,以便FIFO能被外界看見;而端點緩沖器在芯片內部才能看見,但它們的作用都是相同的。在以前的結構中,存儲器都是分開的。作為分開的FIFO容易在不同的時間域保持。采用USB和對外部I/O執行的方法,不同的時間域仍然是必要的,但這是更合理的方法。多芯片方法的設計師必然要回到兩個FIFO的布局,總體成本與這兩個大的器件有關。 FX2的靈活性由于有通用可編程接口(GPIF)而得到增強,它是一個可編程狀態機。它能產生全部控制信號,例如:作為ATAPI硬盤驅動、DSL(數字用戶線路)的Utopia接口或打印機的增強并行接口(EPP)。關鍵之處是能用相同的部件來尋址所有這些不同的接口,而不需要粘合連接邏輯。這也擴展到微處理器,如PowerPC、數字信號處理器(DSP)和PCMCIA(個人電腦存儲器卡國際協會)器件,其中的每一種都需要一個不同的部件作粘合連接。因此,采用單芯片方法可以降低成本。通用可編程接口使FX2能為這些設備的每一接口進行調節。 設計師必須編制GIPF(通用可編程接口)程序,但Cypress公司提供了編制適當接口的軟件工具,從而不必了解如何接口的具體過程。在此領域,公司還有幫助設計師的參考設計。 如前所述,FX2有三種封裝形式:一是56腳的SOPP;二是100腳的TQFP(薄形四方扁平封裝);三是128腳的TQFP。引腳數的區別在于輸入、輸出引腳數的不同。盡管Cypress公司的重點是在前兩種封裝,但128腳封裝正好適合設計師必須采用外部數據總線、地址總線和8KB RAM的情況。這使得結構可擴展,給了設計師一個增加路徑的空間。 |