蘇 琳,郎 猛
(中國(guó)電子科技集團(tuán)公司第四十七研究所,沈陽(yáng) 110000)
為了找到存儲(chǔ)器件失效的臨界點(diǎn),需要進(jìn)行成千次甚至上萬(wàn)次重復(fù)試驗(yàn),通常的編程器不能以無(wú)人值守的方式自動(dòng)完成任務(wù),為此,研制一個(gè)專用實(shí)驗(yàn)平臺(tái)顯得十分必要。從可靠性、耐久性層面上考慮,93C56B這類EEPROM器件的多次重復(fù)性擦寫是一個(gè)重要試驗(yàn)環(huán)節(jié),即用頻繁的電荷沖擊辦法,來(lái)檢驗(yàn)存儲(chǔ)單元的壽命,并以定量的方式來(lái)標(biāo)定這一參數(shù)指標(biāo)。結(jié)合實(shí)際應(yīng)用環(huán)境和產(chǎn)品特性,為盡量減小工藝線上操作工人的工作強(qiáng)度、減少不必要的參數(shù)輸入和顯示輸出,此處設(shè)計(jì)一款針對(duì)93C56B及類似型號(hào)的擦寫器,以簡(jiǎn)便、易懂和易操作為基本特征,做到即插即用,實(shí)現(xiàn)多次重復(fù)性擦寫試驗(yàn),形成一種對(duì)同類器件的可靠性的測(cè)試手段。
耐久性是EEPROM等存儲(chǔ)器件的一個(gè)重要指標(biāo)。從可靠性維度上看,至少存在兩個(gè)軸向,一個(gè)是數(shù)據(jù)的長(zhǎng)期保持性,另一個(gè)是器件重復(fù)擦寫的耐受性[1-4]。擦寫過(guò)程采用互為反碼的兩種模式輪番寫入,可實(shí)現(xiàn)最高頻次的存儲(chǔ)位翻轉(zhuǎn),并力求快速使其疲勞,達(dá)到檢驗(yàn)其在電荷反復(fù)沖擊下的承受能力;設(shè)計(jì)實(shí)施中,把55H和AAH作為固定使用模式,這組數(shù)據(jù)具有“0”和“1”間隔分布的特點(diǎn),可容易發(fā)現(xiàn)因工藝缺陷造成的短路現(xiàn)象,比相鄰?fù)瑧B(tài)的其他數(shù)據(jù)模式更有優(yōu)勢(shì)。
93C56B以串口命令字的方式完成對(duì)存儲(chǔ)體的擦、讀和寫,在此層面之上,則是依據(jù)工作流程,完成擦除-寫入-校驗(yàn)的每個(gè)循環(huán)操作,直至結(jié)束[5-7]。這個(gè)過(guò)程并非單鍵擦除、單鍵寫入和單鍵校驗(yàn)的簡(jiǎn)單直接代入,而是擦除之后直接寫入,省掉了查空操作,即省去對(duì)FFH數(shù)據(jù)模式的校驗(yàn)。相對(duì)于整片擦除和寫入,校驗(yàn)是一個(gè)“讀-比較”的過(guò)程,且針對(duì)每一存儲(chǔ)單元操作,時(shí)間復(fù)雜度最高。這樣在上萬(wàn)次循環(huán)擦寫中,將節(jié)省大量時(shí)間。一旦有校驗(yàn)錯(cuò)誤發(fā)生,則可通過(guò)單鍵功能檢查和定位,以區(qū)分是擦或是寫的問(wèn)題。
93C56B是一款通用型的8引腳器件,如圖1所示。它與微控器89C51的串行通訊僅需4腳連接。各管腳的具體功能與連接方法如下:
圖1 93C56B管腳圖
CS:片選,連接至P2.0;
SK:串行時(shí)鐘,連接至89C51的P0.0;
DO:串行數(shù)據(jù)輸出,連接至89C51的P0.1;
DI:串行數(shù)據(jù)輸入,連接至89C51的P0.2;
VCC:電源+5 V;
VSS:電源地;
ORG:接高為16位數(shù)據(jù)格式,接低為8位數(shù)據(jù)格式(本設(shè)計(jì)中應(yīng)用ORG接低);
NC:懸空。
93C56B的所有命令格式可歸納為表1。當(dāng)寫禁止(WDS)之后,必須執(zhí)行寫使能(WEN)命令才可開啟編程操作,一般做法是在程序開頭先無(wú)條件執(zhí)行一次寫使能命令。為了快速完成擦寫任務(wù),在實(shí)施中,擦除操作只用到整片擦(ERAL)命令,而非地址擦(ERA)命令;寫入操作只用到整片寫(WRALL)命令而非地址寫(WRIT)命令;校驗(yàn)操作用到的則是讀(READ)命令。命令字包括命令編碼、地址和(或)數(shù)據(jù),數(shù)據(jù)從DI端輸入,輸出數(shù)據(jù)從DO獲得,每位對(duì)應(yīng)一拍時(shí)鐘,應(yīng)和命令字長(zhǎng)度相匹配。
表1 93C56B命令字
擦寫器基于89C51進(jìn)行設(shè)計(jì)。硬件上采用按鍵方式設(shè)置功能模式,通過(guò)串口與上位機(jī)進(jìn)行通訊。上位機(jī)顯示界面使用VB編寫。
首先進(jìn)行擦寫次數(shù)的設(shè)定。S0、S1、S2、S3使用4位撥碼開關(guān)用來(lái)設(shè)置,并以16進(jìn)制編碼規(guī)則決定要擦寫的次數(shù),單位為千次,連接89C51的P1.0~P1.3。可選擇1至15千次的任一種,且具有存儲(chǔ)保持特性??蓾M足不經(jīng)常變化的試驗(yàn)設(shè)置要求,免除非必要的反復(fù)操作。
然后進(jìn)行功能按鍵設(shè)置。K0、K1、K2、K3配置4個(gè)單鍵,連接89C51的P1.4~P1.7。不支持復(fù)合鍵,出現(xiàn)兩位以上有效視為非法鍵值。
K0為運(yùn)行鍵,鍵值1110B,按設(shè)定次數(shù)進(jìn)行擦-寫-校驗(yàn)輪次操作;K1為校驗(yàn)鍵,鍵值為1101B,具有三種通過(guò)模式,即55H、AAH、FFH,在任何一種模式中,有異于確定模式的數(shù)據(jù)出現(xiàn),則視為錯(cuò)誤,只有全域皆為一種模式數(shù)據(jù),才視為正確;K2為寫入鍵,鍵值為1011B,完成全地址的先擦除后寫入操作,偶數(shù)次寫入55H,奇數(shù)次寫入AAH,可理解為通常意義上的單步操作;K3定義為擦除鍵,鍵值為0111B,先完成全地址空間的擦除操作,再進(jìn)行校驗(yàn)操作。
最后設(shè)計(jì)器件選擇開關(guān)。增加一個(gè)鍵S4,可循環(huán)選擇其它同類型芯片,選擇開關(guān)連接到89C51的P3.4引腳,開機(jī)默認(rèn)選擇93C56B。
按上述步驟完成設(shè)計(jì),最終實(shí)現(xiàn)擦寫器的硬件電路系統(tǒng),實(shí)物圖如圖2所示。
圖2 擦寫器硬件電路圖
由底層子程序完成對(duì)器件的最基本操作,可供參考的資料繁多,為簡(jiǎn)明起見,在此只闡述軟件設(shè)計(jì)過(guò)程中涉及的關(guān)鍵構(gòu)成、功能和實(shí)現(xiàn)方法,后面論述中將直接引用程序標(biāo)號(hào)。
在進(jìn)行單鍵試擦操作時(shí),先執(zhí)行整片擦除子程序EALL,再執(zhí)行校驗(yàn)子程序VFF,既完成擦除任務(wù),也完成查空操作,以檢驗(yàn)和確定設(shè)備對(duì)器件的擦除效果及質(zhì)量。這一做法與單鍵寫及單鍵校驗(yàn)一樣,都是技術(shù)負(fù)責(zé)人進(jìn)行工藝檢查的手段。
在輪次擦寫過(guò)程中,為了提高效率和加快試驗(yàn)進(jìn)程,擦除操作不同于單鍵擦除,而是省去了查空測(cè)試[8]。
在單鍵方式下,寫入之前要執(zhí)行單純的擦除操作。這一步是必要的,而無(wú)須查空操作。一般情況下,單純擦除操作即可實(shí)現(xiàn)百分之百擦除效果。
輪次擦寫時(shí),為了達(dá)到最高效率,將不采取按地址寫(WRIT)的方式,而是采用整片寫(WALL)的做法,偶數(shù)次寫模式55H,奇數(shù)次寫AAH,兩種模式交替進(jìn)行。
用READ命令格式讀出每一地址的數(shù)據(jù),與通常的編程器不同,校驗(yàn)只對(duì)有限的數(shù)據(jù)模式進(jìn)行“讀-比較”。針對(duì)三種數(shù)據(jù)模式,校驗(yàn)子程序可有三種存在形式,即:V55、VAA和VFF。
在單鍵操作時(shí),有可能不清楚存儲(chǔ)器內(nèi)的數(shù)據(jù)形式,因此,以第一個(gè)存儲(chǔ)單元的模式數(shù)據(jù)作為比較的起始標(biāo)準(zhǔn),如不是模式數(shù)據(jù),校驗(yàn)立即終止。
在輪次擦寫操作時(shí),將按前次寫入的模式數(shù)據(jù)進(jìn)行校驗(yàn)操作,模式數(shù)據(jù)為55H或AAH。
采用10 ms時(shí)鐘中斷處理按鍵輸入。中斷處理子程序?qū)凑罩芷诓樵儾⒆x取鍵值,包括撥碼開關(guān)等輸入。
撥碼開關(guān)被用來(lái)設(shè)定擦寫次數(shù)。在耐久試驗(yàn)中,一個(gè)品種或一個(gè)批次,擦寫次數(shù)一旦確定下來(lái),就不會(huì)經(jīng)常發(fā)生改變。在擦寫器設(shè)計(jì)上,包括器件選擇開關(guān),依然允許其隨意變化,并實(shí)時(shí)更新。
單鍵和一些開關(guān),都是機(jī)械觸點(diǎn),在實(shí)際使用中會(huì)出現(xiàn)電氣信號(hào)抖動(dòng),易產(chǎn)生誤動(dòng)作,需要進(jìn)行避抖處理。一般經(jīng)驗(yàn)是捕捉到按鍵之后,延遲50 ms再拾取,是公認(rèn)比較穩(wěn)妥的做法。
實(shí)施中采用中斷濾波的方法,也收到很好的效果。在過(guò)程中會(huì)自然形成一個(gè)移動(dòng)的窗口,涵蓋若干個(gè)采樣周期,僅當(dāng)窗口中每個(gè)采樣結(jié)果一致時(shí),按鍵才起作用,有效避開抖動(dòng)區(qū)。原理描述如下:
設(shè)KEY(n)為當(dāng)前次鍵值采樣按位取反的結(jié)果,邏輯“1”有效,式如:
其中,n為大于0的自然數(shù)。
每次中斷都進(jìn)行采樣并按式(1)傳遞數(shù)據(jù),使窗口前移。每次按式(2)進(jìn)行按位與運(yùn)算,KEY不為零,則識(shí)別為存在有效鍵按下,做出標(biāo)記并退出中斷。
主程序根據(jù)標(biāo)記狀態(tài)有效,去分析處理KEY的每一位鍵值,同時(shí)清除標(biāo)記狀態(tài)。KEY的值為“1”的位為對(duì)應(yīng)的鍵有效,多位為“1”意味同時(shí)有多鍵按下,根據(jù)具體應(yīng)用,可選擇復(fù)合鍵或某一單鍵有效。
在實(shí)際使用中,n值取7,意味著捕捉時(shí)間窗口為70 ms。經(jīng)實(shí)際操作,證明按鍵響應(yīng)靈敏,無(wú)卡鈍、蹦數(shù)情況。
軟件運(yùn)行情況的信息,諸如擦寫設(shè)定次數(shù)、當(dāng)前次數(shù)和狀態(tài)指示等,顯示在液晶顯示器的相關(guān)界面上。顯示器以串口驅(qū)動(dòng)為特征,連接至P3.0(RX)和P3.1(TX)端。顯示界面包含內(nèi)容如圖3。
圖3 顯示界面
其中,“器件”項(xiàng)顯示的是開關(guān)S4的狀態(tài),它決定著56B和66B的選擇;
“次數(shù)”項(xiàng)中的數(shù)字,分子項(xiàng)為當(dāng)前次數(shù),初值為0,運(yùn)行一個(gè)擦-寫-校驗(yàn)輪次進(jìn)行加1操作,直至等于分母項(xiàng)的設(shè)定值或出錯(cuò)停止,該設(shè)定值隨S3~S0的變化而變,運(yùn)行時(shí)鎖死,高兩位可設(shè)置,低3位固定為0;
“模式”項(xiàng)隨著奇偶輪次55H和AAH交替發(fā)生變化,當(dāng)單鍵擦除結(jié)果正確時(shí),模式項(xiàng)由“-”改為“FF”,同時(shí),“狀態(tài)”項(xiàng)由“-”改為“OK"。反之,狀態(tài)欄變?yōu)椤癊RR”,模式欄不變;單鍵校驗(yàn)通過(guò)時(shí),模式欄將顯示三種通過(guò)模式當(dāng)中的一種,狀態(tài)欄顯示“OK”,反之,模式欄維持“-”,狀態(tài)欄顯示“ERR”。
研究為93C56B的耐久性試驗(yàn)提供了支持,本著簡(jiǎn)單、快捷和高效的目的,滿足了實(shí)際生產(chǎn)需要。在總結(jié)以往使用經(jīng)驗(yàn)和現(xiàn)有工藝特點(diǎn)的基礎(chǔ)上,通過(guò)反復(fù)討論研究,功能配置得以改進(jìn),操作方式也得到了簡(jiǎn)化。經(jīng)過(guò)實(shí)際驗(yàn)證,表明該款裝置易于理解,便于操作,交互界面相對(duì)友好,達(dá)到了設(shè)計(jì)預(yù)期。