93C56B耐久性试验方法研究
2022-07-04苏琳,郎猛
苏 琳,郎 猛
(中国电子科技集团公司第四十七研究所,沈阳 110000)
1 引 言
为了找到存储器件失效的临界点,需要进行成千次甚至上万次重复试验,通常的编程器不能以无人值守的方式自动完成任务,为此,研制一个专用实验平台显得十分必要。从可靠性、耐久性层面上考虑,93C56B这类EEPROM器件的多次重复性擦写是一个重要试验环节,即用频繁的电荷冲击办法,来检验存储单元的寿命,并以定量的方式来标定这一参数指标。结合实际应用环境和产品特性,为尽量减小工艺线上操作工人的工作强度、减少不必要的参数输入和显示输出,此处设计一款针对93C56B及类似型号的擦写器,以简便、易懂和易操作为基本特征,做到即插即用,实现多次重复性擦写试验,形成一种对同类器件的可靠性的测试手段。
2 擦写原理
耐久性是EEPROM等存储器件的一个重要指标。从可靠性维度上看,至少存在两个轴向,一个是数据的长期保持性,另一个是器件重复擦写的耐受性[1-4]。擦写过程采用互为反码的两种模式轮番写入,可实现最高频次的存储位翻转,并力求快速使其疲劳,达到检验其在电荷反复冲击下的承受能力;设计实施中,把55H和AAH作为固定使用模式,这组数据具有“0”和“1”间隔分布的特点,可容易发现因工艺缺陷造成的短路现象,比相邻同态的其他数据模式更有优势。
93C56B以串口命令字的方式完成对存储体的擦、读和写,在此层面之上,则是依据工作流程,完成擦除-写入-校验的每个循环操作,直至结束[5-7]。这个过程并非单键擦除、单键写入和单键校验的简单直接代入,而是擦除之后直接写入,省掉了查空操作,即省去对FFH数据模式的校验。相对于整片擦除和写入,校验是一个“读-比较”的过程,且针对每一存储单元操作,时间复杂度最高。这样在上万次循环擦写中,将节省大量时间。一旦有校验错误发生,则可通过单键功能检查和定位,以区分是擦或是写的问题。
3 93C56B逻辑结构
3.1 管脚定义
93C56B是一款通用型的8引脚器件,如图1所示。它与微控器89C51的串行通讯仅需4脚连接。各管脚的具体功能与连接方法如下:
图1 93C56B管脚图
CS:片选,连接至P2.0;
SK:串行时钟,连接至89C51的P0.0;
DO:串行数据输出,连接至89C51的P0.1;
DI:串行数据输入,连接至89C51的P0.2;
VCC:电源+5 V;
VSS:电源地;
ORG:接高为16位数据格式,接低为8位数据格式(本设计中应用ORG接低);
NC:悬空。
3.2 命令字
93C56B的所有命令格式可归纳为表1。当写禁止(WDS)之后,必须执行写使能(WEN)命令才可开启编程操作,一般做法是在程序开头先无条件执行一次写使能命令。为了快速完成擦写任务,在实施中,擦除操作只用到整片擦(ERAL)命令,而非地址擦(ERA)命令;写入操作只用到整片写(WRALL)命令而非地址写(WRIT)命令;校验操作用到的则是读(READ)命令。命令字包括命令编码、地址和(或)数据,数据从DI端输入,输出数据从DO获得,每位对应一拍时钟,应和命令字长度相匹配。
表1 93C56B命令字
擦写器基于89C51进行设计。硬件上采用按键方式设置功能模式,通过串口与上位机进行通讯。上位机显示界面使用VB编写。
4 硬件设计
首先进行擦写次数的设定。S0、S1、S2、S3使用4位拨码开关用来设置,并以16进制编码规则决定要擦写的次数,单位为千次,连接89C51的P1.0~P1.3。可选择1至15千次的任一种,且具有存储保持特性。可满足不经常变化的试验设置要求,免除非必要的反复操作。
然后进行功能按键设置。K0、K1、K2、K3配置4个单键,连接89C51的P1.4~P1.7。不支持复合键,出现两位以上有效视为非法键值。
K0为运行键,键值1110B,按设定次数进行擦-写-校验轮次操作;K1为校验键,键值为1101B,具有三种通过模式,即55H、AAH、FFH,在任何一种模式中,有异于确定模式的数据出现,则视为错误,只有全域皆为一种模式数据,才视为正确;K2为写入键,键值为1011B,完成全地址的先擦除后写入操作,偶数次写入55H,奇数次写入AAH,可理解为通常意义上的单步操作;K3定义为擦除键,键值为0111B,先完成全地址空间的擦除操作,再进行校验操作。
最后设计器件选择开关。增加一个键S4,可循环选择其它同类型芯片,选择开关连接到89C51的P3.4引脚,开机默认选择93C56B。
按上述步骤完成设计,最终实现擦写器的硬件电路系统,实物图如图2所示。
图2 擦写器硬件电路图
5 软件设计
由底层子程序完成对器件的最基本操作,可供参考的资料繁多,为简明起见,在此只阐述软件设计过程中涉及的关键构成、功能和实现方法,后面论述中将直接引用程序标号。
5.1 擦除、写入与校验子程序
在进行单键试擦操作时,先执行整片擦除子程序EALL,再执行校验子程序VFF,既完成擦除任务,也完成查空操作,以检验和确定设备对器件的擦除效果及质量。这一做法与单键写及单键校验一样,都是技术负责人进行工艺检查的手段。
在轮次擦写过程中,为了提高效率和加快试验进程,擦除操作不同于单键擦除,而是省去了查空测试[8]。
在单键方式下,写入之前要执行单纯的擦除操作。这一步是必要的,而无须查空操作。一般情况下,单纯擦除操作即可实现百分之百擦除效果。
轮次擦写时,为了达到最高效率,将不采取按地址写(WRIT)的方式,而是采用整片写(WALL)的做法,偶数次写模式55H,奇数次写AAH,两种模式交替进行。
用READ命令格式读出每一地址的数据,与通常的编程器不同,校验只对有限的数据模式进行“读-比较”。针对三种数据模式,校验子程序可有三种存在形式,即:V55、VAA和VFF。
在单键操作时,有可能不清楚存储器内的数据形式,因此,以第一个存储单元的模式数据作为比较的起始标准,如不是模式数据,校验立即终止。
在轮次擦写操作时,将按前次写入的模式数据进行校验操作,模式数据为55H或AAH。
5.2 中断处理子程序
采用10 ms时钟中断处理按键输入。中断处理子程序将按照周期查询并读取键值,包括拨码开关等输入。
拨码开关被用来设定擦写次数。在耐久试验中,一个品种或一个批次,擦写次数一旦确定下来,就不会经常发生改变。在擦写器设计上,包括器件选择开关,依然允许其随意变化,并实时更新。
单键和一些开关,都是机械触点,在实际使用中会出现电气信号抖动,易产生误动作,需要进行避抖处理。一般经验是捕捉到按键之后,延迟50 ms再拾取,是公认比较稳妥的做法。
实施中采用中断滤波的方法,也收到很好的效果。在过程中会自然形成一个移动的窗口,涵盖若干个采样周期,仅当窗口中每个采样结果一致时,按键才起作用,有效避开抖动区。原理描述如下:
设KEY(n)为当前次键值采样按位取反的结果,逻辑“1”有效,式如:
其中,n为大于0的自然数。
每次中断都进行采样并按式(1)传递数据,使窗口前移。每次按式(2)进行按位与运算,KEY不为零,则识别为存在有效键按下,做出标记并退出中断。
主程序根据标记状态有效,去分析处理KEY的每一位键值,同时清除标记状态。KEY的值为“1”的位为对应的键有效,多位为“1”意味同时有多键按下,根据具体应用,可选择复合键或某一单键有效。
在实际使用中,n值取7,意味着捕捉时间窗口为70 ms。经实际操作,证明按键响应灵敏,无卡钝、蹦数情况。
5.3 显示界面
软件运行情况的信息,诸如擦写设定次数、当前次数和状态指示等,显示在液晶显示器的相关界面上。显示器以串口驱动为特征,连接至P3.0(RX)和P3.1(TX)端。显示界面包含内容如图3。
图3 显示界面
其中,“器件”项显示的是开关S4的状态,它决定着56B和66B的选择;
“次数”项中的数字,分子项为当前次数,初值为0,运行一个擦-写-校验轮次进行加1操作,直至等于分母项的设定值或出错停止,该设定值随S3~S0的变化而变,运行时锁死,高两位可设置,低3位固定为0;
“模式”项随着奇偶轮次55H和AAH交替发生变化,当单键擦除结果正确时,模式项由“-”改为“FF”,同时,“状态”项由“-”改为“OK"。反之,状态栏变为“ERR”,模式栏不变;单键校验通过时,模式栏将显示三种通过模式当中的一种,状态栏显示“OK”,反之,模式栏维持“-”,状态栏显示“ERR”。
6 结束语
研究为93C56B的耐久性试验提供了支持,本着简单、快捷和高效的目的,满足了实际生产需要。在总结以往使用经验和现有工艺特点的基础上,通过反复讨论研究,功能配置得以改进,操作方式也得到了简化。经过实际验证,表明该款装置易于理解,便于操作,交互界面相对友好,达到了设计预期。