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