基于CL RC632的射频读写器的RFID系统设计
时间:04-25
来源:互联网
点击:
3 软件设计
软件设计思想是通过对STC11F32XE的编程,控制CL RC632芯片根据ISO/IEC14443A协议与MF1卡片进行通信,从而完成对RFID卡的各种操作。
CL RC632在整个系统上电后,需要一段时间进行复位。复位后,晶振管脚才有电压。然后读/写CLRC632寄存器,如果能准确读/写,就说明对CL RC632寻址方式和读/写时序是对的,就可对CL RC632进行其他的操作。
初始化单片机,对STC11F32XE进行串口设置、定时器设置和中断的设置。CL RC632复位,复位成功后,LED闪烁而且CL RC632自动跟随初始化。初始化程序如下RC632RST=0;delay_1 ms(25);RC632RST=1;delay_50μs(200);RC632RST=0;然后读第0页Command寄存器的值,为0则意味着CLRC632的复位和初始化完成。CL RC632每次复位后,页寄存器默认值为0X80(即默认使用页模式并且选中第0页)。为了提高效率,本文采用线性地址访问模式,在复位后,立即将页寄存器的值改为0x00,即可使用线性地址访问寄存器。
主要函数实现原理如下:
寻卡函数Char R632PICCCommonRequest(unsigned char req_code,unsigned char*atq)2个入口参数:req_code是寻卡指令代码,通常情况下为26H,*atq返回卡片类型号,建立PCD与卡片的第一步通信。防冲突函数Char R632PICCCascAnticoll(unsigned char bcnt,unsign ed char*snr):根据卡片序列号来保证每次对一张卡片进行操作。返回值为4 B卡的序列号和1 B效验值。选卡函数CharR632PICCCascSelect(unsigned char *snr,unsignedchar*sak):驱动发送电路发送了7个字节,包括93H,70H,4 B序列号、CRC效验码。卡片返回1 B,该字节代表了卡片容量。S50M1卡返回值为08H。认证函数Char R632PICCAuthE2(unsigned char authmode,unsigned char*snr,unsigned char keynr,unsigned char block):整个过程是将6 B的密钥加密为12 B,通过发送指令LOADKEY装入KEY缓存,然后执行authent1和authent2指令,认证通过,卡片将会返回1 B的0AH作为应答。
4 示波器在本文中的典型应用
在设计中,因为涉及到射频通信编码和解码,所以在编写程序时对时序的要求非常严格。在调试中,针对不同的测量点,通过示波器观测相应的RF信号。可以观测的信号包括载波信号、调试信号、调制载波信号、射频输出信号、标签返回信号等。由于篇幅原因,仅给出编码信号波形图和RF输出调制载波信号图,以供参考。5 结语
本文介绍了基于CL RC632的射频读写器的设计与实现。完成了硬件的选型、绘制PCB图和电路的焊接,还有软件的编写。经过测试和实践认证,该系统稳定,能对范围内的多个MF1卡进行准确的读写。
软件设计思想是通过对STC11F32XE的编程,控制CL RC632芯片根据ISO/IEC14443A协议与MF1卡片进行通信,从而完成对RFID卡的各种操作。
CL RC632在整个系统上电后,需要一段时间进行复位。复位后,晶振管脚才有电压。然后读/写CLRC632寄存器,如果能准确读/写,就说明对CL RC632寻址方式和读/写时序是对的,就可对CL RC632进行其他的操作。
初始化单片机,对STC11F32XE进行串口设置、定时器设置和中断的设置。CL RC632复位,复位成功后,LED闪烁而且CL RC632自动跟随初始化。初始化程序如下RC632RST=0;delay_1 ms(25);RC632RST=1;delay_50μs(200);RC632RST=0;然后读第0页Command寄存器的值,为0则意味着CLRC632的复位和初始化完成。CL RC632每次复位后,页寄存器默认值为0X80(即默认使用页模式并且选中第0页)。为了提高效率,本文采用线性地址访问模式,在复位后,立即将页寄存器的值改为0x00,即可使用线性地址访问寄存器。
主要函数实现原理如下:
寻卡函数Char R632PICCCommonRequest(unsigned char req_code,unsigned char*atq)2个入口参数:req_code是寻卡指令代码,通常情况下为26H,*atq返回卡片类型号,建立PCD与卡片的第一步通信。防冲突函数Char R632PICCCascAnticoll(unsigned char bcnt,unsign ed char*snr):根据卡片序列号来保证每次对一张卡片进行操作。返回值为4 B卡的序列号和1 B效验值。选卡函数CharR632PICCCascSelect(unsigned char *snr,unsignedchar*sak):驱动发送电路发送了7个字节,包括93H,70H,4 B序列号、CRC效验码。卡片返回1 B,该字节代表了卡片容量。S50M1卡返回值为08H。认证函数Char R632PICCAuthE2(unsigned char authmode,unsigned char*snr,unsigned char keynr,unsigned char block):整个过程是将6 B的密钥加密为12 B,通过发送指令LOADKEY装入KEY缓存,然后执行authent1和authent2指令,认证通过,卡片将会返回1 B的0AH作为应答。
4 示波器在本文中的典型应用
在设计中,因为涉及到射频通信编码和解码,所以在编写程序时对时序的要求非常严格。在调试中,针对不同的测量点,通过示波器观测相应的RF信号。可以观测的信号包括载波信号、调试信号、调制载波信号、射频输出信号、标签返回信号等。由于篇幅原因,仅给出编码信号波形图和RF输出调制载波信号图,以供参考。5 结语
本文介绍了基于CL RC632的射频读写器的设计与实现。完成了硬件的选型、绘制PCB图和电路的焊接,还有软件的编写。经过测试和实践认证,该系统稳定,能对范围内的多个MF1卡进行准确的读写。
RFID 系统 设计 读写器 射频 CL RC632 基于 相关文章:
- Mesh、ZigBee、RFID让网络无处不在(11-24)
- RFID标签在超高频全球标准的认证之路(11-09)
- RFID相关技术专利分析(一)(11-09)
- RFID工厂仓储物流解决方案(12-21)
- 美国室内水上乐园采用RFID提升游客体验(04-22)
- Sirit RFID解决方案追踪代阿布洛峡谷核电站重要资产(04-07)