基于LPC2132的U盤軟硬件系統(tǒng)設計
USB移動存儲技術(U盤)把USB接口技術與Flash存儲器技術結合在一起,構成了一種快速、大容量、方便的新型數據交換系統(tǒng),主要構成有主控制器(MCU)、USB接口芯片和F1ash存儲器。主控制器(MCU)是系統(tǒng)的核心,負責控制各種外圍設備、實現各種算法、協調與主機通信;USB接口芯片負責USB通信;Flash(閃爍存儲器)用來存儲數據,它決定了U盤的容量。
1 硬件系統(tǒng)設計
U盤設計結構框圖如圖1所示。使用Philips公司的ARM7芯片LPC2132,控制Philips的USBl.1接口芯片PDI-USBDl2,處理PMC公司的128 KB串行F1ash存儲器作為數據存儲設備實現U盤。
(1)ARM處理器
LPC2132是基于一個支持實時仿真和跟蹤的16/32位ARM7TDMI-S CPU,并帶有64 KB嵌入的高速Flash存儲器。LPC2132的實時仿真和跟蹤功能方便了代碼的調試,降低了開發(fā)成本。
(2) PDIUSB012
PDIUSBDl2(簡稱為“D12”)是一款性價比很高的USB器件;通常用于微控制器系統(tǒng)中實現與微控制器進行通信的高速通用并行接口;支持本地的DMA傳輸。PDIUSBDl2所具有的低掛起功耗連同LazyClock輸出可以滿足使用ACPI、OnNOW和USB電源管理的要求。低功耗可以應用于使用USB總線供電的外設。
(3)Flash存儲器
存儲器選用PMC公司的Pm25LV010。適合低功耗和低電壓下工作的應用場合;具有完備的數據保護功能。通過設置芯片的狀態(tài)寄存器,可以將存儲空間的高1/4、高1/2或整片寫保護。寫使能和寫禁止指令進一步保護數據。另外還提供WP引腳用于硬件數據保護,以防止對狀態(tài)寄存器的意外修改。
U盤電路原理如圖2所示。
2 軟件設計
軟件設計主要包括D12驅動、Mass Storage類協議和Flash存儲器的讀/寫控制。
2.1 D12驅動的實現
在USB設備插入主機之前,主機對這個USB設備的情況一無所知,無法建立起通信;但USB協議規(guī)定了一些最基本的準則,如每個設備的端點0都是可用的,屬于控制端點。有了這個基本的溝通途徑,主機就開始通過端點0向設備提出一些問題,這些問題是有關設備基本情況的。這些基本情況可以反映usB設備所屬的類別及子類,反映配置情況、接口情況和端點情況;一旦得知了這些信息,主機就大體了解了這個設備是個什么樣的設備,按照USB協議中的相應規(guī)定,就逐步建立起了一條介于設備之間的高速數據通道,用于數據的傳輸。主機向設備提出的這些問題實際上就是USB協議中規(guī)定的各種標準請求,設備必須對這些問題進行回答;而回答的方式就是向主機傳送相應的描述符,即設備描述符、配置描述符、接口描述符、端點描述符。
評論