地鐵AFC系統(tǒng)中的射頻卡讀寫(xiě)器設(shè)計(jì)
射頻讀卡芯片選用MF RC2531。MF RC531是Philips公司開(kāi)發(fā)的非接觸式讀卡器芯片系列的一種,可以讀寫(xiě)符合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)單高效。讀寫(xiě)芯片是整個(gè)讀寫(xiě)器的核心,它實(shí)現(xiàn)讀寫(xiě)射頻卡所有必需的功能,包括RF信號(hào)的產(chǎn)生、調(diào)制、解調(diào)、安全認(rèn)證和防沖突等。作為微處理器與射頻卡通信的中介,MF RC531與射頻卡由射頻場(chǎng)來(lái)建立無(wú)線連接并完成數(shù)據(jù)交換。
讀寫(xiě)器天線通過(guò)自身線圈建立射頻場(chǎng)與射頻卡進(jìn)行通信,將產(chǎn)生很大的電磁輻射;同時(shí)GPRS模塊發(fā)射的無(wú)線電磁波也會(huì)影響讀寫(xiě)器的電磁兼容性(EMC)。為了保證EMC要求,采用讀寫(xiě)器射頻主板和天線、GPRS模塊分別制版,天線和GPRS模塊放置在讀寫(xiě)器底部,與讀寫(xiě)器主板之間通過(guò)隔離板屏蔽電磁干擾。同時(shí)讀寫(xiě)器主板PCB制版采用4層板,射頻部分屬于高頻電路,集中放置在電路板的一側(cè)邊緣處,可以減少電路板的電磁干擾。讀寫(xiě)器天線、GPRS模塊和讀寫(xiě)器射頻主板分離的設(shè)計(jì)方案,不僅有效地保證了電磁兼容性,而且形成了系統(tǒng)的模塊化結(jié)構(gòu),為系統(tǒng)的擴(kuò)展升級(jí)提供了硬件設(shè)計(jì)和軟件開(kāi)發(fā)上的極大便利。本文引用地址:http://www.biyoush.com/article/157553.htm
3 軟件設(shè)計(jì)
3.1 軟件總體結(jié)構(gòu)
該讀寫(xiě)器的軟件部分主要采用C語(yǔ)言開(kāi)發(fā),啟動(dòng)過(guò)程中的低級(jí)初始化部分用匯編語(yǔ)言編寫(xiě)。讀寫(xiě)器軟件設(shè)計(jì)采用模塊化的編程思想,系統(tǒng)軟件包括主程序、射頻卡識(shí)別及讀寫(xiě)子模塊、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)行讀寫(xiě)相關(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é)同問(wèn)題。
為了實(shí)時(shí)地實(shí)現(xiàn)各項(xiàng)功能,把多個(gè)任務(wù)合理安排到前后臺(tái)工作是設(shè)計(jì)的重點(diǎn)。一方面采用模塊化和結(jié)構(gòu)化的編程思想,使得讀寫(xiě)器能夠?qū)⒏鞒绦蚝侠淼亟M織起來(lái),方便程序的調(diào)試、修改和維護(hù);另一方面采用高效的中斷機(jī)制,串口中斷實(shí)時(shí)接收來(lái)自設(shè)備終端或監(jiān)控主機(jī)的命令,定時(shí)器中斷實(shí)現(xiàn)讀寫(xiě)器工作模式的切換,當(dāng)外界無(wú)卡時(shí)切換到空閑模式可以有效地降低讀寫(xiě)器的功耗。
3.2 射頻卡讀寫(xiě)程序
微處理器通過(guò)對(duì)MF RC531相關(guān)寄存器的控制實(shí)現(xiàn)對(duì)射頻卡的讀寫(xiě)等各種操作。對(duì)射頻卡的操作分為尋卡、防沖突、選卡、認(rèn)證、讀塊、寫(xiě)塊、增值、減值、掛起等,其操作的流程如圖5所示。
當(dāng)射頻卡進(jìn)入讀寫(xiě)器的天線感應(yīng)范圍(10 cm內(nèi))并經(jīng)過(guò)一段時(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)證通過(guò)方可進(jìn)行讀、寫(xiě)、加、減等交易操作。操作完成后,MF RC531發(fā)出??ㄖ噶?,射頻卡從激活狀態(tài)返回停止?fàn)顟B(tài),一次交易結(jié)束。在對(duì)卡內(nèi)數(shù)據(jù)進(jìn)行讀寫(xiě)操作之前,需要進(jìn)行從請(qǐng)求應(yīng)答到相互認(rèn)證的過(guò)程,如果這個(gè)過(guò)程器件出現(xiàn)錯(cuò)誤,將導(dǎo)致讀寫(xiě)操作無(wú)法進(jìn)行。
評(píng)論