李翌翀 北方工業(yè)大學(xué)
本設(shè)計是以基于Cortex-M3內(nèi)核的STM32作為主要控制模塊的,系統(tǒng)讀取IC卡中的用戶ID是通過IC卡感應(yīng)模塊來完成的,每一個用戶ID所對應(yīng)的用戶信息存儲在SD卡中,CPU可以向SD卡讀寫數(shù)據(jù)。當(dāng)用戶第一次刷卡時,系統(tǒng)開始計時,第二次刷卡時,系統(tǒng)停止計時,并計算費(fèi)用,扣除ID中的余額。用戶的所有信息以及當(dāng)前時間和所產(chǎn)生的費(fèi)用、余額等都可以在LCD屏上顯示,切換顯示界面的操作是用按鍵完成的,當(dāng)按鍵觸發(fā)時,蜂鳴器會發(fā)出聲響。遙控器可以用來充值。
本裝置的中央處理器是STM32的微型控制設(shè)備,其內(nèi)部核心空間為Cortex-M3,通過接口總線的形式掛載了儲存器、外設(shè)、中斷等組成一個MCU。內(nèi)核與外補(bǔ)設(shè)備,類似PC中的CPU與其它被其控制設(shè)備的關(guān)系。
由于本設(shè)計需要直觀顯示充值過程,單STM32不具備此項(xiàng)功能,所以我們需要給它外接一個電路和一個屏幕來實(shí)現(xiàn)信息的輸出。整體的控制是由核心驅(qū)動芯片來完成。本設(shè)計使用ILI9341芯片控制液晶屏。
屏幕的控制部分的結(jié)構(gòu)構(gòu)成是十分復(fù)雜的,芯片的核心部分是GRAM(Graphics RAM),它的每一個負(fù)責(zé)存儲的模塊都控制著屏幕面板的變化。右側(cè)的所有設(shè)備同時開始工作時,就可以把存儲模塊中的信息轉(zhuǎn)化成控制屏幕的信號,改變像素的顏色。而一幅完整的圖像就是由各個像素點(diǎn)組合起來的。
數(shù)據(jù)在PC 被存儲在硬盤中,成為一個個的文件。這些文件中的數(shù)據(jù)都是一般以二進(jìn)制的形式被存儲,或者是以ASCII碼的形式。SD卡存儲數(shù)據(jù)的過程中,如果直接在STM32中對其進(jìn)行存儲,SD卡會被毀壞。甚至影響SD卡的應(yīng)用。比如,在對有效的數(shù)據(jù)進(jìn)行記錄的時候,不能記錄其位置。不能確定存儲模塊中還存在多少剩余的空間。在對數(shù)據(jù)進(jìn)行解讀的時候,無法區(qū)分格式致使無法解讀數(shù)據(jù)。如果不以文件系統(tǒng)的形式保存數(shù)據(jù),將無法實(shí)現(xiàn)數(shù)據(jù)資料的多元化存儲,比如文檔、圖片、視頻、音頻等。
因此,本設(shè)計將把FATFS文件系統(tǒng)移植到STM32的工程里,以便于刷卡器的數(shù)據(jù)的存儲和處理,也給將來的升級迭代帶來便利。FATFS 是對于非大型嵌入式系統(tǒng)的一種兼容性更好的FAT 文件系統(tǒng)。它全部是由 AISI C 語言編寫并且完全獨(dú)立于底層的I/O 介質(zhì)。因此當(dāng)需要將它移植至其他系統(tǒng)中的時候,我們不需要再進(jìn)行任何的修改。如8051、PIC、AVR、SH、Z80、H8、ARM等。本設(shè)計的主要任務(wù)是將FATFS 文件系統(tǒng)代碼移植到STM32之中,從而可以通過使用系統(tǒng)的各種函數(shù),對SD卡進(jìn)行讀寫。
MDK前身為KEIL,后來被ARM公司收購改名MDK。MDK可以對代碼進(jìn)行編輯。同時還可以編譯、下載等多功能集成開發(fā)環(huán)境(IDE)。此環(huán)境可以支持我們常見的ARM7、ARM9以及Cortex內(nèi)核的ARM。本設(shè)計中使用的Cortex-M3內(nèi)核的STM32將使用此IDE進(jìn)行高級編程語言的開發(fā)、編譯、調(diào)試。
主程序是最接近用戶的代碼層級,其功能邏輯最直觀。本設(shè)計在編寫主程序時按照IC卡計時器的功能需要進(jìn)行設(shè)計。
經(jīng)過實(shí)際測試驗(yàn)證,本設(shè)備可以達(dá)到使用要求,顯示背景、顏色正常,沒有亂碼、雪花;按下按鍵能夠顯示對應(yīng)的界面,按鍵靈敏,無抖動現(xiàn)象;按下按鍵時發(fā)出一聲響,其他時間不響;能正確讀取IC卡的ID;能正確讀取鍵值,且對應(yīng)功能都能實(shí)現(xiàn)。
本文研究了基于Cortex-M3的IC卡計時計費(fèi)器的設(shè)計,可應(yīng)用于公共交通、停車場、高速公路、商場、網(wǎng)吧等一切移動支付領(lǐng)域,應(yīng)用范圍非常廣泛,也具有較好的發(fā)展?jié)撃堋?/p>
[1]李寧.基于MDK的SAM3處理器開發(fā)應(yīng)用[M].北京: 北京航空航天大學(xué)出版社,2009: 34-35.
[2]ARM Cortex-M3的權(quán)威指南[M].宋 巖,譯.北京: 北京航空航天大學(xué)出版社,2009: 77-78.
[3]劉火良,楊森.STM32庫開發(fā)實(shí)戰(zhàn)指南[M].北京: 機(jī)械工業(yè)出版社,2014: 101-102.
[4]郭穩(wěn)濤,何怡剛.基于RFID的智能停車場管理系統(tǒng)的研究與設(shè)計[J].自動化技術(shù)與應(yīng)用,2010,29(6):59-63.