趙 越,趙宇紅(通訊作者)
(北方工業(yè)大學電子信息工程學院 北京 100041)
基于ARM Cortex-M4的IC卡收費系統(tǒng)設計
趙 越,趙宇紅(通訊作者)
(北方工業(yè)大學電子信息工程學院 北京 100041)
本課題基于ARM Cortex-M4架構的嵌入式系統(tǒng)作為主控制器,實現IC卡的計時收費功能,并通過Wi-Fi將IC卡數據上傳至基站進行建卡充值等操作;本文分別從軟件和硬件兩個方面詳細的介紹了該系統(tǒng)的設計方案。硬件方面在秉火開發(fā)板上實現各功能模塊調試,軟件方面應用了MDK開發(fā)環(huán)境,通過J-Link仿真器完成軟件調試,該計時收費系統(tǒng)擁有非常廣泛的適用性,因此具有較好的發(fā)展前景。
IC卡收費;Cortex-M4;嵌入式;Wi-Fi
IC卡具有存儲容量大,安全保密性好,不容易被復制等諸多優(yōu)點。成為當今國際電子信息產業(yè)的熱點產品之一,本文主要研究如何實現IC卡信息的收集、存儲、處理等功能。硬件設計主要基于ARM Cortex-M4的STM32作為主控制器完成IC卡刷卡收費的設計,感應模塊采用的是RFID控制芯片MFRC522,通過近距離非接觸可以實現對IC卡身份的識別,軟件設計通過對庫函數調用進行編寫讀卡器模塊,并移植了FATFS文件系統(tǒng)用以保存用戶數據來實現對各模塊包括IC卡天線的控制以及數據傳輸處理,以此完成所需功能要求。
IC卡計時收費系統(tǒng)的總體框圖如圖1所示,系統(tǒng)以Cortex-M4為系統(tǒng)核心,通過Wi-Fi通信模塊與PC端構建TCP/IP底層協議完成實時的數據通信;感應模塊非接觸式讀寫卡芯片MFRC522與主機間采用連線較少的串行通信;標準5寸TFT-LCD屏幕控制屏幕內容的顯示;使用MCU的一個GPIO以及一個驅動電路即可控制無源蜂鳴器響或不響,來提示IC卡已經被成功讀取。此外,PC端采用了人性化的窗口提示功能以及較為通俗易懂的界面設計。使系統(tǒng)的使用更加方便。
圖1 系統(tǒng)結構框圖
本系統(tǒng)采用了基于ARM Cortex-M4內核的開發(fā)板,內部集成了32位STM32F429高性能低功耗微處理器。該處理器整合了數字信號處理器,主頻最高可達180MHz,并且內置了自適應實時(ART)加速技術能夠實現了閃存執(zhí)行零等待,增強了ARM Cortex-M4內核的處理性能。該微處理器具有高達2MB的讀寫可同時進行的FLASH存儲空間,高達256KB的SRAM內存空間,還可以通過SRAM,PSRAM,SDRAM接口拓展Flash/NOR/NAND空間。
本系統(tǒng)選用的Wi-Fi通信模塊為EMW1062模塊,該模塊利用直接序列擴頻和OFDM / CCK技術,實現無線調制解調功能,并集成2.4GHz IEEE802.11b/g/n(MAC/基帶/射頻),功率放大器(PA)和電源管理單元(PMU),SDIO2.0或SPI接 口,3.3V單 電 源 供 電。802.11n/HT20在800ns GI下的最大數據傳輸速率是65Mbps,在400ns GI下的最大數據傳輸速率是72.2Mbps,因此符合IEEE802.11b/g/n標準。EMW1062可以通過SDIO或者SPI接口由主機控制,主機中可以運行MiCO物聯網操作系統(tǒng),MiCO系統(tǒng)包含完整的TCP/IP協議棧、WiFi驅動、硬件接口驅動,可以使開發(fā)者快速完成主機與EMW1062的開發(fā)對接。
本系統(tǒng)在LCD顯示模塊上選擇了標準的5寸TFT-LCD屏幕,TFT-LCD也叫做真彩液晶顯示器,主要由背光模組、TFT模組兩大部分組成,液晶顯示屏分辨率為800*600。STM32F429芯片帶有LTDC顯示控制外設,大大提高了圖像質量,為屏幕顯示提供了極大的便利。
本系統(tǒng)采用的IC卡感應模塊是支持ISO 14443A標準的MFRC522芯片。MFRC522是高度集成的非接觸式芯片,此模塊的發(fā)送模塊利用調制和解調原理,并將它們完全集成到各種非接觸式通信方法和協議中。該芯片是一款低電壓、低成本、體積小的非接觸式讀寫卡芯片。接收器部分提供一個堅固而有效的解調和解碼電路,用于處理ISO14443A 兼容的應答器信號。此外,它還支持快速CRYPTO1加密算法。MFRC522支持更高速的非接觸式通信,雙向數據傳輸速率高達424kbit/s。MFRC522與主機間的通信采用連線較少的串行通信,且可根據不同的用戶需求,選取SPI、I2C或串行UART(類似RS232)模式之一,有利于精簡電路。本設計選擇SPI模式與MCU通信,MCU作為主機,MFRC522作從機。SPI時鐘SCK由主機產生;數據通過 MOSI線從主機傳輸到從機;數據通過MISO線從MFRC522發(fā)回到主機。
本系統(tǒng)的通信模塊采用TCP/IP協議進行與嵌入式的通信,TCP/IP協議中文譯名為傳輸控制協議/網際協議,又叫網絡通訊協議,這個協議是最基本的協議,本系統(tǒng)利用TCP/IP協議完成STM32F429與PC客戶端的通信。程序執(zhí)行時首先循環(huán)判斷是否有客戶進入到系統(tǒng),當判斷出有客戶進入時,接收用戶發(fā)送的數據并根據客戶發(fā)送的數據提取RFID命令,根據RFID命令處理數據將結果發(fā)送到客戶端,即為完成一次用戶命令。Tcp/ip網絡連接流程如圖2所示。
本系統(tǒng)的數據庫管理模塊使用sqlite語言實現,sqlite 使用標準C 語言實現,對系統(tǒng)和外部庫的支持要求不高,便于移植到嵌入式設備中。用sqlite管理數據庫可以更高效的實現數據的管理、使用和維護。本系統(tǒng)的數據庫管理模塊分為增加、刪除、更新功能。
本系統(tǒng)計費顯示功能模塊主要負責計算費用和顯示計費信息。程序的開始先查找數據記錄并顯示查找到的數據列表,如果判斷已經接收到新的RFID命令,則執(zhí)行RFID命令并更新數據庫,將更新后的數據顯示到界面中。計費顯示模塊程序流程如圖3所示。
圖2 Tcp/ip網絡連接流程圖
圖3 計費顯示模塊程序流程圖
本系統(tǒng)開機時會自動連接Wi-Fi實現與PC端軟件的連接,成功連接Wi-Fi后即可正常使用。首次刷卡時PC端軟件系統(tǒng)會讀出卡的id號并會提示用戶進行建卡操作,在建卡操作中用戶可以設置IC卡的名稱與充值金額,設置完成后點擊“建卡”按鍵后完成建卡操作。本系統(tǒng)斷電后數據不丟失,再次上電后保留上次數據,因此每張卡進行一次建卡操作即可,如果需要對IC卡進行充值、刪卡、修改信息等操作可以在PC軟件端中右鍵IC卡信息欄完成。每一步操作完成后,在軟件的下方會顯示用戶所進行過的操作。該系統(tǒng)第一次刷卡進入計費,下一次刷卡進行簽出,硬件系統(tǒng)上的LCD屏幕上會顯示當前IC卡里所擁有的余額以及當前IC卡的信息。
經過多次測驗,本系統(tǒng)能夠正常、穩(wěn)定的顯示所需內容;并且可以正確迅速的檢測到IC卡并在PC端上實現建卡、充值等操作;操作界面簡單易懂,系統(tǒng)操作簡捷,便于用戶使用;信息處理速度快,運行流暢;不僅如此,其體積較小、容易攜帶的特點,更是讓這個系統(tǒng)在任何有Wi-Fi的地方都能進行用戶IC卡的信息管理,因此具有較好的發(fā)展前景。
[1]蔣建春,曾素華,陳家佳.嵌入式系統(tǒng)原理及應用實例[M].北京:北京航空航天大學出版社,2015:34-35.
[2]劉火良,楊森.STM32庫開發(fā)實戰(zhàn)指南[M].北京:機械工業(yè)出版社,2014:101-102.
[3]郭穩(wěn)濤,何怡剛.基于RFID的智能停車場管理系統(tǒng)的研究與設計[J].自動化技術與應用,2010,29(6):59-63.
TP391 【文獻標識碼】A 【文章編號】1009-5624(2018)01-0041-03
2017北京市大學生科學研究與創(chuàng)業(yè)行動計劃