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