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

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于AVR RISC結(jié)構(gòu)的E2PROM數(shù)據(jù)存儲(chǔ)策略方案研究

電子設(shè)計(jì) ? 來(lái)源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-05-30 08:15 ? 次閱讀

目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒(méi)有單片機(jī)的蹤跡。在一個(gè)單片機(jī)系統(tǒng)中,往往要求系統(tǒng)能夠?yàn)橛脩舯4嬉恍?a target="_blank">參數(shù)或數(shù)值。這些數(shù)據(jù)被要求在系統(tǒng)斷電后不會(huì)“消 失”,并在下一次開(kāi)機(jī)后能夠被讀取和修改。

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

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

另外,單片機(jī)內(nèi)部的E2PROM空間相對(duì)于有待保存的數(shù)據(jù)量來(lái)說(shuō)是有很大富余的。也就是說(shuō),當(dāng)單片機(jī)由于內(nèi)部 E2PROM擦寫(xiě)次數(shù)超過(guò)極限而不能正常工作時(shí),片內(nèi)仍然有較多的E2PROM空間沒(méi)有被利用過(guò),因而產(chǎn)生單片機(jī)內(nèi)部資源的極大浪費(fèi)。

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

1、基本原理

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

2、E2PROM數(shù)據(jù)動(dòng)態(tài)存儲(chǔ)的基本要求

一般,把數(shù)據(jù)存儲(chǔ)方式設(shè)定為靜態(tài),即為固定的地址指定惟一的變量,任何時(shí)候讀取和改寫(xiě)此地址內(nèi)數(shù)據(jù)的操作均視為對(duì)該變量的讀取和改寫(xiě)。然而這樣的存儲(chǔ)方式若被用于E2PROM 內(nèi)的數(shù)據(jù)存儲(chǔ),當(dāng)E2PROM 的某一單元因過(guò)量擦寫(xiě)而失效后,這個(gè)固定地址內(nèi)所存放的變量就失去了有效的對(duì)應(yīng)物理空間,這是在做E2PROM 數(shù)據(jù)存儲(chǔ)時(shí)不愿意看到的。

解決上述問(wèn)題的有效方法是對(duì)E2PROM 數(shù)據(jù)實(shí)行動(dòng)態(tài)存儲(chǔ)。其基本要求和目標(biāo)是:

① 在整個(gè)系統(tǒng)使用壽命內(nèi),使E2PROM 空間得到最大利用;

② 系統(tǒng)能夠辨別不能使用的E2PROM 單元,從而保障數(shù)據(jù)安全。

3、策略分析

為方便敘述,將整個(gè)E2PROM空間分為以下幾個(gè)部分:統(tǒng)稱已經(jīng)分配給用戶使用的地址連續(xù)的E2PROM區(qū)域?yàn)椤罢加脡K”;稱未曾分配的地址連續(xù)的E2PROM區(qū)域?yàn)椤翱衫脡K”或“空閑塊”。另外,為記錄占用塊的使用情況,還要在E2PROM內(nèi)劃定一個(gè)地址連續(xù)的區(qū)域作為“目錄表”。這個(gè)目錄表記錄的是占用塊中實(shí)際占用空間的地址。與此對(duì)應(yīng)的,占用塊中另外的部分就是廢棄空間(單元) 。

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

在系統(tǒng)運(yùn)行初期,如果地址信息與數(shù)據(jù)信息同類型,那么占用塊和目錄表所占空間大小是一樣的,且目錄表是一個(gè)低地址的序列。如圖1所示,如果單片機(jī)內(nèi)有N個(gè)E2PROM 存儲(chǔ)單元內(nèi),則在高地址開(kāi)辟一個(gè)目錄表空間,記錄m個(gè)實(shí)際占用單元的地址,即0,1 ,2 , …,m-1 。

基于AVR RISC結(jié)構(gòu)的E2PROM數(shù)據(jù)存儲(chǔ)策略方案研究

當(dāng)系統(tǒng)運(yùn)行到一定時(shí)間后,占用塊中的某一個(gè)單元會(huì)因?yàn)镋2PROM 數(shù)據(jù)擦寫(xiě)次數(shù)超過(guò)限次而失效被廢棄,不妨假設(shè)這個(gè)單元地址是002H,那么系統(tǒng)就開(kāi)始查找當(dāng)前目錄表中所記錄的最大地址值,如圖2所示。這個(gè)最大地址值加1,便是為廢棄單元在空閑塊重新分配單元的地址,這里是(m-1)+1 = m。同時(shí),目錄表所記錄的該內(nèi)容的地址也做出相應(yīng)修改。

基于AVR RISC結(jié)構(gòu)的E2PROM數(shù)據(jù)存儲(chǔ)策略方案研究

可以預(yù)想的是,接著系統(tǒng)在一定時(shí)間后,會(huì)出現(xiàn)第2個(gè)廢棄單元,假設(shè)這個(gè)單元地址是000H。依次類推,如圖3所示,系統(tǒng)會(huì)為D0分配地址m+1 所指向的空間,同時(shí)目錄表內(nèi)原先表示D0所在的地址值會(huì)被更改為m+1 。

基于AVR RISC結(jié)構(gòu)的E2PROM數(shù)據(jù)存儲(chǔ)策略方案研究

隨著E2PROM內(nèi)廢棄單元的逐漸增加,空閑塊的大小不斷縮小。當(dāng)出現(xiàn)新的廢棄單元而沒(méi)有空閑塊可以利用時(shí),系統(tǒng)會(huì)出現(xiàn)故障。采用這樣的策略后,相對(duì)于首次出現(xiàn)廢棄單元系統(tǒng)便被摧毀來(lái)說(shuō),實(shí)際上這個(gè)出現(xiàn)故障的時(shí)間已經(jīng)被大大延緩了。

設(shè)Di在固定E2PROM 單元可存放的壽命為ti。這個(gè)值與系統(tǒng)中要求Di被修改的平均次數(shù)有關(guān),其中i = 0,1,2, …, m - 1。

基于AVR RISC結(jié)構(gòu)的E2PROM數(shù)據(jù)存儲(chǔ)策略方案研究

基于AVR RISC結(jié)構(gòu)的E2PROM數(shù)據(jù)存儲(chǔ)策略方案研究

4、實(shí)現(xiàn)流程

圖4 為實(shí)現(xiàn)上述策略的程序流程。

基于AVR RISC結(jié)構(gòu)的E2PROM數(shù)據(jù)存儲(chǔ)策略方案研究

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

5、示例

AVR單片機(jī)在片內(nèi)集成了可以擦寫(xiě)1 000 000次的E2PROM數(shù)據(jù)存儲(chǔ)器,用于保存系統(tǒng)的設(shè)定參數(shù)、固定表格和掉電后的數(shù)據(jù)保存,方便使用,減少系統(tǒng)的空間,又大大提高了系統(tǒng)的保密性。下面以AVR系列中的ATmega8為例,介紹上述的E2PROM動(dòng)態(tài)存儲(chǔ)策略的C語(yǔ)言程序?qū)崿F(xiàn)。

基于AVR RISC結(jié)構(gòu)的E2PROM數(shù)據(jù)存儲(chǔ)策略方案研究

基于AVR RISC結(jié)構(gòu)的E2PROM數(shù)據(jù)存儲(chǔ)策略方案研究

6、結(jié)語(yǔ)

集成獨(dú)立E2 PROM 數(shù)據(jù)存儲(chǔ)器是單片機(jī)設(shè)計(jì)的必然發(fā)展趨勢(shì)。單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過(guò)程控制等領(lǐng)域,對(duì)于單片機(jī)的用戶來(lái)說(shuō),怎樣更合理、更科學(xué)地利用好單片機(jī)的這些內(nèi)部資源,是極其重要也是需要不斷地探索和總結(jié)的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • CMOS
    +關(guān)注

    關(guān)注

    58

    文章

    5733

    瀏覽量

    235863
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6041

    文章

    44616

    瀏覽量

    637393
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7525

    瀏覽量

    164154
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    在Altera CycIone II系列FPGA中用VHDL實(shí)現(xiàn)E2PROM控制器的設(shè)計(jì)

    E2PROM存儲(chǔ)存儲(chǔ)單元的損壞主要是由頻繁的寫(xiě)操作造成的。若要解決問(wèn)題,首先耍避免對(duì)同一單元進(jìn)行頻繁的擦寫(xiě),降低存儲(chǔ)單元損壞的可能;其次當(dāng)某些單元損壞時(shí),讀寫(xiě)控制器應(yīng)該能夠跳過(guò)這些損
    發(fā)表于 07-22 17:32 ?1246次閱讀
    在Altera CycIone II系列FPGA中用VHDL實(shí)現(xiàn)<b class='flag-5'>E2PROM</b>控制器的設(shè)計(jì)

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

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

    ATMage16 proteus 5 內(nèi)部E2PROM

    相關(guān)寄存器 :EEDR數(shù)據(jù)寄存器(用來(lái)存儲(chǔ)要發(fā)送的或者是接受的數(shù)據(jù))。地址寄存器EEAR:E2Prom的內(nèi)部地址。EECR:控制寄存器。位0,讀使能位。位1寫(xiě)使能位。位
    發(fā)表于 05-13 22:55

    如何在CY8C29466中將校準(zhǔn)數(shù)據(jù)下載到e2prom

    E2PROM。但我不知道該怎么做?我已經(jīng)研究了相關(guān)文件到E2PROM,AN2015。它使用一個(gè)數(shù)組來(lái)存儲(chǔ)寫(xiě)入E2PROM
    發(fā)表于 12-03 11:43

    一款實(shí)用的串行E2PROM讀寫(xiě)軟件

    一款實(shí)用的串行E2PROM讀寫(xiě)軟件
    發(fā)表于 04-26 16:53 ?101次下載

    內(nèi)置Reset WDT電路的串行E2PROM芯片資料

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

    內(nèi)置Reset WDT電路的串行E2PROM原理及應(yīng)用設(shè)計(jì)

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

    基于FPGA的可靠性E2PROM控制器設(shè)計(jì)

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

    同步串行E2PROM編程設(shè)備設(shè)計(jì)與開(kāi)發(fā)

    設(shè)計(jì)了一板載同步串行E2PROM編程設(shè)備。計(jì)算機(jī)、應(yīng)用軟件和物理硬件構(gòu)成系統(tǒng)體系結(jié)構(gòu),計(jì)算機(jī)與物理硬件之間采用USB總線互連,即插即用非常方便。重點(diǎn)介紹了物理硬件結(jié)構(gòu)、客
    發(fā)表于 07-30 17:59 ?37次下載

    AT93C46 E2PROM存儲(chǔ)器各引腳功能及管腳電壓

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

    E2PROM存儲(chǔ)單元

    E2PROM存儲(chǔ)單元
    發(fā)表于 12-04 13:03 ?1594次閱讀

    E2PROM存儲(chǔ)單元的三種工作狀態(tài)

    E2PROM存儲(chǔ)單元的三種工作狀態(tài)
    發(fā)表于 12-04 13:04 ?1483次閱讀

    基于SPI方式DSP外部E2PROM接口設(shè)計(jì)

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

    ARM基礎(chǔ)應(yīng)用實(shí)驗(yàn)_E2PROM存儲(chǔ)

    電子專業(yè)單片機(jī)相關(guān)知識(shí)學(xué)習(xí)教材資料——ARM基礎(chǔ)應(yīng)用實(shí)驗(yàn)04E2PROM存儲(chǔ)
    發(fā)表于 09-13 17:23 ?0次下載

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

    本文檔的主要內(nèi)容詳細(xì)介紹的是AT24C02串行CMOS E2PROM的使用資料詳解。
    發(fā)表于 06-14 17:44 ?10次下載
    AT24C02串行CMOS <b class='flag-5'>E2PROM</b>的使用資料詳解
    主站蜘蛛池模板: 双性人皇上被c到哭| 最新中文字幕在线视频| 天堂草原天黑黑| 午夜不卡久久精品无码免费| 校花在公车上被内射好舒服| 亚洲精品黄色| 浴室里强摁做开腿呻吟的漫画男男| 久久综合电影| 美国色吧影院| 极品少妇高潮XXXXX| 九九精品在线播放| 久久午夜免费视频| 欧美黄色精品| 卫生间被教官做好爽HH视频 | 东北真实仑乱| 国产人妻777人伦精品HD| 寂寞夜晚视频在线观看| 裸妇厨房风流在线观看| 交换年轻夫妇HD中文字幕| 久久秋霞理论电影| 欧美一区二区三区播放| 天上人间影院久久国产| 一个色综合久久| 一级大乳奶| 99久久久A片无码国产精| 动漫美女被吸奶| 久99久热只有精品国产99| 嫩草影院永久在线一二三四| 久久在精品线影院精品国产| 欧美黑人经典片免费观看| 特黄特黄aaaa级毛片免费看| 亚洲精品国产A久久久久久| 51久久夜色精品国产| 丰满饥渴老太性hd| 精品久久久久久久国产潘金莲| 牛牛自拍国产免费视频| 我的美女奴隶| 总裁呻吟双腿大开男男H| 高干紧射H后入| 久久毛片免费看一区二区三区| 日本精油按摩|