可读/写射频卡芯片e5550及其应用
1 e5550的功能特点
1.1 e5550的主要特点
e5550是由美国TEMIC和ATMEL公司生产的低成本可读/写射频卡芯片。目前国内很多公司均可向用户提供将e5550封装成标准射频IC卡的服务。由于e5550可以和低成本的射频卡基站U2270B构成完整的射频卡应用系统(关于U220B的介绍参见有关文章),且具有很高的性能价格比,因此在公交系统、餐饮服务系统等领域得到了广泛的应用。笔者将e5550射频卡应用到高校学生水电管理系统中,取得了良好的效果。e5550的功能特点如下:
●采用低功耗、低电压CMOS结构;
●采用非接触电感耦合方式来获取电源;
●工作频率为100~150kHz;
●内含264位非易失性存储器,其中224位可供用户自由使用;
●具有存储区块保护和密码保护功能;
●位传送速率可选。根据需要可以选择射频频率的8、16、32、40、50、64、100、128分频速率进行数据传送;
●能提供二进制码、幅移键控、频移键控、曼彻斯特编码和双相位码多种调制方式;
●具有多种工作方式可供选择。
1.2 e5550的引脚功能
e5550采用DOW和SO8两种封装形式,采用SO8封装的引脚排列如图1所示,由于芯片的工作电源是通过连接在引脚1和引脚8的天线感应获得的,因此将e5550芯片封装到卡内时,第2~7引脚是开路的。e5550的引脚功能描述见表1所列。
表1 e5550引脚功能描述
引脚号 | 引脚名称 | 功能描述 |
1 | Coil2 | 天线连接端2 |
2 | Test | 测试引脚 |
3 | Test | 测试引脚 |
4 | Vss | 负电源(地) |
5 | Vdd | 正电源 |
6 | Test | 测试引脚 |
7 | NC | 空引脚 |
8 | Coill | 天线连接端1 |
2 内部结构及工作模式设置
图2是e5550内部结构框图,现将各主要功能模块介绍如下:
2.1 e5550的内部主要功能模块
(1) 模拟信号处理前端
模拟信号处理前端一般与射频卡天线直接连接,它通过射频卡天线与射频卡读写器基站(以下简称基站)天线的电感耦合作用来为芯片提供工作电源,同时通过磁场进行双向数据传送。它主要由可对天线感应的交流电压进行整流的整流回路、时钟信号拾取回路、用于向基站传输数据的可关断负载和用于从基站接收数据的磁场间隙检测器构成。
(2)主控制器
主控制器回路主要用于完成以下功能:
●上电后从EEPROM中的“0”数据块读取工作模式
●控制对寄存器的读/写访问
●进行数据传送和错误信息处理
●对传送数据流的操作码进行解码
●在密码保护模式下进行密码验证。
(3) 位速率发生器
由于e5550有多种数据传送速率可供用户选择,因此,通过位速率发生器可按照用户设定的数据传送速率来产生相应的时钟信号。
(4)写译码器
对e5550的写操作是靠严格控制磁场间隙的时间来完成的,数据“0”和“1”对应着不同的磁场宽度。该回路主要用于从带有间隙的磁场中检出真实数据流。
(5)模式寄存器
模式寄存器是一个32位RAM,主要用于存储从EEPROM的“0”数据块读出的用户模式设置数据,每次上电后或程序复位后将自动执行一次调用操作。
(6)调制器
调制器用于对基站传送的数据进行调制,调制方式可由用户在曼彻斯特编码、二进制编码和双相位码中选择,考虑到基站解码的方便,一般选择曼彻斯特编码方式。
2.2 e5550的存储器
e5550内部的非易失性存储器共有264位,分8个数据块,每个数据块由1个锁定位(L)和32位数据位构成,其结构如图3所示。
每个数据块的第0位为该数据块的锁定位,一旦对应数据块的该位被置为“1”,则该数据块将不能再被重新编程,这一点用户是必须加以注意的,除非该块的数据为永久密码或身份识别码等不需要改变的数据,否则不要将L位置为“1”。数据块7一般用于存储32位用户密码,故在密码保护模式下对芯片的读/写操作均需进行密码匹配识别。数据块0用于设置芯片的工作模式,一般情况下。当工作模式确定后,为了防止意外的更改,最好将该数据块锁定。
2.3 e5550的工作模式设置
e5550的工作模式由EEPROM数据块0的12~32位决定,图4所示为具体格式,具体含义见表2。
表2 e5550工作模式设置描述
功 能 | 功 能 描 述 |
传送速率设置RF2~RF0 | RF2RF1RF0=000:RF/8速率 |
RF2RF1RF0=001:RF/16速率 | |
RF2RF1RF0=010:RF/32速率 | |
RF2RF1RF0=011:RF/40速率 | |
RF2RF1RF0=100:RF/50速率 | |
RF2RF1RF0=101:RF/64速率 | |
RF2RF1RF0=110:RF/100速率 | |
RF2RF1RF0=111:RF/128速率 | |
编码方式设置MS11~MS10 | MS11MS10=00:二进制编码 |
MS11MS10=01:曼彻斯特编码 | |
MS11MS10=10:双相位码 | |
MS11MS10=11:保留 | |
频移键幅移键控方式设置MS22~MS20 | MS22MS21MS20=000:二进制 |
MS22MS21MS20=001:PSK1 | |
MS22MS21MS20=010:PSK2 | |
MS22MS21MS20=011:PSK3 | |
MS22MS21MS20=100:FSK1 | |
MS22MS21MS20=101:FSK2 | |
MS22MS21MS20=110:FSM1a | |
MS22MS21MS20=111:FSK2a | |
PSK速率设置PS1~PS0 | PS1PS0=00:RF/2 |
PS1PS0=01:RF/3 | |
PS1PS0=10:RF/8 | |
PS1PS0=11:保留 | |
传送数据块设置B2~B0 | B2B1B0=000:仅向基站传送第0块 |
B2B1B0=001:仅向基站传送第1块 | |
B2B1B0=010:向基站传送第1~2块 | |
B2B1B0=011:向基站传送第1~3块 | |
B2B1B0=100:向基站传送第1~4块 | |
B2B1B0=101:向基站传送第1~5块 | |
B2B1B0=110:向基站传送第1~6块 | |
B2B1B0=111:向基站传送第1~7块 | |
密码设置PWD | PWD=0:不使用密码 |
PWD=1:使用密码 | |
终止符设置ST | ST=0:不使用序列终止符 |
ST=1:使用序列终止符 | |
块终止符设置BT | BT=0:不使用块终止符 |
BT=1:使用块终止符 |
3 对e5550的操作和注意事项
除了对e5550的工作方式进行正确的设置以外,使用当中必须正确理解e5550和基站间传送数据的规则。下面对读/写e5550射频卡的工作过程作以简要说明。
3.1 基站向e5550传送数据
基站给e5550射频卡发送数据时,也要对数据进行编码,以使数据信号加载到天线的发射信号中。TEMIC低频段射频产品采用改变发射天线负载的方式来对信号进行编码。这种方式用短暂的射频间隙把射频信号分割成不同长短的区间,从而实现对数据的编码。基站传送数据的起始场间隙比其它间隙要长,这个较长的间隙用于与射频卡读数据的同步。e5550在接收数据时,将长度为16~32个场时钟(典型值为1000μs)长度的射频场当作数据“0”,而将48~64个场时钟(典型值为350μs)长度的射频场当作数据“1”,标准场间隙时间典型值可取300μs。在编制基站程序时,可以采用中断射频场的方法来对数据进行发送。
3.2 由e5550向基站传送数据
从射频卡返回给基站的数据采用编码方式发射,具体采用哪种编码方式可视具体应用而定。由于基站芯片U2270B不能自动完成解码工作,因此,解码任务主要由与基站连接的微处理器来完成,而这会给程序的编制带来一定的困难。目前关于曼彻斯特解码的应用资料较多,因此,建议采用曼彻斯特编码进行数据的回收。
3.3 使用注意事项
由于e5550采用数据块方式传送数据,因而在使用中要注意以下几个问题:
(1)e5550发射数据时的位顺序
e5550向基站发射数据时是根据工作模式的设置从第1区开始循环发射的。每块数据的发射都是低位在前高位在后,即每一个数据区数据的发射都是从第1位数据开始到第32位数据结束,其中各区的锁定位是不发射的。
(2)存储位置的确定
e5550卡每次读/写的单位为32位,所以要用4个字节的空间存储一个数据区的数据。因此,进行基站程序设计时,一定要注意字节内的移位操作和字节地址变化的结合,避免出现读写数据的混乱,尤其要注意不要对锁定位产生误写入操作。
(3 )解码程序的调试
根据对e5550发射数据的调制方式,解码程序的编制必须严格遵守相应方式的时序规则。调试过程中最好能使用带有存储功能的逻辑分析仪捕捉e5550卡返回的数据,然后反复调整程序的时间常数,减少误码率,提高数据传送的效率。
4 结论
以e5550芯片为基片的射频卡是低成本射频卡应用系统开发中较好的选择,由于其工作频率为100~150kHz,因而给基站电路的开发与调试带来了极大的方便。在笔者承担的某省教育厅“高校学生公寓水电综合监控管理系统”项目中,采用U2270B基站芯片构成用电和用水计量装置,e5550射频卡作为预付费载体,取得了良好的应用效果。