單片機(jī)片內(nèi)大容量EEPROM的一種巧妙應(yīng)用
引 言
本文引用地址:http://butianyuan.cn/article/172734.htmMCS-51單片機(jī)是目前國(guó)內(nèi)應(yīng)用最廣泛的一種單片機(jī)型。全球各單片機(jī)生產(chǎn)廠商在MCS-51內(nèi)核基礎(chǔ)上,派生了大量的51內(nèi)核系列單片機(jī),極大地豐富了MCS-51的種群。其中STC公司推出了STC89系列單片機(jī),增加了大量新功能,提高了51的性能,是MCS-51家族中的佼佼者。早期的單片機(jī)控制系統(tǒng),采用單片機(jī)加片外EEPROM配合,來(lái)存儲(chǔ)一些需要預(yù)置的重要參數(shù),并在數(shù)碼管上顯示出來(lái)。由于單片機(jī)控制的整流器要求實(shí)時(shí)性很強(qiáng),而早期EEPROM的寫(xiě)周期在10 ms左右,因此運(yùn)行參數(shù)的預(yù)置是在整流器待機(jī)的情況下進(jìn)行的。而很多情況下需要在運(yùn)行的同時(shí)記錄數(shù)據(jù),如用單片機(jī)控制的12脈波汽車(chē)電泳整流器要求在運(yùn)行的同時(shí)實(shí)時(shí)記錄重要數(shù)據(jù),而且在掉電時(shí)不丟失。由于在12脈波整流器中運(yùn)行的單片機(jī)程序,其周期必須小于1.67 ms(交流電網(wǎng)的1個(gè)周期是20 ms,除以12就是l_67 ms),這就要求實(shí)時(shí)記錄的時(shí)間在1ms以下甚至更短(考慮到程序的執(zhí)行時(shí)間)。經(jīng)查閱資料發(fā)現(xiàn),目前很多EEPROM達(dá)不到這個(gè)要求[1],即使時(shí)間最短的AT89S8252單片機(jī)片內(nèi)。EEP-ROM的寫(xiě)周期也是2.5 ms。本文通過(guò)對(duì)EEPROM的巧妙應(yīng)用,實(shí)現(xiàn)了整流器在線記錄數(shù)據(jù)的功能。
1 尋找符合要求的單片機(jī)
設(shè)備使用的是Atmel公司的AT89C52(40DIP封裝)單片機(jī)和EEPROM芯片2817A。要想在不改變?cè)O(shè)備電路板的情況下完成要求的功能,就只能在兼容的MCS-51系列單片機(jī)中想辦法。AT89S8252片內(nèi)含有2 KB的EEPROM,經(jīng)編程測(cè)試發(fā)現(xiàn),它雖然能實(shí)時(shí)記錄數(shù)據(jù)并且斷電不丟失,但是在向片內(nèi)EEPROM中記錄1個(gè)數(shù)據(jù)時(shí),能引起輸出電壓和電流的波動(dòng),不能滿足實(shí)際運(yùn)行的需要。其原因是AT89S8252單片機(jī)片內(nèi)EEPROM的寫(xiě)周期為2.5 ms,超過(guò)了1.67 ms的程序的執(zhí)行周期,從而影響了程序的正常運(yùn)行。所以執(zhí)行周期是解決問(wèn)題的關(guān)鍵。
由參考文獻(xiàn)[2-3]知:STC89C51RC/RD+系列單片機(jī)片內(nèi)含有EEPROM(Data Flash),讀1個(gè)字節(jié)/編程1個(gè)字節(jié)/擦除1個(gè)扇區(qū)(512字節(jié))的時(shí)間分別為10/μs/60μs/10 ms。編程1個(gè)字節(jié)的時(shí)間為60μs,遠(yuǎn)小于AT89S8252片內(nèi)EEPROM 2.5 ms的編程時(shí)間,這為解決問(wèn)題提供了思路。
2問(wèn)題的解決
單片機(jī)STC89C55RD+(40DIP封裝),其引腳、功能完全與AT89C52兼容,與MCS-51程序也兼容,片內(nèi)含有20KB的Flash程序存儲(chǔ)器,16KB的EEPROM數(shù)據(jù)存儲(chǔ)器。把原用于AT89C52中的程序?qū)懙絊TC89C255RD+中,放到原設(shè)備上運(yùn)行,可長(zhǎng)期穩(wěn)定地運(yùn)行。經(jīng)修改的在整流器中運(yùn)行的單片機(jī)程序,實(shí)時(shí)記錄一些數(shù)據(jù)到STC289C55RD+的EEPROM中,整流器可正常運(yùn)行,但不能執(zhí)行扇區(qū)擦除操作。執(zhí)行扇區(qū)擦除操作將嚴(yán)重影響整流器的正常運(yùn)行,引起輸出電壓和電流的很大波動(dòng)。執(zhí)行扇區(qū)擦除操作時(shí),從示波器來(lái)看整流器的輸出間斷了20 ms,電壓電流顯示很大的波動(dòng)。用示波器捕捉到了EEPROM寫(xiě)時(shí)的波形,輸出波形暫停了20 ms,1個(gè)周波電壓,電壓波形如圖1所示,不執(zhí)行扇區(qū)擦除操作時(shí)的波形如圖2所示。從圖中可以看出,問(wèn)題得到了很好的解決。
評(píng)論