《電子技術應用》
您所在的位置:首頁 > 微波|射頻 > 設計應用 > 基于STM8S微處理器內部EEPROM的數據存儲方法
基于STM8S微處理器內部EEPROM的數據存儲方法
摘要: EEPROM(ElectricallyErasableProgrammableRead-OnlyMemory)指的是電子擦除式只讀存儲器,它是一種非易失的存儲器,供電消失后,存儲的數據依然保留,要擦除或改寫其中的內容只要以電子信號的方式直接操作即可。EEPROM廣泛應用于單片機數據存儲領域,主要形式是串行I2C總線控制獨立EEPROM元器件。隨著單片機的集成度越來越高,許多芯片廠家在單片機的內部集成有一定數量的EEPROM存儲空間,如Microchip、ST等等。
Abstract:
Key words :

  EEPROM" title="EEPROM">EEPROM(Electrically Erasable Programmable Read-Only Memory)指的是電子擦除式只讀存儲器,它是一種非易失的存儲器,供電消失后,存儲的數據依然保留,要擦除或改寫其中的內容只要以電子信號的方式直接操作即可。EEPROM廣泛應用于單片機數據存儲" title="數據存儲">數據存儲領域,主要形式是串行I2C總線控制獨立EEPROM元器件。隨著單片機的集成度越來越高,許多芯片廠家在單片機的內部集成有一定數量的EEPROM存儲空間,如Microchip、ST等等。本文首先介紹了比較典型的串行EEPROM和集成EEPROM的單片機并比較了各自的優點與缺點,并在分析單片機數據存儲特點的基礎上引用實例說明如何采用STM8S" title="STM8S">STM8S內置EEPROM設計數據存儲。

  1.器件簡介

  1.1.STM8S系列微處理器

  ST公司的STM8S系列通用8位微處理器" title="微處理器">微處理器采用STM8內核,具備真嵌入式EEPROM和可校準RC晶振,大大降低了產品的研發和生產成本。以STM8S105xx為例,該微處理器是具備16MHz時鐘主頻的8位單片機。最大可提供32K字節ROM和2K字節RAM。其片內的真EEPROM存儲器最大1K字節,至少可以擦寫循環30萬次。同時具備四路定時器和豐富的外設接口,如UART、SPI、I2C等等。

  1.2.串行EEPROM

  串行EEPROM中,較為典型的有ATMEL公司的AT24CXX系列產品。AT24CXX支持I2C總線數據傳送協議,最高時鐘頻率400KHz,器件連接到總線上串行器件不僅占用很少的資源和I/O線,而且體積大大縮小,同時具有工作電源寬、抗干擾能力強、功耗低、數據不易丟失和支持在線編程等特點。

  1.3.不同存儲方式的比較

  表1中羅列了三種不同存儲方式的不同,由于片內EEPROM和串行EEPROM的存儲介質均為EEPROM,所以其擦寫的操作時間是差不多的,不同之處是串行EEPROM在進行寫操作時會受到I2C總線速度的影響。相比而言讀時間則是片內器件占有優勢,因為片內EEPROM是直接訪問片內地址的方式讀出數據,效率上比總線方式訪問會快很多。

  表 1兩種EEPROM的比較

  2.單片機存儲的特點

  單片機的數據存儲模式與一般計算機系統的有所不同,主要特點有數據量一般不大,很少每次刷新整個存儲區域,如果是作為記錄作用的單片機系統,一般數據呈線性方式增長,少有刪除或插入的操作。另一方面,單片機存儲對數據的安全性要求比較高,要求至少有兩個以上的熱備份數據以防止意外造成的數據丟失。因此,在實際應用場合時就需要考慮如下幾個方面的因素:存儲的數據量的大?。幻看胃聰祿康拇笮?;數據量更新的頻度;是否為增量數據的存儲;對于數據校驗和冗余的考慮。

  3.應用實例

  本節以應用實例分析不同場合的數據存儲應用。以下應用方案的主控單片機均采用STM8S105K4,片內集成1K字節EEPROM存儲器。

  3.1.智能電表應用

  在智能電表應用中的一個重要的問題就是數據的保存和數據的安全,不僅要求數據要及時的保存而且要求所保存的數據不能有錯誤,所以重點需要考慮的是數據的冗余和校驗。出于成本和數據安全的考慮,可以采用兩種方案實現電量計量,一是當電量有變化時周期性將當前的電量存入EEPROM中;二是只在意外斷電時將當前電量存入EEPROM中。第一種方案需要考慮的是EEPROM的擦寫次數是否能滿足使用要求。第二種方案需要考慮的是備用電源的供電時間能否滿足存儲時間的要求。

  前一種方案,單片機每隔10秒向EEPROM存入寫入一次當前的電量,如果當前電量與前一次寫入的值相等則不寫入以節約EEPROM的寫入壽命。存儲時采用不固定的存儲地址,從0地址開始每次寫入兩次數據,占用8個字節,作為備份。下次寫入時將寫入地址向后移動2個數據的寬度,即8個字節。循環寫入整個EEPROM的空間,如此可以計算出(1024 * 300,000次) / 8 = 38,400,000次,每隔10秒存儲一次大約可以使用12年。

  后一種方案,單片機的ADC管腳連接電壓采集轉換,利用采集到的ADC值判斷當前主電源的供給狀況。一旦ADC值降低的某一閥值則認為主電源斷電,開始采用備用電源供給。備用電源采用大電容的方案,單片機寫入雙備份8個字節的時間大約為50ms,寫入時的電流約為2mA,單片機的運行電流(5V)約為8mA。假設電容從5V放電到3.8V,通過計算可以得知0.05s * 0.01A / (5V - 3.8V) = 417uF。故在系統的供電電源上并聯兩個470uF的電容即可完全滿足主電源掉電后的存儲電源供給。

  3.2.車載收音機應用

  車載收音機的應用方案需要考慮兩塊存儲空間的安排,一塊是寄存 器表區域,存儲收音機調諧器寄存器表的信息。數據量大約68個字節,這部分存儲信息在出廠時寫入后禁止修改。一塊是用戶參數值區域,用于保存收音機運行時用戶設置值的空間。大約需要100個字節,其中包括開關機信息、收音機頻率信息、音量音色信息等等,存儲時不會一次刷新整片存儲區域,一般只會修改幾個字節的信息。

 

  按照車載收音機存儲空間的安排,可以將1K的EEPROM空間按照128個字節一塊的大小分割成8個塊。第0塊用于存儲寄存器表,出廠時一次寫入后禁止改寫。從第1塊到第7塊組成一個循環鏈表作為用戶數據的存儲,每次上電選擇相鄰的兩個塊作為當前存儲空間,下一次上電選擇的兩個存儲空間向后移一個。如第一次上電選擇1、2兩個塊,第二次上電選擇2、3兩個塊,以此類推,使得EEPROM的每個塊的擦寫次數平均化。EEPROM空間分配如下圖1所示,開機流程如下圖2所示,遍歷每個塊直到找到有效的塊并讀出上次斷電前存儲的設置值,如果直到第7塊都沒有找到有效塊則載入默認值。確定有效的設置值后初始化寫入主數據塊和備份數據塊一次,程序運行時如果有設置值的改變則依次修改主數據塊和備份數據塊。如果遇到意外斷電,至少可以保證一個數據塊中的內容是合法有效的。

  圖 1存儲塊分配

  圖 2程序開機流程

  4.總結

  綜上所述,本文介紹了兩種常見的單片機存儲應用實例,均通過STM8S內置EEPROM實現存儲。設計的方案符合設計要求并具備低成本、抗干擾等優點,適用于一般單片機存儲的應用。

  參考文獻:

  [1]STM8 CPU programming manual, STMicroelectronics, 2009.

  [2]How to program STM8S Flash program memory and data EEPROM, STMicroelectronics, 2009.

  [3]AT24WCxx DataSheet,ATMEL,2000.

  [4]《一種延長EEPROM使用壽命的方法》,《航空計算技術》1995年 第2期

  [5]《24系列串行EEPROM的正確選用》,《電子技術(上海)》1998年 第2期

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美人禽猛交狂配免费看 | www免费| 免费福利在线看黄网站 | 成人高清在线视频 | 97人洗澡人人澡人人爽 | 免费观看色视频 | 免费一级a毛片在线播放视 免费一级a毛片在线播出 | 天堂在线中文字幕 | 外国黄色毛片 | 男人下面进女人下面视频免费 | 99精品视频在线在线视频观看 | 精品videoss另类日本 | 日韩在线视频二区 | 欧美性受xxxx视频 | 日韩一区二区三区免费视频 | 韩国伦理片免费在线观看 | 男女午夜特黄毛片免费 | 福利网址在线观看 | 草草视频在线观看 | 色噜噜狠狠狠色综合久 | 日韩激情淫片免费看 | 亚洲成人黄色网 | 伊人最新网址 | 在线视频一区二区三区三区不卡 | 国产精品12| 狠狠欧美 | 一级毛片aaa | 久久成人小视频 | 久久国产欧美日韩高清专区 | 亚洲国产91| 五月丁六月停停 | 国产欧美专区在线观看 | 中国女人一级毛片 | 欧美精品专区免费观看 | 亚洲成在人天堂一区二区 | 国语性猛交xxxx乱大交 | 欧美乱妇视频 | 国产精品视频免费的 | 国产欧美亚洲精品第二区首页 | 欧美精品束缚一区二区三区 | 国产一区a |