基于ARM 技術(shù)一卡通消費(fèi)系統(tǒng)設(shè)計(jì)
文章出處:http://m.botanicstilllife.com 作者:王先彪 人氣: 發(fā)表時(shí)間:2011年12月08日
引言
隨著科學(xué)技術(shù)的不斷發(fā)展,一卡通系統(tǒng)市場(chǎng)越來(lái)越大,而一卡通消費(fèi)系統(tǒng)作為它的主要組成部分發(fā)展卻比較慢,早在幾年前(甚至更早)的技術(shù)架構(gòu)下發(fā)展。為改進(jìn)現(xiàn)有消費(fèi)系統(tǒng),增強(qiáng)市場(chǎng)競(jìng)爭(zhēng)力,本文提出基于ARM 技術(shù)的一卡通消費(fèi)系統(tǒng),不僅具有很好的市場(chǎng)效應(yīng),還能促進(jìn)一卡通系統(tǒng)發(fā)展。
本設(shè)計(jì)具備以下特點(diǎn):
1) 系統(tǒng)處理能力和穩(wěn)定性有一定提高,系統(tǒng)能管理百萬(wàn)張IC 卡和百萬(wàn)條消費(fèi)記錄,并有快速響應(yīng)能力;
2) 系統(tǒng)網(wǎng)絡(luò)得到改善,系統(tǒng)能提供高速、可靠的網(wǎng)絡(luò)通道,并支持未來(lái)的無(wú)線(xiàn)通信;
3) 提高了系統(tǒng)性能價(jià)格比,非單純的降低成本;
4) 系統(tǒng)既能工作在聯(lián)網(wǎng)狀態(tài)下,也能在脫網(wǎng)狀態(tài)下正常工作。
1 系統(tǒng)組成
1.1 系統(tǒng)總體設(shè)計(jì)
硬件設(shè)計(jì):如圖1 所示,系統(tǒng)采用ARM7 S3C4510B芯片作處理器,使用RTL8201 構(gòu)成以太網(wǎng)網(wǎng)絡(luò)通信接口,采用AT89C2051 作為PS/2 鍵盤(pán)輸入接口,再配合外部閃速存儲(chǔ)器K 9 F 1 2 0 8 和S D R A M 存儲(chǔ)器HY57V281620,8 位LED 顯示驅(qū)動(dòng)芯片BC7281A 及非接觸式IC 卡驅(qū)動(dòng)芯片MFRC500,構(gòu)成整個(gè)電路,它具有可靠性高、處理能力和聯(lián)網(wǎng)能力強(qiáng)及性能價(jià)格比高等優(yōu)點(diǎn)。
軟件設(shè)計(jì):除提供現(xiàn)有消費(fèi)系統(tǒng)的所有功能外還提供32 位的運(yùn)算能力,系統(tǒng)處理和響應(yīng)能力提高。此外,系統(tǒng)使用標(biāo)準(zhǔn)的以太網(wǎng)接口和TCP/IP 協(xié)議,提供安全、快速的網(wǎng)絡(luò)聯(lián)接,因此本系統(tǒng)使用方便,具有很強(qiáng)的通用性和極大的系統(tǒng)拓展性。
1 . 2 系統(tǒng)主芯片介紹
ARM(Advanced RISC Machines)是一個(gè)公司名,既是一類(lèi)微處理器的通稱(chēng),也是一種技術(shù)的名稱(chēng)[ 3 ]。到目前為止,ARM 微處理器技術(shù)已廣泛應(yīng)用于工業(yè)控制、無(wú)線(xiàn)通信、網(wǎng)絡(luò)、消費(fèi)類(lèi)電子產(chǎn)品、成像與安全產(chǎn)品等領(lǐng)域。
RISC 架構(gòu)的ARM 微處理器具有以下特點(diǎn):
1)體積小、低功耗、低成本、高性能;
2)支持Thumb(16 位)/ARM(32 位)雙指令集,能很好地兼容8 位/16 位器件;
3)精簡(jiǎn)的指令集,指令執(zhí)行速度更快;
4)尋址方式靈活簡(jiǎn)單,執(zhí)行效率高;
5)嵌入式的ICE-RT 邏輯,程序調(diào)試開(kāi)發(fā)方便。32 位ARM微處理器處理能力是8 位單片機(jī)系統(tǒng)100倍以上,同時(shí)提供豐富的存儲(chǔ)器接口,有SRAM、SDRAM、FLASH、NAND FLASH 等,最大化實(shí)現(xiàn)系統(tǒng)2 GB 的存儲(chǔ)器容量,卡存儲(chǔ)量和數(shù)據(jù)存儲(chǔ)能力都十分巨大,系統(tǒng)響應(yīng)時(shí)間也十分快捷。
由于ARM 微處理器的成本價(jià)格不斷下降,已經(jīng)接近8 位微處理器的價(jià)格,所以,在小型系統(tǒng)的應(yīng)用中,投入也只是稍有增加。但是,當(dāng)系統(tǒng)增加到十幾個(gè)消費(fèi)點(diǎn)以上,或者系統(tǒng)覆蓋區(qū)域較大時(shí)(超過(guò)1 000 m),因?yàn)榻M網(wǎng)的優(yōu)勢(shì),系統(tǒng)的投入成本反而大大下降,同時(shí),工程施工的費(fèi)用也隨之大大降低[ 4 ]。
2 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件主要包括主控程序、讀卡程序、通訊程序、顯示程序、鍵盤(pán)接口程序等。
2 . 1 主控軟件流程
主控軟件流程如圖2。
2 . 2 讀卡模塊
IC 卡操作作為軟件的一個(gè)模塊,是直接鑲嵌在程序主流程的刷卡操作部分,并通過(guò)返回的執(zhí)行狀態(tài)可知道執(zhí)行的結(jié)果。首先,程序查詢(xún)MF RC500 模塊的狀態(tài),有卡在感應(yīng)區(qū)就開(kāi)始卡操作流程,否則返回;然后,讀入必要的卡信息,并選擇要進(jìn)行操作的卡(因會(huì)出現(xiàn)同時(shí)有幾張卡在感應(yīng)區(qū)的情況);接著對(duì)卡的密碼進(jìn)行驗(yàn)證,只有符合本系統(tǒng)發(fā)放的密碼的卡才能操作,通過(guò)密碼驗(yàn)證,就可進(jìn)行卡讀、寫(xiě)或其它操作。
2 . 3 通訊模塊
1) 發(fā)送數(shù)據(jù)。要發(fā)送數(shù)據(jù),發(fā)送控制寄存器中的發(fā)送使能位必須置“1”,發(fā)送停止請(qǐng)求位必須清“0”。此外,MAC 控制寄存器中的立即停止位和停止請(qǐng)求位也必須清“0”,這些條件通常在初始化完成以后設(shè)置,然后由系統(tǒng)傳輸字節(jié)數(shù)據(jù)到發(fā)送數(shù)據(jù)緩沖區(qū)。
發(fā)送狀態(tài)機(jī)開(kāi)始發(fā)送FIFO 中的數(shù)據(jù),并保持前64個(gè)字節(jié)直到本站獲得網(wǎng)絡(luò)控制權(quán)。此時(shí),發(fā)送模塊請(qǐng)求更多的數(shù)據(jù)并發(fā)送,直到到達(dá)發(fā)送數(shù)據(jù)包末尾,發(fā)送模塊添加經(jīng)過(guò)計(jì)算的CRC 到數(shù)據(jù)包的末尾并發(fā)送出去,然后設(shè)置發(fā)送狀態(tài)寄存器,即表示成功發(fā)送。如果中斷使能,該操作同時(shí)產(chǎn)生一個(gè)中斷請(qǐng)求。
2) 接收數(shù)據(jù)。當(dāng)接收模塊使能時(shí),監(jiān)控從發(fā)送模塊傳來(lái)的數(shù)據(jù)流。接收模塊首先檢測(cè)前導(dǎo)字節(jié),然后在前8 個(gè)字節(jié)中尋找SFD(10101011),如果不能檢測(cè)到SFD,就將數(shù)據(jù)包當(dāng)作碎片丟棄。然后,接收模塊每接收到一個(gè)字節(jié)就將其存儲(chǔ)到接收FIFO 中,同時(shí)發(fā)出Rx_rdy 接收等待信號(hào)。如此不斷地接收其后的數(shù)據(jù)并將其存入接收,直至數(shù)據(jù)包末尾,如果中斷使能,該操作同時(shí)產(chǎn)生一個(gè)中斷請(qǐng)求。
2.4 LED 顯示模塊
BC7281A 是8/16 位數(shù)碼管顯示專(zhuān)用控制芯片,通過(guò)外接LED移位寄存器(典型芯片如74HC164,74LS595等最多可以控制16 位數(shù)碼管顯示或128 只獨(dú)立的LED,BC7281A 驅(qū)動(dòng)輸出極性及輸出時(shí)序均為軟件可控,可以和各種外部電路配合適用于任何尺寸的數(shù)碼管[ 5 ]。
2 . 5 鍵盤(pán)接口模塊
鍵盤(pán)接口設(shè)計(jì)采用ATMEL 公司的8 位簡(jiǎn)易型單片機(jī)AT89C2051,主要是考慮減輕主CPU 負(fù)擔(dān)和通過(guò)PS/2 接口擴(kuò)展接入其它的輸入、識(shí)別設(shè)備。
3 仿真和調(diào)試
3 . 1 軟件編制
ARM 提供集成開(kāi)發(fā)工具ARM ADS(ARM DeveloperSuite),現(xiàn)在最新版本支持所有Windows 系列操作系統(tǒng)。ADS 由命令行開(kāi)發(fā)工具、ARM 實(shí)時(shí)庫(kù)、GUI 開(kāi)發(fā)環(huán)境(Code Warrior 和 AXD)、實(shí)用程序和支持軟件組成。使用戶(hù)方便地為ARM 系列的RISC 處理器編寫(xiě)和調(diào)試自己的應(yīng)用程序。
3 . 2 仿真與調(diào)試
使用仿真器時(shí),首先通過(guò)主機(jī)將編譯產(chǎn)生的輸出文件加載到仿真器上,如圖3 所示。
在程序的調(diào)試過(guò)程中,可以采用設(shè)置或清除斷點(diǎn);單步或連續(xù)跟蹤;修改控制字或程序計(jì)數(shù)器;觀(guān)察指針和寄存器的值,將數(shù)據(jù)區(qū)數(shù)據(jù)用圖形輸出;查看或修改堆棧內(nèi)容等方法。只要充分利用這些強(qiáng)大的工具和手段,程序調(diào)試就得心應(yīng)手的順利實(shí)現(xiàn)。
4 結(jié)語(yǔ)
基于ARM 微處理器無(wú)線(xiàn)產(chǎn)品在市場(chǎng)上十分成熟和暢銷(xiāo),因而采用ARM 微處理器技術(shù)的一卡通消費(fèi)系統(tǒng),必將領(lǐng)引一卡通消費(fèi)系統(tǒng)乃至一卡通產(chǎn)品市場(chǎng),其發(fā)展前景是其它一卡通系統(tǒng)所不能比擬的。目前國(guó)內(nèi)一卡通消費(fèi)系統(tǒng)使用ARM 技術(shù)的很少,在校園一卡通系統(tǒng)應(yīng)用中尚無(wú)先例,所以,以上優(yōu)勢(shì)使本系統(tǒng)具有很好的市場(chǎng)潛力和投產(chǎn)價(jià)值。