基于ARM的RFID阅读器设计
发布时间:2008/5/27 0:00:00 访问次数:603
rfid系统由三部分组成:1.标签(tag,即射频卡),由耦合元件及芯片组成,标签含有内置天线,用于和射频天线间进行通信;2.阅读器,读取(在读写卡中还可以写入)标签信息的设备;3.天线,在标签和读取器间传递射频信号。本文主要介绍基于arm,工作频率在13.56mhz的rfid阅读器设计方案。
1系统硬件设计
1.1 系统主要芯片介绍
本设计方案的两个主要芯片是lpc2212和mf rc500。lpc2212功耗低,性能高,接口资源丰富,可以在rfid阅读器的基础上进行其它功能的扩展,实现一个多功能应用系统。mf rc500是philips公司生产的应用于13.56mhz非接触式通信中高集成读卡ic系列中的一员。mf rc500支持iso14443a所有的层,内部的发送器部分不需要增加有源电路就能够直接驱动近操作距离的天线(可达100mm);接收器部分提供一个坚固而有效的解调和解码电路用于iso14443a兼容的应答器信号;数字部分处理iso14443a帧和错误检测奇偶crc,此外它还支持快速crypto1加密算法用于验证mifare系列产品。
1.2 系统总体设计
系统从功能上主要分为4大模块:控制模块、发送接收数据模块、串行通信模块和显示模块。各模块组成的系统总框图如图1所示。
控制模块主要由微控制器lpc2212和晶振组成,负责整个系统的控制工作。
发送接收数据模块主要由mf rc500、晶振和天线组成。mf rc500分为模拟部分和数字部分。模拟部分负责对射频卡的发送接收操作,发送主要完成驱动天线,提供13.56mhz的能量载波并根据寄存器的设置对发送数据进行调制;接收主要完成对射频卡发送的信号进行检测和解调并根据寄存器的设定进行处理。数字部分则通过并口和中断与微控制器lpc2212通信。mf rc500的能量载波由13.56mhz晶振提供,天线则主要由lc低通滤波器和lc谐振电路组成。
串行通信模块主要由rs-232-c标准采用的9芯接口和电平转换电路max232a组成。本模块负责阅读器与pc机通讯,可进行程序下载,射频卡信息修改等。
显示模块主要由低复用率的通用液晶(lcd)驱动器pcf8562和lcd屏组成。pcf8562与微控制器lpc2212可以通过两线双向的i2c总线通信,当这两条线连接到器件的输出级时必须通过上拉电阻连接到正电源。显示模块负责卡片信息显示。
2 系统软件设计
软件设计包括三个模块:系统初始化模块、射频卡与读写器通信模块和lcd显示模块。下面详细介绍以上模块。
2.1 系统初始化模块
为了使系统能够正常运行,必须在系统复位时对系统进行初始化工作。其中包括中断向量表的建立和remap(重映射)操作、各种模式堆栈初始化操作、时钟初始化操作、串口初始化操作和中断选择初始化操作。
arm7处理器有7种异常模式,其中断向量位置是固定的(地址0x00000000-0x0000001c),lpc2212采用64字节存储中断向量表。为了实现lpc2212在不同操作模式下对中断的使用,必须对lpc2212中flash的boot block块和sram空间的一小部分remap。另外,需要对各种模式的堆栈进行初始化。
lpc2212振荡器工作在振荡模式,外部晶体振荡频率为20-25mhz,通过内部pll电路调整时钟,使系统运行速度更快。程序首先使能pll但不连接pll,然后设置外设时钟与系统时钟的分频比,接着设置pll的乘因子和除因子。设置完成后,把数据正确写入硬件,并等待pll跟踪完成。最后,使能pll并使pll连上系统。
串口是读卡器与pc机通信端口,在使用前须设置串口波特率、接收和发送数据字符格式和初始化fifo(先进先出队列)。
串口和rc500都是基于irq中断,使用前,须对lpc2212中断选择寄存器进行配置,把串口和rc500的中断请求分配为irq模式。
2.2 射频卡与读写器通信模块
本系统采用m1(mifare 1)智能卡,本卡自带天线,内含加密控制逻辑和通讯逻辑电路,m1分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位,每个扇区有独立的一组密码及访问控制,可一卡多用。m1射频卡与读写器的通信流程图如图2所示。
复位应答(answer to request):m1射频卡的通讯协议和通
rfid系统由三部分组成:1.标签(tag,即射频卡),由耦合元件及芯片组成,标签含有内置天线,用于和射频天线间进行通信;2.阅读器,读取(在读写卡中还可以写入)标签信息的设备;3.天线,在标签和读取器间传递射频信号。本文主要介绍基于arm,工作频率在13.56mhz的rfid阅读器设计方案。
1系统硬件设计
1.1 系统主要芯片介绍
本设计方案的两个主要芯片是lpc2212和mf rc500。lpc2212功耗低,性能高,接口资源丰富,可以在rfid阅读器的基础上进行其它功能的扩展,实现一个多功能应用系统。mf rc500是philips公司生产的应用于13.56mhz非接触式通信中高集成读卡ic系列中的一员。mf rc500支持iso14443a所有的层,内部的发送器部分不需要增加有源电路就能够直接驱动近操作距离的天线(可达100mm);接收器部分提供一个坚固而有效的解调和解码电路用于iso14443a兼容的应答器信号;数字部分处理iso14443a帧和错误检测奇偶crc,此外它还支持快速crypto1加密算法用于验证mifare系列产品。
1.2 系统总体设计
系统从功能上主要分为4大模块:控制模块、发送接收数据模块、串行通信模块和显示模块。各模块组成的系统总框图如图1所示。
控制模块主要由微控制器lpc2212和晶振组成,负责整个系统的控制工作。
发送接收数据模块主要由mf rc500、晶振和天线组成。mf rc500分为模拟部分和数字部分。模拟部分负责对射频卡的发送接收操作,发送主要完成驱动天线,提供13.56mhz的能量载波并根据寄存器的设置对发送数据进行调制;接收主要完成对射频卡发送的信号进行检测和解调并根据寄存器的设定进行处理。数字部分则通过并口和中断与微控制器lpc2212通信。mf rc500的能量载波由13.56mhz晶振提供,天线则主要由lc低通滤波器和lc谐振电路组成。
串行通信模块主要由rs-232-c标准采用的9芯接口和电平转换电路max232a组成。本模块负责阅读器与pc机通讯,可进行程序下载,射频卡信息修改等。
显示模块主要由低复用率的通用液晶(lcd)驱动器pcf8562和lcd屏组成。pcf8562与微控制器lpc2212可以通过两线双向的i2c总线通信,当这两条线连接到器件的输出级时必须通过上拉电阻连接到正电源。显示模块负责卡片信息显示。
2 系统软件设计
软件设计包括三个模块:系统初始化模块、射频卡与读写器通信模块和lcd显示模块。下面详细介绍以上模块。
2.1 系统初始化模块
为了使系统能够正常运行,必须在系统复位时对系统进行初始化工作。其中包括中断向量表的建立和remap(重映射)操作、各种模式堆栈初始化操作、时钟初始化操作、串口初始化操作和中断选择初始化操作。
arm7处理器有7种异常模式,其中断向量位置是固定的(地址0x00000000-0x0000001c),lpc2212采用64字节存储中断向量表。为了实现lpc2212在不同操作模式下对中断的使用,必须对lpc2212中flash的boot block块和sram空间的一小部分remap。另外,需要对各种模式的堆栈进行初始化。
lpc2212振荡器工作在振荡模式,外部晶体振荡频率为20-25mhz,通过内部pll电路调整时钟,使系统运行速度更快。程序首先使能pll但不连接pll,然后设置外设时钟与系统时钟的分频比,接着设置pll的乘因子和除因子。设置完成后,把数据正确写入硬件,并等待pll跟踪完成。最后,使能pll并使pll连上系统。
串口是读卡器与pc机通信端口,在使用前须设置串口波特率、接收和发送数据字符格式和初始化fifo(先进先出队列)。
串口和rc500都是基于irq中断,使用前,须对lpc2212中断选择寄存器进行配置,把串口和rc500的中断请求分配为irq模式。
2.2 射频卡与读写器通信模块
本系统采用m1(mifare 1)智能卡,本卡自带天线,内含加密控制逻辑和通讯逻辑电路,m1分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位,每个扇区有独立的一组密码及访问控制,可一卡多用。m1射频卡与读写器的通信流程图如图2所示。
复位应答(answer to request):m1射频卡的通讯协议和通