基于PIC微控制器和Vinculum USB接口芯片的硬件設(shè)計及其編程,使USB閃存驅(qū)動可做為各種嵌入式應(yīng)用中的可移動存儲?,F(xiàn)在有帶低成本閃存驅(qū)動和各種USB外設(shè)的USB接口,但是多數(shù)是集中在PC市場。把這些外設(shè)用在8位和16位嵌入式市場,其成本和功耗成為主要的考慮因素。
做為嵌入式系統(tǒng)中的嵌入式控制器,如PIC系列控制器,雖然具有豐富的存儲器和外設(shè),但缺少USB主控制器所具有的接口、資源和性能。在本實例應(yīng)用中,Vinculum的控制器VNCIL提供PIC(做為系統(tǒng)控制器)和USB2.0全速口之間的接口。這可以最少的時間和開銷實現(xiàn)USB閃存驅(qū)動連接
VNCIL
Vinculum的VNCIL控制器是基于定制處理器芯核,它有雙直接存儲器存取(DMA)引擎來加速數(shù)據(jù)傳輸以及使文件系統(tǒng)計算最佳化的32位協(xié)處理器。在單芯片上帶有64Kbytes嵌入式閃存程序存儲器和4Kbytes內(nèi)部數(shù)據(jù)SRAM。此芯片的目標(biāo)是嵌入式USB控制器市場和需要最少外部支持元件的用戶。
此芯核的一個關(guān)鍵特性是碼長與一般MCU芯核相比有顯著的縮短。芯核碼開銷的降低可使更多功能壓縮進(jìn)片上閃存中。此特性是對PIC基嵌入式系統(tǒng)的補(bǔ)充??梢杂么诵酒B接一個小的PIC MCU到USB(A)連接器,從而到USB閃存驅(qū)動(見圖1)。
PIC是系統(tǒng)控制器,通過它的通用I/O引腳(PC0,PC1,PC2)從傳感器或其他源獲得數(shù)據(jù),并變換數(shù)據(jù)格式和寫數(shù)據(jù)到閃存驅(qū)動的文件中。通過TXD把命令和數(shù)據(jù)送到VNCIL的RXD。VNCIL通過USB2DM和USB2DS(28引腳和29引腳)處理在USB閃存驅(qū)動中的FAT12/16/32文件生成和數(shù)據(jù)存儲與驅(qū)動之間的通信。通過相同引腳系統(tǒng)固件從閃存驅(qū)動讀數(shù)據(jù)和從VNCIL的TXD(引腳31)送數(shù)據(jù)到PIC的RXD(引腳5)。
PIC固件控制系統(tǒng)靠PIC發(fā)出的指令控制傳輸和Vinculum的標(biāo)準(zhǔn)固件。雖然這是一個簡單的系統(tǒng),但完成設(shè)計要有更多的要求。器件需要電源、控制時鐘的晶振,而且器件需要編程。
晶振
用20MHz晶振可使PIC的VART接口波特率高達(dá)115200bit/s,這比用內(nèi)部8MHz振蕩器達(dá)到的最高9600bit/s,改善了系統(tǒng)性能。用PIC固件的I/O引腳RC2和RC3仿真與VNCIL的VART接口的RTS/CTS交換信號。