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