《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于單片機的存儲設(shè)備轉(zhuǎn)儲器
基于單片機的存儲設(shè)備轉(zhuǎn)儲器
電子設(shè)計工程
畢浩洋,,毛曉波,,劉一飛,冉臻昀
摘要: 介紹一款單片機存儲設(shè)備轉(zhuǎn)儲器,,以C8051F040為核心控制模塊,,通過外接兩個CH375U盤模塊,、液晶顯示模塊及鍵盤模塊等實現(xiàn)兩個U盤之間數(shù)據(jù)的相互轉(zhuǎn)儲,很好地解決了U盤內(nèi)容轉(zhuǎn)儲離不開電腦而帶來的不便以及容易感染病毒等弊端,。C8051F040通過CH375按照相應(yīng)的USB協(xié)議與USB設(shè)備通訊,,通過調(diào)用CH375提供的子程序庫來直接讀取U盤中的數(shù)據(jù),實現(xiàn)了普通單片機與U盤的通訊,,支持常用的12Mb/s全速USB設(shè)備和1.5Mb/s低速設(shè)備,。該設(shè)計方案具有低成本、低功耗,、操作簡單等特點,,將會有廣闊的應(yīng)用前景。
Abstract:
Key words :

目前U盤以其體積小,、易攜帶,、容量大、使用方便等特點成為最常用的移動存儲設(shè)備之一,。但是一直以來人們對U盤的使用僅限于U盤與計算機之間的通訊,。如果要實現(xiàn)多個U盤的內(nèi)容相互轉(zhuǎn)儲必須通過計算機問接完成,比較麻煩,,且無法滿足人們出門在外需要隨時隨地轉(zhuǎn)儲數(shù)據(jù)的要求,。本文針對這一需求,,設(shè)計了一款以C8051FD40單片機為核心的U盤轉(zhuǎn)儲器,實現(xiàn)不通過計算機直接完成兩個U盤之間的數(shù)據(jù)交換,,具有體積小,、傳輸速度快、操作方便,、硬件綜合成本低等優(yōu)點,。

1 系統(tǒng)硬件設(shè)計
1.1 系統(tǒng)總體結(jié)構(gòu)與工作原理
  
系統(tǒng)由電源模塊、USB接口轉(zhuǎn)儲模塊,、控制模塊,、鍵盤模塊和液晶顯示模塊等組成,,如圖1所示,。C8051F040微控制單元外接兩個CH375 U盤模塊,通過在單片機內(nèi)部開辟一個數(shù)據(jù)緩沖區(qū),,直接調(diào)用子程序庫,,負責將一個U盤中選中的文件數(shù)據(jù)傳送到另一個U盤中。液晶和外部鍵盤實現(xiàn)人機接口,,通過鍵盤的上翻,、下翻、選擇,、復(fù)制等按鍵,,選中要轉(zhuǎn)存的文件,并在液晶模塊中顯示文件名,、文件大小等相關(guān)信息,。人
機交互界面友好、操作簡便,。


1.2 CH375 U盤模塊
   
采用振南電子開發(fā)的CH375 U盤讀寫模塊,,該模塊體積小巧,僅3.3x2.0 cm2,。模塊供電為5 V,,配有指示燈,工作時指示燈被點亮,。模塊使用USB主從機控制器CH375B,,采用并行方式驅(qū)動,可以實現(xiàn)U盤的讀寫,。共需要13根信號線(5根控制線8根數(shù)據(jù)線),。
    通過該模塊提供的znFAT,一種單片機上的FAT32文件系統(tǒng)解決方案,,能夠輕松地實現(xiàn)U盤上的各種文件級的應(yīng)用,。主要包括文件扇區(qū)的定位,、文件打開、信息修改,、文件關(guān)閉,、文件刪除、文件讀,、文件寫,、磁盤信息查詢等一些對文件的基本操作。該模塊具有體積小,,價格較低,,使用方便的特點。通過該模塊很容易通過單片機實現(xiàn)對兩個U盤中的相關(guān)文件的轉(zhuǎn)移,。
    CH375 U盤讀寫模塊與C8051F040單片機的連接如圖2所示,。C8051F040通過CS選中U盤模塊,U盤模塊則通過INT以中斷方式與單片機進行通信,。DO~D7為CH375 U盤模塊與單片機的并行通信數(shù)據(jù)線,,單片機通過AO、RD,、WR控制信號控制CH375U盤模塊,。D+、D-為CH375 U盤模塊與 USB存儲設(shè)備的串行接口,。通過CH375 U盤模塊可以很容易地實現(xiàn)單片機與USB存儲設(shè)備直接的數(shù)據(jù)轉(zhuǎn)儲,。


1. 3 液晶顯示模塊
   
本系統(tǒng)使用122x32點陣的MGLS12232液晶顯示模塊,模塊內(nèi)置兩塊2.560位的RAM和兩片SED1520控制器,,分別由E1,、E2兩個選通信號控制左右兩半屏的顯示。圖形液晶顯示模塊有兩種連接方式:一種為直接訪問方式,,另一種為間接控制方式,。本系統(tǒng)是采用直接控制方式,該方式將液晶顯示模塊的接口作為存儲器或I/O設(shè)備直接掛接在單片機總線上,。該模塊體積小,、價格較低且通過該液晶模塊能夠滿足對一般文件夾名、文件名和文件信息的顯示,。
1.4 鍵盤模塊
   
鍵盤模塊是3x3矩陣式鍵盤結(jié)構(gòu),,采用Button按鍵,分別定義了上電,、復(fù)位,、上翻、下翻、選擇,、復(fù)制,、粘貼等按鍵,以最少的按鍵實現(xiàn)文件轉(zhuǎn)儲的各種操作,。
1.5 C8051F040單片機控制模塊
   
C8051F040單片機控制模塊是本系統(tǒng)的核心控制模塊,。該單片機具有豐富的片內(nèi)資源和強大的控制功能:與8051完全兼容,最大系統(tǒng)時鐘頻率為24 MHz,,70%指令的執(zhí)行時間為1或2個系統(tǒng)時鐘周期,。豐富的中斷源,擴展的中斷系統(tǒng)向CIP-51提供20個中斷源,,一個中斷驅(qū)動的系統(tǒng)需要較少的MCU干預(yù),,因而有更高的執(zhí)行效率,這么多的中斷源完全能滿足本系統(tǒng)的所有外設(shè),。通用串行總線(USB)功能控制器,,有8個靈活的端點管道,集成收發(fā)器和1K FIFO RAM,;片內(nèi)存儲較大,,CIP-51的SFR地址空間可包含多達256個SFR頁,,通過SFR分頁,,CIP-51MCU可以控制大量用于控制和配置片內(nèi)外設(shè)所需的SFR。串口資源豐富,,具有兩個增強型全雙工UART,、一個增強型SPI總線和SMBus/I2C。每種串行總線都完全用硬件實現(xiàn),,都能向CIP-51產(chǎn)生中斷,,因此需要很少的CPU干預(yù)。這些串總線不“共享”定時器,、中斷或端口I/O等資源,,可以使用任何一個或同時使用多個。
    該模塊的功能是:通過在單片機內(nèi)部開辟一個數(shù)據(jù)緩沖區(qū)緩存兩個U盤之間要轉(zhuǎn)移的文件數(shù)據(jù),,并通過兩個CH375 U盤模塊控制U盤文件的打開,、讀取、寫入和關(guān)閉,,實現(xiàn)文件數(shù)據(jù)的轉(zhuǎn)移工作,。該控制單元還可以將外圍鍵盤發(fā)來的中斷信息進行處理,以實現(xiàn)文件的選擇等對單片機的控制,。通過控制一個MGLS12232液晶顯示模塊來顯示一些相關(guān)的文件信息,。

2 系統(tǒng)軟件設(shè)計
2.1 外設(shè)控制方式

    本系統(tǒng)采用CH375 U盤模塊,該模塊附帶znFAT,單片機上的FAT32文件系統(tǒng)解決方案,。從而減少了繁雜的Fat32文件系統(tǒng)方面的編程,,由于CH375 U盤模塊配帶文件系統(tǒng)及文件操作子程序,通過單片機主程序調(diào)用比較容易實現(xiàn)文件名,、文件信息的液晶顯示,,以及文件的選擇與轉(zhuǎn)移操作。
    由于C8051F040單片機的中斷資源豐富,,并且中斷具有以下優(yōu)點:
    1)分時操作,。CPU可以分時為多個I/O設(shè)備服務(wù),提高了計算機的利用率,。
    2)實時響應(yīng),。CPU能夠及時處理應(yīng)用系統(tǒng)的隨機事件,系統(tǒng)的實時性大大增強,。
    3)可靠性高,。CPU具有處理設(shè)備故障及掉電等突發(fā)事件的能力,從而使系統(tǒng)的可靠性提高,。
    綜上所述,,本系統(tǒng)的所有外設(shè)鍵盤均采用中斷控制方式,文件轉(zhuǎn)移也用中斷方式控制,。這樣C8051F040的系統(tǒng)資源利用效率有了很大的提高,。
2.2 文件轉(zhuǎn)儲方案
   
首先在C8051F040單片機內(nèi)部開辟一個緩沖區(qū),當需要轉(zhuǎn)存文件時,,首先選中一個U盤中的文件,,當單擊復(fù)制及粘貼按鍵后,會通過中斷自動調(diào)用相關(guān)的程序,,想將該文件打開,,并讀取文件的數(shù)據(jù)與開辟的緩沖區(qū)中,然后把緩沖區(qū)的數(shù)據(jù)存儲到另一個U盤相應(yīng)目錄下的新建的同名文件中,。
    系統(tǒng)總流程圖如圖3所示,。系統(tǒng)上電后,對C8051F040單片機內(nèi)部開辟的緩沖區(qū)進行初始化,,并使液晶屏顯示初始界面,,之后進入等待U盤插入的狀態(tài),當?shù)却欢螘r間后,,若沒用U盤插入,,則顯示“請插入U盤”的提示信息。當U盤個數(shù)為一個或兩個時,,開始讀取U盤信息,,并在液晶屏上顯示基本的U盤信息,。之后,C8051F040單片機等待鍵盤操作,,根據(jù)鍵盤輸入的編碼調(diào)用相應(yīng)的中斷程序,,處理完后,繼續(xù)等待鍵盤的中斷信號,。



3 聯(lián)機調(diào)試
   
在USB轉(zhuǎn)儲器的兩個USB接口分別接甲,、乙兩個U盤,液晶顯示屏能夠顯示甲U盤里的文件,,通過手動操作轉(zhuǎn)儲器上的鍵盤按鈕可以選擇甲U盤里的文件,,并可將其轉(zhuǎn)移到乙U盤里。在這次USB轉(zhuǎn)儲器的制作過程中比較難的是對設(shè)備端的程序進行調(diào)試,。由于USB協(xié)議有嚴格要求,,這就使程序必須在有效的時間內(nèi)對某些請求或者狀態(tài)進行,否則USB將無法正常工作,。因此在調(diào)試過程中,,較多的借助串口輸出程序輸出的一些信息來輔助調(diào)試,定位問題所在,。
    調(diào)試工作主要分為兩步,,首先是要能顯示U盤里面的文件,借助PC調(diào)試軟件(從網(wǎng)上下載的Bus Hound)將設(shè)備端的USB協(xié)議調(diào)通,,然后加上U盤寫入U盤顯示程序,,在液晶屏里可以看到U盤里的文件名;第二步是轉(zhuǎn)儲,,在單片機里寫入轉(zhuǎn)儲程序進行調(diào)試,。通過鍵盤按鈕選擇可以實現(xiàn)轉(zhuǎn)儲文件。

4 結(jié)束語
   
目前市場上雖有單片機讀寫U盤的功能模塊,,但只能夠?qū)崿F(xiàn)簡單的讀功能,還不能夠?qū)崿F(xiàn)兩個U盤之間的直接相互傳輸和顯示,。本文設(shè)計的U盤轉(zhuǎn)儲器經(jīng)實驗表明具有很強的實用性和可操作性,,人們可以在戶外不借助計算機很方便地完成一個U盤到另外一個U盤的文件轉(zhuǎn)儲。由于采用USB接口傳輸速度非???,完全能夠滿足普通用戶的需要。系統(tǒng)采用STM封裝,,具有外形小巧,、方便佩戴等優(yōu)點,是一款廉價實用的電子產(chǎn)品,。本系統(tǒng)目前的不足是能管理的USB存儲設(shè)備只有兩個,,這是本系統(tǒng)將來需要進一步完善的地方。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。