当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于ARM的RFID阅读器设计

RFID是RadioFrequencyIdentification的缩写,即射频识别。一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别的距离可达几十厘米至几米,且根据读写的方式,可以输入数千字节的信息,同时,还具有极高的保密性,识别工作无须人工干预,可工作于各种恶劣环境。RFID技术可识别高速运动物体并可同时识别多个标签,操作快捷方便。其应用范围十分广泛,主要有商品零售、商品防伪、交通运输、物流仓储、安全管理、医疗卫生、图书档案和国防军事等。

RFID系统由三部分组成:1。标签(Tag,即射频卡),由耦合元件及芯片组成,标签含有内置天线,用于和射频天线间进行通信;2。阅读器,读取(在读写卡中还可以写入)标签信息的设备;3。天线,在标签和读取器间传递射频信号。本文主要介绍基于ARM,工作频率在13。56MHz的RFID阅读器设计方案。

1系统硬件设计

1。1系统主要芯片介绍

本设计方案的两个主要芯片是LPC2212和MFRC500。LPC2212功耗低,性能高,接口资源丰富,可以在RFID阅读器的基础上进行其它功能的扩展,实现一个多功能应用系统。MFRC500是PHILIPS公司生产的应用于13。56MHz非接触式通信中高集成读卡IC系列中的一员。MFRC500支持ISO14443A所有的层,内部的发送器部分不需要增加有源电路就能够直接驱动近操作距离的天线(可达100mm);接收器部分提供一个坚固而有效的解调和解码电路用于ISO14443A兼容的应答器信号;数字部分处理ISO14443A帧和错误检测奇偶CRC,此外它还支持快速CRYPTO1加密算法用于验证MIFARE系列产品。

1。2系统总体设计

系统从功能上主要分为4大模块:控制模块、发送接收数据模块、串行通信模块和显示模块。各模块组成的系统总框图如图1所示。

控制模块主要由微控制器LPC2212和晶振组成,负责整个系统的控制工作。

发送接收数据模块主要由MFRC500、晶振和天线组成。MFRC500分为模拟部分和数字部分。模拟部分负责对射频卡的发送接收操作,发送主要完成驱动天线,提供13。56MHz的能量载波并根据寄存器的设置对发送数据进行调制;接收主要完成对射频卡发送的信号进行检测和解调并根据寄存器的设定进行处理。数字部分则通过并口和中断与微控制器LPC2212通信。MFRC500的能量载波由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的BootBlock块和SRAM空间的一小部分REMAP。另外,需要对各种模式的堆栈进行初始化。

LPC2212振荡器工作在振荡模式,外部晶体振荡频率为20-25MHz,通过内部PLL电路调整时钟,使系统运行速度更快。程序首先使能PLL但不连接PLL,然后设置外设时钟与系统时钟的分频比,接着设置PLL的乘因子和除因子。设置完成后,把数据正确写入硬件,并等待PLL跟踪完成。最后,使能PLL并使PLL连上系统。

串口是读卡器与PC机通信端口,在使用前须设置串口波特率、接收和发送数据字符格式和初始化FIFO(先进先出队列)。

串口和RC500都是基于IRQ中断,使用前,须对LPC2212中断选择寄存器进行配置,把串口和RC500的中断请求分配为IRQ模式。

2。2射频卡与读写器通信模块

本系统采用M1(MIFARE1)智能卡,本卡自带天线,内含加密控制逻辑和通讯逻辑电路,M1分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位,每个扇区有独立的一组密码及访问控制,可一卡多用。M1射频卡与读写器的通信流程图如图2所示。

复位应答(Answertorequest):M1射频卡的通讯协议和通讯波特率是定义好的,当有卡片进入读写器的操作范围时,读写器以特定的协议与它通讯,从而确定该卡是否为M1射频卡,即验证卡片的卡型。

防冲突机制(Anti-collisionLoop):当有多张卡进入读写器操作范围时,防冲突机制会从其中选择一张进行操作,未选中的则处于空闲模式等待下一次选卡,该过程会返回被选卡的序列号。

选择卡片(SelectTag):选择被选中的卡的序列号,并同时返回卡的容量代码。

三次互相验证(ThreeAuthentication):选定要处理的卡片之后,读写器就确定要访问的扇区号,并对该扇区密码进行密码校验,在三次相互认证之后就可以通过加密流进行通讯。(在选择另一扇区时,则必须进行另一扇区密码校验。)

对数据块的操作:读(Read):读一个块;写(Write):写一个块;加(Increment):对数值块进行加值;减(Decrement):对数值块进行减值;存储(Restore):将块中的内容存到数据寄存器中;传输(Transfer):将数据寄存器中的内容写入块中;中止(Halt):将卡置于暂停工作状态。

2。3LCD显示模块

显示模块完成射频卡信息在LCD上的显示功能。用户可以显示专用符号、数字、汉字和图形。显示模块主要分为两部分:第一部分是根据阅读器从射频卡读入的信息确定要显示的内容,显示图形时,则要计算显示坐标;第二部分是根据系统所采用的LCD建立专用符号库、汉字库,显示图形时,则要把第一部分得到的坐标转化为LCD上的显示坐标。[!--empirenews.page--]

3改进的防冲突算法

根据ISO14443协议,M1型卡传统的防冲突算法是动态二进制检索树算法。它首先利用MANCHESTER编码“没有变化”的状态来检测碰撞位,然后把碰撞位设为二进制“1”,用SELECT命令发送碰撞前接收的部分卡片序列号和碰撞位,如果卡片开头部分序列号与其相同,则做出应答,不相同则没有响应。以此来缩小卡片范围,最终达到无碰撞。图3显示了两个卡片(PICC#1和PICC#2)的防碰撞流程。

但是,传统的防碰撞方法要求所有应答器准确同步,应答器必须准确地在同一时刻开始传输他们的序列号。然而,在实际使用中,应答器由用户控制,可能产生异步发送数据,如果仍然采用传统防冲突算法,有可能导致死循环,如图4所示。

为了解决死循环问题,在传统算法的基础上设置了一个记录碰撞位数的变量,如果第二次碰撞位数和第一次相等,则把SELECT发送的部分卡号增加一位,设为二进制数“1”发送出去。如果在规定时间内没有收到应答,则把增加位设为“0”发送出去。可以有效预防由于应答器异步导致的死循环问题。针对图4的改进流程如图5。

4结束语

本文给出了一个基于ARM的RFID阅读器软硬件框架,实现了对射频卡的基本读写等功能。阅读器采用的ARM微处理器,接口资源丰富,还有很多空闲接口,可在阅读器的基础上进行扩展,例如,可利用ARM的其它接口驱动电机,利用射频卡对电机实现控制,只有卡内信息正确,系统才能向电机发出控制命令,从而在硬件上增加了安全性。另外,改进的防冲突算法也使读卡器在应答器异步发送数据的情况下有效的避免死锁。本文对实现带有RFID功能的多功能系统有一定的参考价值和实用价值。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭