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