《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 微波|射頻 > 設(shè)計應(yīng)用 > 基于C8051F040的存儲設(shè)備轉(zhuǎn)儲器設(shè)計
基于C8051F040的存儲設(shè)備轉(zhuǎn)儲器設(shè)計
摘要: 介紹一款單片機存儲設(shè)備轉(zhuǎn)儲器,以C8051F040為核心控制模塊,通過外接兩個CH375 U盤模塊、液晶顯示模塊及鍵盤模塊等實現(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盤的通訊,支持常用的12 Mb/s 全速USB設(shè)備和1. 5 Mb/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)用子程序庫,負(fù)責(zé)將一個U盤中選中的文件數(shù)據(jù)傳送到另一個U盤中。液晶和外部鍵盤實現(xiàn)人機接口,通過鍵盤的上翻、下翻、選擇、復(fù)制等按鍵,選中要轉(zhuǎn)存的文件,并在液晶模塊中顯示文件名、文件大小等相關(guān)信息。人機交互界面友好、操作簡便。

 系統(tǒng)結(jié)構(gòu)框圖

圖1 系統(tǒng)結(jié)構(gòu)框圖

  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以中斷方式與單片機進(jìn)行通信。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)儲。

 CH375 U盤讀寫模塊與C8051F040單片機的連接

圖2 CH375 U盤讀寫模塊與C8051F040單片機的連接

  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地址空間可包含多達(dá)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ā)來的中斷信息進(jìn)行處理,以實現(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ū),當(dāng)需要轉(zhuǎn)存文件時,首先選中一個U盤中的文件,當(dāng)單擊復(fù)制及粘貼按鍵后,會通過中斷自動調(diào)用相關(guān)的程序,想將該文件打開,并讀取文件的數(shù)據(jù)與開辟的緩沖區(qū)中,然后把緩沖區(qū)的數(shù)據(jù)存儲到另一個U盤相應(yīng)目錄下的新建的同名文件中。

  系統(tǒng)總流程圖如圖3所示。系統(tǒng)上電后,對C8051F040單片機內(nèi)部開辟的緩沖區(qū)進(jìn)行初始化,并使液晶屏顯示初始界面,之后進(jìn)入等待U盤插入的狀態(tài),當(dāng)?shù)却欢螘r間后,若沒用U盤插入,則顯示“請插入U盤”的提示信息。當(dāng)U盤個數(shù)為一個或兩個時,開始讀取U盤信息,并在液晶屏上顯示基本的U盤信息。之后,C8051F040單片機等待鍵盤操作,根據(jù)鍵盤輸入的編碼調(diào)用相應(yīng)的中斷程序,處理完后,繼續(xù)等待鍵盤的中斷信號。

 系統(tǒng)總流程圖

圖3 系統(tǒng)總流程圖

  3 聯(lián)機調(diào)試

  在USB轉(zhuǎn)儲器的兩個USB接口分別接甲、乙兩個U盤,液晶顯示屏能夠顯示甲U盤里的文件,通過手動操作轉(zhuǎn)儲器上的鍵盤按鈕可以選擇甲U盤里的文件,并可將其轉(zhuǎn)移到乙U盤里。在這次USB轉(zhuǎn)儲器的制作過程中比較難的是對設(shè)備端的程序進(jìn)行調(diào)試。由于USB協(xié)議有嚴(yán)格要求,這就使程序必須在有效的時間內(nèi)對某些請求或者狀態(tài)進(jìn)行,否則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)儲程序進(jì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接口傳輸速度非??欤耆軌驖M足普通用戶的需要。系統(tǒng)采用STM封裝,具有外形小巧、方便佩戴等優(yōu)點,是一款廉價實用的電子產(chǎn)品。本系統(tǒng)目前的不足是能管理的USB存儲設(shè)備只有兩個,這是本系統(tǒng)將來需要進(jìn)一步完善的地方。

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