导 言
IC卡又称集成电路卡,它是在大小和普通信用卡相同的塑料卡片上嵌置一个或多个集成电路构成的。集成电路芯片可以是存储器或向处理器。带有存储器的IC卡又称为记忆卡或存储卡,带有微处理器的IC卡又称为智能卡或智慧卡。记忆卡可以存储大量信息;智能卡则不仅具有记忆能力,而且还具有处理信息的功能。因其使用便捷、安全,日益为有关技术领域的工程师所关注。
图1 采用e5550/U2270B的非接触卡读写系统示意图非接触IC卡是一种接口电路。它通过卡上配置的发射机应答器振荡线圈与基站振荡线圈的耦合取得能量,通过必要的通信软件配合,保证卡与基站间实现双向数据交换,如图1所示。
图1 采用e5550/U2270B的非接触卡读写系统示意图
e5550是由美国TEMIC和ATMEL公司生产的低成本可读/写射频卡芯片。目前国内很多公司均可向用户提供将e5550封装成标准射频IC卡的服务。由于e5550可以和低成本的射频卡基站U2270B构成完整的射频卡应用系统(关于U220B的介绍参见有关文章),且具有很高的性能价格比,因此在公交系统、餐饮服务系统等领域得到了广泛的应用。
一、 e5550/ U2270B器件组的基本性能
e5550发射机应答器的基本性能如下:
(1) 低供电电压、低功耗CMOS结构的IDIC。
(2) 发射机应答器的电源是通过非接触的线圈耦合获得。
(3) 额定的射频(RF)振荡频率范围为:100~150kHz。
(4) 发射机应答器上带有EEPROM,共分8个(存储)区,每区有33个位,故总共有264个位(见表1)。
(5) 8个(存储)区的首位分别为该区的写保护位"L"。为"1"时,该区为只读区;为"0"时,该区为既可读又可写区。
(6) 8个(存储)区中的第0区为工作方式数据存储区,通常是不发送的,而其他的7个区每个区中各有32位,即总共有224位供用户使用。
(7) 具备增强防护功能,以免非接触卡式EEPROM的误编程。
(8)每一存储区的写操作时间一般不超过50ms。
(9) EEPROM操作的一些其他选项:
· 比特率(位传送率 b/s)--RF/8,RF/16,RF/32,RF/40,RF/50,RF/64,RF/100,RF/128。
· 调制方式--二进制(BIN)、频移键控(FSK)、相移键控(PSK)、曼彻斯特码(Manchester)、双相位码(Biphase)。
· 其他--请求应答、终止方式和口令方式。
U2270B基站读写器的基本性能如下:
(1) 载波频率fOSC范围为100~150kHz。
(2) fOSC为125kHz时,典型的数据传送率为5kb/s。
(3) 适用的调制方式为曼彻斯特码(简称曼码)和双相位码。
(4) 可由5V的稳压电源或汽车蓄电池供电。
(5) 调谐能力。
(6) 与微控制器有兼容的接口。
(7) 处于备用工作方式时,其功耗甚低。
(8) 有一向微控制器供电的输出端。
二、 非接触IC卡的读操作
现仅就IDIC通信中遇到的一些问题,并对通信的部分--读写操作做必要的探讨。其意分别为:基站通过MCU进行"读操作";基站通过MCU进行"写操作"。
e5550和U2270B匹配使用时,根据两者的基本特性,其调制方式只可能在曼码和双相位码中择一。曼码调制时数据传送的规则可用图2加以说明。
图2采用曼码调制的数据表达方式由图2可知,位数据的传送周期(1P)规定了每传送1位数据的时间是固定的,它由RF/n决定。其物理实质是微控制器通过基站与应答器中的存储器(EEPROM)进行数据的读写操作。若载波频率fOSC=125kHz,位数据传送率选RF/32,则每传送一位的时间(周期)为振荡周期的32分频,故位传送周期为:
1P=1/(125kHz×32)=256μs
根据我们得到的器件,采用曼码调制的数据,位数据"1"对应着电平下跳,位数据"0"对应着电平上跳(注意:Telefunken半导体公司提供的资料正好与此相反,在一串传送的数据序列中,两个相邻的位数据传送跳变时间间隔应为1P。若相邻的位数据极性相同,则在该两次位数据传送的电平跳变之间,有非数据传送的、预备性的。
电平上跳、电平下跳和两个相邻的同极性位数据之间的预备性空跳是确定位数据传送特征的判据。
非接触IC卡在读操作时,另一须关注的问题是传送的位数据序列起始标志和结束标志。请参见图3。
图3 曼码调制的数据串起始/结束标志的时序特
图3曼码调制的数据串起始/结束标志的时序特征图3中,其确切含义见表2。
假定非接触IC卡的存储器内存放的位数据序列为一非空集,则在若干位数据的跳变后,检测到一电平上跳,经过1.5P发生电平下跳,再经过0.5P又发生电平的上跳,则该上跳即为起始标志。
起始标志即为结束标志。这意味着非接触IC卡的存储器内存放的数据包括起始标志(即结束标志)和位数据序列。读操作时,是首尾相接、循环执行的。
识别数据起始标志和数据结束标志,是通过参数stepcnt进行的顺序化判别,故stepcnt为读操作的判据二(首尾检测指标)。
非接触IC卡在读操作时,第三个须要关注的问题是,如何确定1.5P、1P和0.5P三个特征判据?e5550和U2270B的射频振荡频率范围在100~150kHz,当位传送率选择RF/32时,即fOSC经过32分频后,上述的三个参数在不同的fOSC时,处于什么样的范围内呢?请见表3。
由上可知,只要1.5P、1P和0.5P的间期是不重叠的。根据采用100~150kHz和110~140kHz两组数据的对比可见,使用后者更合适。另一个办法是:通过试验,找到合适的间期指数,即可依此作为电平跃变的判别阈。这样,在确保识别能力的前提下,又从工艺上降低了对于振荡回路的频率要求。
根据上述振荡频率的变化范围110~140kHz,将编码变化的不同间隔转化成相应的间期指数,具体如表4所列。
1.5P、1P和0.5P是识别数据起始标志、位数据序列和数据结束标志的间期特征值。通过试验,它可用间期指数prdcnt反映,故为读操作的判据三(间期检测指标)。
三、 非接触IC卡的写操作
基站产生固定间隙的射频振荡,并通过控制两个间隙之间的振荡时间对位数据"1"和位数据"0"进行编码,持续地发送位数据流,完成写操作。写操作射频振荡波形示意如图4所示。
图4 写操作时的信号流
图4写操作时的信号流非接触IC卡插入基站后,射频线圈的耦合产生载波振荡,利用两次相邻停振之间的不同时间间隔,区分位数据"1"和位数据"0"的编码。停振间隙约在50~
150域时钟;位数据"0"的持续振荡时间间隔为24域时钟;位数据"1"的持续振荡时间间隔为56域时钟。当停振间隙结束后,持续振荡的时间间隔高于64域时钟,则IDIC退出写操作方式。
考虑到写操作启动(start)时,有一频率稳定过程,写操作停止(stop)时,有一EEPROM的写入过程约16ms,于是将start和stop两个阶段均以20ms计。图4中标注的trnssqnc为发送顺序编号,启动阶段为0,位数据流发送阶段为1,发送结束阶段为2。
基站读写器上有三个引脚:bsout、bscfe和bsin,它们的含义见表5。
向e5550写位数据时,有四种合法的数据流,具体如图5所示。其中,OP为操作类型码,包含两位,"10"表示即将进行的是写操作,"11"为终止IDIC操作码。多IDIC操作情况下,用这一特性可逐一控制应答器,使待控应答器逐一产生稳定的射频振荡。当方式数据区的第28位(usePWD)为"1"时,在写操作码"10"之后,位数据流有33位,是按区写入的。其中的位为锁定位L,L="1"表示该区为只读区,L="0"表示该区为读写区,其余的32位为位数据。ADR为该位数据流的存放数据区,取值范围为0~7。
根据上述的载波振荡特性,利用carriercnst参数进行界定(见表7),读写操作过程中,均使用了2μs为单位的计数值作为定时单位,目的是要使用MCS-51系列的微控制器的定时器。
结束语
采用曼码调制的非接触IC卡读写程序便不难编制,实现IDIC的完整功能,还需要其他的一些程序模块,如数据存储格式、编码的加密算法,读/写操作中若出错,则须重复进行读/写操作、究竟重复几次、读/写操作过程在超时后退出等,这些均可根据应用对象的需求予以相应的解决。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。