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