地鐵AFC系統(tǒng)中的射頻卡讀寫器設(shè)計(jì)
摘要:針對(duì)地鐵自動(dòng)售檢票(AFC)系統(tǒng)中射頻卡讀寫器通信接口單一、無(wú)線接入等問題,設(shè)計(jì)一種基于ARM9和MFRC531的高性能射頻卡(非接觸式IC卡)讀寫器,可以同時(shí)支持RS232、RS422、USB和GPRS通信方式,具有通信接口多樣、操作速度快、可靠性高以及使用方便等特點(diǎn)。該讀寫器可快速進(jìn)行非接觸式票卡識(shí)別、讀寫并正確顯示和報(bào)警,可以方便地安裝在地鐵進(jìn)出閘機(jī)、售票機(jī)及城市“一卡通”充值機(jī)上,具有良好的應(yīng)用前景。
關(guān)鍵詞:地鐵AFC系統(tǒng);讀寫器;射頻卡;MF RC531;AT91SAM9260
引言
國(guó)外早在20世紀(jì)90年代就開始了地鐵AFC系統(tǒng)的全面運(yùn)行,并且擁有本國(guó)的專業(yè)制造廠家,如美國(guó)CUBIC公司、法國(guó)CGA公司以及澳大利亞ERG公司。國(guó)內(nèi)首先使用地鐵AFC設(shè)備是在1999年上海的地鐵一、二號(hào)線上,由于當(dāng)時(shí)國(guó)內(nèi)AFC設(shè)備尚處于樣機(jī)開發(fā)階段,引進(jìn)了美國(guó)CUBIC公司的AFC設(shè)備。
近年來,中國(guó)各大城市軌道交通蓬勃發(fā)展,AFC系統(tǒng)的使用,可實(shí)現(xiàn)購(gòu)票、檢票、計(jì)費(fèi)、收費(fèi)、統(tǒng)計(jì)的全過程自動(dòng)化,有效控制地鐵的客流量;而作為與乘客直接接觸,關(guān)系地鐵形象的讀寫器、票卡等設(shè)備,更為重要。目前國(guó)內(nèi)的射頻卡讀寫器系統(tǒng)主要采用ARM7處理器為控制器,與上位機(jī)的通信方式通常采用RS232或RS422有線通信方式,限制了AFC系統(tǒng)的自動(dòng)化和網(wǎng)絡(luò)化進(jìn)程,同時(shí)隨著業(yè)務(wù)的擴(kuò)展,現(xiàn)有系統(tǒng)的數(shù)據(jù)存儲(chǔ)容量已經(jīng)無(wú)法滿足日益增長(zhǎng)的交易數(shù)據(jù)的要求。針對(duì)以上問題,設(shè)計(jì)了一種基于ARM9和MF RC531的高性能讀寫器,能夠進(jìn)一步提高票卡刷卡效率,節(jié)約乘客進(jìn)出站時(shí)間,提高票卡讀寫數(shù)據(jù)準(zhǔn)確性,為實(shí)現(xiàn)讀寫器全面國(guó)產(chǎn)化提供基礎(chǔ)。
1 讀寫器功能分析
地鐵AFC系統(tǒng)主要由中央計(jì)算機(jī)系統(tǒng)、站點(diǎn)計(jì)算機(jī)系統(tǒng)、終端設(shè)備和車票4部分組成。終端設(shè)備包括出/入站檢票閘機(jī)、自動(dòng)售票機(jī)、車站票務(wù)系統(tǒng)、自動(dòng)充值機(jī)等現(xiàn)場(chǎng)設(shè)備,如圖l所示。
終端設(shè)備是直接為乘客提供售檢票的設(shè)備,乘客通過射頻卡可以購(gòu)買票卡、進(jìn)出閘機(jī)、為票卡充值,而建立射頻卡與終端設(shè)備的橋梁就是射頻卡讀寫器。射頻卡讀寫器作為與射頻卡通信的核心,其性能和數(shù)據(jù)處理能力直接影響到整個(gè)地鐵AFC系統(tǒng)的工作質(zhì)量。圖2為讀寫器總體結(jié)構(gòu)圖。
目前讀寫器主要采用RS232或RS422有線通信方式與現(xiàn)場(chǎng)終端設(shè)備通信,接口單一,傳輸速率有限,同時(shí)也不能同遠(yuǎn)程監(jiān)控主機(jī)進(jìn)行無(wú)線通信,限制了讀寫器的網(wǎng)絡(luò)化。本設(shè)計(jì)增加了USB傳輸接口,提高數(shù)據(jù)傳輸效率,使用方便快捷。同時(shí)增加了GPRS無(wú)線通信方式,能夠與遠(yuǎn)程的監(jiān)控主機(jī)保持通信,向監(jiān)控主機(jī)發(fā)送設(shè)備狀態(tài)信息。采用這種多接口協(xié)同工作的方式,可以保證讀寫器的可靠性和安全性。
2 硬件電路設(shè)計(jì)
射頻卡讀寫器硬件結(jié)構(gòu)如圖3所示,主要由主控CPU、Flash/SDRAM存儲(chǔ)器件、射頻收發(fā)模塊、SAM卡認(rèn)證電路、通信電路和顯示報(bào)警電路等組成。主控CPU采用Atmel公司基于ARM926EJ-S的AT91SAM9260,主頻可達(dá)到180 MHz,顯著提高了讀寫器的處理速度。外圍擴(kuò)展256 MB容量的NAND Flash存儲(chǔ)數(shù)據(jù)和2 MB容量的NOR Flash存儲(chǔ)代碼,實(shí)現(xiàn)數(shù)據(jù)和代碼分離。一方面提高數(shù)據(jù)的存儲(chǔ)容量,另一方面提高了代碼的執(zhí)行效率。
AT91SAM9260不同于一般的嵌入式微處理器的一個(gè)特點(diǎn)是,支持USB2.O全速12 Mbps的從機(jī)接口,同時(shí)它的USART多達(dá)4個(gè),方便RS232、RS422和GPRS模塊的擴(kuò)展。GPRS模塊主要部分為Qisda公司的M33模塊,讀寫器正是利用了該微處理器豐富的通信接口資源和強(qiáng)大的中斷控制機(jī)制,快速高效地處理與上位機(jī)之間的數(shù)據(jù)交換。
射頻讀卡芯片選用MF RC2531。MF RC531是Philips公司開發(fā)的非接觸式讀卡器芯片系列的一種,可以讀寫符合ISO/IEC 14443標(biāo)準(zhǔn)的TYPE A和TYPE B卡,具有很高的集成度、數(shù)據(jù)處理能力和很強(qiáng)的抗電磁干擾特性。內(nèi)部自帶的發(fā)射部件能夠直接驅(qū)動(dòng)天線,操作距離達(dá)到10 cm,不需要增加額外的驅(qū)動(dòng)電路。MF RC531靈活的SPI總線接口可以方便地和微處理器相連,SPI接口不需要進(jìn)行尋址操作且為全雙工通信,使得通信簡(jiǎn)單高效。讀寫芯片是整個(gè)讀寫器的核心,它實(shí)現(xiàn)讀寫射頻卡所有必需的功能,包括RF信號(hào)的產(chǎn)生、調(diào)制、解調(diào)、安全認(rèn)證和防沖突等。作為微處理器與射頻卡通信的中介,MF RC531與射頻卡由射頻場(chǎng)來建立無(wú)線連接并完成數(shù)據(jù)交換。
讀寫器天線通過自身線圈建立射頻場(chǎng)與射頻卡進(jìn)行通信,將產(chǎn)生很大的電磁輻射;同時(shí)GPRS模塊發(fā)射的無(wú)線電磁波也會(huì)影響讀寫器的電磁兼容性(EMC)。為了保證EMC要求,采用讀寫器射頻主板和天線、GPRS模塊分別制版,天線和GPRS模塊放置在讀寫器底部,與讀寫器主板之間通過隔離板屏蔽電磁干擾。同時(shí)讀寫器主板PCB制版采用4層板,射頻部分屬于高頻電路,集中放置在電路板的一側(cè)邊緣處,可以減少電路板的電磁干擾。讀寫器天線、GPRS模塊和讀寫器射頻主板分離的設(shè)計(jì)方案,不僅有效地保證了電磁兼容性,而且形成了系統(tǒng)的模塊化結(jié)構(gòu),為系統(tǒng)的擴(kuò)展升級(jí)提供了硬件設(shè)計(jì)和軟件開發(fā)上的極大便利。
3 軟件設(shè)計(jì)
3.1 軟件總體結(jié)構(gòu)
該讀寫器的軟件部分主要采用C語(yǔ)言開發(fā),啟動(dòng)過程中的低級(jí)初始化部分用匯編語(yǔ)言編寫。讀寫器軟件設(shè)計(jì)采用模塊化的編程思想,系統(tǒng)軟件包括主程序、射頻卡識(shí)別及讀寫子模塊、GPRS數(shù)據(jù)傳輸子模塊以及USB、RS232/RS422多接口的協(xié)同工作機(jī)制。軟件總體結(jié)構(gòu)流程如圖4所示。
總體軟件主要負(fù)責(zé)各個(gè)模塊的控制,并協(xié)調(diào)各個(gè)模塊之間的工作。在系統(tǒng)上電后,首先負(fù)責(zé)對(duì)系統(tǒng)各個(gè)硬件接口進(jìn)行初始化,然后進(jìn)入正常工作循環(huán)。在正常工作循環(huán)中,可以實(shí)時(shí)感應(yīng)射頻卡,對(duì)射頻卡進(jìn)行讀寫相關(guān)操作;GPRS采用串口中斷方式響應(yīng)遠(yuǎn)程監(jiān)控主機(jī),向遠(yuǎn)程監(jiān)控主機(jī)發(fā)送設(shè)備信息;而與現(xiàn)場(chǎng)設(shè)備終端通信的方式可以有USB、RS232和RS422方式。這3種方式優(yōu)先采用USB方式,然后采用RS232或RS422方式,很好地處理了多接口之間的協(xié)同問題。
為了實(shí)時(shí)地實(shí)現(xiàn)各項(xiàng)功能,把多個(gè)任務(wù)合理安排到前后臺(tái)工作是設(shè)計(jì)的重點(diǎn)。一方面采用模塊化和結(jié)構(gòu)化的編程思想,使得讀寫器能夠?qū)⒏鞒绦蚝侠淼亟M織起來,方便程序的調(diào)試、修改和維護(hù);另一方面采用高效的中斷機(jī)制,串口中斷實(shí)時(shí)接收來自設(shè)備終端或監(jiān)控主機(jī)的命令,定時(shí)器中斷實(shí)現(xiàn)讀寫器工作模式的切換,當(dāng)外界無(wú)卡時(shí)切換到空閑模式可以有效地降低讀寫器的功耗。
3.2 射頻卡讀寫程序
微處理器通過對(duì)MF RC531相關(guān)寄存器的控制實(shí)現(xiàn)對(duì)射頻卡的讀寫等各種操作。對(duì)射頻卡的操作分為尋卡、防沖突、選卡、認(rèn)證、讀塊、寫塊、增值、減值、掛起等,其操作的流程如圖5所示。
當(dāng)射頻卡進(jìn)入讀寫器的天線感應(yīng)范圍(10 cm內(nèi))并經(jīng)過一段時(shí)間的延遲,射頻卡上電復(fù)位,接收MF RC531發(fā)送的請(qǐng)求應(yīng)答指令,返回卡的類型號(hào)。當(dāng)有多張卡同時(shí)接近讀卡器時(shí),MF RC531隨即發(fā)送防沖突指令,系統(tǒng)進(jìn)入防沖突循環(huán)中,選中一張卡,此時(shí)被選中的卡進(jìn)入激活狀態(tài),隨后卡與MF RC531之間進(jìn)行3次相互認(rèn)證,認(rèn)證通過方可進(jìn)行讀、寫、加、減等交易操作。操作完成后,MF RC531發(fā)出停卡指令,射頻卡從激活狀態(tài)返回停止?fàn)顟B(tài),一次交易結(jié)束。在對(duì)卡內(nèi)數(shù)據(jù)進(jìn)行讀寫操作之前,需要進(jìn)行從請(qǐng)求應(yīng)答到相互認(rèn)證的過程,如果這個(gè)過程器件出現(xiàn)錯(cuò)誤,將導(dǎo)致讀寫操作無(wú)法進(jìn)行。
3.3 GPRS數(shù)據(jù)傳輸程序
GPRS數(shù)據(jù)終端起著連接讀寫器設(shè)備與遠(yuǎn)程監(jiān)控中心通信的作用,通過GPRS模塊M33,遠(yuǎn)程監(jiān)控主機(jī)可以隨時(shí)了解讀寫器的狀態(tài)。模塊M33有兩種狀態(tài),一種是短消息接收狀態(tài),另一種是自動(dòng)監(jiān)控狀態(tài)。圖6是M33處于短消息接收狀態(tài)時(shí)GPRS數(shù)據(jù)傳輸?shù)牧鞒獭?/p>
M33模塊在上電后通過指令“AT+CNMI”設(shè)置成短消息提醒功能,當(dāng)遠(yuǎn)程監(jiān)控主機(jī)要求與之建立GPRS連接,將向M33發(fā)送短消息。M33接收到新的短消息,會(huì)向處理器發(fā)送一系列的數(shù)據(jù)信息,產(chǎn)生串口中斷,微處理器相應(yīng)串口中斷進(jìn)人中斷服務(wù)子程序,執(zhí)行指令“AT+CMGR”讀取短消息內(nèi)容,短消息內(nèi)容符合規(guī)則將建立GPRS連接,進(jìn)行GPRS數(shù)據(jù)通信,通信結(jié)束后關(guān)閉GPRS連接,重新回到短消息提醒模式。
同時(shí)M33還可以自動(dòng)監(jiān)控讀寫器。在讀寫器處于異常狀態(tài)下主動(dòng)向監(jiān)控主機(jī)發(fā)出短消息,要求建立GPRS連接,主動(dòng)告知監(jiān)控主機(jī)讀寫器的狀態(tài),方便工作人員的管理,真正實(shí)現(xiàn)了系統(tǒng)的自動(dòng)化和網(wǎng)絡(luò)化。
3.4 多接口協(xié)同工作機(jī)制
讀寫器可以通過RS232、RS422、USB有線通信方式或GPRS無(wú)線通信方式與終端設(shè)備或監(jiān)控主機(jī)保持通信。為了在實(shí)際應(yīng)用中有效地使用這幾個(gè)接口,需要采用多接口協(xié)同工作機(jī)制。
有線通信方式用于讀寫器與現(xiàn)場(chǎng)終端設(shè)備的通信,其中USB接口方式以其接口方便和高傳輸速率優(yōu)先采用,在現(xiàn)場(chǎng)終端設(shè)備無(wú)USB接口或USB接口出現(xiàn)故障的情況下,可以選擇RS232/RS422方式與設(shè)備終端通信。硬件設(shè)計(jì)上,讀寫器通過一個(gè)I/O口狀態(tài)可以自動(dòng)探測(cè)微處理器接入的接口方式,當(dāng)USB接口和RS232/RS422接口同時(shí)存在時(shí),優(yōu)先選擇USB通信方式。
GPRS無(wú)線通信方式用于讀寫器與遠(yuǎn)程監(jiān)控主機(jī)的通信,微處理器通過串口發(fā)送AT命令控制GPRS模塊M33。監(jiān)控中心和M33之間的通信采用GPRS網(wǎng)絡(luò),用戶手機(jī)和M33之間的通信采用GSM網(wǎng)絡(luò)短消息的形式。經(jīng)過設(shè)置,模塊一旦上電即可處于短消息提醒狀態(tài),遠(yuǎn)程設(shè)備端可以在需要與之建立GPRS數(shù)據(jù)通信時(shí)向M33模塊發(fā)送短消息建立數(shù)據(jù)通信,并在數(shù)據(jù)通信完畢后關(guān)閉GPRS連接,重新回到短消息提醒狀態(tài),這樣就可以與M33方便地建立通信關(guān)系并且減少了永久在線時(shí)心跳包所造成的數(shù)據(jù)資源浪費(fèi)。另外,M33還可以在讀寫器處于異常狀態(tài)下主動(dòng)向監(jiān)控主機(jī)發(fā)出短消息,保證了系統(tǒng)的安全性。
4 功能測(cè)試
該讀寫器測(cè)試結(jié)果如下:待機(jī)電流為160 mA,讀寫射頻卡時(shí)電流為240 mA。一般環(huán)境中可在O~10 cm范圍內(nèi)尋到射頻卡;同時(shí)采用多人輪流刷卡的方法測(cè)試讀卡的反應(yīng)速度及準(zhǔn)確度,l min連續(xù)測(cè)試200次未出現(xiàn)不讀卡、反應(yīng)不靈敏等現(xiàn)象;將多張卡放在讀寫器上面測(cè)試是否防沖突正常,測(cè)試沒有出現(xiàn)不讀卡、讀錯(cuò)卡等現(xiàn)象。
讀寫器的USB和RS232/RS422接口通信方式切換自如,其中USB接口傳輸速率可以達(dá)到320 kb/s。GPRS模塊M33可以快速地響應(yīng)監(jiān)控主機(jī)的短消息命令,其GPRS數(shù)據(jù)傳輸速率可以達(dá)到57.6 kb/s。整個(gè)測(cè)試結(jié)果表明,讀寫器運(yùn)行穩(wěn)定,數(shù)據(jù)傳輸速度快,GPRS無(wú)線接入方便快捷,基本達(dá)到了技術(shù)指標(biāo)要求。
5 結(jié)論
本射頻卡讀寫器讀寫距離可達(dá)10 cm,操作方便、靈活,通信接口多樣,利用USB接口傳輸數(shù)據(jù)提高了數(shù)據(jù)的傳輸速度,保證了系統(tǒng)的可靠性和便攜性要求;利用GPRS模塊M33實(shí)現(xiàn)了讀寫器的無(wú)線接入,保證了系統(tǒng)的安全性和網(wǎng)絡(luò)化的要求。本系統(tǒng)在地鐵AFC系統(tǒng)中運(yùn)行良好,可靠性高,讀寫射頻卡迅速、方便、可靠、安全、穩(wěn)定,并且在此讀寫器的基礎(chǔ)上,只要稍加修改就能開發(fā)出不同的射頻識(shí)別應(yīng)用系統(tǒng),具有很高的應(yīng)用價(jià)值。