非接觸式智能卡監(jiān)聽器系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
智能卡以其使用方便、交易時(shí)間短、安全可靠等特點(diǎn)被廣泛應(yīng)用于交通、醫(yī)療、消費(fèi)等領(lǐng)域。智能卡可分為兩大類:接觸式智能卡和非接觸式智能卡。接觸式智能卡通過物理觸點(diǎn)和讀卡器交換信息,非接觸式智能卡通過射頻信號(hào)來交換信息。非接觸式智能卡以其良好的防水、防塵、使用壽命長、交易方便的特點(diǎn)受到越來越多的青睞。然而,非接觸式智能卡通過射頻來交換信息,為系統(tǒng)的開發(fā)和調(diào)試帶來新的挑戰(zhàn)。本文結(jié)合ISO14443 A類非接觸式智能卡通信的特點(diǎn),給出A類非接觸式智能卡監(jiān)聽器的一種設(shè)計(jì)方法。借助于該設(shè)備,能夠監(jiān)聽智能卡與讀卡器之間的所有信息交換,快速定位問題所在,加速系統(tǒng)開發(fā)。
1 A類非接觸式智能卡與讀寫設(shè)備的通信機(jī)制
非接觸式智能卡是無源設(shè)備,通過接收射頻能量獲得電能,供給智能卡工作。非接觸式讀寫設(shè)備擔(dān)當(dāng)著能量供給與信息交換的雙重任務(wù)。根據(jù)ISO14443協(xié)議規(guī)定,非接觸式讀寫設(shè)備發(fā)送磁場(chǎng)強(qiáng)度為1.5~7.5 A/m、頻率為13.56 MHz的射頻信號(hào),Type A類讀寫設(shè)備向智能卡發(fā)送信息,按照改進(jìn)型米勒編碼、100%ASK調(diào)制方式;智能卡向讀寫設(shè)備回復(fù)數(shù)據(jù)按照曼徹斯特編碼、負(fù)載調(diào)制方式。智能卡和讀寫設(shè)備數(shù)據(jù)交互的整個(gè)過程中,讀寫設(shè)備是主動(dòng)方,智能卡只是接收讀寫設(shè)備下發(fā)的命令幀,作出相應(yīng)回復(fù)。
根據(jù)讀寫設(shè)備命令幀和智能卡回復(fù)幀之間延遲時(shí)間的不同要求,讀寫設(shè)備的命令可以分為:固定幀延遲命令和非固定幀延遲時(shí)間命令。固定幀延遲命令要求智能卡在指定時(shí)間點(diǎn)作出回復(fù),包括REQA命令、WUPA命令、ANTICOLLISION命令、SELECT命令。這些命令主要用于智能卡的初始化,對(duì)于某一確定的智能卡具有唯一的回復(fù)。非固定幀延遲命令要求智能卡在大于某固定時(shí)間后發(fā)送回復(fù)幀,包括以上命令外的所有命令。針對(duì)以上兩種類型命令,在后面的設(shè)計(jì)中會(huì)對(duì)其進(jìn)行不同處理。
2 設(shè)計(jì)原理
根據(jù)以上智能卡與讀寫器之間信息交互的原理,在讀寫設(shè)備與智能卡之間加入一個(gè)監(jiān)聽設(shè)備,使得讀寫設(shè)備發(fā)送的命令由監(jiān)聽設(shè)備接收,再由監(jiān)聽設(shè)備轉(zhuǎn)發(fā)至智能卡;智能卡回復(fù)的數(shù)據(jù)由監(jiān)聽設(shè)備接收,再由監(jiān)聽設(shè)備回復(fù)至讀寫器。這樣,監(jiān)聽設(shè)備就捕獲了讀寫器與智能卡之間所有的交互數(shù)據(jù),如圖1所示。
由于監(jiān)聽設(shè)備的存在,使得讀寫設(shè)備與智能卡之間的幀延遲具有不確定性,針對(duì)固定幀延遲命令,監(jiān)聽設(shè)備應(yīng)該提前獲得智能卡對(duì)這些命令的回復(fù),在讀寫設(shè)備發(fā)送這些命令時(shí),在固定回復(fù)時(shí)間點(diǎn)直接回復(fù)讀寫設(shè)備,而不經(jīng)過智能卡取回復(fù)的過程。針對(duì)非固定幀延遲命令,由于命令及回復(fù)的多樣性且對(duì)幀延遲時(shí)間要求不高,適合使用監(jiān)聽設(shè)備傳遞數(shù)據(jù)的工作方式。整體工作流程如圖2所示。首先監(jiān)聽設(shè)備發(fā)送固定幀延遲命令,獲得智能卡的回復(fù)并保存;然后讀寫設(shè)備開始發(fā)送命令,對(duì)于固定幀延遲命令監(jiān)聽設(shè)備直接回復(fù),對(duì)于非固定幀延遲命令監(jiān)聽設(shè)備傳遞命令及回復(fù)..
3 設(shè)計(jì)實(shí)現(xiàn)
本文中監(jiān)聽器主要由模擬前端、控制器、非接觸式讀卡器3部分組成。
3.1 模擬前端設(shè)計(jì)
模擬前端由分立器件組成,主要實(shí)現(xiàn)幅度限制、13.56MHz時(shí)鐘提取、數(shù)據(jù)解調(diào)、復(fù)位檢測(cè)、數(shù)據(jù)調(diào)制功能,如圖3所示。由于二極管PN結(jié)電壓為0.7V,限幅電路由5個(gè)二極管串聯(lián)組成,限幅電壓在3.5V左右;數(shù)據(jù)解調(diào)電路使用二極管進(jìn)行包絡(luò)檢波,通過遲滯比較器MAX962ESA比較得到數(shù)據(jù),調(diào)整遲滯比較器的門限電壓將改變解調(diào)數(shù)據(jù)的位寬;13.56 MHz時(shí)鐘提取電路與數(shù)據(jù)解調(diào)電路類似,合理設(shè)置遲滯比較器的門限電壓,能有效抑制時(shí)鐘提取電路產(chǎn)生窄脈沖,避免窄脈沖對(duì)后面的數(shù)字電路產(chǎn)生影響;數(shù)據(jù)調(diào)制部分使用三極管對(duì)天線電路泄流完成負(fù)載調(diào)制的功能,負(fù)載過大會(huì)影響13.56 MHz時(shí)鐘信號(hào)的提取,負(fù)載過小可能會(huì)造成讀寫器無法識(shí)別數(shù)據(jù),負(fù)載大小需在調(diào)試時(shí)綜合其他電路性能進(jìn)行調(diào)節(jié);復(fù)位信號(hào)主要用于檢測(cè)讀寫器是否處于關(guān)閉場(chǎng)強(qiáng)狀態(tài),控制器通過檢測(cè)該信號(hào)對(duì)監(jiān)聽器讀卡器作出相應(yīng)的關(guān)閉場(chǎng)強(qiáng)動(dòng)作。
3. 2 控制器設(shè)計(jì)
控制器采用Spartan-6 FPGA芯片,主要完成數(shù)據(jù)解碼、數(shù)據(jù)編碼同步發(fā)送、與PC機(jī)通信、與非接觸式讀卡器通信等功能,如圖4所示。時(shí)鐘產(chǎn)生電路產(chǎn)生424kHz的同步時(shí)鐘對(duì)數(shù)據(jù)進(jìn)行編、解碼,在數(shù)據(jù)3 μs位置,沒有13.56 MHz時(shí)鐘,則由系統(tǒng)時(shí)鐘進(jìn)行填補(bǔ),組成采樣時(shí)鐘;解碼電路使用采樣時(shí)鐘對(duì)數(shù)據(jù)采樣、判斷,去除起始結(jié)束位,組成字節(jié)寫入FIFO,同時(shí)統(tǒng)計(jì)數(shù)據(jù)位數(shù),供內(nèi)部8051控制器讀??;編碼電路對(duì)寫入FIFO的數(shù)據(jù)進(jìn)行曼徹斯特編碼,加入奇偶校驗(yàn)位和幀起始結(jié)束位,并在同步時(shí)間點(diǎn)發(fā)送;USB控制器完成監(jiān)聽器與PC機(jī)的通信;8051完成整個(gè)監(jiān)聽的流程控制及數(shù)據(jù)的記錄與傳送。
3.3 非接觸式讀卡器設(shè)計(jì)
非接觸式讀卡器采用MFRC531,主要完成與智能卡的通信,如圖5所示。MFRC531是應(yīng)用于13.56MHz非接觸式通信中高度集成讀寫芯片系列的一員。該讀寫芯片系列利用了先進(jìn)的調(diào)制和解調(diào)概念,完全集成了13.56MHz下所有類型的被動(dòng)非接觸通信方式和協(xié)議,支持ISO/IEC14 443 A/B的所有層和MIFARE經(jīng)典協(xié)議,以及與該標(biāo)準(zhǔn)兼容的標(biāo)準(zhǔn)。內(nèi)部的發(fā)送部分不需要增加有源電路,就能夠直接驅(qū)動(dòng)近操作距離的天線(可達(dá)100 mm)。接收器部分提供一個(gè)堅(jiān)固而有效的解調(diào)和解碼電路,用于ISO14443 A兼容的應(yīng)答器信號(hào)。數(shù)字部分處理ISO14443 A幀和錯(cuò)誤檢測(cè)。與主機(jī)通信模式有8位并行和SPI模式。在本文中,與微控制器通信部分使用8位并行設(shè)計(jì),諧振電路部分設(shè)計(jì)與MFRC531的參考設(shè)計(jì)保持一致。
4 調(diào)試
調(diào)試過程可以根據(jù)各個(gè)模塊功能分別調(diào)試驗(yàn)證,智能卡模擬前端調(diào)試包括諧振頻率、限幅電路幅值、包絡(luò)檢波閾值、時(shí)鐘提取閾值、負(fù)載調(diào)制強(qiáng)度的調(diào)整;控制器調(diào)試包括數(shù)據(jù)同步收發(fā)、USB通信、MFRC531控制邏輯調(diào)試;非接觸式讀卡器調(diào)試包括諧振頻率、Q值等的調(diào)整。
結(jié)語
通過對(duì)以上電路的調(diào)試,可以實(shí)現(xiàn)對(duì)讀寫設(shè)備與智能卡通信的監(jiān)聽,記錄并分析二者交互的信息。該設(shè)備可以應(yīng)用于現(xiàn)場(chǎng)調(diào)試,快速定位問題所在,加快產(chǎn)品應(yīng)用開發(fā)。由于該設(shè)計(jì)會(huì)增加智能卡回復(fù)幀延遲,可能會(huì)造成時(shí)間緊促系統(tǒng)的讀寫器等待超時(shí),最終導(dǎo)致監(jiān)聽失敗。