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