公民身份證閱讀器(National ID Reader)是一種基于RFID技術的智能識別設備,用來讀取公民身份證的數據和顯示計算機中的資訊。本參考設計使用了意法半導體公司的μPSD32xx或μPSD33xx 8051微控制器內核,以及CRX14非接觸耦合器,主要用于中國第二代公民身份證閱讀系統。本設計的閱讀器與PC之間使用USB總線或RS232接口進行通訊,符合ISO14443 typr-B標準。
1、公民身份證閱讀器硬件描述
本參考設計系統可劃分為兩個主要部份:一是主控板;另一個是加強天線板。
(1)主控板
主控板由一個uPSD3234A控制單位、一個安全模組和一個電源模組組件組成。
其中,uPSD3234A通過一個USB/RS232接口與PC進行通訊,并通過I2C總線控制讀卡器芯片的操作。如果使用安全模組,uPSD3234A也負責安全模塊的控制,并與其進行通訊。
演示板上的安全模組為將來預留了擴充功能。如果將來需要使用這些安全鑒定機制,用戶只要將他們的安全模組置入板上的預留空間,并對它們本身的固件進行編程。安全模組的基本操作符合ISO7816標準(參見ISO7816標準和特定安全摸組數據手冊)。安全模組的時鐘既可通過uPSD3234A的PWM管腳提供,也可由外部晶體振蕩器直接提供。
電源模組為系統提供了一個穩定的5V直流電壓源。用戶還可以通過電源連接器為系統提供9-12V直流電壓。為了兼容μPSD33xx家庭器件,本參考設計還提供了一個3.3V直流電壓。
(2)增強型天線板
如果發射功率增加了,CRX14與ID標簽之間的距離也可以增加,接收到的信號也會放大。
(3)CRX14
CRX14是一個短范圍非接觸耦合器芯片,符合ISO14443 type-B標準。它能夠產生一個按照ISO14443 type-B標準進行調制的13.56MHz信號。發送的數據用ASK方式調制,接收到的數據則是將終端負載變量信號解調所得。天線上產生的信號,采有一個847kHz的二進制BPSK副載波譯碼,發送的ASK波有10%被調制。在發送和接收模式中,CRX14與終端之間的數據傳送速率為106Kb/s。
CRX14含有一個自動抗沖突機制,能夠檢測和選擇在CRX14有效范圍內同時出現的多張ID卡。防沖突功能基于ST的微電子概率掃描法。CRX14還通過允許終端鑒定的FRANCE TELECOM技術提供抗克隆功能。CRX14帶有一個單片耦合器,易于設計成一臺具有鑒定功能的閱讀器,或建立一個低成本高水平的安全系統。CRX14內部由四部分組成:
(1)I2C總線控制器管理與應用主機間的串聯,遵循400kHz的I2C總線規格,并控制對所有CRX14寄存器的讀或寫操作。
(2)RAM緩沖器是雙向緩沖器,存儲所有即將發送至終端的請求幀字節和所有由答復幀終端發出的接收字節。
(3)發送器通過在外部天線上產生一個13.56MHz的射頻磁場來對量程內的所有遙控終端上電。該磁場的10%可用來對流出的數據進行ASK(振幅偏移鍵控制法)調制。
(4)接收器對信號進行解調。天線上的信號由遙控終端的負載變量產生。接下來的信號則由847kHz的BPSK(二進制相位偏移鍵控)副載波解碼器解碼。
本設計中,CRX14耦合器在以下兩端之間進行接口:一邊為存儲器標簽,采用I/O緩沖和ISO14443 type-B RF協議;另一邊為系統主控處理器,采用一個400kHz I2C總線。
CRX14耦合器芯片工作于5V電源,采用SO16N封裝,可嵌入終端設備中,是構建非接觸讀卡器的理想方案,可以在操作范圍和系統成本之間進行優化。
(4)除錯程序
為了使天線電路良好地工作,需要對其進行一些除錯處理。
(1)測試CRX14的輸出。RFOUT管腳上的信號應該在頻率為13.56MHz的載波上進行10% ASK調制。
(2)測試E類放大器的輸出。L7(電路原理圖上的測試點2)之後的信號應該是經過放大的RFOUT信號。如果沒有,就應該檢查它周圍的晶體管和被動元件。
(3)使天線工作于最佳狀態。天線(Za)的輸入阻抗及其匹配線路應該與E類放大器的輸出阻抗相匹配。由于電路板的材料可能存在一些細微的差別或其他問題,天線的性能可能有所不同,例如天線的感抗(La)和阻抗(Rp)等。因此,必需對天線的匹配電路進行一些調整,以達到更高的性能。
由于這些差別并不大,天線匹配電路的調整非常簡單,只使用一臺示波器即可完成。使用二個可變電容器替代C26+C27和C28+C31。這兩個可變電容器的可調范圍應該在C26+C27和C28+C31的原始值附近,即27pF和125pF。然后,仔細調節這兩個可變電容器,當天線環路的電壓達到最大值時,就找到了正確的電容器容量值。
檢查濾波器和放大器。運算放大器后面的信號(原理圖上的點3)的峰峰值應該大約3.5V。RFIN管腳的信號應該為4.6V(峰峰值)。
2、固件
由于本設計只是演示版,本文使用了只有次級閃存的μPSD。如果μPSD中的主、次級閃存都用上了,本設計就可能具有應用內編程(In Application Programming, IAP)功能。
運行于μPSD的固件主要控制CRX14的操作,并與PC進行交流。固件將會不斷地控制CRX14,將詢問信號發送給附近區域。如果該區域里有一個居民身份證,μPSD將會命令CRX14讀取卡片中的數據,并通過USB或RS232把這些數據發送給PC。當收到一個來自PC的寫入指令的時候,μPSD將會命令CRX14將數據寫入居民身份證里面。
3、居民身份證示范結構
該示范中,居民身份證使用的是意法半導體公司的SRIX4K標簽。它可以在37個區段內存儲147字節數據,并按照如下所述的方式進行映射。事實上,SRIX4K標簽為用戶提供了121個區段(484字節)的存儲空間。其中,區段7-9(11個字節)包括:
• ID號碼(BCD碼),9個字節;
• 性別和民族:1個字節。性別碼中,1表示男人,0表示女性;民族代碼為從0到55的56個數字,分別代表56個民族。
• 有效期(BCD碼):1個字節。
區段10-13(16個字節)包括:
• 名字(統一碼):最多8個字節(4個字符),并且是固定的;
• 出生日期(BCD碼):4個字節;
• 發行日期(BCD碼):4個字節。
區段14-23(40個字節)包括:
• 發行部門(統一碼):最多40個字節(固定);區段24-43(80個字節):
• 住址(統一碼):最多80個字節(40個字符)(固定)。
4、CRX14控制驅動程序
CRX14控制程序由四個文件組成,即upsd_i2c.c、upsd_i2cc.h、CRX14_fncs.c、CRX14_fncs.h。該驅動程序通過I2C接口控制CRX14的表現。
5、USB HID驅動程序
本設計的USB HID驅動程序符合USB規范1.1版,兼容1.5Mbit/s低速裝置,兼容其它人機接口(HID)裝置。其中,USB HID驅動程序頭端文件包括APP_INTR.H、uPSD_USB.H和USB.H,USB HID驅動程序的C信源文件包括USB_USER.C、uPSD_USB.C、uPSD_CFG.C和uPSD_DEC.C。
借助于接口開關,固件可以在USB和RS232之間自動地轉變接口。如果該演示板是通過USB電纜連接到PC的,那么固件將選擇USB接口,否則就選擇RS232接口。
了解設計細節,請訪問http://www.st.com/mcu/familiesdocs-80.html。