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