关键词:CRX14 I2C总线 ISO14443标准 MC68H908AP16
最近几年来,射频识别系统的发展极其迅猛。通过不断的技术更新,射频系统的应用领域非常广泛,如票务、动物识别、工业自动化或者身份识别。用户在考虑射频识别系统时,需要考虑该系统的工作频率、作用距离、安全要求和存储容量。符合ISO14443协议的射频系统是目标应用比较多的一种。该协议第2部分射频接口规定了两种形式——TypeA和TypeB,本文重点讲述针对TypeB的设计方法和经验总结。
1 芯片介绍
CRX14是符合ISO14443控制标准的射频处理芯片,使用双经I2C总线。发送的数据用ASK方式调制,接收到的数据则是将终端负载变量信号解调所得。天线上产生的信号,采有一个847kHz的二进制BPSK副载波译码,发送的ASK波有10%被调制。在发送和接收的方式中,CRX14与终端之间的数据传送速率为106Kb/s。
图1
CRX14含有一个自动抗冲突的机制,能够检测和选择在CRX14有效范围内同时出现的多张卡片。防冲突功能基于ST的微电子概率扫描法。CRX14还通过允许终端鉴定的FRANCE TELECOM技术提供抗克隆功能。CRX14带有一个单片耦合器,易于设计成一台具有鉴定功能的读出器或以低成本建立一个高水平的安全系统。
CRX14内部由四部分组成:
①I2C总线控制器管理与应用主机间的串联,遵循400kHz的I2C总线规格,并控制对所有CRX14寄存器的读或写操作。
②RAM缓冲器是双向缓冲器,存储所有即将发送至终端的请求帧字节和所有由答复帧终端发出的接收字节。
③发送器通过在外部天线上产生一个13.56MHz的射频磁场来对量程内的所有遥控终端上电。该磁场的10%可采用对流出数据的ASK(振幅偏移键控制法)调制。
④接收器对信号进行解调。该信号在天线上,由遥控终端的负载变量产生。接下来的信号则由847kHz的BPSK(二进制相位偏移键控)副载波解码器解码。
CRX14内部逻辑框图和引脚图如图1所示。
2 总体设计方案
整个系统由摩托罗拉单片机、CRX14射频芯片、安全模块(可选)几部分构成,系统框图如图2所示。
3 硬件电路设计
整个电路主要分为两个部分:一为主控部分,以摩托罗拉单片机为核心;另一为射频处理部分,以CRX14为核心。
图3
主控部分采用摩托罗拉公司的MC68HC08系列单片机。该系列是高性能8位单片机,具有速度快、功能强和价格低的特点。可供选择的型号很多,当前设计中程序空间不用太大,需要I2C接口和UART串行接口,抗干扰能力要强。由于CRX14采用单电源电压供电(5V±500mV),为了设计的简单,整个系统采用5V单电压供电。
选择型号为MC68HC908AP16的单片机。芯片资源为1KB RAM,16KB的Flash存储器空间,I2C接口,工作电压为3.3V或者5V,总线最高频率为8MHz等。
键盘采用矩阵排列方式,实时扫描键值;显示部分采用SPI接口的标准显示模块;电源部分使用外部电源适配器,输入电压为9V~12V之间,通过稳压,提供持续的5V电源。
安全模块是为以后扩充使用的。如果用户需要使用安全认证机制,要吧简单地把安全模块安装到设备上。对安全模块的操作遵循ISO7816协议,这方面可供参考的资料很多。
射频处理部分包括CRX14和天线及匹配电路。CRX14引脚定义和说明如表1所列。
表1 CRX14引脚定义和说明
引脚定义 | 说 明 |
RF OUT | 天线输出驱动器 |
RFIN | 天线输入滤波器 |
VCC/GND | 电源电压/地 |
GND_RF | 射频电路地 |
OSC1/OSC2 | 振荡器输入 |
PLL_RC | PLL-RC滤波器输入 |
Vref | 发送器基准电压 |
OSC_SEL | 13.56MHz/32768Hz频率选择 |
RESET | 复位 |
SCL | I2C时钟 |
SDA | I2C双向数据 |
E0 | I2C芯片使能 |
E1 | I2C芯片使能 |
E2 | I2C芯片使能 |
射频处理部分的电路如图3所示。
天线调试过程分3个部分。
①测试CRX14的输出。CRX14的RF OUT输出信号为10%ASK调制波,载波频率为13.56MHz。输出波形如图4所示。
②优化天线。天线的输入阻抗及其匹配电路需要与CRX14输出的阻抗匹配。因为PCB材料或其它的原因导致的一些细微的不同,天线的特征也会改变,比如天线的电感量和电阻量。需要作一些小的调整,即调整天线的匹配电路,如图5,使天线的性能达到最佳。
因为变化不是太大,可以使用示波器进行调整。使用两个不同的电容代替C8+C8’和C7+C7’。调整的范围应该介于C8+C8’和C7+C7’的原始值范围附近(27pF和125pF)。然后,仔细调整这些电容,使天线回路上的电压值达到最大。实测天线端(ANT1)的波形如图6所示。
③检查射频接收部分。从天线返回的信号直接送到了RF IN端口。因此该点波形幅度比较低,实测的波形如图7所示。
为了增加射频部分的发射和接收距离,用户可以增加射频放大和运放电路,将发射和接收的波形进行放大。
4 软件设计
软件的功能主要是控制CRX14,同时与PC机进行通信,控制CRX14不断地在量程范围内发送访问信号。如果有TypeB的射频卡在量程范围内,MC68HC908AP16单片机会控制CRX14芯片从卡中读出信息,同时将这些信息通过RS-232发送到PC主机上。当从PC主机上接收到写卡命令时,单片机控制CRX14将信息写入到射频卡片中。软件完成按照ISO14443协议的TypeB类型来设计。软件的总体框图如图8所示。
软件流程如图9所示。
软件包含主控程序、射频处理程序、串口处理程序、中断处理程序,另外还包含扩充的矩阵按键扫描程序和显示模块驱动程序。有兴趣的读者可以参考相关资料,文中主要介绍射频处理部分的程序流程和注意事项。
CRX14提供四个易失性的寄存器,控制芯片的所有工作。另外提供了04h和05h地址两个寄存器,在实际应用中是不能被用户使用的。寄存器描述如表2所列。
表2 CRX16引脚定义和说明
I2C地址 | 长度/B | 访问 |
目 的 | |
00h | 参数寄存器 | 1 | 写 | 设置参数寄存器 |
读 | 读参数寄存器 | |||
01h | 输入/输出帧寄存器 | 36 | 写 | 存储和发送请求帧到终端存储终端应答帧 |
02h | 鉴定寄存器 | 无效 | 写 | 开始鉴定过程 |
读 | 获得鉴定过程 | |||
03h | 插槽标志寄存器 | 1 | 写 | 启动自动抗冲突过程 |
读 | 返回数据FFh | |||
04h | 保留 | 无效 | 读和写 | 保留,不能使用 |
05h | 保留 | 无效 | 读和写 | 保留,不能使用 |
表3 器件选择代码
芯片鉴定代码 | 芯片使能输入端口 | 读/写 | ||||||
位7 | 位6 | 位5 | 位4 | 位3 | 位2 | 位1 | 位0 | |
CRX14芯片选择 | 1 | 0 | 1 | 0 | E2 | E1 | E0 | 读/写 |
CRX14遵循I2C总结标准。芯片内部携带有一个4位的器件鉴定代码——1010,如表3所列。该鉴定代码与芯片的3个使能输入端(E2、E1、E0)合并在一起,作为I2C选择相应芯片的标识。
图9
5 结论
该系统已经通过实验测试,能够在约5cm的距离内读写符合ISO14443标准TypeB类型的射频卡,工作稳定可靠,成本低。开发成专用射频读写设备,会具有较高的性价比。