EEPROM(Electrically Erasable Programmable Read-Only Memory)指的是電子擦除式只讀存儲(chǔ)器,它是一種非易失的存儲(chǔ)器,供電消失后,存儲(chǔ)的數(shù)據(jù)依然保留,要擦除或改寫(xiě)其中的內(nèi)容只要以電子信號(hào)的方式直接操作即可。EEPROM廣泛應(yīng)用于單片機(jī)數(shù)據(jù)存儲(chǔ)領(lǐng)域,主要形式是串行I2C總線控制獨(dú)立EEPROM元器件。隨著單片機(jī)的集成度越來(lái)越高,許多芯片廠家在單片機(jī)的內(nèi)部集成有一定數(shù)量的EEPROM存儲(chǔ)空間,如Microchip、ST等等。本文首先介紹了比較典型的串行EEPROM和集成EEPROM的單片機(jī)并比較了各自的優(yōu)點(diǎn)與缺點(diǎn),并在分析單片機(jī)數(shù)據(jù)存儲(chǔ)特點(diǎn)的基礎(chǔ)上引用實(shí)例說(shuō)明如何采用STM8S內(nèi)置EEPROM設(shè)計(jì)數(shù)據(jù)存儲(chǔ)。
1.器件簡(jiǎn)介
1.1.STM8S系列微處理器
ST公司的STM8S系列通用8位微處理器采用STM8內(nèi)核,具備真嵌入式EEPROM和可校準(zhǔn)RC晶振,大大降低了產(chǎn)品的研發(fā)和生產(chǎn)成本。以STM8S105xx為例,該微處理器是具備16MHz時(shí)鐘主頻的8位單片機(jī)。最大可提供32K字節(jié)ROM和2K字節(jié)RAM。其片內(nèi)的真EE
PROM存儲(chǔ)器最大1K字節(jié),至少可以擦寫(xiě)循環(huán)30萬(wàn)次。同時(shí)具備四路定時(shí)器和豐富的外設(shè)接口,如UART、SPI、I2C等等。
1.2.串行EEPROM
串行EEPROM中,較為典型的有ATMEL公司的AT24CXX系列產(chǎn)品。AT24CXX支持I2C總線數(shù)據(jù)傳送協(xié)議,最高時(shí)鐘頻率400KHz,器件連接到總線上串行器件不僅占用很少的資源和I/O線,而且體積大大縮小,同時(shí)具有工作電源寬、抗干擾能力強(qiáng)、功耗低、數(shù)據(jù)不易丟失和支持在線編程等特點(diǎn)。
1.3.不同存儲(chǔ)方式的比較
表1中羅列了三種不同存儲(chǔ)方式的不同,由于片內(nèi)EEPROM和串行EEPROM的存儲(chǔ)介質(zhì)均為EEPROM,所以其擦寫(xiě)的操作時(shí)間是差不多的,不同之處是串行EEPROM在進(jìn)行寫(xiě)操作時(shí)會(huì)受到I2C總線速度的影響。相比而言讀時(shí)間則是片內(nèi)器件占有優(yōu)勢(shì),因?yàn)槠瑑?nèi)EEPROM是直接訪問(wèn)片內(nèi)地址的方式讀出數(shù)據(jù),效率上比總線方式訪問(wèn)會(huì)快很多。
表 1兩種EEPROM的比較
2.單片機(jī)存儲(chǔ)的特點(diǎn)
單片機(jī)的數(shù)據(jù)存儲(chǔ)模式與一般計(jì)算機(jī)系統(tǒng)的有所不同,主要特點(diǎn)有數(shù)據(jù)量一般不大,很少每次刷新整個(gè)存儲(chǔ)區(qū)域,如果是作為記錄作用的單片機(jī)系統(tǒng),一般數(shù)據(jù)呈線性方式增長(zhǎng),少有刪除或插入的操作。另一方面,單片機(jī)存儲(chǔ)對(duì)數(shù)據(jù)的安全性要求比較高,要求至少有兩個(gè)以上的熱備份數(shù)據(jù)以防止意外造成的數(shù)據(jù)丟失。因此,在實(shí)際應(yīng)用場(chǎng)合時(shí)就需要考慮如下幾個(gè)方面的因素:存儲(chǔ)的數(shù)據(jù)量的大小;每次更新數(shù)據(jù)量的大小;數(shù)據(jù)量更新的頻度;是否為增量數(shù)據(jù)的存儲(chǔ);對(duì)于數(shù)據(jù)校驗(yàn)和冗余的考慮。
3.應(yīng)用實(shí)例
本節(jié)以應(yīng)用實(shí)例分析不同場(chǎng)合的數(shù)據(jù)存儲(chǔ)應(yīng)用。以下應(yīng)用方案的主控單片機(jī)均采用STM8S105K4,片內(nèi)集成1K字節(jié)EEPROM存儲(chǔ)器。