單片機(jī)開發(fā)與u盤數(shù)據(jù)通信設(shè)計(jì)論文.doc_第1頁
單片機(jī)開發(fā)與u盤數(shù)據(jù)通信設(shè)計(jì)論文.doc_第2頁
單片機(jī)開發(fā)與u盤數(shù)據(jù)通信設(shè)計(jì)論文.doc_第3頁
單片機(jī)開發(fā)與u盤數(shù)據(jù)通信設(shè)計(jì)論文.doc_第4頁
單片機(jī)開發(fā)與u盤數(shù)據(jù)通信設(shè)計(jì)論文.doc_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

內(nèi)容摘要:在無操作系統(tǒng)的單片機(jī)系統(tǒng)中實(shí)現(xiàn)USB主機(jī)系統(tǒng)功能,對(duì)U盤進(jìn)行文件的讀寫,并在U盤上實(shí)現(xiàn)FAT格式文件系統(tǒng),使U盤成為單片機(jī)應(yīng)用系統(tǒng)的存儲(chǔ)設(shè)備,這極大的方便了單片機(jī)在數(shù)據(jù)采集,存儲(chǔ)以及傳輸方面的應(yīng)用。最后,實(shí)現(xiàn)了脫離PC機(jī)的對(duì)U盤操作的功能,數(shù)據(jù)能夠脫離PC機(jī)在U盤之間方便簡(jiǎn)潔的交換。當(dāng)前,USB外設(shè)的開發(fā)是一個(gè)熱點(diǎn)。由于USB總線具有傳輸速度快、占用資源少及真正的即插即用等優(yōu)點(diǎn),越來越受到業(yè)界的青睞??墒?,USB的開發(fā)要求設(shè)計(jì)人員對(duì)USB的標(biāo)準(zhǔn)、Firmware(固件)編程及驅(qū)動(dòng)程序的編寫等有較深入的理解,因此限制了USB的開發(fā)人員;而基于FT245BM芯片的USB產(chǎn)品開發(fā),能夠使研發(fā)人員在最短的周期內(nèi)開發(fā)出相應(yīng)的USB產(chǎn)品。關(guān)鍵詞:USB主機(jī)系統(tǒng);U盤;FAT文件系統(tǒng);人機(jī)接口ABSTRACT:Operating system in the absence of single-chip microcomputer system to achieve USB host system function, U disk to read and write to files, and the realization of U disk FAT file system format to become a single-chip U disk storage device applications, this Single-chip greatly facilitates data collection, storage and transmission applications. Finally, the realization of a machine from the PC to operate on the U disk function, data from the PC disk drive in the U of exchange between the simple convenience. At present, USB peripheral development is a hot spot. Since the USB bus with transmission speed, occupancy, fewer resources are available and the advantages of true plug-and-play, more favored by the industry. However, USB development requirements of designers of USB standard, Firmware (firmware) programming and the preparation of such drivers have a better understanding, thereby limiting the development of a USB personnel; FT245BM chip-based USB product development, to R & D personnel in the shortest development cycle corresponding USB products.Key words:USB host system; U disk; FAT file system; man-machine interface目 錄引言41.硬件電路整體設(shè)計(jì)4 1.1系統(tǒng)硬件整體框圖4 1.2系統(tǒng)主處理器選擇51.3盤接口的選擇62.系統(tǒng)軟件功能模塊6 2.1系統(tǒng)程序流程6 2.2協(xié)議的選擇82.3軟件層次劃分92.3.1主CPU與各系統(tǒng)模塊的初始化程序設(shè)計(jì)2.3.2 USB主機(jī)系統(tǒng)軟件的實(shí)現(xiàn)2.3.3 Mass Storage類協(xié)議的程序設(shè)計(jì)2.3.4 應(yīng)用程序設(shè)計(jì)結(jié)束語10致謝辭10參考文獻(xiàn)10引 言 對(duì)于大多數(shù)單片機(jī)而言,其內(nèi)部存儲(chǔ)器只有ROM和RAM兩種。由于ROM對(duì)數(shù)據(jù)的不易修改性和RAM對(duì)數(shù)據(jù)的掉電易失性,而且它們有限的容量,這極大地限制了單片機(jī)在數(shù)據(jù)存儲(chǔ),處理及傳輸方面的應(yīng)用。如今,U盤已經(jīng)成為使用方便的移動(dòng)存儲(chǔ)設(shè)備,它采用USB總線接口,支持熱插拔且即插即用,體積小容量大,讀寫速度快,可重復(fù)擦寫幾百萬次,無需外接電源,易于采購和攜帶,有多種容量可供選擇,但是它通常與計(jì)算機(jī)交換數(shù)據(jù),不是很方便。因此就有了脫離PC機(jī)在U盤之間交換數(shù)據(jù)的需求。本文為脫離PC機(jī)的U盤對(duì)拷技術(shù)的研究與設(shè)計(jì),主要任務(wù)是要完成在無操作系統(tǒng)的情況下對(duì)嵌入式USB主機(jī)系統(tǒng)的設(shè)計(jì),并完成Mass Storage類協(xié)議設(shè)備驅(qū)動(dòng)嵌入式程序及用戶程序。最后,實(shí)現(xiàn)結(jié)果為在無操作系統(tǒng)的單片機(jī)環(huán)境下能夠?qū)盤進(jìn)行文件的讀寫操作及FAT文件系統(tǒng)的實(shí)現(xiàn)。Error! No bookmark name given.1硬件電路總體設(shè)計(jì)嵌入式USB主機(jī)系統(tǒng)從硬件上區(qū)分主要包括USB主機(jī)控制器和系統(tǒng)主處理器,因此,嵌入式主機(jī)系統(tǒng)的核心就由主CPU和主機(jī)控制器芯片構(gòu)成。組成系統(tǒng)的首要任務(wù)就是選擇合適的主CPU以及USB主機(jī)控制器芯片。另外,為了直觀地顯示系統(tǒng)調(diào)試過程和運(yùn)行結(jié)果,需要建立一個(gè)人機(jī)界面。若作為一個(gè)獨(dú)立的系統(tǒng),需要另行配置LCD顯示模塊、完整的鍵盤模塊等。硬件選擇的方案HAI必須綜合考慮系統(tǒng)成本、處理速度、體積、功耗等問題。Error! No bookmark name given.1.1 系統(tǒng)硬件總體框圖嵌入式USB主機(jī)系統(tǒng)的核心包括中央處理器和USB主機(jī)控制器,基于程序存儲(chǔ)容量和處理數(shù)據(jù)速度方面的考慮,外部擴(kuò)充RAM。圖1是系統(tǒng)的總體設(shè)計(jì)框圖。系統(tǒng)的大致工作流程是(視具體設(shè)計(jì)而定):單片機(jī)系統(tǒng)在完成系統(tǒng)初始化之后,等待USB主控制器的外部中斷或查詢USB主控制器的狀態(tài),當(dāng)USB設(shè)備插入主機(jī)系統(tǒng)上之后,由USB主控制器通過外部中斷信號(hào)或相應(yīng)的狀態(tài)值來通知單片機(jī)系統(tǒng),單片機(jī)與USB主控制器完成設(shè)備的枚舉、配置等操作,并對(duì)Flash閃存進(jìn)行操作,可以建立文件并寫數(shù)據(jù),建立文件夾,讀取具體文件中的數(shù)據(jù),修改文件的信息(例如文件的修改時(shí)間,大小等),或者使用通配符對(duì)Flash閃盤中文件或文件夾等等。預(yù)留擴(kuò)展接口是留給用戶進(jìn)行具體功能擴(kuò)展時(shí)使用,用于通過RS-232與PC機(jī)進(jìn)行通信,或控制時(shí)鐘芯片等等。預(yù)留擴(kuò)展接口USB主控制器單片機(jī)系統(tǒng)外部RAM鍵盤LCD圖1 系統(tǒng)總體設(shè)計(jì)框圖Error! No bookmark name given.1.2 系統(tǒng)主處理器的選擇常用的8位單片機(jī)體積小成本低,但是一般來說時(shí)鐘頻率不很高,且往往一個(gè)機(jī)器周期需要好幾個(gè)時(shí)鐘周期,更加導(dǎo)致效率降低。此外,8位單片機(jī)的片內(nèi)資源較少,RAM,ROM容量都比較小,加大RAM就可以解決有大量數(shù)據(jù)需要處理的系統(tǒng)需求。DSP處理器由于外圍集成的資源比較少,價(jià)格又比較昂貴,同樣不適用于本系統(tǒng)。如今市面上流行的32位ARM核微處理器,處理速度快,外圍集成單元齊全,價(jià)格適中,更被廣泛應(yīng)用于工業(yè)控制、智能系統(tǒng)等嵌入式設(shè)備中,因此如本系統(tǒng)采用ARM作為核心系統(tǒng)處理器可以達(dá)到很高的速度和性價(jià)比1。但是在一些對(duì)于速度要求不很高的場(chǎng)合,利用單片機(jī)也能達(dá)到很好的效果,并且能夠極大的降低系統(tǒng)成本。本設(shè)計(jì)采用AT89S52單片機(jī)作為系統(tǒng)核心處理器,通過對(duì)程序的優(yōu)化,使得對(duì)U盤的讀寫速度達(dá)到近80KB/S,完全可以滿足一般情況下對(duì)U盤讀寫速度的要求。1.3 U盤接口的選擇在利用單片機(jī)對(duì)U盤進(jìn)行讀寫時(shí),需要增加兩個(gè)USB接口,在系統(tǒng)程序的控制下,就可以實(shí)現(xiàn)U盤數(shù)據(jù)拷貝。因此實(shí)現(xiàn)單片機(jī)對(duì)U盤數(shù)據(jù)的讀寫是問題的關(guān)鍵所在。為了實(shí)現(xiàn)復(fù)雜的USB協(xié)議及USB通信,需要使用USB總線接口芯片。本設(shè)計(jì)中選擇的是CH375芯片,它是USB總線通用接口芯片,支持USBHOST主機(jī)模式,在本地端CH375具有8位數(shù)據(jù)總線和讀、寫、片選控制線以及中斷輸出,可以方便地掛接到單片機(jī)控制器的系統(tǒng)總線上,且CH375在USB主機(jī)方式下支持常用的USB全速設(shè)備,外部單片機(jī)可以通過CH375按照相應(yīng)的USB協(xié)議與USB設(shè)備通訊,并且CH375支持USB設(shè)備的控制,批量和中斷傳輸。因此只要利用單片機(jī)對(duì)USB總線接口芯片進(jìn)行在主機(jī)模式下的合理控制,即可實(shí)現(xiàn)嵌入式的單片機(jī)系統(tǒng)對(duì)U盤的讀寫。Error! No bookmark name given.2 系統(tǒng)軟件功能模塊嵌入式USB主機(jī)系統(tǒng)不同于PC平臺(tái)上的主機(jī)系統(tǒng)。由于其系統(tǒng)資源和性能的限制,嵌入式的主機(jī)系統(tǒng)只需根據(jù)需要實(shí)現(xiàn)特定的設(shè)備類即可。在USB總線活動(dòng)的時(shí)候,主機(jī)系統(tǒng)是根據(jù)協(xié)議規(guī)范按照特定的時(shí)序運(yùn)行。因此,整個(gè)系統(tǒng)的軟件設(shè)計(jì)就可以不依賴于任何操作系統(tǒng),而只是利用嵌入式的資源即可。在嵌入式USB主機(jī)中,通過系統(tǒng)程序來調(diào)度各個(gè)任務(wù),從而實(shí)現(xiàn)系統(tǒng)的各種功能。21 系統(tǒng)程序流程系統(tǒng)主程序的流程:首先對(duì)系統(tǒng)各部分功能模塊進(jìn)行初始化,接著根據(jù)具體需要完成相應(yīng)的功能(例如采集數(shù)據(jù)等等),之后查詢是否有U盤插入,插入之后即可根據(jù)具體需要完成相應(yīng)的文件操作。本設(shè)計(jì)的應(yīng)用系統(tǒng)的程序流程圖如圖2所示。開始系統(tǒng)對(duì)各部分初始化操作源U盤插入讀取指定文件數(shù)據(jù)到RAM中目的U盤插入?將數(shù)據(jù)寫入其中完成一些文件操作圖2 系統(tǒng)程序流程圖 對(duì)于本課題脫離PC機(jī)的U盤對(duì)拷技術(shù)的研究與設(shè)計(jì),其具體流程為:首先初始化系統(tǒng)各功能模塊,等待源U盤的插入,源U盤插入之后讀取指定文件,并將數(shù)據(jù)暫存在外部RAM中并提示可以拔下源U盤,接著就等待目的U盤的插入,插入之后將外部RAM中的文件數(shù)據(jù)寫到指定的文件中(可以新建文件,也可以將當(dāng)前系統(tǒng)時(shí)間作為當(dāng)前文件的修改時(shí)間等等),第一輪循環(huán)結(jié)束,繼續(xù)以下的循環(huán)。其流程圖如圖3所示。開始系統(tǒng)對(duì)各部分初始化操作根據(jù)具體需要完成相應(yīng)工作U盤已插入?根據(jù)具體需要完成相應(yīng)文件操作圖3 應(yīng)用程序流程圖22 協(xié)議的選擇USB協(xié)議從1.0版本至今,已經(jīng)發(fā)展到2.0版本。在最新的2.0版本中,USB系統(tǒng)開發(fā)商已經(jīng)意識(shí)到USB的發(fā)展瓶頸在于無法脫離PC機(jī),而對(duì)USB主機(jī)進(jìn)行嵌入又因其協(xié)議的紛繁復(fù)雜而顯得困難重重。因此,系統(tǒng)開發(fā)商推出了OTG版本協(xié)議,其目的就在于實(shí)現(xiàn)USB在嵌入式領(lǐng)域中的應(yīng)用,這與本系統(tǒng)設(shè)計(jì)的出發(fā)點(diǎn)不謀而合。按照USB2.0的補(bǔ)充版本OTG 1.0規(guī)定,符合USB OTG協(xié)議的設(shè)備可以完全脫離PC機(jī)而獨(dú)立運(yùn)行,即它本身即可作主機(jī),也可以作外設(shè),也可以與另一個(gè)符合OTG規(guī)范的設(shè)備進(jìn)行互連2。當(dāng)然,OTG解決方案并非盡善盡美,在很多場(chǎng)合并不要求系統(tǒng)即可作主機(jī)也可作從機(jī),應(yīng)用OTG方案顯得有點(diǎn)多余;其次,由于OTG是新興技術(shù),在其健壯性上還有待驗(yàn)證。最后,開發(fā)符合OTG協(xié)議的設(shè)備在當(dāng)前價(jià)格還比較昂貴,因此,若想將USB設(shè)備(存儲(chǔ)設(shè)備)應(yīng)用于嵌入式系統(tǒng)中,本文中提出的主機(jī)解決方案不失為一種很好的選擇。23 軟件層次劃分從嵌入式USB主機(jī)的軟件層次劃分來看,系統(tǒng)軟件主要包括主控制器驅(qū)動(dòng)程序、USB核心驅(qū)動(dòng)程序,以及用戶軟件;從功能劃分來看,系統(tǒng)軟件可分為以下幾個(gè)部分:1.主CPU與各系統(tǒng)模塊的初始化程序設(shè)計(jì)實(shí)現(xiàn)主CPU及各系統(tǒng)模塊的初始化,包括實(shí)現(xiàn)I2C接口的LED顯示、鍵盤、時(shí)鐘芯片以及主CPU與USB主機(jī)控制芯片之間的數(shù)據(jù)通信功能。2.USB主機(jī)系統(tǒng)軟件的實(shí)現(xiàn)主要完成核心驅(qū)動(dòng)程序的功能,具體來說就是實(shí)現(xiàn)USB的4種基本數(shù)據(jù)的傳輸方式,實(shí)現(xiàn)USB設(shè)備的枚舉過程,并獲取USB設(shè)備的描述符等。這些功能都可以通過讀寫主控制器寄存器來完成。因此,系統(tǒng)中只需分別定義一個(gè)讀寄存器函數(shù)和寫寄存器函數(shù),然后以此函數(shù)為基礎(chǔ)來構(gòu)成各功能子函數(shù),實(shí)現(xiàn)數(shù)據(jù)傳輸、設(shè)備枚舉以及獲取描述符等各種操作。3.Mass Storage類協(xié)議的程序設(shè)計(jì)實(shí)現(xiàn)Mass Storage設(shè)備類中Bulk-Only傳輸協(xié)議和Mass Storage類中UFI子類的各種請(qǐng)求命令,對(duì)設(shè)備進(jìn)行各種訪問和讀寫操作。4.應(yīng)用程序設(shè)計(jì)主要實(shí)現(xiàn)FAT文件系統(tǒng)??筛鶕?jù)FAT文件系統(tǒng)的基本體系,通過Mass Storage類協(xié)議中的UFI子類命令和標(biāo)準(zhǔn)的設(shè)備請(qǐng)求命令與設(shè)備的Flash閃存建立連接關(guān)系,并在USB主機(jī)系統(tǒng)中建立磁盤的空間結(jié)構(gòu),定義MBR, DBR的數(shù)據(jù)結(jié)構(gòu),建立FAT表,F(xiàn)DT表,實(shí)現(xiàn)對(duì)文件系統(tǒng)進(jìn)行讀取等操作功能即可。系統(tǒng)的軟件設(shè)計(jì)即可按照上述的4個(gè)功能模塊來依次構(gòu)建。結(jié)束語本設(shè)計(jì)建立了基于單片機(jī)的嵌入式USB主機(jī)系統(tǒng),該系統(tǒng)實(shí)現(xiàn)了USB協(xié)議中的Mass Storage類協(xié)議和精簡(jiǎn)的FAT文件系統(tǒng),能夠?qū)盤中的文件數(shù)據(jù)進(jìn)行讀寫,完成相應(yīng)的文件操作等各種功能。結(jié)果表明:利用該嵌入式USB主機(jī)系統(tǒng)對(duì)具體U盤中的文件進(jìn)行讀操作時(shí),平均速度為6080KB/S,對(duì)之進(jìn)行寫操作時(shí),平均速度為4050KB/S。 該系統(tǒng)真正實(shí)現(xiàn)了便攜式,擺脫了PC機(jī)對(duì)USB設(shè)備的控制,無需PC主機(jī)即可對(duì)USB設(shè)備進(jìn)行讀寫操作,具有廣闊的應(yīng)用前景。程序主要采用C語言編寫,因此它可以很方便地移植到其它處理器中。本文創(chuàng)新之處:目前,市場(chǎng)上脫離PC對(duì)U盤操作的單純產(chǎn)品很少,而且有些此功能的產(chǎn)品都有一定的應(yīng)用背景。本設(shè)計(jì)開發(fā)了U盤對(duì)拷器,留有擴(kuò)展口,可作U盤對(duì)拷器用,也可在此基礎(chǔ)上作二次開發(fā)。致謝辭:感謝大家在我遇到困難和疑惑時(shí)真誠(chéng)的幫助我、支持我。借此機(jī)會(huì),還要感謝大學(xué)三年中,我所有的任課老師。他們?cè)谶@三年間對(duì)我的教誨與幫助,我永遠(yuǎn)都不會(huì)忘記。這次畢業(yè)論文能夠最終順利完成,也歸功于他們的認(rèn)真負(fù)責(zé),使我能夠很好的掌握專業(yè)知識(shí),并在論文中得以體現(xiàn)。最后我要感謝我的親人和朋友,是親人含辛茹苦把我撫養(yǎng)成人,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論