閃速存儲器硬件接口和程序設(shè)計中的關(guān)鍵技術(shù)
閃速存儲器(Flash Memory)以其集成度高、制造成本低、使用方便等諸多優(yōu)點廣泛地應(yīng)用于辦公設(shè)備、通信設(shè)備、醫(yī)療設(shè)備、家用電器等領(lǐng)域。利用其信息非易失性和可以在線更新數(shù)據(jù)參數(shù)特性,可將其作為具有一定靈活性的只讀存儲器使用。
本文引用地址:http://m.butianyuan.cn/article/173786.htm在單片機應(yīng)用系統(tǒng)中,經(jīng)常遇到大容量的數(shù)據(jù)存儲問題。閃速存儲器由于容量大、存儲速度快、體積小、功耗低等諸多優(yōu)點,而成為應(yīng)用系統(tǒng)中數(shù)據(jù)存儲器的首選。但是,由于單片機的資源有限,而閃速存儲器的種類和工作方式又千差萬別,因而在單片機與閃速存儲器的接口電路和程序設(shè)計中,有許多關(guān)鍵技術(shù)問題需要解決。
(1)很多單片機的工作電壓為+5V,而很多閃速存儲器卻工作在1.8~6V之間,有些閃速存儲器(Flash Memory)的擦除電壓又工作在12V。
(2)8位的單片機很多,而閃速存儲器很多是16位的。
(3)同一型號的閃速存儲器由于廠家不同,引腳的定義是不一樣的,例如Intel公司的28F008BV與AMD公司的29LV008有很多引腳是不一樣的。
單片機與閃速存儲器的程序設(shè)計應(yīng)注意的問題有:
(1)不同廠家的閃速存儲器使用不同的操作命令集,軟件要根據(jù)不同廠家的閃速存儲器使用不同的操作命令集。
(2)很多閃速存儲器內(nèi)部存儲結(jié)構(gòu)和時間參數(shù)是不同的。由于閃速存儲器內(nèi)部都是分成不同大小存儲塊,在對閃速存儲器進(jìn)行擦除操作時,軟件要根據(jù)不同型號的閃速存儲器調(diào)整被擦除存儲塊的大小等參數(shù)。同時,由于不同型號的閃速存儲器時間參數(shù)是不同,軟件要根據(jù)閃速存儲器的時間參數(shù)來調(diào)整讀寫和擦除操作的時間。
針對上面遇到的問題,我們從硬件和軟件兩個方面來考慮單片機與閃速存儲器應(yīng)用系統(tǒng)中應(yīng)解決的關(guān)鍵技術(shù)問題。
1 單片機與閃速存儲器硬件接口的關(guān)鍵技術(shù)
生產(chǎn)閃速存儲器的半導(dǎo)體公司主要有美國的Intel、AMD公司和日本的Sharp、Fujitsu公司,這四家公司生產(chǎn)的閃速存儲器的市場占有份額相當(dāng)大。表1列出了四家公司生產(chǎn)的主要型號的閃速存儲器的性能指標(biāo)。
從表1中可以看出,不同廠家的閃速存儲器的工作電壓和編程擦除電壓是不一樣的,同時數(shù)據(jù)位的長度也是不一樣的。由于目前國內(nèi)應(yīng)用最廣泛的單片機仍然是8位的MCS-51系列單片機,16位的單片機種類比較少,而且工作電壓在低電壓(2.7~3.6V)的單片機又是寥寥無幾。能否用市場上常見的普通8位單片機來設(shè)計一個與大多數(shù)閃速存儲器接口的電路呢?答案是肯定的。我們用普通的8位單片機AT89C52設(shè)計了一個與閃速存儲器TE28F160B3的接口電路,AT89C52是ATMEL公司生產(chǎn)的與MCS-51系列單片機兼容的8位單片機,它內(nèi)部有一個16K 的E2PROM程序存儲器,它的工作電壓是5V。TE28F160B3是INTEL公司生產(chǎn)的容量為16M位、數(shù)據(jù)總線寬度為16位的閃存存儲器,它的工作電壓為2.7~3.6V。需要指出的是,雖然TE28F160B3的工作電壓為2.7~3.6V,但是其各引腳的最大工作電壓范圍卻在-0.5V~5.0V,各引腳高電平最高工作電壓不能超過5.5V,這樣就使得我們可以使用AT89C52來設(shè)計與TE28F160B3的接口電路。該接口電路如圖1所示。
評論