色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于AVR RISC結構的E2PROM數據存儲策略方案研究

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-05-30 08:15 ? 次閱讀

目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。在一個單片機系統中,往往要求系統能夠為用戶保存一些參數或數值。這些數據被要求在系統斷電后不會“消 失”,并在下一次開機后能夠被讀取和修改。

高可靠性、功能強、高速度、低功耗和低價位 , 一直是衡量單片機性能的重要指標,也是單片機占領市場、賴以生存的必要條件。隨著單片機內部集成功能的不斷增加,使用片外數據存儲器的做法逐漸被含有片內可擦寫存儲單元的單片機所 取代。早期用戶可將需要保存的數據存放在片內Flash內,但這種做法對Flash內程序代碼乃至整個系統存在安全隱隱患,在片內集成獨立的數據存儲區成了單片機芯片設計的必然趨勢。例如Atmel 公司在AVR 系列單片機產品中,就融入了先進的E2PROM 電可擦除技術,使該公司的單片機具備了優秀的品質,在結構、性能和功能等方面都有明顯 的優勢。EEPROM (Electrically Erasable Programmable Read-Only Memory),電可擦可編程只讀存儲器,一種掉電后數據不丟失的存儲芯片。EEPROM可以在電腦上或專用設備上擦除已有信息,重新編程。一般用在即插即用。但不管是將數據保存在Flash內還是保存在E2PROM內,都存在一個存儲單元可擦寫次數的上限。通常芯片廠家標明的是1 000 000次以上;而對于單片機系統的設計者來說,有部分保存在E2PROM內的數據在系統運行過程中是需要被頻繁擦寫的。當存放這些數據的片內存儲單元達到擦寫次數上限時,這個存儲單元就不能再使用了,從而會導致系統出現故障。

EEPROM是可用戶更改的只讀存儲器(ROM),其可通過高于普通電壓的作用來擦除和重編程(重寫)。不像EPROM芯片,EEPROM不需從計算機中取出即可修改。在一個EEPROM中,當計算機在使用的時候是可頻繁地重編程的, EEPROM的壽命是一個很重要的設計考慮參數。EEPROM的一種特殊形式是閃存,其應用通常是個人電腦中的電壓來擦寫和重編程。EEPROM常用在接口卡中,用來存放硬件設置數據,也常用在防止軟件非法拷貝的"硬件鎖"上面。

另外,單片機內部的E2PROM空間相對于有待保存的數據量來說是有很大富余的。也就是說,當單片機由于內部 E2PROM擦寫次數超過極限而不能正常工作時,片內仍然有較多的E2PROM空間沒有被利用過,因而產生單片機內部資源的極大浪費。

本文以AVR系列單片機中的ATmega8(ATmega8是ATMEL公司在2002年第一季度推出的一款新型AVR高檔單片機,是一款采用低功耗CMOS工藝生產的基于AVR RISC結構的8位單片機,它承襲了AT90所具有的特點,并在AT90的基礎上,增加了更多的接口功能,而且在省電性能、穩定性、抗干擾性以及靈活性方面考慮得更加周全和完善)為例,從程序設計角度出發,提出一種切實可行的E2PROM數據存儲策略,最大限度地提高片內E2PROM空間的利用率,從而解決上面提到的問題。

1、基本原理

由EPROM操作的不便,后來出的主板上BIOS ROM芯片大部分都采用EEPROM(Electrically Erasable Programmable ROM,電可擦除可編程ROM)。EEPROM的擦除不需要借助于其它設備,它是以電子信號來修改其內容的 ,而且是以Byte為最小修改單位,不必將資料全部洗掉才能寫入,徹底擺脫了EPROM Eraser和編程器的束縛。EPROM在寫入數據時,仍要利用一定的編程電壓,此時,只需用廠商提供的專用刷新程序就可以輕而易舉地改寫內 容,所以,它屬于雙電壓芯片。借助于EEPROM芯片的雙電壓特性,可以使BIOS具有良好的防毒功能,在升級時,把 跳線開關打至“ON”的位置,即給芯片加上相應的編程電壓,就可以方便地升級;平時使用時,則把跳線開關打至“OFF”的位置,防止CIH類的病毒對BIOS芯片的非法修改。所以,至今仍有不少主板采用EEPROM作為BIOS芯片并作為自己主板的一大特色。

2、E2PROM數據動態存儲的基本要求

一般,把數據存儲方式設定為靜態,即為固定的地址指定惟一的變量,任何時候讀取和改寫此地址內數據的操作均視為對該變量的讀取和改寫。然而這樣的存儲方式若被用于E2PROM 內的數據存儲,當E2PROM 的某一單元因過量擦寫而失效后,這個固定地址內所存放的變量就失去了有效的對應物理空間,這是在做E2PROM 數據存儲時不愿意看到的。

解決上述問題的有效方法是對E2PROM 數據實行動態存儲。其基本要求和目標是:

① 在整個系統使用壽命內,使E2PROM 空間得到最大利用;

② 系統能夠辨別不能使用的E2PROM 單元,從而保障數據安全。

3、策略分析

為方便敘述,將整個E2PROM空間分為以下幾個部分:統稱已經分配給用戶使用的地址連續的E2PROM區域為“占用塊”;稱未曾分配的地址連續的E2PROM區域為“可利用塊”或“空閑塊”。另外,為記錄占用塊的使用情況,還要在E2PROM內劃定一個地址連續的區域作為“目錄表”。這個目錄表記錄的是占用塊中實際占用空間的地址。與此對應的,占用塊中另外的部分就是廢棄空間(單元) 。

采取這樣的策略,在高地址的空閑塊中先放入目錄表。該目錄表的大小決定于占用塊中實際占用單元的多少,目錄表記錄實際占用單元的地址;占用塊從低地址的空閑塊開始分配,系統不再回收已經分配的占用塊,一直到占用塊中出現廢棄單元,系統就為其把現有的占用塊擴大,同時修改目錄表中的相關地址信息。

在系統運行初期,如果地址信息與數據信息同類型,那么占用塊和目錄表所占空間大小是一樣的,且目錄表是一個低地址的序列。如圖1所示,如果單片機內有N個E2PROM 存儲單元內,則在高地址開辟一個目錄表空間,記錄m個實際占用單元的地址,即0,1 ,2 , …,m-1 。

基于AVR RISC結構的E2PROM數據存儲策略方案研究

當系統運行到一定時間后,占用塊中的某一個單元會因為E2PROM 數據擦寫次數超過限次而失效被廢棄,不妨假設這個單元地址是002H,那么系統就開始查找當前目錄表中所記錄的最大地址值,如圖2所示。這個最大地址值加1,便是為廢棄單元在空閑塊重新分配單元的地址,這里是(m-1)+1 = m。同時,目錄表所記錄的該內容的地址也做出相應修改。

基于AVR RISC結構的E2PROM數據存儲策略方案研究

可以預想的是,接著系統在一定時間后,會出現第2個廢棄單元,假設這個單元地址是000H。依次類推,如圖3所示,系統會為D0分配地址m+1 所指向的空間,同時目錄表內原先表示D0所在的地址值會被更改為m+1 。

基于AVR RISC結構的E2PROM數據存儲策略方案研究

隨著E2PROM內廢棄單元的逐漸增加,空閑塊的大小不斷縮小。當出現新的廢棄單元而沒有空閑塊可以利用時,系統會出現故障。采用這樣的策略后,相對于首次出現廢棄單元系統便被摧毀來說,實際上這個出現故障的時間已經被大大延緩了。

設Di在固定E2PROM 單元可存放的壽命為ti。這個值與系統中要求Di被修改的平均次數有關,其中i = 0,1,2, …, m - 1。

基于AVR RISC結構的E2PROM數據存儲策略方案研究

基于AVR RISC結構的E2PROM數據存儲策略方案研究

4、實現流程

圖4 為實現上述策略的程序流程。

基于AVR RISC結構的E2PROM數據存儲策略方案研究

在每一次E2PROM數據存儲的過程中,首先都需要從目錄表中查找該數據在占用塊內的地址add【i],然后將新數據D[i]寫入該地址。單從算法的角度考慮,認為不存在寫失敗或讀失敗的情況,那么隨后將寫好的數據再讀出,通過驗證數據的正確性就可以判別該占用單元是不是應該廢棄。如果驗證通過,修改操作完成;如果驗證沒有通過,則廢棄該地址空間,并通過查詢目錄表,向后開辟新的占用單元,之后重復存儲過程。

5、示例

AVR單片機在片內集成了可以擦寫1 000 000次的E2PROM數據存儲器,用于保存系統的設定參數、固定表格和掉電后的數據保存,方便使用,減少系統的空間,又大大提高了系統的保密性。下面以AVR系列中的ATmega8為例,介紹上述的E2PROM動態存儲策略的C語言程序實現。

基于AVR RISC結構的E2PROM數據存儲策略方案研究

基于AVR RISC結構的E2PROM數據存儲策略方案研究

6、結語

集成獨立E2 PROM 數據存儲器是單片機設計的必然發展趨勢。單片機廣泛應用于儀器儀表、家用電器、醫用設備、航空航天、專用設備的智能化管理及過程控制等領域,對于單片機的用戶來說,怎樣更合理、更科學地利用好單片機的這些內部資源,是極其重要也是需要不斷地探索和總結的。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • CMOS
    +關注

    關注

    58

    文章

    5724

    瀏覽量

    235686
  • 單片機
    +關注

    關注

    6039

    文章

    44575

    瀏覽量

    636403
  • 存儲器
    +關注

    關注

    38

    文章

    7514

    瀏覽量

    163990
收藏 人收藏

    評論

    相關推薦

    在Altera CycIone II系列FPGA中用VHDL實現E2PROM控制器的設計

    E2PROM存儲存儲單元的損壞主要是由頻繁的寫操作造成的。若要解決問題,首先耍避免對同一單元進行頻繁的擦寫,降低存儲單元損壞的可能;其次當某些單元損壞時,讀寫控制器應該能夠跳過這些損
    發表于 07-22 17:32 ?1237次閱讀
    在Altera CycIone II系列FPGA中用VHDL實現<b class='flag-5'>E2PROM</b>控制器的設計

    基于Keil C的AT24C02串行E2PROM的編程

      基于Keil C的AT24C02串行E2PROM的編程AT24C02是美國Atmel公司的低功耗CMOS型E2PROM,內含256×8位存儲空間,具有工作電壓寬(2.5~5.5
    發表于 08-18 17:13

    ATMage16 proteus 5 內部E2PROM

    相關寄存器 :EEDR數據寄存器(用來存儲要發送的或者是接受的數據)。地址寄存器EEAR:E2Prom的內部地址。EECR:控制寄存器。位0,讀使能位。位1寫使能位。位
    發表于 05-13 22:55

    如何在CY8C29466中將校準數據下載到e2prom

    E2PROM。但我不知道該怎么做?我已經研究了相關文件到E2PROM,AN2015。它使用一個數組來存儲寫入E2PROM
    發表于 12-03 11:43

    一款實用的串行E2PROM讀寫軟件

    一款實用的串行E2PROM讀寫軟件
    發表于 04-26 16:53 ?101次下載

    內置Reset WDT電路的串行E2PROM芯片資料

    內置Reset WDT 電路的串行E2PROM一概述CSI24Cxxx 是集E2PROM 存儲器, 精確復位控制器和看門狗定時器三種流行功能于一體的芯片CSI24C161/162 16K CSI24C081/082 8K CSI
    發表于 07-20 18:14 ?35次下載

    內置Reset WDT電路的串行E2PROM原理及應用設計

    CAT24Cxxx是集E2PROM存儲器, 精確復位控制器和看門狗定時器三種流行功能于一體的芯片。CAT24C161/162(16K),CAT24C081/082(8K),CAT24C041/042(4K)和CAT24C021/022(
    發表于 11-18 11:22 ?53次下載

    基于FPGA的可靠性E2PROM控制器設計

    E2PROM 是較常用的存儲器件。但在特殊的場合,其可靠性或其使用壽命對系統的正常運行有很大影響。為此介紹了I2C 總線及E2PROM 的工作原理,提出了一種具有較高可靠性的
    發表于 01-13 15:14 ?15次下載

    同步串行E2PROM編程設備設計與開發

    設計了一板載同步串行E2PROM編程設備。計算機、應用軟件和物理硬件構成系統體系結構,計算機與物理硬件之間采用USB總線互連,即插即用非常方便。重點介紹了物理硬件結構、客
    發表于 07-30 17:59 ?37次下載

    AT93C46 E2PROM存儲器各引腳功能及管腳電壓

    AT93C46 E2PROM存儲器各引腳功能及管腳電壓 概述:AT
    發表于 10-10 14:57 ?8102次閱讀
    AT93C46 <b class='flag-5'>E2PROM</b><b class='flag-5'>存儲</b>器各引腳功能及管腳電壓

    E2PROM存儲單元

    E2PROM存儲單元
    發表于 12-04 13:03 ?1591次閱讀

    E2PROM存儲單元的三種工作狀態

    E2PROM存儲單元的三種工作狀態
    發表于 12-04 13:04 ?1480次閱讀

    基于SPI方式DSP外部E2PROM接口設計

    基于SPI方式DSP外部E2PROM接口設計   0 引 言   近年來,隨著DSP技術的普及、高性能DSP芯片的出現,DSP已越來越多地被廣大的工程師所接受,
    發表于 01-06 14:10 ?2020次閱讀
    基于SPI方式DSP外部<b class='flag-5'>E2PROM</b>接口設計

    ARM基礎應用實驗_E2PROM存儲

    電子專業單片機相關知識學習教材資料——ARM基礎應用實驗04E2PROM存儲
    發表于 09-13 17:23 ?0次下載

    AT24C02串行CMOS E2PROM的使用資料詳解

    本文檔的主要內容詳細介紹的是AT24C02串行CMOS E2PROM的使用資料詳解。
    發表于 06-14 17:44 ?10次下載
    AT24C02串行CMOS <b class='flag-5'>E2PROM</b>的使用資料詳解
    主站蜘蛛池模板: 偷窥国产亚洲免费视频| 欧美内射深插日本少妇| 99re 这里只有精品| 亚洲破处女| 无人区在线日本高清免费| 日韩精品免费一区二区| 欧美日本高清动作片www网站| 久久精品国产亚洲AV热无遮挡| 国产毛A片啊久久久久久A| 俄罗斯freeⅹ性欧美| 成年AV动漫| ppypp日本欧美一区二区| 91久久偷偷做嫩草影院免| 在线天天看片视频免费观看| 亚洲午夜精品AV无码少妇| 亚洲综合日韩中文字幕v在线| 先锋影音 av| 亚洲91av| 亚洲色图影院| 亚洲一区国产| 亚洲一卡二卡三卡四卡2021麻豆| 男男h啪肉np文总受| 尤物国产在线精品三区| 午夜亚洲WWW湿好大| 午夜福利在线观看6080| 乡土女性网动态图解| 羞羞答答影院在线| 亚洲九九精品| 在线观看国产精美视频| 37pao成人国产永久免费视频| 6080yy奇领电影在线看| 99视频精品全部免费观看| 草莓视频免费在线观看| 动漫美女性侵| 国产乱子影视频上线免费观看| 国产午夜精品久久久久九九| 精品 在线 视频 亚洲| 久久婷婷电影网| 欧美日韩中文在线字幕视频| 日本老师xxxxx18| 午夜一区二区三区|