机房巡检系统电子标签掉电保护测试研究
2018-08-31上海市信息网络有限公司许国泰王子玮
上海市信息网络有限公司 许国泰 陈 兵 王子玮
0 引言
随着物联网的发展和集成电路技术的进步,电子标签作为物联网不可分割的部分亦日益渗透进社会生活的方方面面。如,物流业、零售业、医疗行业、身份识别、防伪、资产管理、交通运输、图书馆、军事等,电子标签的广泛应用离不开集成电路系统的良好质量和强大功能,特别是电子标签内存储的敏感数据,对电子标签EEPROM(带电可擦可编程只读存储器)的安全性、可靠性提出了更高的要求。电子标签存储交换数据的模块是EEPROM,是一种可以通过已定义的指令进行动态更新的组件,在更新过程中为避免出现数据紊乱、信息更新不彻底导致电子标签无法使用,需对电子标签EEPROM备份还原、掉电保护机制的设计进行全面的验证。因此,有必要对电子标签的EEPROM掉电保护机制的测试进行研究。
1 电子标签简介
1.1 电子标签概述
电子标签又称射频标签,是一种非接触式自动识别技术的产物,通过射频信号识别目标对象并且获取相关数据,识别工作无须人工干预,具有防水、防磁、耐高温、使用寿命长、读取距离大、标签上数据可加密、储存数据容量大、存储信息更改方便等优点。
1.2 电子标签工作原理
电子标签内部各模块功能如下:
(1)天线,用来接收电子标签读写器发送来的信号,并且把要求的数据发送回给读写器。
(2)电压调节器,把由电子标签读写器送来的射频信号转换成直流电源,由大电容存储,经稳压电路以提供稳定的电源。
(3)调制器,逻辑控制电路送出的数据经调制电路调制后加载到天线发送给电子标签读写器。
(4)解调器,去除载波以取出真正的调制信号。
(5)逻辑控制单元,用于译码电子标签读写器送来的信号,并依据要求回送数据给读写器。
(6)存储单元,包括EEPROM和ROM,作为系统运行和存放识别数据的位置,这里的EEPROM也是本文研究的测试对象。
2 机房巡检系统电子标签掉电保护测试方法设计
2.1 测试对象
机房巡检系统电子标签。
2.2 测试目的
验证和确认机房巡检系统电子标签具有在供电不稳定时文件更新保护机制,包括数据写入机制,数据恢复机制,状态机设计和文件备份区设计等。
2.3 测试环境
测试所需的环境如表1所示:
表1 测试环境表
2.4 测试过程
2.4.1 测试准备
两套电子标签仿真器:一套加载了掉电保护机制的电子标签仿真器(FPGA_0);一套没有加载掉电保护机制的电子标签仿真器(FPGA_1)。
2.4.2 测试方案
本文将从场强关闭模式、掉电步长(每次增加延后掉电的时间)两种组合前提条件来检测电子标签掉电保护机制的完备性,以验证电子标签EEPROM具有在进行写数据时,突然掉电后的备份还原机制;从而确认电子标签EEPROM的安全性,可靠性。
场强关闭模式分两种:
(1)直接,迅速关闭,一旦发送断电指令,电子标签读写器场强为0;
(2)缓慢关闭,一旦发送断电指令,电子标签读写器场强逐步减小,直至场强为0;
掉电步长不同,根据掉电读卡器的精度,本文中的步长按照0.125微秒,0.500微秒,1.000微秒三种情况进行测试。
先用FPGA_0这套仿真器进行掉电保护测试,电子标签正在写EEPROM的过程中,防拔读写器供电突然断掉,验证电子标签在有掉电保护机制的前提下,进行EEPROM写操作后,电子标签数据等于原有数据或者待更新数据。
再用FPGA_1这套仿真器进行掉电保护测试,电子标签正在写EEPROM的过程中,防拔读写器供电突然断掉,验证电子标签在没有掉电保护机制的前提下,进行EEPROM写操作后,复现电子标签数据既不等于原有数据,也不等于待更新的数据。
2.4.3 测试用例
(1)先用电子标签读写器对PFGA_0、PFGA_1在保证场强供应稳定的前提下,用EEPROM写指令,分别对数据区某地址A写入240个字节0xA5,然后用读指令验证数据的正确性,并且同时,用MP300测出在写入240字节0xA5所需要消耗的时间,如500微秒。
(2)在测试平台上用脚本设置防拔读卡器参数:
a)掉电的起始时间 为400微秒。
b)每次增加步长为0.125微秒/0.500微秒/1.000微秒。
(3)在场强延后关闭的400微秒+的时间内,发送写EEPROM指令,对某地址A进行写操作,并且写入的数据为240字节0x5A。并且在场强重新打开后,对某地址A进行读操作,获取该电子标签数据,用于后续备用。
(4)掉电测试结束判断:重新上电后,读取某地址A的数据后,如果该数据为旧值,那么步进加一单位步长,直到该数据为新值或者既不等于新值也不等于旧值。
2.4.4 测试脚本
根据测试用例,用TCL语言编写(一个工具命令语言)如下测试脚本:
set TestReport “机房巡检系统RFID标签EEPROM掉电保护测试,步长0.125us”;#设置测试报告。
StartLog “[info script]” ;#启用日志
Insert; #1-1 供场通信
SelectRFIDAPP; #1-2 选择电子标签应用
set sOldData [string repeat “A5” 240];#1-3 初始化EE数据A5
WriteEE: $sOldData;#正常写EE操作
set sTime [expr 400/0.125];#1-4 设置延后掉电初始时间
while {$sTime} {
#1-5 设置延后掉电时间,这个是防拔读卡器切断供电控制指令
SENDCMD: “140A[format “%06x” $sTime]”;JudgeSw 9000
#1-6 更新EEPROM原有数据240个字节A5为5A
set sNewData [string repeat “5A” 240]
WriteEE: $sNewData;#1-7 写入新数据
Insert;#1-8 重新供电
SelectRFIDAPP; #1-9 选择电子标签应用
ReadEE; #1-10 读取EEPROM数据
#1-11 while循环完成判断,ResponseData为读EEPROM数据后返回的数据
if {$ResponseData==$sOldData} {
puts “掉电保护机制继续进行,增加0.125us”
incr sTime 1;#1-12 这里可以修改步长
} elseif {$ResponseData==$sNewData} {
puts “掉电保护机制成功执行,预期数据已经写入EEPROM”
} else {
error “EEPROM数据既不是旧数据也不是新数据,EEPROM写入紊乱,掉电机制不符合要求,测试不通过”
}
}
}
WriteReport $TestReport;#写日志
2.4.5 测试执行
在Eclipse平台,加载脚本后,点击Run As,选择掉电保护脚本后,执行该脚本。
2.4.6 测试结果
测试结果记录如表2所示:
表2 测试结果表
2.4.7 测试分析
根据两套电子标签PFGA_0和PFGA_1在不同场强关闭模式下执行现象和结果,作如下分析:
(1)对于有掉电保护机制的电子标签仿真器FPGA_0,在不同步长模式,经过不断增加步进,直到满足写数据要求的时间后,无论在哪种场强关闭模式下,均能成功更新某地址A数据为240个字节0x5A,并且通过变化步长为0.125微秒/0.500微秒/1.000微秒后,电子标签经过多次掉电测试,EEPROM数据稳定可靠;另外,对于为何要选择更新的数据为A5和5A,简单说明一下,A5的二进制(10100101),5A的二进制(01011010),这样设置数据,有利于放大电子标签在写数据时的错误现象;
(2)对于没有掉电保护机制的电子标签仿真器FPGA_1,步长为0.125微秒,经过不断增加步进,在场强直接,迅速关闭的情况下,电子标签某地址A的数据变化成0xA5和0x5A的组合,数据紊乱,测试终止;并且变化步长后,现象也是类似,符合失败的预期,达到掉电测试的目的;但是在另外一种场强关闭模式,缓慢关闭下,如果写的数据够短,还是由可能成功的,所以这里需要注意的一点是,测试的数据一定要足够长。
3 结论
本文主要分析了电子标签掉电保护测试的黑盒测试方法,从黑盒测试的角度,阐述了如何验证和确认电子标签产品中掉电保护机制,以便给产品的商用提供帮助,至于其他诸如动态测试,静态测试,白盒测试,灰盒测试等,对于电子标签这类产品来说,可以作为一种黑盒测试之外的补充,比如数字逻辑代码的走读,模拟,数字设计规范的审核等等;这里需要特别说明的是,对于本文中涉及的掉电保护机制测试策略,在集成电路的其他设计数据存储的其他形态产品,诸如银行卡、社保卡、公交卡,SD卡,MCU等,也有很好的借鉴意义。