電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 1579|回復(fù): 0
收起左側(cè)

嵌入式學(xué)什么基礎(chǔ)電路_嵌入式系統(tǒng)應(yīng)用中的USB主設(shè)備功能分析

[復(fù)制鏈接]

2607

主題

2607

帖子

7472

積分

高級會員

Rank: 5Rank: 5

積分
7472
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-8-1 11:31:43 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
嵌入式學(xué)什么基礎(chǔ)電路_嵌入式系統(tǒng)應(yīng)用中的USB主設(shè)備功能分析,   

USB已經(jīng)成為設(shè)備和PC之間通信的標(biāo)準(zhǔn)方式,從通用設(shè)備(如閃存設(shè)備和鼠標(biāo))到專用設(shè)備,該標(biāo)準(zhǔn)幾乎完全替代了其他的串行通信協(xié)議。

USB外圍設(shè)備彼此之間不能相互通信,它們只能與具有控制總線能力的USB主設(shè)備通信。直到最近,也只有PC具有主設(shè)備能力。但目前,許多微控制器也具有了嵌入式USB主設(shè)備的功能,這使得嵌入式應(yīng)用可以連接更加廣泛的USB外圍設(shè)備。

USB閃存驅(qū)動器是一種使用非常廣泛的USB外圍設(shè)備,它已經(jīng)成為傳遞或存儲大量數(shù)據(jù)的廉價介質(zhì),許多數(shù)據(jù)記錄設(shè)備正是得益于它才得以發(fā)展。對于遠(yuǎn)程的長期數(shù)據(jù)記錄,可以先采集,并存儲在閃存驅(qū)動器中,然后帶回到方便分析處理的地方。

閃存驅(qū)動器也可以用于向PC中傳輸高速時間相關(guān)數(shù)據(jù)。PC是極好的數(shù)據(jù)分析工具,但實時能力有限。相反,嵌入式應(yīng)用特別適合實時數(shù)據(jù)采集,但數(shù)據(jù)分析能力通常很弱。嵌入式實時數(shù)據(jù)記錄儀可以在閃存驅(qū)動器上存儲數(shù)據(jù),然后把數(shù)據(jù)傳輸?shù)絇C上分析,這樣二者的優(yōu)勢都得到了充分的發(fā)揮。

嵌入式USB主設(shè)備的應(yīng)用

開始嵌入式設(shè)計的首要任務(wù)之一是選擇微控制器。為了使用閃存驅(qū)動器,微控制器就必須具有嵌入式USB主設(shè)備的能力。如果微控制器具有USB OTG(On-The-Go)或USB雙角色(Dual Role)功能,如Microchip公司的PIC24FJ256GB1微控制器,如圖1所示,它也可以支持嵌入式USB主設(shè)備功能。USB外圍設(shè)備,有時也稱為USB設(shè)備模式,只能用作閃存驅(qū)動器等,而不能和其他USB外圍設(shè)備通信。

其次,設(shè)計者應(yīng)該確信能有完整的開發(fā)工具。至少也需要一個器件編程器(如果有一個調(diào)試器是最好的)和一個C語言編譯器,因為嵌入式USB主設(shè)備和運行在微控制器中的程序往往是用C語言而不是用匯編語言編寫的。

最后,設(shè)計者也應(yīng)該了解哪些軟件庫是可以獲得的,因為嵌入式設(shè)備發(fā)現(xiàn)閃存驅(qū)動器時的握手操作需要USB設(shè)備類、FAT32文件系統(tǒng)和其他庫的支持。從頭開始設(shè)計支持嵌入式USB主設(shè)備的工作會需要數(shù)月的時間,而一個由經(jīng)過認(rèn)證的協(xié)議棧組成的方案可以節(jié)省相當(dāng)多的時間。

為了使用閃存驅(qū)動器,嵌入式設(shè)備也需要一種USB海量存儲類(Mass Storage Class)設(shè)備的終端驅(qū)動程序、硬件命令行接口,以及文件系統(tǒng)接口。通常,具有2Gb或更低存儲空間的閃存驅(qū)動器使用FAT16文件系統(tǒng),而更大容量的閃存驅(qū)動器將使用FAT32文件系統(tǒng)。

設(shè)計要求

一旦選定了微控制器,硬件設(shè)計就開始了。USB硬件設(shè)計需要遵循以下許多規(guī)則。

● 如果嵌入式主設(shè)備需要支持USB設(shè)備類,它對外圍的供電就必須能夠提供500mA的電流。

● 如果嵌入式主設(shè)備需要支持任何消耗電流超過100mA的設(shè)備,它也必須能夠提供500mA的電流。

● 如果嵌入式主設(shè)備需支持消耗電流100mA或更低的設(shè)備,那么VBUS電壓限制就可以降低到4.4V。然而,如果嵌入式主設(shè)備需支持消耗電流超過100mA的設(shè)備,那么VBUS電壓限制是 4.75V,就和全功能主設(shè)備一樣。

● 必須重新設(shè)計無須用戶干預(yù)就可復(fù)位的過流保護(hù)機制。

● 從USB連接器到收發(fā)器之間的傳輸延遲必須在8ns之內(nèi)。

● 嵌入式USB主設(shè)備在VBUS上的電容必須大于120μF,而且USB OTG設(shè)備在VBUS上的電容必須為1.0?6.8μF。

除以上規(guī)則外,也必須仔細(xì)考慮采用嵌入式USB主設(shè)備應(yīng)用的用戶接口。USB外圍設(shè)備通常用在PC上,萬一發(fā)生錯誤就可以提供詳細(xì)的錯誤信息。如果LED 指示燈閃爍,用戶能夠知道連接失敗了。USB規(guī)范也作了強制性的規(guī)定,經(jīng)過認(rèn)證的USB嵌入式主設(shè)備必須提供錯誤信息。換句話說,所有錯誤信息必須被明確地通知應(yīng)用層,也就是告知用戶。

USB設(shè)備認(rèn)證

USB認(rèn)證主要用于保證USB設(shè)備符合USB規(guī)范的要求。認(rèn)證可以在各種獨立的測試機構(gòu)進(jìn)行。一旦產(chǎn)品通過認(rèn)證,生產(chǎn)商就被允許使用USB標(biāo)志,但同樣需要遵守額外的許可證限制。

產(chǎn)品也可以不通過USB認(rèn)證而直接進(jìn)行生產(chǎn)和銷售。沒有USB認(rèn)證,生產(chǎn)商可以聲明自己的產(chǎn)品支持USB,但他不能在設(shè)備或包裝上的任何地方使用USB標(biāo)志。通常,取得USB嵌入式主設(shè)備認(rèn)證是不太難的。

通過USB通信

實現(xiàn)USB嵌入式主設(shè)備的一個最大挑戰(zhàn)就是要和各種各樣的USB外圍設(shè)備通信。雖然不是所有的閃存驅(qū)動器產(chǎn)品都通過了認(rèn)證,但是如果在嵌入式設(shè)備中一種閃存驅(qū)動器可以正常使用,而另一種沒有任何原因就不能使用時,用戶是不會高興的。

如果閃存驅(qū)動器需要的上電時間是允許最大時間的兩倍或一半,或由于主機以最大允許的速率輪詢時閃存驅(qū)動器被鎖住,以及因為閃存驅(qū)動器需要一種不同的 SCSI命令序列來建立通信等,這都不會有任何問題。但如果這樣的閃存驅(qū)動器在主設(shè)備上不能運行,在PC上卻可以正常使用,用戶會批*這一主設(shè)備。因此,確保進(jìn)行廣泛的測試,與多種沒有進(jìn)行認(rèn)證的USB外圍設(shè)備進(jìn)行通信,即使它只是一個拇指大的閃存驅(qū)動器或一根電纜。

雖然嵌入式USB主設(shè)備可以提供USB類級的支持,在進(jìn)行設(shè)計和測試時,也應(yīng)該考慮對特殊USB外圍設(shè)備支持的限制,通過對VID(供應(yīng)商ID)和 PID(產(chǎn)品ID)的識別來保證產(chǎn)品能在設(shè)計的應(yīng)用領(lǐng)域正常使用。這個ID列表是指USB執(zhí)行者論壇所發(fā)布的目標(biāo)外圍設(shè)備列表(TPL),它是為了獲得嵌入式主設(shè)備認(rèn)證所必須服從的檢查項目列表。完整的OTG認(rèn)證實際上僅需要與TPL列表中的VID/PID標(biāo)志的產(chǎn)品互操作。
回復(fù)

使用道具 舉報

發(fā)表回復(fù)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表