射频识别读写器的制作方法

文档序号:6590866阅读:978来源:国知局
专利名称:射频识别读写器的制作方法
技术领域 本实用新型涉及一种识别技术,特别涉及一种基于无线通信和自动识别技术相结合的非接触式识别技术。

背景技术
我国在医院信息化方面起步较晚,目前大部分医院的病历记录方式主要是插卡式或者刷卡式读写器,它们容易造成卡的损坏和交叉感染,操作繁琐区分正反面以至工作效率低,保密性不强,传输数据时间较长。随着提高临床工作效率的压力越来越大,医疗工作者正在呼吁一种更为可靠的系统,以便在诊断患者时可以帮助他们更容易更直接地获得他们需要的信息。

发明内容
本实用新型是针对现在电子病历信息管理方面的不足问题,提出了一种射频识别读写器,采用射频识别(RFID)技术的电子病历方式,实现电子病历卡信息和读卡器的非接触式数据传输,并且简单高效易操作,保密性强,稳定性好。
本实用新型的技术方案为一种射频识别读写器,包括射频模块、主控模块、串口通信模块及天线外围电路,上位机通过串口通信模块将信号送入主控模块,同时主控模块将数据和信号通过串口通信模块送回上位机,主控模块将信号输出到射频模块,射频模块根据射频模块的输入信号,输出信号给天线外围电路,发出读写信号。上位机通过串口通信模块将信号送入主控模块,然后主控模块发出操作信号到射频模块,射频模块根据射频模块的输入信号,输出信号给天线外围电路,发出读写信号,同时主控模块再将数据和信号通过串口通信模块送回上位机。
所述射频模块选用RC500芯片,所述主控模块选用AT89S52芯片。所述AT89S52的引脚PD2中断0(INT0)接RC500的中断请求端IRQ管脚。
本实用新型的有益效果在于本实用新型射频识别读写器,采用射频识别(RFID)技术的电子病历方式,实现电子病历卡信息和读卡器的非接触式数据传输,提供了一个便捷、可靠、快速的信息储存,既提高了医院的业务效率,又方便了患者。

图1为本实用新型射频识别系统结构示意图; 图2为本实用新型射频识别读写器结构框图; 图3为本实用新型射频识别读写器中RC500与AT89S52的引脚连接图; 图4为本实用新型射频识别读写器中天线与RC500的连接图; 图5为本实用新型射频识别读写器中防冲突循环流程图。
具体实施方式
如图1所示RFID(Radio Frequency Identification,射频识别)系统的结构图,典型的射频识别系统由读写器和非接触式IC卡两部分组成。读写器同非接触式IC卡之间进行无线通讯,因此二者都具有无线收发模块及天线。
如图2所示读写器结构框图主要包括射频模块3、主控模块2、串口通信模块1及天线外围电路4。射频模块3选用的RC500芯片是与Mifare卡实现无线通信的核心部件,也是读写Mifare卡的关键接口芯片。该芯片采用先进的调制和解调技术,可用于对应答信号进行解调和解码。主控模块2来控制射频模块3的RC500芯片,驱动天线外围电路4对Mifare卡进行读写操作。上位机通过串口通信模块1与读写器的主控模块AT89S52相连,发送读卡、写卡等命令,接收主控模块2的数据与操作信号。
如图3所示RC500芯片引脚1(OSCIN),32(OSCOUT)为晶振输入输出端,外接13.56MHz的时钟电路作为同步系统的编码器和解码器的时间基准,同时也作为信号的载波频率。引脚2(IRQ)为中断请求端,通过在寄存器中设置IRQ位指示一定的事件并使IRQ脚有效,其端口和单片机的中断0相连接。引脚5(TX1),7(TX2)为发送器,发送由包络信号调制的13.56MHz的载波;引脚29(RX)为接收器输入,卡应答输入脚。引脚9(NCS)为片选禁止信号,接单片机的I/O口线P2.7。引脚13~20(D0~D7)为8位双向数据总线,在本系统中,此8位数据端口与单片机数据端口P0口直接连接并进行数据传送;引脚21(ALE)为地址锁存使能信号,接单片机的地址锁存。
如图4所示本读卡器的创新点是将可调电容Cvar并联到C2上,这样可以根据实际情况对电容作出微调,从而对天线设计进行优化,使得读写距离可可扩大到90mm。
软件系统的改进以往的读写器每次只能进行单张卡的读取,如果多张卡进入读卡器读写范围内,极易造成读卡器的死机。本软件系统采用了防冲突指令,如果有多张卡同时在读写器读写范围内,读写器将会首先与每一张卡进行通信,读取每一张卡的序列号(Serial Number)。由于每一张Mifareone卡都具有惟一的序列号,绝不会相同,因此程序员将启动读写器中的AntiCollision防碰撞功能配合卡上的防重叠功能模块,根据卡序列号来选定其中一张卡。被选中的卡将被激活,可以与读写器进行数据交换;而未被选中的卡处于等待状态,随时准备与读写器进行通信。
读写器通过发送ANTICOLLISION和SELECT命令执行防冲突循环操作,这两条命令的格式如下表 其中SEL为命令代码,SEL代码为93、95或97,分别对应于UID CL1、UID CL2或UID CL3;NVB表示此次防冲突命令的UID域中正确的比特数;BCC字节只有在UID的4字节都正确时才存在,它表示此时整个UID都被识别,防冲突流程结束。
如图5所示为读写器(PCD)完成位帧防冲突的流程图,其操作步骤如下 1)读写器将用于与选择防冲突类型和级别的代码赋值给SEL。
2)读写器将“20H”赋值给NVB,此值表示PCD不发出UID CLn的任一部分,而迫使在场的PICC发回完整的UID CLn。
3)读写器发送SEL和NVB到射频卡。
4)在读写范围内的所有卡片返回UID CLn。
5)假如多于一个卡发回应答,则产生了冲突,此时读写器接收到的应答信息至少有1位既是0又是1,即该位的前半部分和后半部分都有调制信号。如果不发生冲突,则可跳过(6)~(10)步。读写器应认出第1个发生冲突的位置。
6)读写器指定NVB的值为UID CLn的有效位个数,所谓“有效位”是指接收到的UID CLn发生冲突之前的部分,后面再由PCD决定加一位“0”或“1”。一般加“1”。
7)读写器发送命令SEL NVB和有效位数据。
8)只有其UID CLn部分与PCD发送的有效数据内容相等时,才发出UID CLn的其余位。这样就排除了冲突位为“0”的PICC。
9)假如还有冲突发生,重复(6)~(9)步,最大循环次数为32。
10)假如没有冲突再发生,读写器指定NVB为“70H”,此值表示读写器将发送完整的UID CLn。
11)读写器发送命令SEL、NVB、带有CRC_A校验的40BIT UID CLn。
12)与40位UID CLn匹配的PICC,以SAK作为应答。
进行防冲突时,读写器将得到卡片的序列号(Serial Number)。序列号存储在卡的Block 0中,共有5个字节,实际有用的为4个字节,另一个字节为序列号的校验字节。
防冲突函数为 char M500PiccCascAnticoll(0,unsigned char *snr) *snr是输出函数,表示卡向读写器返回的序列号。
char M500PiccCascAnticoll(unsigned char bcnt,unsigned char *snr) { …… while(!complete &&(status==MI)OK))//正执行防冲突子程序 { ResetInfo(MInfo); WriteIO(RegChannelRedundancy,0x03); nbits=bcnt%8; //已经接收到的位数 if(nbits) //如果接收的末位数不为0 { WriteIO(RegBitFraming,nbits<<4|nbits); nbytes=bcnt/8+1; //已经接收到的字节数 …… } else //如果接收到的末位数为0 { nbytes=bcnt/8; //已经接收到的字节数 } SerBuffer[0]=0x93;//命令代码 SerBuffer[1]=0x20+((bcnt/8)<<4)+nbits;//要发送的数据位 for(i=0;i<nbytes;i++) { SerBuffer[i+2]=snr_in[i];//已知的卡序列号赋值给发送的系列号 } if(status==MI_OK||status==MI_COLLERR) { if(MInfo.nBitsReceived!=(40-bcnt))//如果接收的字节数不为5 { status=MI_BITCOUNTERR;//位错误 } else { byteOffset=0; if(nbits!=0) { snr_in[nbytes-1]=snr_in[nbytes-1]|SerBuffer[0]; byteOffset=1; } for(i=0;i<(4-nbytes);i++) { snr_in[nbytes+i]=SerBuffer[i+byteOffset]; //把发送存储器的序列号依次送给snr } if(status!=MI_COLLERR)//无误也无碰撞 { dummyShift2=snr_in[0]^snr_in[1]^snr_in[2]^snr_in[3]; //用循环冗余检验传输数位是否正确 dummyShift1=SerBuffer[MInfo.nBytesReceived-1]; if(dummyShift2!=dummyShift1) //如果校验不对,则状态标示为校验错误 { status=MI_SERNRERR; } else { complete=l; } } else//碰撞发生 { bcnt=bcnt+MInfo.collPos-nbits; //最终接收数等于已接受的位数加上碰撞位 status=MI_OK; } } } } …… return status; } 设计说明 1.进行射频电路PCB设计时,除了要考虑普通PCB设计的布局外,还需考虑如何减小电路中各部分之间的相互干扰,尤其是减小天线与射频电路之间的干扰;由于天线和读卡器的分离,在实际使用中极大方便了使用者。
2.在射频电路PCB设计中,电源线和地线的合理布局可以最大程度克服电磁干扰的重要手段。为了降低电源于地线之间噪音,我们采取三个措施1)在电源线与地线之间加上去藕电容;2)电源线比一般数据连线粗;3)用大面积铜层作地线用,在印制板上把没有被用上的地方都与地相连作为地线用。
3.为了消除高频干扰,数字电源与模拟电源之间接入10μH电感。数字地与模拟地公用一个地;电源电路的去藕合电容选用贴片式的,尽量和电源脚靠近,均匀贴放在RC500芯片轮廓外侧。
权利要求1.一种射频识别读写器,其特征在于,包括射频模块、主控模块、串口通信模块及天线外围电路,上位机通过串口通信模块将信号送入主控模块,同时主控模块将数据和信号通过串口通信模块送回上位机,主控模块将信号输出到射频模块,射频模块根据射频模块的输入信号,输出信号给天线外围电路,发出读写信号。
2.根据权利要求1所述射频识别读写器,其特征在于,所述射频模块选用RC500芯片,所述主控模块选用AT89S52芯片。
3.根据权利要求2所述射频识别读写器,其特征在于,所述AT89S52的引脚PD2中断0(INT0)接RC500的中断请求端IRQ管脚。
专利摘要本实用新型涉及一种射频识别读写器,包括射频模块、主控模块、串口通信模块及天线外围电路,将信号接收处理后发送出去,实现电子病历卡信息和读卡器的非接触式数据传输,提供了一个便捷、可靠、快速的信息储存,既提高了医院的业务效率,又方便了患者。并且读写器扩展性强,性价比高,功耗低,性能稳定,抗干扰能力强。
文档编号G06K17/00GK201556217SQ20092021016
公开日2010年8月18日 申请日期2009年9月25日 优先权日2009年9月25日
发明者李向东, 乐建威, 王新图, 杜铭唐, 曾念章 申请人:上海理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1