一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

ECC技術(shù)應(yīng)用于大容量SM卡中使其實(shí)現(xiàn)功能穩(wěn)定

電子設(shè)計(jì) ? 來源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-07-12 08:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1 引言

SM卡是一種nash Memory存儲(chǔ)卡,輕薄短小是其未來產(chǎn)品的發(fā)展趨勢。SM卡具有體積小(45 mm×37 mm x0.76mm),質(zhì)量輕(僅1.8克),結(jié)構(gòu)簡單,攜帶方便,且具有較高的擦寫性能,功耗低,易于升級(jí),帶有便于數(shù)據(jù)傳輸?shù)腜CMCIA界面等優(yōu)點(diǎn),但存在兼容性差和容量小的缺點(diǎn)。

采用大容量的SM卡作為存儲(chǔ)介質(zhì)用于存儲(chǔ)采集的數(shù)據(jù)具有突破性發(fā)展。但其最關(guān)鍵技術(shù)問題是要保證各種大量的數(shù)據(jù)能夠在計(jì)算機(jī)中正確地回放和分析,保證計(jì)算機(jī)正確無誤地識(shí)別出SM卡中的數(shù)據(jù),因此要求SM卡的存儲(chǔ)數(shù)據(jù)格式應(yīng)與DOS文件系統(tǒng)相兼容。錯(cuò)誤檢查與糾正編碼簡稱ECC,是一種實(shí)現(xiàn)計(jì)算機(jī)錯(cuò)誤檢查和糾正的技術(shù),可使整個(gè)計(jì)算機(jī)系統(tǒng)工作時(shí)安全穩(wěn)定。而ECC技術(shù)應(yīng)用于大容量SM卡,使其數(shù)據(jù)采集、儲(chǔ)存更安全穩(wěn)定,并給出了ECC編碼算法,程序設(shè)計(jì)及查錯(cuò)校正的實(shí)現(xiàn)。

2 ECC與SM的地址轉(zhuǎn)換

按照DOS文件操作系統(tǒng)存儲(chǔ)數(shù)據(jù)的方法,SM卡除存儲(chǔ)數(shù)據(jù)功能外,還具有以下5個(gè)區(qū)域:卡信息結(jié)構(gòu)(Card Information Structure,簡稱CIS)、主引導(dǎo)記錄(Master Boot Record簡稱,MBR)、分區(qū)引導(dǎo)記錄(Partition Boot Record,簡稱PBR)、分件分配表(File A11ocation Table,簡稱FAT)、根目錄(Root Directory,簡稱DIR)。CPU采用邏輯地址操作存儲(chǔ)介質(zhì),由于邏輯地址與物理地址不同,物理地址是存儲(chǔ)介質(zhì)的實(shí)際地址,如果按照物理地址順序存儲(chǔ)數(shù)據(jù),則不便于文件增加或刪減的操作,因此,其DOS邏輯地址與物理地址必須按照轉(zhuǎn)換表進(jìn)行轉(zhuǎn)換。而SM卡的轉(zhuǎn)換表處于每頁存儲(chǔ)區(qū)的冗余區(qū)內(nèi)。

SM卡每頁包括528字節(jié),分為512字節(jié)數(shù)據(jù)區(qū)和16字節(jié)的冗余區(qū)。冗余區(qū)的格式如表l所示,其中ECC編碼區(qū)和邏輯、物理轉(zhuǎn)換區(qū)是最為重要部分。

ECC技術(shù)應(yīng)用于大容量SM卡中使其實(shí)現(xiàn)功能穩(wěn)定

由表1可以看出:邏輯地址區(qū)1和邏輯地址區(qū)2完全一致,ECC編碼區(qū)2是指256“512字節(jié)的ECC編碼,ECC編碼區(qū)l是指0”255字節(jié)的ECC編碼,數(shù)據(jù)狀態(tài)標(biāo)志和塊狀態(tài)標(biāo)志為FFH時(shí)正常,否則異常。邏輯地址區(qū)是針對(duì)DOS文件系統(tǒng)的邏輯地址和物理地址的轉(zhuǎn)換表,格式如表2所示,其中BA9~BA0為邏輯地址,P為奇偶區(qū)標(biāo)志。

ECC技術(shù)應(yīng)用于大容量SM卡中使其實(shí)現(xiàn)功能穩(wěn)定

所謂邏輯地址是相對(duì)于DOS文件系統(tǒng)而言,DOS文件系統(tǒng)在存儲(chǔ)文件時(shí),并不是完全按照物理地址的順序存儲(chǔ)的,而是將物理地址按一定的算法分配成邏輯地址,文件存儲(chǔ)是按照FAT表中標(biāo)注的邏輯地址,再根據(jù)冗余區(qū)中的邏輯地址的內(nèi)容找到相應(yīng)的物理地址區(qū)實(shí)現(xiàn)的。整個(gè)SM卡的邏輯地址分布如表3所示。

ECC技術(shù)應(yīng)用于大容量SM卡中使其實(shí)現(xiàn)功能穩(wěn)定

3 ECC編碼

ECC與奇偶校驗(yàn)(Parity)相類似,然而Parity只能檢測錯(cuò)誤,而ECC則可糾正每頁的l位錯(cuò)誤。經(jīng)過內(nèi)存糾錯(cuò),計(jì)算機(jī)的操作指令才能繼續(xù)。

由于SM卡存在“寫入干擾”,易引起數(shù)據(jù)錯(cuò)誤,而且該錯(cuò)誤不能利用寫入Flash狀態(tài)進(jìn)行檢查。根據(jù)SM卡實(shí)驗(yàn)結(jié)果推斷,寫入干擾引發(fā)的錯(cuò)誤在l頁中(512字節(jié))只有1位出現(xiàn)錯(cuò)誤。因此認(rèn)為這類錯(cuò)誤可利用ECC碼檢查并糾正,而不視為壞塊。這樣將大大提高SM卡的可靠性和壽命。在設(shè)計(jì)中以512字節(jié)為一組數(shù)據(jù),加上ECC碼(3字節(jié)),這樣可以使ECC碼的比例達(dá)到最低。

4 ECC編碼算法和程序設(shè)計(jì)

4.1 ECC碼的普通算法

以64字節(jié)一組數(shù)據(jù)為例說明ECC碼的普通算法,前52字節(jié)為輸入數(shù)據(jù),后面12字節(jié)補(bǔ)零或64字節(jié)參加運(yùn)算。先將64字節(jié)數(shù)據(jù)排成一列,即最高地址數(shù)據(jù)bit7,bit 6…bit O,然后為次高地址數(shù)據(jù)bit 7,bit 6…bit O,依次根據(jù)地址由高到低,直至最低地址數(shù)據(jù)bit 7,bit 6…bit 0,總共512位。

首先將512位分成前256位和后256位。計(jì)算前256位中“1”的個(gè)數(shù)k,如果k為奇數(shù),令P(256)=l;若k為偶數(shù),則令P(256)=O。然后計(jì)算后面256位中“1”的個(gè)數(shù)為j,如果j為奇數(shù),則令Q(256)=1;若j為偶數(shù),則Q(256)=0。

然后,再把512位等分4塊,每一塊均為128位。把第一塊、第三塊合在一起,計(jì)算其中“1”的個(gè)數(shù)l,如果l為奇數(shù),令P(128)=l;若f為偶數(shù),令P(128)=0;把第二塊和第四塊合在一起,計(jì)算其中“1”的個(gè)數(shù)m,如果m為奇數(shù),則令Q(128)=1,若m為偶數(shù),令Q(128)=0。

第三步,把512位等分為8塊,每塊為64位,把奇數(shù)次塊合并在一起,計(jì)算“l(fā)”的個(gè)數(shù),決定P(64)是“1”還是“0”,再把偶數(shù)次塊合并在一起,計(jì)算“1”的個(gè)數(shù),決定Q(64)是“1‘,還是“0”。

依次類推,每次塊數(shù)增加一倍,其塊的位數(shù)減少一半,直到每塊中只有1位為止。將奇數(shù)次塊合并在一起,然后決定P(16)、P(8)、P(4)、P(2)、P(1)分別是“1”還是“0”;把偶數(shù)次塊合在一起,決定Q(16)、Q(8)、Q(4)、Q(2)、Q(1)分別是“1”,還是“0”。

最后,把上述P(i)、Q(i)排成一列得P(256)Q(256)P(128)Q(128)P(64)Q(64)…P(1)Q(1)總共18位就構(gòu)成ECC碼,ECC碼為3字節(jié),多余位全為零。

4.2 簡化ECC碼算法

計(jì)算ECC碼是一個(gè)子程序,要求程序要短,ECC子程序的長度為120字節(jié),F(xiàn)015的程序空間可以容納;執(zhí)行要快,ECC子程序的執(zhí)行時(shí)間約為2 ms。由于F015的程序空間不大,而子程序是在記錄過程中經(jīng)數(shù)據(jù)采集,運(yùn)算再加上ECC碼,然后存入Flash。運(yùn)算時(shí)間過長會(huì)干擾下一點(diǎn)數(shù)據(jù)采集,破壞數(shù)據(jù)完整性。數(shù)據(jù)采集周期為1/8 s(125 ms),ECC運(yùn)行時(shí)間應(yīng)小于12.5 ms。

程序采用數(shù)據(jù)平行處理,巧妙重復(fù)利用F015指令,從而達(dá)到系統(tǒng)要求。

5 查錯(cuò)和校正

5.1 錯(cuò)誤類型

常見內(nèi)存錯(cuò)誤為:單位、多位、列、行等錯(cuò)誤。其中單位錯(cuò)誤大多在讀取一個(gè)完整比特時(shí)有一位出錯(cuò);而多位錯(cuò)誤是讀相同比特時(shí)總是同一位數(shù)據(jù)出錯(cuò);如果單位錯(cuò)誤發(fā)生在很多詞中,則視為列或行錯(cuò)誤。

5.2 查錯(cuò)和校正算法

無錯(cuò)誤時(shí),ECC碼全為0;當(dāng)主區(qū)有1位錯(cuò)誤,每一個(gè)相似組(eg:P8&P8’)有l(wèi)&0或0&1,可以糾錯(cuò);如果Flash有多于2位以上的錯(cuò)誤,則沒辦法修正。

在數(shù)據(jù)存入前產(chǎn)生的ECC碼為PQ先,在讀出數(shù)據(jù)后計(jì)算得的ECC碼為PQ后,具體算法如下:

(1)若PQ先^PQ后(^為異或),

(2)若異或后000 000 000 000 000 000,則表示數(shù)據(jù)無錯(cuò)。PQ先^PQ后,R=RF(256)RQ(256)RP(128)RQ(128)…RP(1)RQ(1),其中RP(256)=P(256)先^P(256)后,RQ(256)=Q(256)先^Q(256)后。

若RP(i)^RQ(i)為l,對(duì)所有i(i=1,2,4…256)都成立,則

存在1位錯(cuò)碼,其出錯(cuò)的位置:由RP(256)RP(128)RP(64)RP(32)RP(16)RP(8)地址決定的這一字節(jié)中地址(范圍0—63)在RP(4)RP(2)RP(1)的位上(O“7位)。將上述參數(shù)決定的該字節(jié)的位數(shù)據(jù)取非,就可校正數(shù)據(jù)中的錯(cuò)誤。

(3)RP(i)^RQ(i)=1,只對(duì)一個(gè)i(i=1,2,4…256)成立。則ECC碼PO先出錯(cuò),數(shù)據(jù)正確。

(4)若出現(xiàn)其他情況,則無法校正數(shù)據(jù)錯(cuò)誤。

6 ECC編碼的實(shí)現(xiàn)

256字節(jié)數(shù)據(jù)的ECC碼是3個(gè)字節(jié),其中22個(gè)字節(jié)是有用的。ECC編碼的產(chǎn)生、計(jì)算方法及錯(cuò)碼檢測方法框圖分別如表4、圖1和圖2所示。

ECC技術(shù)應(yīng)用于大容量SM卡中使其實(shí)現(xiàn)功能穩(wěn)定

由圖1和圖2可看出,寫入DOS文件系統(tǒng)所需的各功能區(qū)的內(nèi)容,在實(shí)際編程中要嚴(yán)格按照其結(jié)構(gòu)編寫,否則計(jì)算機(jī)將無法識(shí)別。

7 結(jié)語

通過討論和分析可見,SM卡的存儲(chǔ)結(jié)構(gòu)、DOS存儲(chǔ)格式以及ECC代碼的編寫所構(gòu)成SM卡數(shù)據(jù)存儲(chǔ)系統(tǒng)的軟件部分,說明了將ECC技術(shù)應(yīng)用于大容量的SM卡是可行的。


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

    關(guān)注

    13

    文章

    4533

    瀏覽量

    87466
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7663

    瀏覽量

    90825
  • 數(shù)據(jù)采集
    +關(guān)注

    關(guān)注

    40

    文章

    7187

    瀏覽量

    116523
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    CS 創(chuàng)世SD NAND FLASH 存儲(chǔ)芯片,比TF更小巧輕便易用的大容量存儲(chǔ),TF替代方案

    存儲(chǔ):與其他 NAND 閃存技術(shù)相比,SD NAND FLASH 具有更高的存儲(chǔ)密度,使其用于需要大容量存儲(chǔ)的應(yīng)用。   可移植性:SD NAND FLASH 卡通常以標(biāo)準(zhǔn)的 Sec
    發(fā)表于 01-24 18:30

    SM7513離線式小功率 AC/DC 開關(guān)電源驅(qū)動(dòng)芯片

    `鉦銘科新品SM7513與SM7523B一樣,都是應(yīng)用于離線式小功率 AC/DC 開關(guān)電源的高性能的原邊反饋控制功率開關(guān)芯片。在全電壓輸入范圍內(nèi),可以實(shí)現(xiàn)高精度恒流輸出,并且不需要環(huán)路
    發(fā)表于 11-09 15:37

    鉦銘科電子SM7055電壓力鍋電源IC方案

    、BUCK-BOOST 系統(tǒng)方案,支持12V和18V輸出電壓,很方便的應(yīng)用于小家電產(chǎn)品領(lǐng)域,SM7055電源芯片方案穩(wěn)定、低成本,深受客戶的歡迎。方案并提供了過溫、過流、過壓、欠壓等完善的保護(hù)
    發(fā)表于 02-19 14:59

    MultiMediacard大容量串行Flash存儲(chǔ)

    SMDB和SDMJ兩種構(gòu)成技術(shù)。SMDB即二進(jìn)制NAND技術(shù)(BinaryNAND),16MB和32MB容量的MMC采用此技術(shù)。目前常用的
    發(fā)表于 06-20 05:00

    嵌入式CF存儲(chǔ)技術(shù)的缺點(diǎn)怎么解決?

    隨著應(yīng)用需求的不斷提高,許多嵌入式系統(tǒng)在應(yīng)用時(shí)都要求帶有擴(kuò)展的大容量存儲(chǔ)器來存儲(chǔ)數(shù)據(jù)。CF (Compact Flsah Card)由于價(jià)格便宜、存儲(chǔ)容量大、體積小、兼容性好等優(yōu)點(diǎn)被廣泛應(yīng)用
    發(fā)表于 08-20 08:23

    比E2PROM和NOR Flash容量穩(wěn)定性高的SD NAND Flash

    不同,都需要重新調(diào)試驅(qū)動(dòng);  4、即使理論上的功能實(shí)現(xiàn)了,但大家都知道MCU為了低功耗,性能上做了妥協(xié)的。針對(duì)這么復(fù)雜的驅(qū)動(dòng)程序,MCU也有心無力,讓人感覺是小馬拉大車?! ∧敲瘁槍?duì)MCU需要使用大容量
    發(fā)表于 10-10 16:55

    關(guān)于CS品牌小容量SD接口存儲(chǔ)芯片NANDFlash參數(shù)介紹

    `  大家都在想,是否有一種可焊接的SD產(chǎn)品。是否有一種品質(zhì)穩(wěn)定可靠,尺寸又小,簡單易用,還不用寫驅(qū)動(dòng)的NAND Flash產(chǎn)品呢?  什么是SD NAND呢?最近非常多的朋友一直想知道這個(gè)
    發(fā)表于 10-16 15:46

    ECC技術(shù)的工作原理

    是一種能夠實(shí)現(xiàn)“錯(cuò)誤檢查和糾正”的技術(shù)。1、奇偶校驗(yàn)技術(shù)要了解 ECC 技術(shù),就不能不提到 Parity(奇偶校驗(yàn))。在
    發(fā)表于 11-03 08:26

    請(qǐng)問如何模擬RAM ECC功能?

    我正在使用 STM32H745。STM32H745的功能中,用到了RAM ECC功能。我開發(fā)的產(chǎn)品應(yīng)該在RAM出現(xiàn)異常時(shí)停止工作。因此,如果 RAM 出現(xiàn)問題,我想檢查我實(shí)現(xiàn)
    發(fā)表于 02-01 07:06

    什么是ECC內(nèi)存

    什么是ECC內(nèi)存 ECC是“Error Checking and Correcting”的簡寫,中文名稱是“錯(cuò)誤檢查和糾正”。ECC是一種能夠實(shí)現(xiàn)“錯(cuò)誤檢查和糾正”的
    發(fā)表于 01-12 15:42 ?1015次閱讀

    SM(Smart Media)

    SM(Smart Media) SM(Smart Media)是由東芝公司在1995年11月發(fā)布的Flash Memory存貯,三星
    發(fā)表于 01-09 14:59 ?4536次閱讀

    nonecc內(nèi)存和ecc內(nèi)存的區(qū)別

     ecc內(nèi)存就是能夠實(shí)現(xiàn)錯(cuò)誤檢查和糾正技術(shù)的內(nèi)存條,多應(yīng)用于服務(wù)器和圖形工作站上。
    的頭像 發(fā)表于 09-19 16:18 ?1.5w次閱讀

    SM2256 General開資料分享

    SM2256_General開資料分享
    發(fā)表于 11-07 11:57 ?3次下載

    SM2258開工具

    SM2258開工具
    發(fā)表于 03-27 09:43 ?84次下載

    tf存儲(chǔ)容量選擇 tf的常見故障及解決方法

    TF存儲(chǔ)容量選擇 TF(TransFlash)是一種小型的存儲(chǔ),廣泛應(yīng)用于手機(jī)、相機(jī)、平
    的頭像 發(fā)表于 12-19 15:20 ?2806次閱讀