王恩亮,涂德鳳,徐慧芳
(安徽新華學(xué)院電子通信工程學(xué)院,安徽合肥230088)
基于ARM技術(shù)的校園一卡通系統(tǒng)設(shè)計
王恩亮,涂德鳳,徐慧芳
(安徽新華學(xué)院電子通信工程學(xué)院,安徽合肥230088)
為適應(yīng)校園智能化及信息化管理的發(fā)展需求,設(shè)計了一款基于NXP LPC17XX系列處理器的校園一卡通系統(tǒng)。系統(tǒng)包括ARM Cortex-M3內(nèi)核的微控制器、射頻通信模塊、存儲模塊和串行通信模塊,并預(yù)留和擴展了網(wǎng)絡(luò)通信技術(shù)及人機交互界面等。闡述了硬件和軟件的設(shè)計方案,實現(xiàn)了在校園內(nèi)消費、身份識別及校務(wù)管理等方面的應(yīng)用。
一卡通;ARM;LPC 1768;射頻識別
信息技術(shù)的快速發(fā)展及智能IC卡技術(shù)的廣泛應(yīng)用,為建設(shè)數(shù)字化校園提供了條件。針對傳統(tǒng)校園的一人多證、多卡(諸如學(xué)生證、借閱證、出入證、醫(yī)療卡、就餐卡和洗衣卡等)所帶來的管理和使用的不便,本文設(shè)計了一款基于ARM技術(shù)的校園一卡通系統(tǒng),使每人只需一張校園卡就可輕松完成在校內(nèi)的就餐、借閱、消費和出入等。這不僅為廣大師生員工的工作、學(xué)習(xí)和生活帶來了方便,使學(xué)校的各項管理工作更高效、便捷,有利于師生員工日?;顒樱覟榻虒W(xué)、科研和后勤服務(wù)提供了重要信息。系統(tǒng)主要實現(xiàn)的功能包括校園生活消費(如就餐、洗?。?、信息管理(如學(xué)籍管理)、金融服務(wù)(如購物消費)和身份識別(如簽到、出入和借閱)等。
校園一卡通系統(tǒng)組成如圖1所示。
圖1 一卡通系統(tǒng)組成
系統(tǒng)結(jié)構(gòu)主要包括主控CPU、射頻讀寫模塊、LCD顯示模塊、串行通信模塊、電源模塊等。主控CPU通過射頻模塊對射頻IC卡進行讀寫,在LCD顯示模塊上顯示讀寫信息或指令,通過串行通信接口模塊與PC上位機進行數(shù)據(jù)或指令通信,通信采用RS-485接口協(xié)議。此外,根據(jù)設(shè)計的需要,系統(tǒng)還擴展了存儲模塊、按鍵輸入模塊、網(wǎng)絡(luò)傳輸模塊等。
1.1 主控CPU
系統(tǒng)中選用的LPC1768芯片是NXP公司推出的基于ARM Cortex-M3內(nèi)核的LPC17XX系列芯片中的一員,常被用于有高度集成和低功耗要求的嵌入式場合。LPC1768具有豐富的通用I/O接口,不僅可滿足連接液晶顯示器的并行接口需要,還可擴展鍵盤、存儲器、蜂鳴器、指示燈等外部設(shè)備[1-2],其內(nèi)部總線頻率高達100 MHz,運算能力完全滿足控制讀寫設(shè)備的需求。另外,它還配置有串行通信模塊、以太網(wǎng)MAC和8通道的通用DMA控制器等功能模塊。
1.2 射頻讀寫電路及IC卡
我們選用上海復(fù)旦微電子股份有限公司推出的射頻基站芯片F(xiàn)M1702SL來開發(fā)一卡通系統(tǒng)。FM1702SL是基于ⅠS014443標準設(shè)計的非接觸卡讀卡器專用芯片,采用0.6 μm CMOS EEPROM工藝制造,支持ISOl4443 typeA協(xié)議和MIFARE標準的加密算法[3]。該芯片內(nèi)部集成了模擬調(diào)制解調(diào)電路,并含有512 B的EEPROM和64 B的先入先出(FIFO,F(xiàn)irstIn First Out)數(shù)據(jù)緩存器。
FM1702SL支持SPI通信協(xié)議接口,但在與主控CPU通信過程中只能被設(shè)置為從機模式,通過設(shè)定其內(nèi)部寄存器,可實現(xiàn)對發(fā)送數(shù)據(jù)的調(diào)制。調(diào)制所用的載波頻率為13.56 MHz,調(diào)制后的數(shù)據(jù)通過天線驅(qū)動引腳TX1和TX2發(fā)送出去。其天線匹配電路如圖2所示。
圖2 天線匹配電路
系統(tǒng)采用符合IS014443標準的非接觸式IC卡。它通過電感耦合的方式與讀寫模塊進行數(shù)據(jù)交互,卡內(nèi)不同的存儲區(qū)域存儲不同的內(nèi)容,以實現(xiàn)在不同場合的應(yīng)用。
1.3 存儲電路
系統(tǒng)采用AT24C512(EEPROM)與W25Q32(Flash)結(jié)合的方式存儲數(shù)據(jù)。AT24C512芯片內(nèi)含512頁,每頁有128 B的存儲單元,與主控CPU通過IC串行協(xié)議方式進行數(shù)據(jù)通信。在系統(tǒng)中,它主要用來存儲上位機發(fā)送的指令,以及暫存通過讀取IC卡獲得的數(shù)據(jù)信息[4]。W25Q32芯片工作電壓為2.7~3.6 V,內(nèi)含16 384頁,每頁256 B,與主控CPU通過標準的SPI協(xié)議進行數(shù)據(jù)通信,支持最高為40 Mbit/s的連續(xù)數(shù)據(jù)傳輸速率,在本系統(tǒng)中被設(shè)計用來存儲固件代碼,兩種芯片的引腳如圖3所示。
圖3 兩種芯片的引腳圖
1.4 看門狗電路
為了防止系統(tǒng)“死機”和主控CPU在電源啟動和關(guān)閉期間的誤操作,采用看門狗芯片SP706S來監(jiān)視系統(tǒng)的運行。SP706S包含一個看門狗定時器、一個微處理器復(fù)位模塊、一個供電失敗比較器及一個手動復(fù)位輸入模塊,適用電壓為+3.3 V。
看門狗電路如圖4所示。在圖4中,WDO為看門狗輸出引腳,只要主控CPU在1.6 s內(nèi)未翻轉(zhuǎn)WDI引腳的電平,看門狗就會溢出,WDO腳輸出低電平,將MR腳拉為低電平,使RESET腳輸出200 ms的復(fù)位脈沖令CPU復(fù)位,同時清零看門狗,并重新計數(shù)。
由以上可知,在線調(diào)試或者ISP過程中,若CPU未在1.6 s內(nèi)喂狗一次,看門狗就會溢出導(dǎo)致CPU復(fù)位,從而中止程序的運行。因此可先斷開WDO和MR的連接(拔除短接帽),以禁止看門狗功能。
圖4 看門狗電路
1.5 嵌入式網(wǎng)絡(luò)傳輸電路
嵌入式網(wǎng)絡(luò)傳輸技術(shù)是在嵌入式系統(tǒng)中添加網(wǎng)絡(luò)接口,從而實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)?。通過這種方式,主控CPU可將數(shù)據(jù)及時地上傳到網(wǎng)絡(luò)。校園一卡通系統(tǒng)預(yù)留了以太網(wǎng)接口,接口芯片選用TI公司的DP83848,它與LPC1768之間的連接如圖5所示。
圖5 網(wǎng)絡(luò)傳輸電路
2.1 主程序設(shè)計
主控CPU內(nèi)除固化了IC卡的控制函數(shù)外,還有數(shù)碼管顯示函數(shù)、按鍵掃描函數(shù)、數(shù)據(jù)的存儲及傳輸?shù)裙δ芎瘮?shù)。程序流程描述如下。
(1)LPC1768進行寄存器與引腳功能的初始化,設(shè)置FM1702SL的工作方式,數(shù)碼管顯示歡迎界面。
(2)一方面,檢測按鍵代碼,并判斷Enter鍵是否按下,如未按下,則繼續(xù)掃描按鍵,待Enter鍵按下后轉(zhuǎn)(3)。另一方面,讀取RTC時鐘以判斷當前系統(tǒng)時間所處時段:如為忙時,則CPU掃描按鍵;如為閑時,則讀取Flash中的數(shù)據(jù)進行485遠程數(shù)據(jù)傳輸。
(3)讀寫器發(fā)送尋卡指令,如有卡片進入天線電磁波輻射范圍內(nèi),則執(zhí)行防沖撞、鎖定卡片和密碼校驗等一系列命令,并返回卡片卡號、存儲空間等信息。
(4)讀取特定扇區(qū)內(nèi)的數(shù)據(jù),以此判斷卡片是否已進行初始化,若未初始化則進行卡片的初始化,若已經(jīng)初始化則轉(zhuǎn)(5)。
(5)判斷此次操作是充值還是消費。如為充值,則判斷卡片的金額數(shù)值是否超過999.99:若超過,則蜂鳴器發(fā)出警告聲,提示用戶此次操作無效;若未超過,則轉(zhuǎn)(6)。如為消費,則判斷卡片的金額數(shù)值是否小于消費金額:若小于該數(shù)值,則蜂鳴器發(fā)出警告聲,提示用戶此次操作無效;若不小于,則轉(zhuǎn)(6)。
(6)將數(shù)據(jù)寫入卡片特定的扇區(qū)塊,同時讀取RTC時鐘,判斷系統(tǒng)時間是否為閑時段:如是,則將此次操作產(chǎn)生的數(shù)據(jù)(消費機號、操作時間、卡號和操作金額等)傳輸?shù)絇C上位機;如不是,則將數(shù)據(jù)寫入Flash,并轉(zhuǎn)(2)。
2.2 MIFARE 1的狀態(tài)機及射頻通信處理流程
(1)MIFARE 1的狀態(tài)機
MIFARE 1型IC卡工作的狀態(tài)機見圖6,流程各個狀態(tài)的詳細說明如下。
POWER OFF(斷電)狀態(tài):IC卡尚未獲得能量,處于斷電狀態(tài),不能發(fā)射負載電磁波。
IDLE(空閑)狀態(tài):IC卡進入讀寫器工作區(qū),通過感應(yīng)電磁波供電,進入IDLE狀態(tài),此時IC卡能夠識別來自讀寫器的REQUEST命令。
READY(就緒)狀態(tài):當接收到一個REQUEST命令后,IC卡進入READY狀態(tài),在該狀態(tài)下采用防沖突機制,從多張IC卡中選擇一張,并進入ACTIVE狀態(tài)。
ACTIVE(激活)狀態(tài):IC卡在該狀態(tài)下完成一次通信的所有操作。
HALT(停止)狀態(tài):IC卡完成一次通信后,被置于HALT狀態(tài)。
圖6 MIFARE 1卡片狀態(tài)機
(2)MIFARE 1的射頻通信處理流程
圖7為MIFARE1的射頻通信處理流程,其各步驟詳細說明如下。
圖7 MIFARE 1的射頻通信處理流程
復(fù)位應(yīng)答(Request):當有IC卡進入讀寫器工作區(qū)時,讀寫器按約定的協(xié)議與其通信,進行卡片類型的驗證。
防沖突機制(Anticollision Loop):當有多張IC卡進入讀寫器工作區(qū)時,防沖突機制便會從中選擇一張卡片進行操作,未選中的卡片進入空閑模式等待下一次選卡,該過程會返回被選中卡片的序列號。
選擇IC卡(Select Tag):對被選中的IC卡進行選擇操作,操作完成后返回卡片的容量代碼。
三次相互驗證(Authentication):選定要處理的IC卡后,讀寫器對卡片已設(shè)置密碼進行校驗,經(jīng)過三次相互驗證,匹配成功之后才允許進行讀寫操作。
讀寫操作:讀寫器對卡片進行讀、寫、加值、減值和中止等操作。
基于ARM的校園一卡通系統(tǒng)實現(xiàn)了刷卡消費/充值和遠程傳輸消費/充值數(shù)據(jù)的功能。在充值/消費時,可以實現(xiàn)固定金額(如學(xué)生到水房打水的金額)和非固定金額操作,并可在閑時段將Flash中的數(shù)據(jù)讀出,通過485遠程傳輸?shù)娇刂婆_上。調(diào)試結(jié)果如圖8所示。
圖8 讀出的IC卡數(shù)據(jù)
當前,ARM技術(shù)和無線射頻技術(shù)的發(fā)展已經(jīng)非常成熟,與其相關(guān)的應(yīng)用也已經(jīng)滲透到各個領(lǐng)域。這些成熟的技術(shù)及應(yīng)用為我們設(shè)計的一卡通系統(tǒng)提供了技術(shù)支撐和理論幫助。
我們以ARM Cortex-M3內(nèi)核技術(shù)的新型32位微處理器LPC1768和射頻讀寫芯片F(xiàn)M1702SL作為核心控制單元和數(shù)據(jù)讀寫單元,設(shè)計了校園一卡通系統(tǒng),實現(xiàn)了單張卡在校園中刷卡消費、充值以及身份識別的功能,并預(yù)留校務(wù)管理的擴展接口,解決了此前多卡、多系統(tǒng)因相互獨立而無法互聯(lián)互通,導(dǎo)致資源的浪費和管理的不便等問題。系統(tǒng)具有成本低、功耗低、性能穩(wěn)定且操作方便、易實現(xiàn)和易推廣的優(yōu)點。
[1]龔毅.高等學(xué)校校園一卡通系統(tǒng)的設(shè)計與實現(xiàn)[D].成都:電子科技大學(xué),2010.
[2]陳龍.第二代身份證讀寫模塊開發(fā)及應(yīng)用[D].蘇州:蘇州大學(xué),2007.
[3]王超.基于校園一卡通的學(xué)生收費管理系統(tǒng)設(shè)計[J].科技致富向?qū)В?010(6):8-9.
[4]于文輝.基于單片機的智能流量控制系統(tǒng)[J].微計算機信息,2009(9):101-102.
【責(zé)任編輯 梅欣麗】
Design of Campus Card System Based on ARM Technology
WANG Enliang,TU Defeng,XU Huifang
(Electronic Communications Engineering College,Anhui Xinhua University,Hefei 230088,China)
Considering the current needs of campus intellectualization and information management,as well as the more widespread application of campus card,we designed a campus card system based on NXP LPC17XX series processors.The system included core ARM Cortex-M3 microcontrollers,RF communication module,memory module and serial communication module.On the other hand,it reserved and expanded the network communication technology and interactive interface.The system described the card's hardware and software design scheme,and achieved the“One Card”function,such as consumer finance,identification,and other aspects of school management.
one card pass;ARM;LPC1768;radio frequency identification
TP301
A
2095-7726(2015)12-0044-04
2015-07-01
安徽省高等學(xué)校省級自然科學(xué)研究項目(KJ2012B073)
王恩亮(1980-),女,安徽銅陵人,講師,碩士,研究方向:通信與信號處理技術(shù)。