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

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

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

3天內不再提示

利用MAXQ處理器中的非易失性存儲器服務

星星科技指導員 ? 來源:ADI ? 作者:ADI ? 2023-03-03 14:48 ? 次閱讀

需要非易失性數據存儲的應用幾乎總是使用外部串行EEPROM。本文介紹如何僅使用MAXQ微控制器中已有的閃存來提供非易失性數據存儲。

介紹

大多數需要微控制器的應用還需要一些機制來存儲設置,即使斷電也會被記住。例如,在更換電池時忘記其電臺預設的收音機在當今的市場上不會成功。客戶希望將喜愛的電臺、溫度預設、首選項和其他持久性信息從一次使用保存到下一次使用。

為了滿足客戶對非易失性數據存儲的期望,設計人員傳統上使用串行EEPROM。這些EEPROM器件體積小,價格低廉,歷史悠久,使設計工程師能夠放心使用。但在當今對成本敏感的市場中,即使是在設計中添加廉價的EEPROM器件也會超出預算。

許多處理器使用閃存來存儲程序代碼,并使用靜態RAM來存儲數據。雖然利用閃存的未使用部分進行非易失性數據存儲可能很有吸引力,但傳統的哈佛架構排除了這種用途。但MAXQ架構是一臺具有獨立代碼和數據路徑的哈佛機器。MAXQ器件包含實現偽馮諾依曼架構的硬件,允許方便地訪問代碼空間作為數據存儲器。這種額外的多功能性,結合MAXQ提供存儲器寫和擦除服務的實用功能,為完整的讀寫、非易失性存儲器子系統提供了背景。

有關閃存的基本注意事項

閃存是一種電可擦除存儲器。它通常被認為是“大部分閱讀”。簡單來說,雖然閃存是可寫的,但它的使用假設數據更新將不頻繁,并且大部分操作將是讀取操作。大多數閃存設備在字級別是可寫的,但一次只能擦除整個塊。這使得這些存儲設備通常不適合可變存儲,并且僅適用于永不改變的常量數據表。

閃存有兩種:NAND閃存和NOR閃存。NAND閃存用于存儲卡和閃存驅動器。通常,從NAND設備讀取數據需要幾個周期,因為數據是串行從設備中輸出的。這種順序操作使NAND閃存不適合存儲程序代碼,因為訪問時間太長。相比之下,NOR閃存類似于傳統的字節或字范圍內存。NOR閃存可以像讀取ROM器件一樣讀取:斷言器件選擇和地址,并在從總線讀取數據之前等待訪問時間。 NOR閃存用于MAXQ處理器系列。

MAXQ處理器中的閃存

MAXQ處理器中使用的閃存塊擦除為“1”狀態。因此,擦除后,塊中的每個位置都將包含0xFFFF。對閃存位置進行編程會將一些位從“1”狀態更改為“0”狀態。要將編程位返回到“1”狀態,必須擦除整個塊。

任何電動可擦除存儲設備都必須面對的問題是耐用性。根據具體技術的不同,閃存單元在永久失效之前可以承受低至 1,000 次或多達 1,000,000 次擦除程序周期。因此,任何使用閃存進行數據存儲的方案都必須確保寫入周期在陣列中均勻分布,并且沒有一組位置比另一組位置更頻繁地被擦除和編程。

大多數閃存設備將允許先前編程位置中的任何未編程位從“1”更改為“0”狀態。例如,大多數設備允許使用值0xFFFE編程的位置隨后使用值0x7FFE進行編程,因為這不會將任何位值從“0”更改為“1”。然而,MAXQ系列器件中使用的閃存不允許對先前編程的位置進行重新編程,即使沒有嘗試將“0”位改回“1”。此類寫入嘗試將失敗,使值保持在 0xFFFE。

在MAXQ器件中存在這種編程限制是有充分理由的。正在編程的內存塊主要用作代碼空間,因此謹慎的做法是禁止對先前寫入的位置進行任何寫入操作。由于指令0xFFFF指定了無效的源子解碼,因此它不太可能出現在有效的代碼塊中。因此,阻止寫入先前編程的位置有助于保持代碼塊的完整性。

使用MAXQ2000的設計方案

本文重點介紹MAXQ器件:MAXQ2000。該微控制器具有 64kB 的程序存儲,由 128 個塊組成,每個塊 256 個 16 位字。下面介紹兩種設計方案。第一種方案適用于只寫入一次,然后在產品生命周期內不經常更改的信息,例如校準數據、版本信息和功能字符串。第二種方案是一種更通用的機制,旨在容納更頻繁更改的數據,例如使用信息或詳細記錄。

方案 1

問題:校準數據需要存儲在產品中。有時,產品需要重新校準,因此校準數據必須存儲在可重寫存儲器中。

解決方案:這實際上是可以想象的最簡單的情況。MAXQ2000程序閃存陣列中的兩個模塊保留用于校準數據存儲,一個位于字地址0x7E00,另一個位于0x7F00。第一次收到保存校準數據的命令時,MAXQ2000檢查兩個模塊,發現它們都是空白的。校準數據將保存到第一個模塊中。

在保存校準數據的第二個命令中,MAXQ2000再次檢查兩個模塊。當它發現塊 0 正在使用時,它會將校準數據復制到塊 1,然后擦除塊 0。

當收到讀取校準數據的請求時(例如上電時),MAXQ2000讀取兩個模塊以確定哪個模塊正在使用。無論哪個塊未擦除,都用于將設備配置為其校準狀態。

該方案的主要優點是簡單。如果應用程序需要在上電(或其他配置還原事件)進行塊配置,則此方法非常有效。read 例程接受單詞指針并返回該地址處的值;寫入例程接受字指針,并嘗試在該地址處執行寫入周期。擦除例程只是擦除兩個塊。

這種方案有一個缺點:例程非常簡單。不會嘗試確定寫入是否會成功。嘗試寫入,如果寫入失敗,則不執行任何操作來嘗試解決問題。這種限制就是該方案僅用于寫入已知空白塊的原因。

方案 2

問題:需要非易失性存儲來跟蹤能源使用情況和其他頻繁變化的數據。更新從每周幾次到每天幾次不等。電表是挑戰的一個很好的例子。

解決方案:在這種情況下,即使是傳統的EEPROM也需要幫助。問題在于:頻繁的更新以及所有電可擦除存儲器技術都具有有限的寫入壽命這一事實,因此無法一遍又一遍地寫入和擦除單個EEPROM單元。考慮每小時更新的情況。具有 10,000 次寫入擦除周期限制的 EEPROM 將在短短一年多內耗盡,遠低于為電表制定的十年設計目標。

這個問題的解決方案是實現某種形式的“磨損均衡”。這種方法意味著不會一遍又一遍地寫入單個位置。相反,寫入周期分布在整個內存陣列上,適當的索引分布類似。

磨損均衡是一種眾所周知的技術,僅用于此目的的閃存設備。算法可能很復雜且難以理解。但就我們的目的而言,一個更簡單的機制就足夠了。

在此實現中,存儲數組中的數據項不是按地址引用,而是按數據元素編號引用。數據元素編號是唯一標識數據元素的任意 8 位值。因此,在此方案中最多可以有 255 個數據元素(保留數據元素 0)。每個數據元素都有:一個包含數據元素編號和數據元素長度的雙字節標頭(參見圖 1);指示一個、兩個、三個或四個 2 位字的 16 位代碼,如果需要,還有足夠的空間用于錯誤管理。

pYYBAGQBmE2AdgsqAAAZA2HCQok580.gif


圖1.數據元素標頭的結構。

若要寫入數據元素,寫入子例程必須知道要寫入的數據、數據元素的長度以及要寫入數據的位置。確定數據將寫入的地址很簡單;數據元素(無論是新元素還是對現有元素的更新)都寫入存儲陣列的末尾。write 函數查找數組的末尾,然后緊跟在最后一條記錄之后寫入新的數據元素。如果 Flash 頁面中沒有足夠的空間來包含指定長度的記錄,則會寫入頁末標記并打開一個新頁面。有關典型數據頁的結構,請參見圖 2

在此數據頁中,數據元素 1 是首先寫入的,并且經常更新。接下來編寫了數據元素 4,并且從未更新過。然后寫入數據元素 3,并已更新七次。最后,數據元素 2 已寫入且從未更新。

頁結束標記的存在表示進行了數據寫入嘗試,但數據元素太長,無法容納在頁面上。將打開一個新頁面以容納數據元素。整個數據結構的末尾由一個空白元素指定,其中的元素標頭應位于該空白元素的位置。

pYYBAGQBmpKALvn5AADI9m2Sgg8150.png

數字2. 典型的數據頁面。

請注意,此方案尚未解決重復記錄的問題。這是因為重復記錄不是問題。事實上,讀取和寫入例程完全忽略了重復記錄。寫入時,新記錄位于數組的末尾,無論是否已存在相同編號的記錄。讀取時,僅檢索與請求的記錄編號匹配的最后一條(因此也是最新的)記錄。

從數組中讀取數據元素比寫入更復雜。read 函數接受數據元素內容應寫入的元素編號和地址。調用時,read 函數從頭開始搜索數組。當它找到與請求的數據元素匹配的記錄時,它會存儲地址并繼續搜索。如果找到另一個匹配的記錄,則讀取函數會將存儲的地址替換為新地址。當到達數組的末尾時,存儲的地址將指向所請求記錄的最新寫入副本。然后,read 函數將此數據復制到調用函數時傳遞的緩沖區。

盡管已經提出了一種可行的只讀機制來存儲和檢索存儲陣列中的記錄,但仍然存在一個問題:沒有重用過時記錄副本占用的空間的機制。(也沒有刪除記錄的機制,但由于此方案的結構是在嵌入式應用程序中工作的,因此這可能不是一個關鍵功能。如果不恢復一些空間,分配的空間將很快耗盡。然而,恢復空間意味著擦除整個頁面,因為閃存一次只能擦除一整頁。這個問題更加復雜,因為Flash頁面不能被任意刪除而不會刪除有用信息的風險。唯一的選擇是在擦除舊頁面之前將活動信息復制到新頁面。

從過時的記錄中恢復空間的過程分為三個階段。首先,打開新的 Flash 頁面,并將每個數據元素的最新版本復制到新頁面中。其次,舊頁面被擦除。最后,將頁面標記放置在新頁面上,以便讀取例程可以找到它們。

第一階段有些復雜,需要更詳細地檢查。執行此步驟的一種簡單方法是將其分為兩個子步驟:首先,使用 RAM 數組存儲數組中最新記錄的記錄編號和地址;其次,逐步執行 RAM 陣列,將最新記錄復制到新的閃存頁面。這個過程將是快速且相對簡單的。

這種雙子步方案的問題在于MAXQ2000具有1k字的RAM。上述方案將可存儲的唯一數據量限制為緩沖區可以保留的 RAM 大小。這顯然是不可接受的。

解決這一難題非常耗時,但無論存儲陣列變得多大(在合理范圍內)都有效。與其在 RAM 中構建指針列表,不如為每個唯一條目通過源數組進行多次傳遞。因此,壓縮算法變為:

從源數組中讀取元素。

在目標數組中搜索元素。如果找到,則該元素已被寫入。遞增源指針并返回到 1。

掃描源數組以查找元素的最新副本。

將數據元素的最新副本寫入目標數組。

遞增源指針并返回到 1。

最后,目標數組中的每個唯一數據元素只有一個條目。

圖 3

給出了打包頁面的圖示。現在可以安全地擦除源頁面,并將頁眉寫入目標數組。

poYBAGQBmE-AfuwhAAAJbEpAKpw933.gif


圖3.空間恢復后,圖 2 的數據頁將如下所示。

此過程的結構對于存儲的數據盡可能安全。但是,在使用閃存設備時必須面對一個危險:寫入或擦除操作期間的電源故障。如果電源出現故障,則一個或多個頁面可能會損壞(在寫入的情況下)或未完全擦除(在擦除操作的情況下)。但緊湊的操作本質上是安全的。請考慮以下方案:

如果在打包操作期間發生電源故障,源頁將保持完全完整。電源恢復后,可以輕松識別新寫入的頁面(它們沒有頁面標題)并擦除,并重新啟動包操作。

如果在擦除舊頁面時發生電源故障,則它們可能包含無效的標題。可以擦除這些頁面,并將標題添加到新頁面。

如果在將頁眉寫入新頁時發生電源故障,則數據保持不變。可以重新啟動頁眉更新操作。

簡而言之,不應存在任何機制,通過這種機制,意外事件可以不可挽回地損壞陣列數據。

方案 2 增強功能

此處介紹的存儲子系統沒有錯誤檢測機制。數據元素標識符中存在未提交的可用位(如所示的六個位)。可以使用CRC6算法(x6+ x + 1) 計算跨數據元素的 CRC,以確保沒有發生讀取或寫入錯誤。雖然這不是一個特別健壯的算法(它會錯過 64 個多位錯誤中的一個),但它會檢測可能發生的大多數實際錯誤。

系統的另一個限制是讀取訪問時間必然很長。對于每次讀取,都必須讀取數組中的每條記錄才能找到最新的記錄。有三種方法可以縮短訪問時間:

在數據元素中為前向指針留一個空白字。更新值時,填寫指向新條目的轉發指針。這樣,可以將表作為鏈表遍歷。

向后遍歷表。現在只需在請求元素第一次出現時停止。

如果只有少量唯一元素,請在啟動時創建一個包含元素 ID 和指針的 RAM 數組。后續訪問非常快。只需讀取 RAM 數組即可確定從何處獲取數據元素。

結論

非易失性數據存儲是每個設計工程師遲早必須面對的一個因素。有了MAXQ處理器靈活的閃存,再也沒有理由求助于小型串行存儲器來存儲配置數據。

審核編輯:郭婷

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

    關注

    48

    文章

    7542

    瀏覽量

    151316
  • 處理器
    +關注

    關注

    68

    文章

    19259

    瀏覽量

    229652
  • 存儲器
    +關注

    關注

    38

    文章

    7484

    瀏覽量

    163763
收藏 人收藏

    評論

    相關推薦

    更小的非易失性存儲器特性分析

    目前主流的基于浮柵閃存技術的非易失性存儲器(NVM)技術有望成為未來幾年的參考技術。但是,閃存本身固有的技術和物理局限性使其很難再縮小技術節點。在這種環境下,業界試圖利用新材料和新概念發明一種更好
    的頭像 發表于 12-18 10:02 ?5288次閱讀
    更小的<b class='flag-5'>非易失性存儲器</b>特性分析

    非易失性存儲器的特點及應用介紹

    非易失性存儲器的特點及應用介紹
    發表于 08-20 12:54

    汽車系統非易失性存儲器的選擇

    汽車系統的設計變得越來越復雜,因為要不斷的加入新的功能,如高級駕駛輔助,圖形儀表,車身控制和車輛信息娛樂系統。為了確保可靠、安全的操作,每個子系統均需要使用特定的非易失性存儲器,以便在復位操作和電源
    發表于 07-23 06:15

    非易失性存儲器平衡的方法

    非易失性存儲器平衡方法
    發表于 01-07 07:26

    充分利用MAXQ®處理器的非易失存儲服務

    充分利用MAXQ®處理器的非易失存儲服務 摘要:需要非易失數據存儲的應用通常都需要使用
    發表于 05-02 09:28 ?901次閱讀
    充分<b class='flag-5'>利用</b><b class='flag-5'>MAXQ</b>®<b class='flag-5'>處理器</b>的非易失<b class='flag-5'>存儲</b><b class='flag-5'>服務</b>

    面向納電子時代的非易失性存儲器

    面向納電子時代的非易失性存儲器  摘要   目前主流的基于浮柵閃存技術的非易失性存儲器(NVM)技術有望成為未來幾年的參考技術。但是,閃存本身固有的
    發表于 12-25 09:37 ?715次閱讀

    非易失性存儲器FeRAM、MRAM和OUM

      本文對目前幾種比較有競爭力和發展潛力的新型非易失性存儲器做了一個簡單的介紹。   鐵電存儲器(FeRAM)   鐵電存儲器是一種在斷電時不會丟失內容的非易
    發表于 08-31 10:50 ?2278次閱讀
    <b class='flag-5'>非易失性存儲器</b>FeRAM、MRAM和OUM

    MAXQ構架上閃存和SRAM存儲器的分配

    本應用筆記介紹如何利用IAR嵌入式工作臺工具分配和存取MAXQ微控制上的閃存和SRAM存儲器
    發表于 06-21 14:44 ?2521次閱讀
    <b class='flag-5'>MAXQ</b>構架上閃存和SRAM<b class='flag-5'>存儲器</b>的分配

    非易失性存儲器的分類和未來發展預測

    非易失性存儲器是指當電流關掉后,所存儲的數據不會消失者的電腦存儲器非易失性存儲器,依存儲器
    的頭像 發表于 12-23 13:31 ?1.2w次閱讀

    關于非易失性存儲器和易失性存儲器的區別詳解

    非易失性存儲器技術是在關閉計算機或者突然性、意外性關閉計算機的時候數據不會丟失的技術。非易失性存儲器技術得到了快速發展,非易失性存儲器主要分為塊尋址和字節尋址兩類。
    發表于 01-23 11:33 ?1.8w次閱讀

    非易失性存儲器和易失性存儲器有什么全部詳細資料對比

    非易失性存儲器技術是在關閉計算機或者突然性、意外性關閉計算機的時候數據不會丟失的技術。非易失性存儲器技術得到了快速發展,非易失性存儲器主要分為塊尋址和字節尋址兩類。
    發表于 04-07 14:33 ?8842次閱讀

    存儲器和新興非易失性存儲器技術的特點

    良好的設計是成功制造非易失性存儲器產品的重要關鍵,包括測試和驗證設備性能以及在制造后一次在晶圓和設備級別進行質量控制測試。新興的非易失性存儲器技術的制造和測試,這些技術將支持物聯網,人工智能以及先進
    發表于 06-09 13:46 ?1119次閱讀
    <b class='flag-5'>存儲器</b>和新興<b class='flag-5'>非易失性存儲器</b>技術的特點

    PCM與MRAM將在非易失性存儲器處于領先地位

    MKW Ventures的Mark Webb表示,在接下來的十年,兩種新興的非易失性存儲器類型(相變存儲器和磁RAM)將在獨立存儲器處于
    的頭像 發表于 11-24 15:29 ?2806次閱讀

    非易失性存儲器X24C45文數據手冊

    非易失性存儲器X24C45文數據手冊分享。
    發表于 04-14 10:30 ?18次下載

    簡述非易失性存儲器的類型

    非易失性存儲器(Non-Volatile Memory, NVM)是指即使在電源關閉或失去外部電源的情況下,仍能保持存儲數據的計算機存儲器。這類存儲器在數據保存方面具有重要的應用價值,
    的頭像 發表于 09-10 14:44 ?788次閱讀
    主站蜘蛛池模板: 伊人无码高清| 国产亚洲精品久久久久久国模美| 亚洲字幕久久| 97国产精品久久精品国产| 99精品日韩| 两个人看的www免费高清直播| 亚洲性无码AV久久成人| 久久精品热在线观看30| 免费国产久久拍久久爱| 亚洲中久无码永久在线| 国产精品久久久久久久A片冻果| 欧美精品成人久久网站| 在线观看视频中文字幕| 国产亚洲精品首页在线播放| 日本视频一区二区免费观看| 88蜜桃人妻无码精品系列| 久久99re热在线观看视频| 亚州中文字幕| 国产成人拍精品免费视频爱情岛 | 中文字幕无码A片久久| 成年人视频在线免费播放| 国产精品卡1卡2卡三卡四| 免费人成视频X8X8国产更快乐| 男人J桶女人P视频无遮挡网站| 日本韩国欧美一区| 亚洲精品123区| WWW国产色情在线观看APP| 国产免费阿v精品视频网址| 琪琪see色原网站在线观看| 俄罗斯兽交XXXXX在线| 午夜在线观看免费完整直播网| 黄色天堂在线| 日本午夜看x费免| 超碰98人人插| 皮皮在线精品亚洲| 99九九精品视频| 免费xxx成年大片| 999精品免费视频| 男同志china免费视频| 97午夜理论片影院在线播放| 免费国产足恋网站|