USB主設(shè)備在嵌入式中的功能
USB外圍設(shè)備彼此之間不能彼此通信,它們只能與具有節(jié)制總線能力的USB主設(shè)備通信。直到比來,也只有PC具有主設(shè)備能力。但今朝,良多微節(jié)制器也具有了嵌入式USB主設(shè)備的功能,這使得嵌入式應(yīng)用可以毗連加倍普遍的USB外圍設(shè)備。
本文引用地址:http://m.butianyuan.cn/article/150573.htmUSB閃存驅(qū)動器是一種使用很是普遍的USB外圍設(shè)備,它已經(jīng)成為傳遞或存儲年夜量數(shù)據(jù)的廉價介質(zhì),許年夜都據(jù)記實設(shè)備恰是得益于它才得以成長。對于遠程的持久數(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)勢都獲得了充實的闡揚。
嵌入式USB主設(shè)備的應(yīng)用
起頭嵌入式設(shè)計的首要使命之一是選擇微節(jié)制器。為了使用閃存驅(qū)動器,微節(jié)制器就必需具有嵌入式USB主設(shè)備的能力。若是微節(jié)制器具有USB OTG(On-The-Go)或USB雙腳色(Dual Role)功能,如Microchip公司的PIC24FJ256GB1微節(jié)制器,如圖1所示,它也可以撐持嵌入式USB主設(shè)備功能。USB外圍設(shè)備,有時也稱為USB設(shè)備模式,只能用作閃存驅(qū)動器等,而不能和其他USB外圍設(shè)備通信。
其次,設(shè)計者應(yīng)該確信能有完整的開發(fā)工具。至少也需要一個器件編程器(若是有一個調(diào)試器是最好的)和一個C說話編譯器,因為嵌入式USB主設(shè)備和運行在微節(jié)制器中的軌范往往是用C說話而不是用匯編說話編寫的。
最后,設(shè)計者也應(yīng)該體味哪些軟件庫是可以獲得的,因為嵌入式設(shè)備發(fā)現(xiàn)閃存驅(qū)動器時的握手操作需要USB設(shè)備類、FAT32文件系統(tǒng)和其他庫的撐持。從頭起頭設(shè)計撐持嵌入式USB主設(shè)備的工作會需要數(shù)月的時刻,而一個由經(jīng)由認證的和談棧組成的方案可以節(jié)約相當多的時刻。
為了使用閃存驅(qū)動器,嵌入式設(shè)備也需要一種USB海量存儲類(Mass Storage Class)設(shè)備的終端驅(qū)動軌范、硬件呼吁行接口,以及文件系統(tǒng)接口。凡是,具有2Gb或更低存儲空間的閃存驅(qū)動器使用FAT16文件系統(tǒng),而更年夜容量的閃存驅(qū)動器將使用FAT32文件系統(tǒng)。設(shè)計要求
一旦選定了微節(jié)制器,硬件設(shè)計就起頭了。USB硬件設(shè)計需要遵循以下良多軌則。
● 若是嵌入式主設(shè)備需要撐持USB設(shè)備類,它對外圍的供電就必需能夠供給500mA的電流。
● 若是嵌入式主設(shè)備需要撐持任何耗損電流跨越100mA的設(shè)備,它也必需能夠供給500mA的電流。
● 若是嵌入式主設(shè)備需撐持耗損電流100mA或更低的設(shè)備,那么VBUS電壓限制就可以降低到4.4V。然而,若是嵌入式主設(shè)備需撐持耗損電流跨越100mA的設(shè)備,那么VBUS電壓限制是 4.75V,就和全功能主設(shè)備一樣。
● 必需從頭設(shè)計無須用戶干與干與就可復位的過流呵護機制。
● 從USB毗連器到收發(fā)器之間的傳輸延遲必需在8ns之內(nèi)。
● 嵌入式USB主設(shè)備在VBUS上的電容必需年夜于120μF,而且USB OTG設(shè)備在VBUS上的電容必需為1.0?6.8μF。
除以上軌則外,也必需細心考慮采用嵌入式USB主設(shè)備應(yīng)用的用戶接口。USB外圍設(shè)備凡是用在PC上,萬一發(fā)生錯誤就可以供給具體的錯誤信息。若是LED指示燈閃灼,用戶能夠知道毗連失蹤敗了。USB規(guī)范也作了強制性的劃定,經(jīng)由認證的USB嵌入式主設(shè)備必需供給錯誤信息。換句話說,所有錯誤信息必需被明晰地通知應(yīng)用層,也就是奉告用戶。
經(jīng)由過程USB通信
實現(xiàn)USB嵌入式主設(shè)備的一個最年夜挑戰(zhàn)就是要和各類各樣的USB外圍設(shè)備通信。雖然不是所有的閃存驅(qū)動器產(chǎn)物都經(jīng)由過程了認證,可是若是在嵌入式設(shè)備中一種閃存驅(qū)動器可以正常使用,而另一種沒有任何原因就不能使用時,用戶是不會歡快的。
若是閃存驅(qū)動器需要的上電時刻是許可最年夜時刻的兩倍或一半,或因為主機以最年夜許可的速度輪詢時閃存驅(qū)動器被鎖住,以及因為閃存驅(qū)動器需要一種分歧的SCSI呼吁序列來成立通信等,這都不會有任何問題。但若是這樣的閃存驅(qū)動器在主設(shè)備上不能運行,在PC上卻可以正常使用,用戶會批*這一主設(shè)備。是以,確保進行普遍的測試,與多種沒有進行認證的USB外圍設(shè)備進行通信,即使它只是一個拇指年夜的閃存驅(qū)動器或一根電纜。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論