EDN China > 技术文章 > 嵌入式系统 > 参考设计 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

基于ARM的双频RFID读写系统设计解析方案

21ic?? 2012年02月21日 ?? 收藏0
1 引言

鉴于目前国内市场上应用最为广泛的射频卡读写器实现方法,本文采用ARM嵌入式系统作为微控制器,设计了能对低频125KHz和高频13.56MHz的二种频率RFID卡操作的读写模块,实现了的双频RFID读写系统。

2 系统设计

由于ARM微处理器具有运行速度快,接口功能丰富,其应用越来越广泛。本文采用三星公司的S3C44B0X,它是ARM7系列的低功耗的32位RISC处理器,具有ARM7TDMI内核,有丰富的内置部件,包括8K字节Cache和内部SRAM,带自动握手联络的2通道UART,定时器,通用I/O口,ADC和I2C-BUS控制器等。尤其是它的内置液晶显示器接口,可直接连接LCD显示器,无需专用LCD显示器接口芯片,可使成本降低,很适合在本系统中使用。

整个系统由ARM嵌入式系统,低频RFID卡读写模块,高频RFID卡读写模块,USB接口,LCD显示器以及蜂鸣器、状态指示灯等组成。RFID模块是北京华闰得公司开发的具有串行数据通信接口的模块,低频读写模块是CR001,为工作于125kHz的EM4001卡;高频模块是CR013,为工作于13.56MHz的MF卡。由于RFID模块具有TTL电平的串行通信接口,这样ARM微处理器可直接通过片上的二个UART接口与其连接,不需要电平转换即可轻松实现与RFID模块的通信。嵌入式系统与PC机的连接则通过USB接口实现。

因为低频RFID卡一般都是只读卡,进入读卡器磁场范围后,就自动发出信号。ARM微处理器通过不断检测端口捕捉信号,一旦读到卡,就读取信息,并在LCD上显示。对于高频卡,可根据需要进行读或写操作。

LCD显示器采用320*240点阵的STN型彩色液晶模块,可直接与S3C44B0X连接,成本也较低。对LCD的显示控制直接使用S3C44B0X内部的LCD驱动控制器实现,它能自动产生LCD驱动控制所需的信号。在这种接口方式下,LCD显示缓冲区映射在系统的存储器空间上,程序只需将像素点内容写入存储器对应地址就可以实现对应LCD屏上像素点颜色的显示刷新,控制十分方便。

键盘和状态指示灯的操作控制采用ZLG7290实现。ZLG7290是一款功能较强的按键处理和7段数码管显示专业芯片,提供了I2C串行接口和键盘中断信号,可方便地与S3C44B0X连接。

在上位上,通过设计专门的软件实现对RFID卡的读写操作,并对RFID卡进行管理。由于PC机功能强大,如再配上数据库系统,可以对大量用户的数据和信息进行存储和查询等处理,满足多种应用的需要。

3 系统的软件设计

3.1 RFID模块操作

CR001模块与S3C44B0X的串口相连,在接收数据前首先要对UART0进行初始化。根据CR001的使用规范,设置波特率为9600Baud,数据位为8位,1位停止位,无校验位。为使ARM对低频RFID卡及时作出响应,软件采用中断方式接收数据,即当S3C44B0X的UART0接收到数据时,产生中断,在中断服务程序中接收CR001模块的数据。

根据CR001射频读写模块的使用规范,CR001模块输出的数据包有5个字段,即起始符、数据、校验和、LD和LF、结束符。因此在软件设计中,当收到UART0的数据时,首先要判断一个数据包的起始符和结束符,以确定一个数据帧的起止位置,然后再检验数据的校验和是否正确。只有在接收的数据无误时,再将其中的数据取出、存储,并在LCD上显示。

CR013射频读写模块是采用Philips公司的Mifare技术设计的微型嵌入式、非接触式IC卡读写模块,内嵌ISO14443TypeA协议解释器,并可直接驱动射频天线。这是一种以被动方式工作的卡,刚进入天线有效感应区的卡得电进入空闲状态,它只吸收感应区内的磁场能量,不会首先发出信号。当读卡设备发出请求信号,符合条件的卡才会响应

对CR013模块的读写过程相对较复杂,要执行一系列的操作指令,包括询卡、请求、防冲突、选卡、装载密钥、验证密码、读块、写块,这一系列的操作必须按固定的顺序。寻卡时,处理器需要执行请求、防冲突、选卡操作,与CR013模块建立起通信关系,在通过装载密钥、验证密码操作后,才可进行读卡或写卡操作。

1、防冲突

防冲突就是从多张卡中选出一张卡来操作,又叫防碰撞、防重叠。如果知道卡的序列号,则可跳过此步,直接执行下一步选卡命令。若不知道卡的序列号,则必须调用防碰撞函数,得到感应区内卡的序列号。若同时有多张卡在感应区内,防碰撞函数能检测到,并且从中选出一张卡的序列号来。

2、选择卡片

根据上一步收到的卡号,发出选卡命令。经过这一步后才真正选中了一张要操作的卡,以后的操作都对这张卡进行。

整个寻卡过程包括请求、防冲突、选卡三个步骤。当微处理器发出寻卡命令时,实际上微处理器执行了以上3个步骤。为防止死锁,本文设置每步操作的最大次数为3次,若3次不成功则寻卡失败。

3、密钥装载和验证密码

微处理器发出读、写命令后,在进行读写操作前必须先执行密钥装载和验证密码。验证密码又叫认证、证实。模块将装载到读卡芯片FM1702SL中的密码与卡中指定扇区的密码进行认证,如果密码相同,则认证成功,卡允许进行读写操作。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

S3C44B0X? 读写器? 射频卡?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈