閃存芯片KM29N32000TS在單片機(jī)系統(tǒng)中的應(yīng)用
關(guān)鍵詞:KM29N32000TS Flash存儲(chǔ)器 單片機(jī)系統(tǒng)
在許多測量和測試應(yīng)用系統(tǒng)中,如便攜式儀器等其它電池供電系統(tǒng),需要保證數(shù)據(jù)的可靠性和可用性,即使整個(gè)系統(tǒng)掉電,而所采集到的數(shù)據(jù)仍能長時(shí)間的保持不丟失。閃存技術(shù)的發(fā)燕尾服提供了這種可能性。閃存的非易失性非常優(yōu)越,數(shù)據(jù)可保存長達(dá)10的。本文將介紹32M位閃存芯片KM29N32000TS及其在87C552單片機(jī)系統(tǒng)中的應(yīng)用。
1 KM29N32000TS簡介
KM29N32000TS作為閃速存儲(chǔ)器兼有E2PROM的可編程能力和非易失性,并且容量大、速度快,只需單5V供電便可做讀、編程、擦除等操作。圖1是它的存儲(chǔ)器組織圖。
KM29N32000TS是44(40)腳表面封裝器件,封裝 尺寸為18.80mm11.78mm1.20mm,內(nèi)部有(4M+128K)8位的存儲(chǔ)空間,組織成8192行,(512+16)列,其中最后16列為后備列,列地址為512~527??梢赃M(jìn)行以512字節(jié)為一頁的頁讀、字操作和以8K字節(jié)為一塊的塊擦除操作,有一個(gè)528字節(jié)的頁豁口用于頁讀、頁編程時(shí)存儲(chǔ)單元的數(shù)據(jù)傳輸。
KM29N32000TS的突出優(yōu)點(diǎn)在于:命令、地址和數(shù)據(jù)信息均通過8條I/O線傳輸,這樣4MB空間的22位地址需要分三次寫入地址寄存器,經(jīng)譯碼后訪問相應(yīng)單元。對單片機(jī)而言,當(dāng)需擴(kuò)展的存儲(chǔ)空間超過64KB時(shí),尋址便會(huì)存在一定困難,系統(tǒng)的連線復(fù)雜而使可靠性降低。采用這種閃速存儲(chǔ)器便能克服上述困難,而且便于各式級到更大容量而無需要改外部連接。
CLE:命令鎖存使能。其為高時(shí),命令通過I/O口線在WE信號(hào)的上升沿被鎖入命令寄存器。
ALE:地址鎖存使能。當(dāng)其為高時(shí),地址在WE信號(hào)的上升沿被鎖入地址寄存器;當(dāng)其為低時(shí),鎖定輸入數(shù)據(jù)。
CE:片使能。讀操作期間,CE變高,器件轉(zhuǎn)入standby模式;編程或擦除期間,器件處于忙狀態(tài)時(shí),CE高將被忽略。
WE:寫使能。命令、地址和數(shù)據(jù)在WE信號(hào)的上升沿被鎖定。
RE:讀使能。下降沿有效。WP:寫保護(hù)。在電源電壓過渡期間,使WP為低電平時(shí),可產(chǎn)生寫/擦除保護(hù)。
R/B:操作狀態(tài)指示。為低電平時(shí),指示正在編程或讀操作中,操作結(jié)束后變成高,開路輸出。
I/O口:(I/O0~I(xiàn)/O7)三態(tài)。輸入命令、地址和數(shù)據(jù)以及讀操作時(shí)輸出數(shù)據(jù)。
對該存儲(chǔ)器的各種操作有著共同的特點(diǎn):首先通過I/O口將操作命令字送入命令寄存器,然后在三個(gè)連續(xù)的寫周期內(nèi)送入欲操作單元的地址(順序?yàn)锳0~A7,A9~A16,A17~A21,A8會(huì)根據(jù)所訪問的存儲(chǔ)區(qū)域的不同而自動(dòng)設(shè)定為高或低)。
2 與87C552單片機(jī)的連接
KM29N32000TS與87C552單片機(jī)的接口電路如圖3所示。由單片機(jī)的P1口直接與存儲(chǔ)器的I/O0~I(xiàn)/O7相連,實(shí)現(xiàn)命令、地址和數(shù)據(jù)的傳輸;P1.0接CLE,控制命令輸入;P1.2接ALE,控制地址輸入;P1.1接CE,控制片選;P1.3接R/B,監(jiān)測存儲(chǔ)器的工作狀態(tài);WR、RD分別接WE、RE,控制讀、寫操作。
圖3中的MAX809是一個(gè)電源電壓監(jiān)測芯片。當(dāng)電源電壓低于某一個(gè)值時(shí)(門限電壓),輸出低電平,使得存儲(chǔ)器進(jìn)入寫保護(hù)狀態(tài)。當(dāng)電源電壓超過門限電壓240ms后,才解除寫保護(hù)狀態(tài),可以正常寫入數(shù)據(jù)。這樣可以保證寫入存儲(chǔ)器的數(shù)據(jù)都是有效的。MAX809的工作電流只有17μA。
3 軟件設(shè)計(jì)
與存儲(chǔ)器有關(guān)的操作有讀數(shù)據(jù)、寫數(shù)據(jù)(即頁編程)和擦除數(shù)據(jù),下面僅以讀寫操作來說明其操作過程,具體過程的程序流程如圖4、圖5所示。
①在讀操作子程序中,既可以一次讀取一整頁的數(shù)據(jù),也可以讀取指定地址處的數(shù)據(jù)。如果要連續(xù)讀取多頁數(shù)據(jù),則需要根據(jù)存儲(chǔ)器的讀時(shí)序修改子程序。
②頁編程子程序每次可以寫一頁的數(shù)據(jù),也可以在起始地址所在的當(dāng)前頁中寫入數(shù)據(jù),但不能實(shí)現(xiàn)跨頁編程。如果數(shù)據(jù)個(gè)數(shù)超出頁邊界,將會(huì)造成數(shù)據(jù)丟失。
結(jié)語
該芯片及應(yīng)用系統(tǒng)已在石油鉆井井下隨鉆測量系統(tǒng)中得到實(shí)際應(yīng)用,雖歷經(jīng)多次系統(tǒng)掉電,但數(shù)據(jù)仍保存完好。實(shí)踐證明,其可靠性高,性能穩(wěn)定,有很高的實(shí)用價(jià)值。
評論