新一代閃存AT29C040在激光打標(biāo)控制器中的應(yīng)用
Atmel公司的AT29C040是新一代大容量快閃存儲器,其編程電流比第一代閃存降低了一個數(shù)量級,因此,該芯片只需單一+5V電源支持分頁編程,此外,該芯片還具有硬件數(shù)據(jù)保護(hù)、軟件數(shù)據(jù)保護(hù)、數(shù)據(jù)查詢和自舉模塊等其它功能。下面介紹該芯片的使用,對于其他的芯片也可以參考這些方法。
本文引用地址:http://cafeforensic.com/article/3042.htm對現(xiàn)場可編程存儲器而言,數(shù)據(jù)保護(hù)不可忽略。AT29C040具有硬件和軟件兩方面的數(shù)據(jù)保護(hù)特性,以防止存儲器的內(nèi)容被意外改寫。數(shù)據(jù)保護(hù)從以下五個方面采取措施。
所有的控制線輸入都有濾波電路,以濾除脈寬在15ns以下的噪聲尖峰。
如果5V芯片的電源Vcc跌到3.8V以下(低壓3V工作LV型芯片的電源Vcc跌到1.8V 以下),編程操作被封鎖。
當(dāng)Vcc高于檢測電平時,就會啟動一個內(nèi)部的5ms定時器,同時封鎖編程操作,直到定時時間,這個特性允許整個系統(tǒng)在電源變化時設(shè)置和啟動例程操作,而不會干擾芯片的內(nèi)容。
要進(jìn)入寫入編程周期,要求三根控制線上的電平滿足正確狀態(tài),如果OE是低電平,或者CE是高電平,WE是高電平,寫入周期將被封鎖。
軟件數(shù)據(jù)保護(hù)可以防止在電源變化期間意外地改寫數(shù)據(jù)。新買芯片如果要允許軟件數(shù)據(jù)保護(hù),必須先激活芯片。激活方法是向特定的三個地址寫入三個字節(jié)命令。芯片激活后,在每個編程周期都必須寫入相同的三個字節(jié)命令序列,否則,數(shù)據(jù)不會被寫入。電源上電和掉電都不會影響該功能。一旦激活該功能,只有寫入另一個取消命令后才能使此保護(hù)功能無效。
下面以筆者為楚天激光集團(tuán)開發(fā)的激光打標(biāo)控制器為例說明AT29C040與單片機的接口及使用方法。
該系統(tǒng)的硬件電路如圖1所示。
單片機采用89C52,6264和AT29C040為擴展外部數(shù)據(jù)存儲器,此外,系統(tǒng)還使用了鍵盤顯示控制器8279以及X、Y電機的步進(jìn)信號鎖存器74LS377??梢钥吹?,該系統(tǒng)既有擴展的外部數(shù)據(jù)RAM,又有與外圍電路、外部芯片的接口,為了區(qū)別對不同對象的數(shù)據(jù)操作,必須使所有這些外部電路有不同的地址。地址分配的方法通常有兩種:線選法和譯碼法。
所謂線選法,即是將單根的高位地址線連接到外圍接口芯片的片選端,以獲得一確定的地址信號,由此選通該芯片。線選法的最大優(yōu)點是連接簡單,不必另加硬件電路,不足之處是外部RAM區(qū)的地址空間不連續(xù)而未被充分利用。
當(dāng)單片機應(yīng)用系統(tǒng)需要大容量外部數(shù)據(jù)RAM或需要較多的I/O接口時,僅靠線選法編址是不夠用的,這時可采用譯碼法對I/O接口進(jìn)行編址。所謂譯碼法,就是對單片機輸出的若干地址線進(jìn)行譯碼,所得到的譯碼信號具有確定的地址,利用這些地址信號作為外部接口電路的片選信號。這里,我們采用的就是譯碼法,將P0、P2作基本地址線,再把P1.0、P1.1、P1.2送到3-8譯碼器,這樣就可以使尋址空間達(dá)到64×8K,74LS138輸出Y0作為6264的片選,Y1作為鍵盤顯示控制器的片選,Y2作為74LS377的片選,P1.2經(jīng)反相直接作為29C040的片選,則各芯片地址分配如表1所示:
由于篇幅所限,下面僅給出89C52從6264的首地址開始取出512各字節(jié)并寫入29C040的TARGET頁源代碼,其中,數(shù)據(jù)查詢使用了反相位I/O7?!?/font>
參考文獻(xiàn)
任慧,MCS-51單片機系統(tǒng)多種接口實用電路 , 電子技術(shù) 1999(4)。
評論