RFID应用系统软件Word格式文档下载.docx
《RFID应用系统软件Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《RFID应用系统软件Word格式文档下载.docx(30页珍藏版)》请在冰豆网上搜索。
在农牧渔业用于羊群、鱼类、水果等的管理以及宠物、野生动物跟踪;
在医疗行业用于药品生产、病人看护、医疗垃圾跟踪;
在制造业用于零部件与库存的可视化管理;
RFID还可以应用于图书与文档管理、门禁管理、定位与物体跟踪、环境感知和支票防伪等多种应用领域。
另一方面,通过公交IC卡使城市公共交通实现智能化。
与人工调查相比,利用IC卡收费系统进行客流数据采集的投入小得多,几乎不需要额外成本,并且可以提供大量详细、准确的动态数据,对数据进行进一步挖掘也更容易。
因此公交IC卡系统对城市公交以及公交的智能化调度、线路的开辟、优化、站点的设置等都具有极其重要的意义。
基于上述原因,设计一款以射频识别为核心技术的公交收费系统将给城市公交带来长期的效益。
本次探讨、设计的应用系统将具有售卡、充值等一系列功能。
2系统总体设计介绍
2.1系统功能介绍
将RFID技术应用到公交充值系统中,实现公交充值系统的以下功能。
Ø
制卡
制卡功能专门用于对卡片进行初始化,卡片在正式投入使用前必须经过初始化,初始化的工作就是对卡片内的空间按照规定进行化分,然后将密钥、存取权限写入卡内。
[1]
售卡充值
乘客可到车站的售卡充值系统中办理购卡、充值手续。
该系统现场为用户的IC卡写入充值金额,并将用户信息输入管理系统数据库中保存。
退卡、挂失、解挂
退卡:
删除数据库中该用户的记录,收回旧卡。
旧卡经过数据清理可实现再利用。
挂失:
将原卡进行备注,列入黑名单。
用户可重新办理新卡,并将旧卡中的余额写入新卡中,减少用户损失。
解挂:
可重新使卡有效。
信息管理
通过上位机软件可查看数据库中的信息,获息用户相关信息。
2.2RFID简介
2.2.1RFID系统组成
最基本的RFID系统由三部分组成:
1)标签(Tag,即非接触式IC卡):
由耦合元件及芯片组成,标签含有内置天线,用于和射频天线间进行通信。
2)读卡器:
读取(在读写卡中还可以写入)标签信息的设备。
3)天线:
在标签和读取器间传递射频信号。
[2]
2.2.2RFID通讯原理
系统的基本工作流程是:
读卡器通过发射天线发送一定频率的射频信号,卡片内有一个LC串联谐振电路,其频率与读卡器发射的频率相同,在电磁波的激励下,LC谐振电路产生共振,从而使电容内有了电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内储存,当所积累的电荷达到2V时,此电容可做为电源为其它电路提供工作电压。
因此当射频卡进入发射天线工作区域时产生感应电流,射频卡获得能量被激活;
射频卡将自身编码等信息通过卡内置发送天线发送出去;
系统接收天线接收到从射频卡发送来的载波信号,经天线调节器传送到读写器,读卡器对接收的信号进行解调和解码然后送到后台主系统进行相关处理;
主系统根据逻辑运算判断该卡的合法性,针对不同的设定做出相应的处理和控制,发出指令信号控制执行机构动作。
2.2.3非接触式IC卡的优点
与接触式IC卡相比较,非接触式IC卡具有以下优点:
1)可靠性高
非接触式IC卡与读写器之间无机械接触,避免了由于接触读写而产生的各种故障。
例如:
由于粗暴插卡,非卡外物插入,灰尘或油污导致接触不良造成的故障。
此外,非接触式卡表面无裸露芯片,无须担心芯片脱落,静电击穿,弯曲损坏等问题,既便于卡片印刷,又提高了卡片的使用可靠性。
2)操作方便
由于非接触通讯,读写器在10CM范围内就可以对卡片操作,所以不必插拨卡,非常方便用户使用。
非接触式卡使用时没有方向性,卡片可以在任意方向掠过读写器表面,既可完成操作,这大大提高了每次使用的速度。
3)防冲突
非接触式卡中有快速防冲突机制,能防止卡片之间出现数据干扰,因此,读写器可以"
同时"
处理多张非接触式IC卡。
这提高了应用的并行性,无形中提高系统工作速度。
4)可以适合于多种应用
非接触式卡的序列号是唯一的,制造厂家在产品出厂前已将此序列号固化,不可再更改。
非接触式卡与读写器之间采用双向验证机制,即读写器验证IC卡的合法性,同时IC卡也验证读写器的合法性。
非接触式卡在处理前要与读写器之间进行三次相互认证,而且在通讯过程中所有的数据都加密。
此外,卡中各个扇区都有自己的操作密码和访问条件。
接触式卡的存储器结构特点使它一卡多用,能运用于不同系统,用户可根据不同的应用设定不同的密码和访问条件。
5)加密性能好
非接触式IC卡由IC芯片,感应天线组成,并完全密封在一个标准PVC卡片中,无外露部分。
非接触式IC卡的读写过程,通常由非接触型IC卡与读写器之间通过无线电波来完成读写操作。
非接触型IC卡本身是无源体,当读写器对卡进行读写操作时,读写器发出的信号由两部分叠加组成:
一部分是电源信号,该信号由卡接收后,与其本身的L/C产生谐振,产生一个瞬间能量来供给芯片工作。
另一部分则是结合数据信号,指挥芯片完成数据、修改、存储等,并返回给读写器。
由非接触式IC卡所形成的读写系统,无论是硬件结构,还是操作过程都得到了很大的简化,同时借助于先进的管理软件,可脱机的操作方式,都使数据读写过程更为简单。
2.2.4射频卡的标准及分类
目前生产RFID产品的很多公司都采用自己的标准,国际上还没有统一的标准。
目前,可供射频卡使用的几种标准有ISO10536、ISO14443、ISO15693和ISO18OOO。
应用最多的是ISO14443和ISO15693,这两个标准都由物理特性、射频功率和信号接口、初始化和反碰撞以及传输协议四部分组成。
按照不同得方式,射频卡有以下几种分类:
1)按供电方式分为有源卡和无源卡。
有源是指卡内有电池提供电源,其作用距离较远,但寿命有限、体积较大、成本高,且不适合在恶劣环境下工作;
无源卡内无电池,它利用波束供电技术将接收到的射频能量转化为直流电源为卡内电路供电,其作用距离相对有源卡短,但寿命长且对工作环境要求不高。
2)按载波频率分为低频射频卡、中频射频卡和高频射频卡。
低频系统主要用于短距离、低成本的应用中,如多数的门禁控制、校园卡、动物监管、货物跟踪等。
中频系统用于门禁控制和需传送大量数据的应用系统;
高频系统应用于需要较长的读写距离和高读写速度的场合,其天线波束方向较窄且价格较高,在火车监控、高速公路收费等系统中应用。
3)按调制方式的不同可分为主动式和被动式。
主动式射频卡用自身的射频能量主动地发送数据给读写器;
被动式射频卡使用调制散射方式发射数据,该类技术适合用在门禁或交通应用中,因为读卡器可以确保只激活一定范围之内的射频卡。
4)按作用距离可分为密耦合卡(作用距离小于1厘米)、近耦合卡(作用距离小于15厘米)、疏耦合卡(作用距离约1米)和远距离卡(作用距离从1米到10米,甚至更远)。
5)按芯片分为只读卡、读写卡和CPU卡。
2.2.5RFID技术发展的瓶颈
隐私权问题
失业问题
国际标准的制定与推行
成本的降低
技术的突破
2.3系统硬件结构
系统的上位机主要负责传输读写命令给下位机,进行用户数据信息的统一管理,并实现良好的人机交互。
系统的下位机主要负责和读卡器之间进行数据传输,再通过读卡器和IC卡进行数据交换,并将响应数据传回给上位机。
图1为系统的硬件结构图。
系统的IC卡采用Mifare标准IC卡MF1ICS50,读卡器采用周立功内置PHILIPS高集成ISO14443A读卡芯片MFRC500的ZLG500AT读卡模块。
系统的MCU采用MICROCHIP公司的PIC系列单片机,采用内部的USART模块与读卡器进行通信,通过RC500芯片与IC卡进行无线数据收发,并通过RS485与计算机相连接。
另外,下位机还带有显示功能。
上位机软件通过ACCESS数据库对用户数据信息进行管理。
2.4上位机控制界面设计
采用VisualC++编写上位机软件程序,运用MFC中的CRecordSet类与Access数据库相连接,行进数据交换。
界面采用树和列表的视图方式,实现良好的人机交互功能。
上位机与下位机的通信采用485通信,运用VC中的MSCOMM控件来控制计算机的串口数据的接收和发送。
2.5下位机软件流程
下位机的工作流程为:
PIC单片机通过控制ZLG500AT读卡模块中的MFRC500读卡芯片,与Mifare标准IC卡进行数据通信,并通过RS485与计算机交换数据信息的。
首先,单片机上电后对各模块进行初始化,然后接收上位机的指令,根据不同的指令,对卡实行不同的数据操作。
下图为软件流程图:
3PIC16F877单片机
3.1PIC16F877系统硬件概况
3.1.1内核及外围模块
3.1.2内核结构的特点
采用哈佛结构
程序空间8K字节,共35条指令
512字节RAM,使用寄存器文档的概念
8层硬件堆栈
指令采用流水线机制,指令顺序执行时只需一个指令周期,程序分支跳转需2个字节
具有独立看门狗
3.1.3存储器寻址方式
3.1.3.1数据寄存器寻址:
直接寻址:
由于在指令编码中只有最低7位数据代表了寻址操作数地址,而有512字节RAM,因此需要利用STATUS中的RP1:
RP0来实现高2位的寻址,即划分BANK区。
间接寻址:
利用特殊寄存器FSR和STATUS的第7位IRP来表示9位地址,用INDF寄存器来实现间接寻址。
即对INDF的任何操作,操作对象都被转到FSR+IRP构成的9位地址处的寄存器。
3.1.3.2程序存储器寻址:
由于在指令编码中只有11位数据代表了跳转的目的地址,而程序空间有8K字节,因此需要利用PCLATH的3:
4位来实现高2位的寻址,即分页的概念。
当执行跳转指令时,会自动把两者结合送入PC中,实现程序的正确跳转。
由PCLATH的低5位和PCL来表示13位地址。
当指令的操作数为PCL时,那么当指令把结果写回PCL的同时,内核会自动把PCLATH的低5位同步写入PCH中,实现程序的正确跳转。
[3]
3.1.4中断机制
PIC系列单片机只有一个中断入口(004H),所有的中断都通过该入口进入中断服务子程序,至于是哪一个中断源,只有在进入中断服务子程序后查询中断标志才能确认。
该单片机没规定中断的优先级,也没有用于设定中断优先级的寄存器,中断的优先级是由于中断服务子程序中断查询中断标志的顺序确定的。
CPU响应一个中断并进入中断服务程序后,全局中断允许位GIE被自动清零,CPU在此期间不响应其它中断,也不能形成中断嵌套。
中断大致可以分为两类:
一类是由中断控制器INTCON直接控制的中断,包括外部引脚中断INT的RB口电平变化中断以及定时器TMRO溢出中断,它们的中断允许位和中断标志都在INTCON寄存器中。
引脚中断INT和定时器TMRO溢出中断与其它微处理器相同。
RB口电平变化中断是PIC单片机特有的中断,当把RB口高4位I/O口线设置为输入时,只要这4位I/O口线上的电平发生变化就会引起中断;
另一类是外围接口中断,包括定时器TMR1溢出中断、TMR溢出或匹配中断、同步串行口中断、异步串行口中断、并行从动口中断、A/D转换完成中断和CCP(Capture/Compare/PWM)中断等。
这些中断的允许位分别在PIE1和PIE2寄存器,而中断标志则分别在PIR1和PIR2中。
3.2USART通信模块
通用同步异步接收发送模块(USART)是二线制串行通信接口,它可以被定义如下三种工作方式:
全双工异步方式、半双工同步主控方式、半双工同步从动方式。
USART功能模块含有两个8位可读/写的状态/控制寄存器,它们是发送状态/控制寄存器TXSTA和接收状态/控制寄存器RCSTA。
USART带有一个8位波特率发生器BRG(BaudRatoGenerator),这个BRG支持USART的同步和异步工作方式。
用SPBRG寄存器控制一个独立的8位定时器的周期。
在异步方式下,发送状态/控制寄存器TXSTA的BRGH位也被用来控制波特率。
在发送或接收数据时,通过查询发送/接收中断标志位即可判断是否发送完一个数据/接收到一个数据。
发送/接收中断标地不需要也不用软件复位。
在异步串行发送的过程中,只要TXREG寄存器为空,中断标志TXIF就置位。
因此,TXIF为1并不是发送完毕的标志,但仍可以用TXIF标志来判断。
因此当TXREG为空时,将数据送入后,数据会保留在TXREG寄存器中,直到前一个数据从发送移位寄存器中移出,即前一个数据发送完。
本系统中利用USART模块的异步通信功能,通过MAX485芯片实现和上位机的通信。
为了把RC6和RC7分别设置成串行通信接口的发送/时钟(TX/CK)线和接收/数据(TX/DT)线,必须首先把SPEN位(TCSTAT的RD7)和方向寄存器TRISC的D7:
D6置1。
3.3定时器
3.3.1定时器0
Timer0是一个8位定时器,只要程序在运行,TMR0的递增计数就不会停止,TMR0寄存器用来存放计时值。
Timer0的时钟源选择是由0PTl0N_REG寄存器中的T0CS位来决定的,将此位设为0表示使用内部的时钟源,设为1则使用外部时钟。
使用内部时钟时,定时器会每一个指令周期增量一次,也就是时钟频率为Fosc/4(在不使用顿分频器的情况下)。
Timer0有一个预定标器(也叫预分频器),通过预分频器的使用,可以使得定时器可计算的时间范围增加不少。
这个预分频器也可分配给WDT作为后分频器使用,至于预分频器是给WDT还是Timer0使用,则是由0PTION_REG寄存器中的PSA位来决定的。
当PSA位为0时,表示作为Timer0的预分频器:
当PSA位为1时,表示作为WDT的后分频器。
这个预分频器的比例由OPTlON_REG寄存器中PS2、PSl与PS0三个标志位来设置。
3.3.2定时器1
16位计数宽度。
可工作在同步定时器方式,同步计数器方式,异步计数器方式。
Timer1的外部时钟输入引脚有2个,分别是RC0/T10SO/T1CKI和RCl/T1OSI/CCP2引脚。
在单片机内部,这2个引脚之间内置了一个振荡器电路。
在进入休眠模式后,振荡器依然会继续输出,因此可以继续Timer1的累计动作。
和CCP模块功能结合时,必须工作于同步模式。
3.3.3定时器2
8位计数宽度。
有一个前置预分频器和后置预分频器。
Timer2另外一个特点就是带有一个PR2寄存器,称之为周期寄存器,这个寄存器可以被填入适当的值。
当TMR2寄存器的值增量到与PB2寄存器的值相等时,便会产生Timer2的中断。
可于CCP模块结合,产生PWM。
4Mifare标准IC卡MF1ICS50
4.1Mifare标准IC卡MF1ICS50简介
4.1.1主要指标
●容量为8K位EEPROM
●分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位
●每个扇区有独立的一组密码及访问控制
●每张卡有唯一序列号,为32位
●具有防冲突机制,支持多卡操作
●无电源,自带天线,内含加密控制逻辑和通讯逻辑电路
●数据保存期为10年,可改写10万次,读无限次
●工作频率:
13.56MHZ
●通信速率:
106KBPS[4]
4.1.2结构组成
●RF接口:
调制器解调器,整流器,时钟再生器,上电复位,电压调整器
●反冲突:
在同一区域中的卡可以被顺序选中执行操作
●确认:
确认过程确保只有通过每个段的两个密钥才能对这个段进行任何存储器操作
●控制和算术逻辑单元:
值以特殊的冗余格式保存而且可以增加和减少
●EEPROM接口
●Crypto单元:
Mifare经典系列经区域验证的CRYPTO1流密码确保数据交换的保密性
●EEPROM:
有1K字节分成16个区每区又分成4段每一段中有16个字节每个区的最后一个段叫尾部它包括两个密钥和这个区中每一个段的访问条件。
4.2EEPROM存储器
4.2.1存储结构
●M1卡分为16个扇区,每个扇区4段(段0、段1、段2、段3),每段16字节。
●第0扇区的段0,它用于存放厂商代码,已经固化,不可更改。
●每个扇区的段0、段1、段2为数据段,可用于存贮数据。
数据段可作两种应用:
一般的数据保存,可以进行读、写操作;
数据值,可以进行初始化值、加值、减值、读值操作。
●每个扇区的段3为控制块,包括了密码A、存取控制、密码B。
4.2.2存储器访问
每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取控制。
每个数据段和区尾的访问条件由3个位来定义它们以取反和不取反的形式保存在指定区的区尾中。
存取控制为4个字节,共32位。
扇区中的每个块(包括数据块和控制块)的存取条件是由密码和存取控制共同决定的,在存取控制中每个块都有相应的三个控制位,定义如下:
块0:
C10C20C30
块1:
C11C21C31
块2:
C12C22C32
块3:
C13C23C33
三个控制位以正和反两种形式存在于存取控制字节中。
密钥和访问位的读写访问可分为从不、密钥A、密钥B或密钥A|B。
详细的数据段及尾区的访问条件如下表所示。
根据系统需要,各访问权限设定为:
段3:
011,段2-0:
110。
4.3流程示意
1)请求标准所有(request):
当有卡片进入读写器的操作范围时,读写器以特定的协议与它通讯,从而确定该卡是否为M1射频卡,即验证卡片的卡型;
若没有则一直处于等待状态。
2)反冲突环(Anticollision):
反冲突环可以读出卡的序列号。
如果在RWD的工作范围内有几张卡RWD,通过唯一的序列号来区别它们,而且每次选择其中一张卡进行下一步操作,没有