国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

智能車數(shù)據(jù)存儲模塊設(shè)計

2014-12-18 08:04王長峰陳進(jìn)軍
制造業(yè)自動化 2014年21期
關(guān)鍵詞:高電平按鍵單片機(jī)

王長峰,陳進(jìn)軍,于 婷

(1.貴州大學(xué) 電氣工程學(xué)院,貴陽 550003;2.長春軌道客車裝備有限責(zé)任公司 國凱公司,長春 130062 )

0 引言

近年來,單片機(jī)系統(tǒng)發(fā)展迅猛,這不僅體現(xiàn)在CPU處理能力迅速提升、外界設(shè)備與處理器交互能力快速提高,更體現(xiàn)在單片機(jī)系統(tǒng)的復(fù)雜性日益提高、系統(tǒng)存儲容量急劇增大。這些變化對于數(shù)據(jù)操作的靈活性提出了越來越高的要求[1,2]。將SD卡與單片機(jī)系統(tǒng)結(jié)合起來,通過單片機(jī)處理SD卡信息,可以將信息化嵌入式產(chǎn)業(yè)向更小體積發(fā)展。為了使單片機(jī)寫入的文件能被Windows系列操作系統(tǒng)正確識別,所以需要引入高效率并且應(yīng)用廣泛的FAT文件系統(tǒng)。SD卡引入單片機(jī)系統(tǒng),能夠增強(qiáng)系統(tǒng)的數(shù)據(jù)存儲速度和空間,F(xiàn)AT文件系統(tǒng)的引入,使得單片機(jī)系統(tǒng)數(shù)據(jù)管理更具層次性和邏輯性,更重要的是與Windows系統(tǒng)兼容,所形成的數(shù)據(jù)文件可以直接用操作系統(tǒng)來進(jìn)行處理。

1 智能車數(shù)據(jù)存儲模塊硬件設(shè)計

1.1 總體方案設(shè)計

智能車數(shù)據(jù)存儲模塊的設(shè)計要求是能夠?qū)崿F(xiàn)將智能車數(shù)據(jù)(如路徑信息、車速、舵機(jī)控制信息、車速控制信息等)存儲在SD卡中,并利用按鍵來實現(xiàn)文件的命名和形成至少三個數(shù)據(jù)文件。根據(jù)設(shè)計要求分析其硬件設(shè)計包括電源、單片機(jī)、SD卡、按鍵、接口電路、傳感器數(shù)據(jù)輸入等部分。其硬件原理框圖如圖1所示。

圖1 硬件原理框圖

1.2 電源模塊

本設(shè)計中采用5V穩(wěn)壓器作為單片機(jī)電源,SD卡的電源使用LM1117-3.3來把5V電壓轉(zhuǎn)為3.3V。

1.3 單片機(jī)模塊

智能車數(shù)據(jù)存儲模塊選用MC9S12XS128單片機(jī),該單片機(jī)帶有SPI模塊。

1.4 接口電路模塊

接口電路由三極管C1815和電阻搭建,包括三個5V轉(zhuǎn)3.3V和1個3.3V轉(zhuǎn)5V的電路。

1.5 SD卡模塊

本設(shè)計采用的SD卡為金士頓SD卡,內(nèi)存為256M,MC9S12XS128單片機(jī)的全雙工8位SPI模塊有4個引腳,分別為主入從出引腳MISO、主入從出引腳MOSI、串行時鐘引腳SCK以及從機(jī)片選引腳SS。當(dāng)CS信號線為低電平時,主機(jī)開始所有的總線傳輸。數(shù)據(jù)從單片機(jī)的MOSI引腳同步輸入Micro SD卡的DA引腳,Micro SD卡返回數(shù)據(jù)由D0線同步輸入單片機(jī)的MISO引腳,數(shù)據(jù)在CLK信號的上升沿同步輸入和輸出。

SD卡SPI模塊下與單片機(jī)的連接如圖2所示,此圖是示意圖,實際連線要接電平轉(zhuǎn)換電路。

圖2 SD卡與單片機(jī)接線

1.6 按鍵模塊

按鍵模塊電路,當(dāng)按鍵打到1時單片機(jī)PA1為低電平,打到3時輸入為高電平。

2 智能車數(shù)據(jù)存儲模塊軟件設(shè)計

在充分理解FAT文件系統(tǒng)[3]和SD卡的操作基礎(chǔ)上,完成了智能車數(shù)據(jù)存儲模塊軟件設(shè)計,軟件設(shè)計包括單片機(jī)初始化程序和SD卡操作程序以及形成FAT文件系統(tǒng)程序三部分。如圖3所示為軟件結(jié)構(gòu)圖,下面就這三部分進(jìn)行介紹。

圖3 軟件結(jié)構(gòu)圖

2.1 單片機(jī)初始化程序

單片機(jī)初始化程序包括時鐘的初始化以及SPI模塊的初始化,時鐘初始化的功能是使單片機(jī)的時鐘頻率設(shè)置為40MHz,SPI模塊初始化包括使能SPI模塊以及設(shè)定傳輸波特率。由于硬件包含一個按鍵輸入,同時程序設(shè)計當(dāng)數(shù)據(jù)傳到SD卡時[4],開發(fā)板上接到PB口的燈閃一下,所以初始化程序中包含對PB和PA口的初始化。

2.2 SD卡操作程序

根據(jù)第三章介紹的SD卡的知識,用單片機(jī)來編寫SD卡的復(fù)位函數(shù),SD卡的讀操作函數(shù),SD卡的寫操作函數(shù),SD卡的高速傳輸設(shè)置函數(shù)。SD卡的讀寫操作函數(shù)實現(xiàn)了單片機(jī)對SD卡讀寫功能,由于在SD卡的復(fù)位及初始化時期,SD卡時鐘信號應(yīng)該保持低速,所以一開始SPI傳輸速度會很低,當(dāng)初始化完成以后,傳輸數(shù)據(jù)的時候可以將SPI波特率設(shè)高,所以編寫了SD卡的高速傳輸設(shè)置函數(shù)。

2.3 FAT文件形成函數(shù)

SD卡操作程序其實是FAT文件形成函數(shù)的底層函數(shù),如果說SD卡操作程序完成單片機(jī)對SD卡讀寫功能,那么FAT文件形成函數(shù)完成功能是高速單片機(jī)要寫的內(nèi)容。FAT文件形成函數(shù)包括寫FAT表函數(shù),寫文件名函數(shù),寫數(shù)據(jù)函數(shù)。

2.4 程序流程圖

程序?qū)崿F(xiàn)的功能是將數(shù)據(jù)存到SD卡上,由于涉及到FAT文件系統(tǒng),所以存儲數(shù)據(jù)不單單是寫數(shù)據(jù),為了節(jié)省單片機(jī)內(nèi)存以及保證存儲數(shù)據(jù)時間盡量少的占用單片機(jī)時間,所以簡化了形成文件的步驟,通過winhex軟件直接查到關(guān)于FAT的一些重要地址,如FAT表的扇區(qū),文件目錄的扇區(qū),起始簇的扇區(qū)等等[5],然后將這些地址預(yù)先存到單片機(jī),這樣就免去了單片機(jī)去查詢的SD卡的時間,同時將SD卡格式化,寫FAT表的時候一次寫十個簇,最后一簇為結(jié)束簇,值為0Xff,相當(dāng)于是開辟了一個十簇的空間,往里面放數(shù)據(jù),如果放滿了,則再順次開辟一個十簇的空間,但是由于第一個簇與上次開的最后一簇要重合,所以相當(dāng)于開了九個簇,當(dāng)寫滿一次的空間的時候,燈會閃一下,告訴操作人員。當(dāng)操作人員來回?fù)芤幌掳存I時,單片機(jī)往SD卡中寫文件名,然后開始重新開辟空間,存儲數(shù)據(jù)[6]。軟件流程如圖4所示。

圖4 主程序流程圖

3 軟件調(diào)試

智能車存儲模塊設(shè)計軟硬件完成以后,需要進(jìn)行調(diào)試來驗證該模塊是否完成設(shè)計要求功能,下面將闡述軟件調(diào)試情況[7~10]。

軟件的程序編寫、編譯以及下載是通過軟件codewarrior5.0來完成。

程序下載到單片機(jī)以后,單片機(jī)就會預(yù)先產(chǎn)生11111111……的數(shù)據(jù),總計為512個字節(jié),然后不斷把這512個字節(jié)寫到卡里面,若寫完十簇空間,則燈會亮滅一次,當(dāng)把開關(guān)掰到右邊時,單片機(jī)程序一直等待開關(guān)再次掰到左邊,此時會形成文件名001.txt。

然后單片機(jī)會繼續(xù)寫數(shù)據(jù),再次掰開關(guān),則會形成002.txt,依次類推。

如圖5所示為使用上位機(jī)讀取SD卡的數(shù)據(jù)。圖6為文件內(nèi)容,實驗證明該模塊滿足設(shè)計要求。

圖5 上位機(jī)讀取SD卡數(shù)據(jù)

圖6 文件內(nèi)容

4 結(jié)束語

本設(shè)計主要講述了通過對單片機(jī)的編程,將數(shù)據(jù)存儲到SD卡上,以及FAT文件系統(tǒng),SD卡的相關(guān)內(nèi)容等。在FAT文件系統(tǒng)中,F(xiàn)AT文件系統(tǒng)結(jié)構(gòu)分MBR區(qū)、保留區(qū)能及BPB參數(shù)、FAT表、文件以及目錄的表達(dá)方式;FAT16的存儲過程是建立文件,將數(shù)據(jù)寫到數(shù)據(jù)區(qū),再寫根目錄區(qū)和FAT表。了解SD卡的硬件基礎(chǔ)知識、SD卡命令以及它的操作是必不可少的[11]。

在這次設(shè)計中單片機(jī)與SD卡的電平不兼容,因此在它們之間設(shè)計了一個接口電路,接口電路的主要功能是把單片機(jī)輸出的5V高電平轉(zhuǎn)為SD輸入的3.3V高電平,把SD卡輸出的3.3V高電平轉(zhuǎn)為單片機(jī)輸出的5V高電平。

[1]王福瑞,等.單片微機(jī)測控系統(tǒng)設(shè)計大全[M].北京:北京航空航天大學(xué)出版社,1999.

[2]王毅.單片機(jī)器件應(yīng)用手冊[M].北京:人民郵電出版社,1994.

[3]鄧劍.FAT文件系統(tǒng)原理及實現(xiàn)[J].計算機(jī)與數(shù)字工程,2005.

[4]田茂.SPI模式下SD卡驅(qū)動的設(shè)計與實現(xiàn)[J].現(xiàn)代電子技術(shù),2009.

[5]宋群生,宋亞瓊.硬盤扇區(qū)讀寫技術(shù)一修復(fù)硬盤與恢復(fù)文件[M].北京:機(jī)械工業(yè)出版社,2004.

[6]院澤嘉,董金明.FAT16文件系統(tǒng)在嵌入式操作系統(tǒng)μC/OS 中實現(xiàn)[J].電子測量技術(shù),2005.

[7]韓九強(qiáng).現(xiàn)代測控技術(shù)與系統(tǒng)[M].北京:清華大學(xué)出版社,2007.9.

[8]王福瑞,等.單片微機(jī)測控系統(tǒng)設(shè)計大全[M].北京:北京航空航天大學(xué)出版社,1999.

[9]胡漢才.單片機(jī)原理及接口技術(shù)[M].北京:清華大學(xué)出版社,2004.2.

[10]康華光.電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2006.1.

[11]張凱.MMC卡的文件系統(tǒng)及其實現(xiàn)方法[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2006.

猜你喜歡
高電平按鍵單片機(jī)
一種基于FPGA的PWM防錯輸出控制電路
基于有限狀態(tài)機(jī)的按鍵檢測程序設(shè)計
基于單片機(jī)的SPWM控制逆變器的設(shè)計與實現(xiàn)
基于單片機(jī)的層次漸變暖燈的研究
TS-03C全固態(tài)PDM中波發(fā)射機(jī)開關(guān)機(jī)控制電路原理及故障分析
基于單片機(jī)的多功能智能插排
基于單片機(jī)的便捷式LCF測量儀
按鍵消抖在單片機(jī)和FPGA實驗教學(xué)中的應(yīng)用
數(shù)字電子技術(shù)的應(yīng)用
淺談物理電路與數(shù)字電路