初始化时,智能卡操作系统显式或隐式测试不同的硬件部件。然而,这里所述之命令远远超出了直接集成 到操作系统中去的自测程序。在贯彻产品质量保证时,有必要分别检验微处理器的某些关键部分,这些测试 特别聚焦在EEPROM上,因为经验证明绝大多数问题是在这里发现的,处理器的工作由终端能收到正确的ATR 而隐含的检验。
由于没有关于测试命令的标准,其功能与编码取决于操作系统的制作商,有些时候是取决于操作系统本身 。
为了安全的缘故测试命令可以固定在ROM中。然而,经完工命令把它们装入EEPROM并在EEPROM中执行也是很 经常的。显然,如果EEPROM功能不完整就会出现问题,使用EEPROM的优点是能在ROM中留出更多的可用空间 ,在对操作系统安全感兴趣时,测试命令的使用必须限制在完工前的阶段中。这就是说在初始化或者甚至在 个人化之后,卡中的所有测试命令就都被封锁了,可能的例外是RAM测试和ROM或EEPROM的校验代码和测试, 因为这些命令不影响安全性。
下列命令广泛用于硬件测试,有缺陷的RAM将有可能在ATR被送出之前就使整个操作系统崩溃,这可能是少 量RAM的位或字节是“死角”而引起的,这仅仅影响某些功能或程序。TEST RAM(测试RAM)命令检查整个 RAM并送出适当的响应给终端,命令的功能见表1。当测试时,必须用大量的测试模式对所有可用字节进行读 写。典型的测试中包括交替地写入“55”和“AA”,因为这两个十六进制之值在位的状态上形成了国际象棋 盘的模式。另一个有效的方法是波浪测试,这时RAM首先从地址写至地址而后读出,然后再由 地址到地址,这些测试的确切实现取决于操作系统,有时这些测试被省略。
表1 TEST RAM的功能
CALCULATE EDC(计算EDO)是一种非常简单的测试,它计算ROM或指定的EEPROM部分的EDC校验代码和并将 它回送验终端,参见表2。这是一种确定ROM的掩膜是否改变或EEPROM的任何单元有无空翻的方法。EEPROM的 测试仅仅涉及到静态区域,在卡的生命周期内它们是不能故意地改变的,终端将卡给出的校验和与一基准值 相比较以确定存储器的内容是否和它仍旧一致。
表2 CALCULATE EDO的功能
EEPROM持久性的测试,TEST EEPROM(测试EEPROM)用来测试EEPROM中的重写内容。智能卡接收两种模式 ,它们交替地写人一存储区,这个区域的大小和写入的次数在某个限度之内可在命令中予以规定。当然,操 作系统要在每次写循环后检查存储器内容有无错误。
由于写循环次数是作为命令参数提供给智能卡的,这条命令可在智能卡内部处理。这样要比传送一序列单 独的命令要快些。如果卡发现了一个写错误,它将把已经执行的写循环次数和错误的地址传送给终端。 EEPROM持久性的测试不仅可用于EEPROM的破坏性试验,也可用于在EEPROM中自由选择区域的写入。在这种情 况下,写人循环次数被设置为1。
COMPARE EEPROM(比较EEPROM)测试用来检验写人EEPROM中的模式是否仍旧存在。这条命令主要是和TEST EEPROM命令结合起来用于在不同温度时去测试EEPROM的数据记忆力。这是把一种模式写人数页存储器中,把 智能卡在环境试验室中放置一定的时间长度,然后测试模式是否仍旧保留。
表3 TEST EEPROM的功能
原则上,TEST EEPROM命令在适当指定起始和结束地址时可用来清除整个内存。然而,在许多操作系统中有 一条称之为DELETE EEPROM(删除EEPROM)的命令,它在执行之中清除整个EEPROM,修改了EEPROM的全 部内容。这条命令仅用于两个目的,第1个目的是在经过各种测试后,EEPROM中留有测试的数据,要用少 的工作量使EEPROM恢复到预先规定的状态;第2个目的是减少初始化或完工操作系统所花费的时间。如果DELETE EEPROM命令在这些行动之前被执行,则EEPROM就能写入得快些,因为在写人新数据之前,它不再需要去擦除每一页了。关于助羽10M测试的命令均已列举在表3~表6中。
表4 COMPARE EEPROM的功能
表5 DELETE EEPROM功能
表6 RUN GSM ALGORITHM的功能
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。