公民身份证阅读器(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。