USB設計的注意事項
通用串行總線(USB)就像在過去20年里無所不在的RS-232串行端口一樣正在逐步普及。實際上,現今發售的大部分PC都只有USB端口,而沒有串行或并行端口。USB最初是為計算機及其外設而設計的,但是由于便于使用和頗受歡迎,使得其使用范圍已經擴展到視頻游戲、PDA、MP3播放器和數據記錄儀等方面。在進行USB設計時,需要考慮許多特性:是選擇低速、全速還是高速傳輸速率;采用A型還是B型連接器;功耗、兼容性測試以及設備類型選擇。什么是新的USB On-The Go(OTG)標準?工程師該從哪里著手?
第一步是理解USB的基本原理。USB系統是一種分層的星型配置結構,由一臺主控制器和多臺直接連接或菊花鏈型連接的設備組成。每個端口可以且僅可以連接一臺設備。但該設備可以是USB集線器,它采用樹型結構將單個端口擴展為多個下行端口。菊花鏈型設備是有限制的:每臺控制器允許5級分支,一臺主控制器最多可以連接127臺設備。因此,計算機可以有多臺主控制器。
?
?
圖1 類似于Microchip Technology的PIC18F4550之類的單片機可以將USB集成為一個基本串行接口,這適合于較少連接到個人計算機的嵌入式應用。
這些設備可以在系統啟動時連接,也可以在系統工作過程中進行熱插拔。對于數碼相機或便攜式音樂播放器之類的設備而言,熱插拔是非常方便的,因為這些設備主要是在與計算機斷開連接之后使用。在這些情況下,僅在上傳或下載信息時才將USB連接到計算機。每次想要將設備連接到計算機或斷開與計算機的連接時都要重啟系統非常不便。
在主控制器和集線器或設備之間建立連接是一個比較簡單的過程。USB連接器有三種類型。“A”型連接器用于與主控制器連接(上行連接),而“B”型連接器用于與設備連接(下行連接)。最后一種連接器為“mini-B”型,它是一款尺寸得到優化的B型連接器。這些連接器各不相同,因此用戶不可能混淆和錯誤連接設備。
USB最強大的功能之一是可以通過USB電纜對設備供電。USB電纜有四根導線:電源線、地線、D+和D-。D+和D-導線是差分對,用于數據通信。電源和地連接可為設備提供5V的電壓和最高500 mA的電流。與某一設備連接后,主控制器將通過一個稱為“枚舉”的過程查詢該設備。枚舉過程允許主控制器了解所連接的設備、設備執行的數據傳輸類型、消耗的功率以及其他參數。在啟動時,設備僅允許汲取100 mA的電流。隨后,主控制器將允許設備消耗更多的電流,最高可達500 mA,這取決于它向其他已連接設備提供了多少電流。
需要注意的一點是有些集線器是非自供電的,這意味著它們通過上行連接供電,然后將電能傳遞給下行連接。幸運的是,設計人員有兩種選擇。您可以使用有自己電源的自供電集線器,或使設備具有自己的電源。諸如打印機、掃描儀和揚聲器之類的設備都有自己的電源。而諸如鼠標、鍵盤和閃存U盤之類的設備可通過USB電纜供電。
在USB系統中進行連接時,電纜長度不得超過5米。使用集線器,系統可以通過6根電纜和5個額外的集線器,將電纜總長最多擴展到30米。
如上所述,枚舉過程用于搜索設備的功能。其他功能用于決定設備的數據傳輸類型,以及加載正確的設備驅動程序。USB定義了以下四種傳輸類型:
* 控制——向設備發送短命令和查詢,或接收來自設備的狀態響應
* 中斷——需要確保快速響應的非常小的數據包,用于如鼠標或鍵盤之類的設備
* 批量——帶有錯誤檢測的大量數據傳輸,用于如打印機或硬盤驅動器之類的設備
* 同時——不帶錯誤檢測的實時數據流傳輸,用于揚聲器之類的設備
設備驅動程序將定義每臺下行連接的設備的類型。根據設備類型,操作系統可提供一個標準驅動程序。人機接口設備類(HID)和海量存儲設備類(MSD)在操作系統中都有自帶的驅動程序。其他類型包括音頻、打印機、視頻以及測試和測量設備。USB也提供了供應商設備類,允許自定義設備類型以建立USB連接。這些驅動程序是針對具體應用程序的,由生產商提供。
設計人員經常看到兼容USB 1.1或USB 2.0。這是什么意思?USB 1.1在1998年9月發布,它定義了兩種工作速度:低速和全速。低速USB定義最大數據傳輸速率為1.5 Mb/s。它通常用于使用控制和中斷傳輸類型的HID應用,例如鼠標和鍵盤。全速USB定義最大數據傳輸速率為12 Mb/s,包括所有需要較高帶寬的設備。由于USB簡單實用,過去很多使用串行或并行連接的設備,甚至是插入到計算機ISA和PCI插槽的專用卡都轉為使用 USB。在意識到需要更高的速度后,于2000年4月發布了USB 2.0,該標準提供了又一種工作速度:高速——工作速度為480 Mb/s。USB 2.0向后兼容使用低速或全速的USB 1.1設備,但是提供了更高的數據傳輸速率,以加快音頻或視頻設備的數據流傳輸,以及提高外部硬盤驅動器、網絡攝像頭、掃描儀和打印機等設備的工作效率。
需要注意的是,USB將可用帶寬劃分為由主控制器監控的幀。每個低速或全速幀包含1.5 KB,每毫秒傳輸一幀。所有使用同時和中斷數據傳輸類型的設備均占用每幀中的一個時隙,所以可保證所需的帶寬和時序要求。幀內的所有其他時間都分配給了批量和控制傳輸。盡管最高比特率可以是1.5、12或480 Mb/s,但是任一設備只會占用帶寬的一小段。實際上,總線可能會耗盡帶寬,這取決于連接到主控制器的USB設備數。因此計算機上需要擁有多臺主控制器。需要注意的另外一點是,許多設備都是作為USB 2.0設備上市的,但不是所有的USB 2.0設備都是高速設備。USB-IF組織提供了USB徽標和USB高速徽標,以幫助區分產品性能。
最后是USB OTG。USB OTG補充規范的最初發布時間是2001年12月,并于2003年7月發布了第二次修訂版。這個USB擴展規范允許一個端口既可以用作主機也可以用作設備。確定作為主機還是設備取決于插入到設備的是USB電纜的哪一端。USB OTG的出現允許諸如PDA之類的設備用作與計算機進行交互的設備,以建立連接并下載文件、通訊薄和手機號等。然后PDA可與打印機連接以打印圖片或文件,與鍵盤或鼠標連接以輸入數據條目,或與其他可增強PDA使用的外設主機連接。由于USB OTG多用于便攜式或體積較小的設備,所以定義了兩種新型連接器:mini-A和mini-AB型。盡管不如USB 2.0類型眾多,集成USB OTG模塊的單片機正在逐漸增多且在許多供應商處應該都有銷售。
對于最終用戶而言,USB的簡單程度令人難以置信。設備在主機上即插即用的安裝方式和熱插拔功能,使得在過去使用產品時最頭疼的事情現在卻變得極其簡單。據估計,到2004年為止,全球USB設備使用量超過了10億。隨著USB向高速模式的擴展,唯一不能使用USB的設備就只有諸如顯示器和監視器之類的高品質數字視頻產品了。
評論
查看更多