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