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