USB的設(shè)計(jì)要素
通用串行總線(USB)就像20年來(lái)無(wú)所不在的RS232串行接口一樣應(yīng)用廣泛?,F(xiàn)今發(fā)售的大部分PC僅有USB接口,而沒有串口或并口。USB最初是為連接一些基本外設(shè)而設(shè)計(jì)的,但它的易用性和普及性卻使之被用在視頻游戲、PDA、MP3播放器、數(shù)據(jù)記錄儀等方面。
在進(jìn)行USB接口設(shè)計(jì)時(shí),有許多因素需要考慮:是選擇低速、全速,還是高速傳輸速率;采用A型還是B型連接器;功率消耗和兼容性測(cè)試問題以及設(shè)備類型的選擇都需要考慮。目前,USB OTG(On-The Go)設(shè)備是一個(gè)很好的選擇。
USB基本結(jié)構(gòu)
一個(gè)USB系統(tǒng)是一種分層的星型結(jié)構(gòu),由一個(gè)主控制器和多個(gè)點(diǎn)對(duì)點(diǎn)或菊花鏈型連接的從設(shè)備組成。每個(gè)端口可以且僅可以連接一個(gè)設(shè)備,這個(gè)設(shè)備也可以是用來(lái)擴(kuò)展端口的USB 集線器(Hub)。多個(gè)設(shè)備可以形成菊花鏈,但也有一個(gè)限制:每個(gè)控制器允許有5級(jí)分支,并且最多只能有127個(gè)設(shè)備可以連接到一個(gè)主控制器上。
這些設(shè)備可以在計(jì)算機(jī)啟動(dòng)時(shí)插入,也可以熱插入。熱插拔技術(shù)對(duì)于像數(shù)碼相機(jī)或便攜音樂播放器這樣的設(shè)備是非常方便的,因?yàn)檫@些設(shè)備僅僅是為了上傳或下載數(shù)據(jù)。如果每次想要連接或斷開它們時(shí)都要重新啟動(dòng)系統(tǒng),則非常不方便。
主機(jī)和Hub之間的連接是通過(guò)3種類型USB連接器中的一種實(shí)現(xiàn)的:用于和主控制器上行連接的“A型”連接器;用于和從設(shè)備下行連接的“B型”連接器;“mini-B”型連接器是小型的“B型”連接器,這些不同的連接器可以避免用戶連接錯(cuò)誤。
不同類型的USB連接器
USB設(shè)備的供電
USB的一個(gè)最大特征是USB設(shè)備可以通過(guò)USB電纜獲得電源。USB電纜有4根導(dǎo)線:電源線、地線以及差分信號(hào)對(duì)D+和D-。電源和地線可以提供5V電壓,電流高達(dá)500mA。
當(dāng)一個(gè)設(shè)備接入時(shí),主控制器將通過(guò)枚舉的方式來(lái)發(fā)現(xiàn)它。枚舉使主控制器能夠了解接入的是哪一個(gè)設(shè)備,它希望執(zhí)行哪種類型的數(shù)據(jù)傳輸,它要消耗多少功率,以及其他一些參數(shù)。當(dāng)設(shè)備剛插入時(shí),僅允許它吸入100mA的電流,隨后主控制器才允許它吸入最高500mA的電流,這還取決于主控制器分配給已經(jīng)連接的其他設(shè)備所吸入的電流。
在供電上還有一個(gè)限制,有些Hub不是自帶電源的,而是簡(jiǎn)單地將主控制器的電源直接傳遞到下行連接器上。像打印機(jī)、掃描儀和音箱等設(shè)備通常自己帶有電源適配器,而像鼠標(biāo)、鍵盤和閃存盤等設(shè)備則是通過(guò)USB電纜供電的。
在使用USB電纜時(shí),其最大長(zhǎng)度被限制在5m。不過(guò),可以通過(guò)6根電纜和5個(gè)Hub將電纜延長(zhǎng)到30m。
設(shè)備配置功能
正如前面提到的,枚舉過(guò)程決定了設(shè)備的能力。其他功能決定了數(shù)據(jù)傳輸類型,并幫助裝入合適的驅(qū)動(dòng)程序。USB定義了以下四種傳輸類型。
● 控制傳輸:向設(shè)備發(fā)送短的命令和查詢,或接收設(shè)備發(fā)出的狀態(tài)響應(yīng)。
● 中斷傳輸:以非常小的數(shù)據(jù)包傳輸以保證快速的響應(yīng),如鼠標(biāo)或鍵盤等。
● 塊傳輸:具有錯(cuò)誤檢測(cè)的大數(shù)據(jù)量傳輸,如打印機(jī)或硬盤等。
● 同步傳輸:沒有錯(cuò)誤檢測(cè)的實(shí)時(shí)流數(shù)據(jù)傳輸,如音箱等。
設(shè)備內(nèi)部的驅(qū)動(dòng)程序設(shè)置每個(gè)下行設(shè)備的設(shè)備類型,根據(jù)不同的設(shè)備類型,操作系統(tǒng)可以加載標(biāo)準(zhǔn)的驅(qū)動(dòng)程序。人機(jī)接口設(shè)備類(HID)和海量存儲(chǔ)設(shè)備類(MSD)有操作系統(tǒng)自帶的驅(qū)動(dòng)程序。其他的類型包括音頻類、打印機(jī)類、視頻類以及測(cè)試測(cè)量類等。此外,USB也規(guī)定了供應(yīng)商類,以允許客戶自定義。
USB1.1和USB2.0的傳輸速率
USB1.1在1998年9月份發(fā)布,并定義了兩種傳輸速率。低速率USB定義了最大1.5Mb/s的傳輸速率,通常用于HID設(shè)備,如鼠標(biāo)或鍵盤。全速率USB定義了最大12Mb/s的傳輸速率。
2000年4月USB2.0發(fā)布,它定義了更高的傳輸速率,可以高達(dá)480Mb/s。USB2.0對(duì)USB1.1 向下兼容,更高的數(shù)據(jù)傳輸速率可滿足如音視頻流設(shè)備、外置硬盤驅(qū)動(dòng)器接口性能的改善、網(wǎng)絡(luò)攝像機(jī)、掃描儀和打印機(jī)等的數(shù)據(jù)傳輸要求。
USB將可獲得的帶寬分成由主控制器管理的幀的形式,每個(gè)低速或全速幀的幀長(zhǎng)為1.5Kb,每一毫秒發(fā)送一次。在每個(gè)幀中,所有的設(shè)備都使用同步傳輸或中斷傳輸獲得時(shí)隙,以保證所需的時(shí)序要求,其他額外的時(shí)間分配給塊傳輸和控制傳輸。雖然最高傳輸速率是1.5、12或480Mb/s,但任何一個(gè)設(shè)備所用的只是總帶寬的一部分。實(shí)際上,總線可以超出最大帶寬的限制,這取決于連接到主控制器上的設(shè)備數(shù)量,因此,在計(jì)算機(jī)上有時(shí)就需要多個(gè)主控制器。
需要注意的另外一點(diǎn)是,市場(chǎng)上的許多設(shè)備標(biāo)稱是USB2.0的,但并不是所有的USB2.0 設(shè)備都是高速設(shè)備。USB-IF組織提供了“USB標(biāo)志”和“USB高速標(biāo)志”,通過(guò)這些標(biāo)志可以區(qū)分USB產(chǎn)品的兼容性。
連接USB OTG設(shè)備
USB OTG標(biāo)準(zhǔn)最初發(fā)行時(shí)間是2001年11月,2003年6月進(jìn)行了一次重要的修訂。主要的變更是允許一個(gè)端口即可以是USB主設(shè)備,還可以是USB從設(shè)備。以主設(shè)備或從設(shè)備方式工作是由插入設(shè)備的電纜的端接形式?jīng)Q定的。
USB OTG的擴(kuò)充使得像PDA這樣的USB設(shè)備能夠與計(jì)算機(jī)連接,并進(jìn)行上傳數(shù)據(jù)或文件。而PDA也可以與打印機(jī)連接,來(lái)打印圖片或文件,還可以連接USB接口的鍵盤或鼠標(biāo),或其他增強(qiáng)PDA使用靈活性的USB設(shè)備。由于大部分USB OTG設(shè)備是便攜設(shè)備或小尺寸設(shè)備,所以定義了兩種新型的連接器:“mini-A型”連接器和“mini-B型”連接器。目前,集成USB OTG模塊的MCU雖然不像USB2.0那樣隨處可見,但也逐漸多了起來(lái)。
評(píng)論