嵌入式系統(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é)議。
本文引用地址:http://m.butianyuan.cn/article/202569.htmUSB外圍設(shè)備彼此之間不能相互通信,它們只能與具有控制總線能力的USB主設(shè)備通信。直到最近,也只有PC具有主設(shè)備能力。但目前,許多微控制器也具有了嵌入式USB主設(shè)備的功能,這使得嵌入式應(yīng)用可以連接更加廣泛的USB外圍設(shè)備。
USB閃存驅(qū)動(dòng)器是一種使用非常廣泛的USB外圍設(shè)備,它已經(jīng)成為傳遞或存儲(chǔ)大量數(shù)據(jù)的廉價(jià)介質(zhì),許多數(shù)據(jù)記錄設(shè)備正是得益于它才得以發(fā)展。對(duì)于遠(yuǎn)程的長(zhǎng)期數(shù)據(jù)記錄,可以先采集,并存儲(chǔ)在閃存驅(qū)動(dòng)器中,然后帶回到方便分析處理的地方。
閃存驅(qū)動(dòng)器也可以用于向PC中傳輸高速時(shí)間相關(guān)數(shù)據(jù)。PC是極好的數(shù)據(jù)分析工具,但實(shí)時(shí)能力有限。相反,嵌入式應(yīng)用特別適合實(shí)時(shí)數(shù)據(jù)采集,但數(shù)據(jù)分析能力通常很弱。嵌入式實(shí)時(shí)數(shù)據(jù)記錄儀可以在閃存驅(qū)動(dòng)器上存儲(chǔ)數(shù)據(jù),然后把數(shù)據(jù)傳輸?shù)絇C上分析,這樣二者的優(yōu)勢(shì)都得到了充分的發(fā)揮。
嵌入式USB主設(shè)備的應(yīng)用
開始嵌入式設(shè)計(jì)的首要任務(wù)之一是選擇微控制器。為了使用閃存驅(qū)動(dòng)器,微控制器就必須具有嵌入式USB主設(shè)備的能力。如果微控制器具有USB OTG(On-The-Go)或USB雙角色(Dual Role)功能,如Microchip公司的PIC24FJ256GB1微控制器,如圖1所示,它也可以支持嵌入式USB主設(shè)備功能。USB外圍設(shè)備,有時(shí)也稱為USB設(shè)備模式,只能用作閃存驅(qū)動(dòng)器等,而不能和其他USB外圍設(shè)備通信。
其次,設(shè)計(jì)者應(yīng)該確信能有完整的開發(fā)工具。至少也需要一個(gè)器件編程器(如果有一個(gè)調(diào)試器是最好的)和一個(gè)C語言編譯器,因?yàn)榍度胧経SB主設(shè)備和運(yùn)行在微控制器中的程序往往是用C語言而不是用匯編語言編寫的。
最后,設(shè)計(jì)者也應(yīng)該了解哪些軟件庫是可以獲得的,因?yàn)榍度胧皆O(shè)備發(fā)現(xiàn)閃存驅(qū)動(dòng)器時(shí)的握手操作需要USB設(shè)備類、FAT32文件系統(tǒng)和其他庫的支持。從頭開始設(shè)計(jì)支持嵌入式USB主設(shè)備的工作會(huì)需要數(shù)月的時(shí)間,而一個(gè)由經(jīng)過認(rèn)證的協(xié)議棧組成的方案可以節(jié)省相當(dāng)多的時(shí)間。
為了使用閃存驅(qū)動(dòng)器,嵌入式設(shè)備也需要一種USB海量存儲(chǔ)類(Mass Storage Class)設(shè)備的終端驅(qū)動(dòng)程序、硬件命令行接口,以及文件系統(tǒng)接口。通常,具有2Gb或更低存儲(chǔ)空間的閃存驅(qū)動(dòng)器使用FAT16文件系統(tǒng),而更大容量的閃存驅(qū)動(dòng)器將使用FAT32文件系統(tǒng)。
設(shè)計(jì)要求
一旦選定了微控制器,硬件設(shè)計(jì)就開始了。USB硬件設(shè)計(jì)需要遵循以下許多規(guī)則。
● 如果嵌入式主設(shè)備需要支持USB設(shè)備類,它對(duì)外圍的供電就必須能夠提供500mA的電流。
● 如果嵌入式主設(shè)備需要支持任何消耗電流超過100mA的設(shè)備,它也必須能夠提供500mA的電流。
● 如果嵌入式主設(shè)備需支持消耗電流100mA或更低的設(shè)備,那么VBUS電壓限制就可以降低到4.4V。然而,如果嵌入式主設(shè)備需支持消耗電流超過100mA的設(shè)備,那么VBUS電壓限制是 4.75V,就和全功能主設(shè)備一樣。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論