嵌入式應用中的USB主設備功能

發(fā)布時(shí)間:2009-5-23 08:43    發(fā)布者:李寬
關(guān)鍵詞: USB , 嵌入式
USB已經(jīng)成為設備和PC之間通信的標準方式,從通用設備(如閃存設備和鼠標)到專(zhuān)用設備,該標準幾乎完全替代了其他的串行通信協(xié)議。

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

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




圖1 具有嵌入式USB主設備功能的微控制器PIC24FJ256GB1


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

嵌入式USB主設備的應用

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

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

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

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

設計要求

一旦選定了微控制器,硬件設計就開(kāi)始了。USB硬件設計需要遵循以下許多規則(詳見(jiàn)www.microchip.com/USB)。
● 如果嵌入式主設備需要支持USB設備類(lèi),它對外圍的供電就必須能夠提供500mA的電流。
● 如果嵌入式主設備需要支持任何消耗電流超過(guò)100mA的設備,它也必須能夠提供500mA的電流。
● 如果嵌入式主設備需支持消耗電流100mA或更低的設備,那么VBUS電壓限制就可以降低到4.4V。然而,如果嵌入式主設備需支持消耗電流超過(guò)100mA的設備,那么VBUS電壓限制是 4.75V,就和全功能主設備一樣。
● 必須重新設計無(wú)須用戶(hù)干預就可復位的過(guò)流保護機制。
● 從USB連接器收發(fā)器之間的傳輸延遲必須在8ns之內。
● 嵌入式USB主設備在VBUS上的電容必須大于120μF,而且USB OTG設備在VBUS上的電容必須為1.0〜6.8μF。

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

USB設備認證

USB認證主要用于保證USB設備符合USB規范的要求。認證可以在各種獨立的測試機構進(jìn)行。一旦產(chǎn)品通過(guò)認證,生產(chǎn)商就被允許使用USB標志,但同樣需要遵守額外的許可證限制(參考USB執行者論壇:http:// www.usb.org/developers/logo_license)。

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

通過(guò)USB通信

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

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

雖然嵌入式USB主設備可以提供USB類(lèi)級的支持,在進(jìn)行設計和測試時(shí),也應該考慮對特殊USB外圍設備支持的限制,通過(guò)對VID(供應商ID)和PID(產(chǎn)品ID)的識別來(lái)保證產(chǎn)品能在設計的應用領(lǐng)域正常使用。這個(gè)ID列表是指USB執行者論壇所發(fā)布的目標外圍設備列表(TPL),它是為了獲得嵌入式主設備認證所必須服從的檢查項目列表。完整的OTG認證實(shí)際上僅需要與TPL列表中的VID/PID標志的產(chǎn)品互操作。
本文地址:http://selenalain.com/thread-2930-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
yangguang100 發(fā)表于 2013-5-18 18:02:26
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页