基于DSP的非接觸IC卡控制系統(tǒng)的設計
文章出處:http://m.mjagi.com 作者: 人氣: 發(fā)表時間:2012年11月27日
摘要:隨著非接觸IC卡控制系統(tǒng)的應用規(guī)模不斷擴大,傳統(tǒng)的以單片機為核心處理器的控制系統(tǒng)已經(jīng)漸漸不能滿足大容量非接觸IC卡系統(tǒng)發(fā)展的要求。為了擴大非接觸IC卡控制系統(tǒng)的存儲容量、提高非接觸式IC卡控制系統(tǒng)的處理速度,文中提出一種基于DSP芯片的快速控制系統(tǒng)設計思想,給出了系統(tǒng)的實行方案。實際應用結(jié)果表明,系統(tǒng)運行穩(wěn)定、實時性好、成本較低、方案可行。
隨著射頻技術(shù)的不斷發(fā)展,無線通信領域越來越受到人們的重視,而作為無線通信領域中的非接觸IC卡已經(jīng)是隨處可見了。如:公交車的公交卡,食堂里的飯卡,俱樂部里的健身卡等等,幾乎涉及到了我們生活中的各個領域。一般來說,小規(guī)模的、成熟的非接觸IC卡系統(tǒng)以單片機為核心處理器,傳輸網(wǎng)絡為RS485/422或者CAN總線,這樣的系統(tǒng)結(jié)構(gòu)具有控制功能強大、價格便宜、易于開發(fā)設計等優(yōu)點,因此成為各種小規(guī)模非接觸IC卡系統(tǒng)的首選方案。但由于單片機的運算速度、存儲空間和指令系統(tǒng)的局限性,在大規(guī)模的非接觸IC卡的網(wǎng)絡系統(tǒng)中,如果繼續(xù)采用一片單片機為核心處理器,則尋址等待的時間以及數(shù)據(jù)存儲量勢必超出系統(tǒng)指標范圍。傳統(tǒng)的解決辦法是增加單片機的數(shù)量,將IC卡信息分類存入相應的單片機中。這樣雖然可以解決上述問題,但同時也帶來了弊端,一方面這將使得整個系統(tǒng)的成本增加,另一方面勢必增加了系統(tǒng)的復雜性以及不確定性,給使用者帶來了諸多不便。
針對以上情況,本文提出一種基于快速DSP芯片的非接觸IC卡控制系統(tǒng)的設計思想。此系統(tǒng)采用DSP芯片代替多個單片機作為核心處理器,利用DSP處理速度的優(yōu)勢,優(yōu)化了系統(tǒng)的整體性能,同時南于一片DSP的價格也低于多片單片機的總和,因此本系統(tǒng)產(chǎn)品成本也占有優(yōu)勢,在此基礎上,采用DSP芯片處理器還能夠存儲大量的IC卡權(quán)限數(shù)據(jù)。
1 系統(tǒng)架構(gòu)
系統(tǒng)總體設計圖如圖1所示,本系統(tǒng)構(gòu)成了一個典型控制網(wǎng)絡,當讀卡器MF RC2500處于檢測終端的磁場范圍之內(nèi)時,將會接收外部信號的射頻脈沖,同時從接收到的射頻脈沖中解調(diào)出信息送到控制器TMS320F2407,控制器TMS320F2407對讀卡器MFRC500進行讀寫操作,將接收到信息進行分析、處理后,經(jīng)過RS-485/422以半(全)雙工通信方式將信號送到服務器中,形成一個總線拓撲結(jié)構(gòu)的控制網(wǎng)絡。在系統(tǒng)工作過程中,服務器隨時監(jiān)測控制器的狀態(tài),判斷控制器的工作情況,檢測讀卡器的狀態(tài)。服務器和控制器工作在主從方式下,由服務器發(fā)出的控制命令和控制器返回的響應信息通過八芯電纜進行傳輸。
Philips公司的MF RC500型讀卡器是應用于13.56 MHz非接觸式通信的高度集成讀卡IC系列中的一員。該系列讀卡器利用先進的調(diào)制和解調(diào)概念,完全集成了13.56 MHz下所有類型的被動非接觸式通信方式和協(xié)議,是本系統(tǒng)實現(xiàn)無線通信的核心模塊。MFRC500系列模塊支持SO14443TypeA協(xié)議的1~4部分和Mifare經(jīng)典協(xié)議,內(nèi)部發(fā)送器部分不需要增加有源電路就能夠直接驅(qū)動近操作距離的天線,采用CRYPO1加密算法并含有安全的非易失內(nèi)部密鑰存儲器。芯片內(nèi)部集成了模擬調(diào)制解調(diào)電路,只需最少量的外圍電路就可以工作,支持I2C接口,UART接口,SPI接口。特別適用于ISO14443標準下水、電、煤氣表、自動售貨機、門禁、電梯、飲水機、電話機等計費系統(tǒng)或身份識別系統(tǒng)的讀卡器的應用。
2 硬件結(jié)構(gòu)
MF RC500的并行接口可以與具備不同類型并行接口的多種微處理器相連,每次上電復位后,MF RC500都將復位它的并行接口模式,并通過相應引腳的邏輯電平,判定當前微處理器的接口類型,實現(xiàn)與微處理器的同步。本系統(tǒng)采用讀寫選通分離且地址/數(shù)據(jù)總線復用的構(gòu)建方式,連接原理圖如圖2所示。由圖2可以看出本系統(tǒng)采用中斷工作模式,即TMS320F2407根據(jù)MF RC500提供的中斷信息對其進行控制。另外,根據(jù)實際情況,系統(tǒng)也可采用查詢方式對非接觸IC芯片的操作。
MF RC500的地址總線A2,A1和A0始終為011;來自TMS320F2407的復位腳負跳變將復位MF RC500,TMS320F2407的DS腳生成片選信號NCS和腳分別輸出讀控制信號NRD和寫控制信號NWR,A4腳則生成地址鎖存信號ALE (TMS320F2407的地址線與數(shù)據(jù)線是獨立的,沒有ALE地址的操作,為了能夠訪問MF RC500,這里通過對I/O引腳的輸出編程進行實現(xiàn)),TMS320F2407的中斷引腳INT0與MFRC500的中斷引腳直接相連,MF RC500的中斷輸出將觸發(fā)TMS320F2407進入相應的中斷服務程序中去。
3 軟件設計
3.1 通信協(xié)議
TMS320F2407控制器與系統(tǒng)服務器通信采用全/半雙工方式,按照RS-232/RS-485規(guī)定一幀數(shù)據(jù)的格式以及電平特性,各種命令與返回狀態(tài)信息組成本系統(tǒng)的通訊協(xié)議??紤]到系統(tǒng)擴展、集成時會帶來的問題,設計時盡量把通訊協(xié)議標準化。在本系統(tǒng)軟件設計中,通信協(xié)議采用“幀頭+地址+命令+數(shù)據(jù)+校驗+幀尾”的格式。
3.2 軟件設計
系統(tǒng)軟件設計的主要程序包括:詢卡操作程序、通信中斷處理程序、讀寫時鐘、選卡、讀卡程序以及與上位機通信程序等。對卡操作的過程是一個很復雜的程序執(zhí)行過程,要對MF RC500內(nèi)部一系列的寄存器進行配置,而且這些操作對時序要求非常嚴格。首先系統(tǒng)初始化,如果有卡進入射頻區(qū)域則芯片開始讀卡,根據(jù)卡片信息與片內(nèi)存儲信息進行比較判斷是否為對應卡;如果不是有效卡,則程序返回;若是對應卡則判斷此卡是否需要密碼,如果不需要輸入密碼,直接讀卡內(nèi)信息,卡內(nèi)信息如與上位機中信息吻合就根據(jù)程序執(zhí)行相關(guān)指令;需要密碼時,則等待輸入密碼后讀卡內(nèi)信息,如果連續(xù)三次輸入密碼都錯誤,證明卡無效,主程序返回。主程序的流程圖如圖3所示。
4 系統(tǒng)性能測試結(jié)果評估
經(jīng)過理論計算和實際樣機驗證,基于TMS320F2407的非接觸IC卡系統(tǒng)來說,較之于單片機為核心的系統(tǒng)一般有以下幾方面的優(yōu)勢:
(1)系統(tǒng)存儲量大,TMS320F2407的數(shù)據(jù)采用16位的模式,相對于傳統(tǒng)8位的單片機,在同樣片選的情況下數(shù)據(jù)是它的兩倍,而TMS320F24 07的12根I/O數(shù)字引腳經(jīng)過配置后都可以用來作為地址的片選信號。正是基于TMS320F2407的特殊存儲結(jié)構(gòu)和豐富的引腳資源,使得它的存儲量遠遠大于以單片機核心的系統(tǒng),完全滿足大容量卡數(shù)據(jù)的應用場合。
(2)處理速度快。系統(tǒng)晶振為10 MHz,經(jīng)過二分頻后就為20 MHz,經(jīng)過計算以及實際驗證,程序經(jīng)過運行后找卡時間約為0.0042s,MFRC 500格式傳輸?shù)囊?guī)定,一次刷卡傳輸數(shù)據(jù)的時間不會超過0.2 s,因此在系統(tǒng)定時器設置0.3的定時常數(shù)時,可以得出系統(tǒng)最大可容卡大約為100萬。
5 結(jié)束語
本文主要介紹一種基于DSP的非接觸IC卡控制系統(tǒng),給出了相應的硬件和軟件設計。本系統(tǒng)通用性強,適用面廣,涉及到各個領域中的應用,可根據(jù)實際情況在此框架中進行修改。相對于單片機為核心的非接觸IC卡控制系統(tǒng)來講,具有存儲容量大,處理速度快,系統(tǒng)成本低的優(yōu)點,適應于大規(guī)模的應用場合。經(jīng)實際使用證明,該系統(tǒng)工作穩(wěn)定,實時性好,抗干擾能力強,性價比高,操作靈活、方便,若投入使用將會產(chǎn)生較好的經(jīng)濟效益。