非接触式IC卡燃气表射频卡的工作原理和存储结构

介绍

非接触式IC卡通过射频感应从读写设备中获取能量并交换数据,因此非接触式IC卡也称为射频卡。与传统的接触式IC卡相比,非接触式IC卡在可靠性、易用性、安全性、抗干扰性等方面优势明显。从长远来看,非接触式IC卡必将取代目前广泛使用的接触式IC卡。目前国内推出的射频IC卡主要有荷兰飞利浦的Mifare和美国TIMIC的E55xx系列卡等,飞利浦的Mifare占同类智能卡销量的60%以上卡在世界范围内,并已成为市场上的主流产品。我们承接非接触式IC卡燃气表的开发。在仔细分析了市场上现有射频卡应用的成功经验和失败教训后,发现不少产品都不同程度地存在射频信号读写不稳定、数据通信不可靠等问题。因此,如何提高射频卡读写模块的稳定性和可靠性是本项目的重点。

1MF1射频卡的工作原理及存储结构

1.1它是如何工作的

非接触式IC卡燃气表中射频卡的电气部分由天线、高速(106Kb/s)射频接口、控制单元和8K位EEPROM组成。其工作原理如下: 燃气表中的读数 写入模块向射频卡发送一组固定频率的电磁波。卡内有一个LC串联谐振电路,其频率与读写模块发出的频率相同。有了电荷,在电容器的另一端,连接一个单向电子泵,将电容器中的电荷输送到另一个电容器进行存储。当累积电荷达到2V时,此电容可作为其他电路的电源。提供工作电压,

1.2 存储结构及组成

在射频卡的具体选型上,考虑到通用性和安全性,首选飞利浦的典型产品Mifare1ICS50(简称MF1)卡)。

MF1卡的存储容量为1K×8位字长,使用EEPROM作为存储介质。整个结构分为16个扇区,编码为扇区0~15.每个扇区有4个块(Block),分别是块0、1、2,3.每个块有16个字节。一个扇区总共有16Byte×4=64Byte。每个扇区的第四块也称为尾块,其中包含扇区的密码A(6字节)、访问控制(4字节)、密码B(6字节)为控制块。剩下的 3 个块是数据块。

在本系统中,MF1卡作为燃气表用户卡使用时,扇区1、2用于存储用户相关信息,剩余空间可以“一卡多用”。具体数据存储分布如图1所示。

620)this.style.width=620;” 边框=0>

MF1卡每个扇区的密码和访问控制都是独立的。您可以根据实际需要设置自己的密码和访问控制。访问控制决定了每个区块的读写权限和密码验证。每个块(包括数据块和控制块)的访问条件由密码和访问控制共同决定。

2 硬件设计

硬件主要包括MCU电路模块、基于RC500的基站模块、天线模块电路及相关匹配电路等。系统原理连接示意图如图2所示。

620)this.style.width=620;” 边框=0>

2.1MCU部分

单片机选用功耗低、安全性高、稳定性强的MC68HC908GP32(简称GP32)芯片)[2]。芯片应用开发工作。公司拥有100多个08系列MCU型号,其中GP32更适合燃气表中射频卡读写模块的设计。GP32不仅性能稳定,而且具有高性价比的突出优势。32KB的Flash存储器,支持在线编程,8MHz内部总线频率和低功耗,特别是8字节(32位)Flash区的密码保护,大大增强了燃气表中信息的安全性。

2.2 基站部分

系统基站单元采用PHILIPS公司的MF-RC500芯片。MF-RC500是实现与射频IC卡无线通信的核心部件基于mf rc500射频卡信息的读写实现,也是读写模块读写MF1卡的关键接口芯片。该芯片目前用于13.56MHz。用于频段非接触式通信的主流读卡器IC。MF-RC500芯片采用先进的调制解调技术,支持13.56MHz频段的所有无源非接触式通信方式和协议,支持ISO14443A中的所有层。MF-RC500芯片内部发射部分可直接驱动天线工作距离100mm,无需外加有源电路,接收模块部分为兼容ISO14443A的响应信号提供稳健可靠的解调/解码电路。MF-RC500芯片 燃气表的基带部分包括ISO14443A帧处理、CRC校验和快速CRYPTO1加密算法,为燃气表的信息安全和系统的可靠运行提供了有力保障[3]。

2.3 天线及相关匹配电路部分

MFRC500根据其寄存器的设置对发射的数据进行调制,得到发射信号,通过天线驱动引脚TX1和TX2驱动的天线以13.56MHz的电磁波形式发送出去。非接触式卡在其射频范围内采用射频场负载调制作为响应。天线从卡接收到的响应信号通过天线匹配电路发送到MF-RC500的接收引脚RX。芯片内部的接收器对接收到的信号进行解调解码,并根据寄存器的设置进行处理基于mf rc500射频卡信息的读写实现,最后发送数据。对于并行接口,它由微控制器 [4] 读取。为了获得稳定可靠的射频信号,天线部分的电路设计非常关键,

2.3.1 高频滤波电路

为了防止对信号线的干扰,采用了EMC高频滤波电路。MF-RC500的天线引脚TX1、TX2、RX和参考电压VMID先经过EMC滤波电路,再连接到天线匹配电路。EMC滤波电路图见图3,L1、L2、C7、C8、C9、C10构成MF-RC500射频发射信号的滤波电路;R1、R2、C5、C6组成接收信号的滤波电路,为了达到良好的电磁兼容性,在制作印刷电路板(PCB)时,这部分电路必须靠近天线引脚RX、TX1 , TX 的 MF-RC5002.

2.3.2 天线及匹配电路

图片[1]-非接触式IC卡燃气表射频卡的工作原理和存储结构-老王博客

为了给射频卡提供足够的能量,天线和卡必须紧密耦合,耦合系数必须至少为0.3(当耦合系数为0时,即由于距离或磁屏蔽而完全解耦;耦合系数为1,即完全耦合)。因此,天线线圈采用直径为1mm的导线,设计为3匝65mm×54mm的方形天线。此时天线线圈产生的电感由下式计算:

620)this.style.width=620;” 边框=0>

其中:L——天线电感;I——环形导体的长度(即一匝的周长),cm;D——导体的宽度,即导线的直径,mm;N——线圈的匝数。

天线线圈的电感值可以通过公式(1)计算得到1μH左右。为了尽量减少天线线圈接收到的射频信号从芯片天线引脚的损耗和辐射,如图所示的天线使用图3中的匹配电路对其进行阻抗转换,天线匹配电路的电容C1、C2、C3、C4的参数由天线的电感值决定。由于实际天线线圈的电感值每块不同的天线电路板的读写距离总是略有不同,因此在天线匹配电路中使用了一个可调电容C0,通过调整可调电容可以将每块天线板的读写距离调整到最佳。

620)this.style.width=620;” 边框=0>

射频天线电路原理图

3 软件设计

软件部分主要由一个主程序和几个子程序(或功能)组成。子程序(或函数)在主程序中被调用。软件采用模块化编程方式。根据燃气表与MF1卡的通信流程,将读写模块与用户卡的通信操作以函数的形式封装,构成读写模块的射频通信函数[5 ] 通信函数包括:卡片查询/响应函数mf_request_ans()、防碰撞函数mf_anticoll()、选择卡片函数mf_select()、密码认证(.)认证函数mf_authen()、写气函数mf_write()、卡片清零函数 mf_clear()。对于这些功能的具体实现过程,篇幅有限,

3.1 密码认证流程实现

MF1内部的安全加密算法称为Crypto1,使用的密码长度为48bit,即6个字节。MF1 卡中的数据受密码保护。只有使用正确的密码,才能成功验证卡密码,然后才能进行访问。卡数据存储在 EEPROM 中。根据ISO14443A协议成功选卡后,用户若要继续访问该卡,必须先对卡进行密码验证。

使用正确密码的有效密码认证经历 3 个阶段:

1)通过LoadKeyE2(下面的LoadKeyE2和LoadKey,Authent1和Authent2都是MF-RC500命令)或者LoadKey命令将密码加载到内部密码缓冲区中。

2)启动 Authent1 命令。命令执行后,可以通过密码错误标志(寄存器ErrorFlag的第6位)来检查命令的执行情况。

3)启动 Authent2 命令。命令执行后,可以通过密码错误标志(ErrorFlag寄存器的第6位)和Crypto1On位(寄存器Control的第3位)来检查命令的执行情况。

如果Authent2命令执行正确,则卡存储密码验证通过,可以进一步改写卡存储区的用户数据(如购买的gas量、最后剩余的gas量等) .

3.2主程序设计

读写用户卡的主要程序操作流程如图4所示。燃气用户卡收到读卡器模块的指令后,会对指令进行解码,通过控制逻辑对数据进行处理,并返回相应的处理结果。当用户卡位于燃气表读卡器模块有效工作范围之外时,卡上的芯片处于无电状态,不能进行任何操作;当进入读卡器有效工作范围时,用户卡上电复位,进入等待状态。在这种状态下,它可以正确接收和响应读卡器发送的查询/响应命令,并进行防冲突、相互认证、读、写、加减、恢复、传输等操作。最后,

620)this.style.width=620;” 边框=0>

主程序操作流程

4。结论

介绍了基于PHILIPS公司MF-RC500芯片的射频卡读写模块在非接触式IC卡燃气表开发中的应用。可靠和独特的特点。如果改造得当,可应用于水表、电表,实现对此类传统电表的升级换代。(宿迁大学计算机系王志超撰)

1

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论