• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于嵌入式系統(tǒng)的Nor Flash數(shù)據(jù)安全保護(hù)設(shè)計(jì)

      2016-07-09 01:32:57吳有肇楊立衡
      關(guān)鍵詞:數(shù)據(jù)保護(hù)

      吳有肇,楊立衡

      (1.TCL多媒體科技控股有限公司全球研發(fā)中心,廣東 深圳 518067;2.深圳信息職業(yè)技術(shù)學(xué)院學(xué)報(bào),廣東 深圳 518172)

      ?

      基于嵌入式系統(tǒng)的Nor Flash數(shù)據(jù)安全保護(hù)設(shè)計(jì)

      吳有肇1,楊立衡2

      (1.TCL多媒體科技控股有限公司全球研發(fā)中心,廣東 深圳 518067;2.深圳信息職業(yè)技術(shù)學(xué)院學(xué)報(bào),廣東 深圳 518172)

      摘 要:在各種嵌入式系統(tǒng)產(chǎn)品中,特別是各種“智能”產(chǎn)品中,Nor Flash作為重要的記憶體器件,存放著系統(tǒng)正常啟動(dòng)、運(yùn)行的關(guān)鍵程序和用戶數(shù)據(jù),其數(shù)據(jù)內(nèi)容的正常讀寫對整個(gè)系統(tǒng)的正常工作和可靠性而言及其重要;然而在設(shè)計(jì)和應(yīng)用實(shí)踐中經(jīng)常發(fā)生Nor Flash內(nèi)數(shù)據(jù)被異常改寫或丟失的現(xiàn)象,導(dǎo)致系統(tǒng)無法啟動(dòng)或啟動(dòng)后系統(tǒng)異常運(yùn)行。本文提出了一種軟硬件結(jié)合方法實(shí)現(xiàn)對Nor Flash 的數(shù)據(jù)內(nèi)容進(jìn)行保護(hù),提高了嵌入式系統(tǒng)的可靠性。

      關(guān)鍵詞:Nor Flash;數(shù)據(jù)保護(hù);交流開關(guān)機(jī)

      引言

      隨著便攜式電子產(chǎn)品的普及,Nand Flash以其價(jià)格低廉的優(yōu)勢被越來越多的用于大容量數(shù)據(jù)存儲(chǔ)[1-2]。相較而言,Nor Flash擁有的高傳輸效率、高可靠性和易于使用等優(yōu)點(diǎn)[3-6],在嵌入式系統(tǒng)產(chǎn)品中,大量使用了Nor Flash存放一些非易失性存儲(chǔ)程序和數(shù)據(jù),其數(shù)據(jù)的正常讀寫直接影響到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。實(shí)際工作中,Nor Flash數(shù)據(jù)讀寫異常往往是因?yàn)樵跀?shù)據(jù)保護(hù)方面的設(shè)計(jì)缺陷導(dǎo)致數(shù)據(jù)被異常改寫、丟失或無法提供補(bǔ)救措施導(dǎo)致的。嵌入式系統(tǒng)中,處理器與Nor Flash一般通過SPI總線接口進(jìn)行通訊[7-10],SPI總線命令簡單易用。本文基于SPI接口的Nor Flash內(nèi)部框架、數(shù)據(jù)保護(hù)機(jī)制設(shè)計(jì)了一套軟件和硬件的數(shù)據(jù)內(nèi)容保護(hù)方案,實(shí)現(xiàn)了對Nor Flash的存儲(chǔ)陣列進(jìn)行有效地保護(hù)[11-16]。

      1 Nor Flash內(nèi)部框架及數(shù)據(jù)保護(hù)機(jī)制

      Nor Flash一般采用SPI接口,SPI接口是一種事實(shí)標(biāo)準(zhǔn),并沒有標(biāo)準(zhǔn)協(xié)議,大部分廠家都是參照Motorola的SPI接口定義來設(shè)計(jì)的,但正因?yàn)闆]有確切的版本協(xié)議,不同廠家產(chǎn)品的SPI接口在技術(shù)上存在一定的差別,容易引起歧義,有的甚至無法直接互連(需要軟件進(jìn)行必要的修改),SPI接口共有4根信號(hào)線:設(shè)備選擇線、時(shí)鐘線、串行輸出數(shù)據(jù)線、串行輸入數(shù)據(jù)線。常見器件的接口定義如下圖1定義,包含片選信號(hào)/CS、串行輸入DI、串行輸出DO、時(shí)鐘信號(hào)CLK、寫保護(hù)/WP、電源VCC、地GND及保持/HOLD等信號(hào)引腳。

      以2M Bytes存儲(chǔ)容量器件為例,其整體框架如圖2所示。其中/WP寫保護(hù)引腳通過內(nèi)部的寫控制邏輯單元保護(hù)狀態(tài)寄存器(Status Register),寫保護(hù)腳為低電平有效;狀態(tài)寄存器的設(shè)定值決定了Flash存儲(chǔ)陣列受寫保護(hù)的方式。狀態(tài)寄存器共兩個(gè)字節(jié),分別為狀態(tài)寄存器-1和狀態(tài)寄存器-2,其狀態(tài)位定義見如圖3。

      圖1.Nor Flash器件引腳定義Fig1. Pin definition of Nor Flash

      其中S6、S5、S4、S3、S2五個(gè)比特位決定了存儲(chǔ)陣列的數(shù)據(jù)受保護(hù)方式。

      其中SRP1、SRP0比特位決定了狀態(tài)寄存器受保護(hù)的狀態(tài),與/WP位結(jié)合使用的保護(hù)方式統(tǒng)計(jì)為圖4:

      圖2.Nor Flash 框圖Fig 2. Block Diagram of Nor Flash

      圖3.狀態(tài)寄存器Fig 3.Status Register

      圖4 狀態(tài)寄存器保護(hù)Fig.4 Status Register Protection

      ① /WP 拉高能寫、拉低能寫,則為(1)

      ② /WP 拉高能寫、拉低不能寫,則為(2)

      ③ /WP 拉高、高低都不能寫,則可能為(3)、(4)

      ④ 若為(3),重啟后SRP1、SRP0為00,可寫

      ⑤ 若為(4),永遠(yuǎn)不可寫

      2 數(shù)據(jù)異常案例分析

      以Nor Flash在數(shù)字電視產(chǎn)品中的應(yīng)用為例,Nor Flash存儲(chǔ)數(shù)據(jù)經(jīng)常發(fā)生的異常為數(shù)據(jù)被改寫,系統(tǒng)無法正常啟動(dòng)或啟動(dòng)后運(yùn)行異常,現(xiàn)象為DTV信源下交流關(guān)開機(jī)后死機(jī),具體表現(xiàn)為機(jī)器無聲有像,顯示的動(dòng)態(tài)開機(jī)LOGO畫面為綠色且顯示在畫面左右兩邊,顯示的字符“智能系統(tǒng)啟動(dòng)中,請稍候……”顯示在畫面左右兩邊,且字符不會(huì)自動(dòng)消失。經(jīng)過分析,此問題為系統(tǒng)啟動(dòng)的mboot的代碼數(shù)據(jù)被破壞,軟件除了升級(jí)之外不會(huì)去寫代碼對應(yīng)的地址范圍內(nèi)(代碼區(qū))的數(shù)據(jù),所以判斷是Flash中的數(shù)據(jù)被破壞了。考慮到數(shù)據(jù)被破壞可能的因素在硬件的/WP引腳和軟件設(shè)定的狀態(tài)寄存器兩個(gè)方面,分別從軟件和硬件兩個(gè)方面進(jìn)行分析:

      2.1軟件分析

      為確認(rèn)狀態(tài)寄存當(dāng)前的設(shè)定值及受保護(hù)方式,在寫Flash(如更換Project ID的操作)前后用以下函數(shù)讀狀態(tài)寄存器:

      結(jié)果:

      StatusRegister-1的值為0x80,

      StatusRegister-2的值為0x00,

      寫前后狀態(tài)寄存器的值一樣。

      通過查閱圖4,我們知道狀態(tài)寄存器保護(hù)位定義的狀態(tài)寄存器保護(hù)方法為:

      1)軟件保護(hù):如(1),此時(shí)無論WP為何種狀態(tài),WEL=1時(shí)狀態(tài)寄存器可被寫;

      2)硬件保護(hù):如(2),此時(shí)狀態(tài)寄存器可寫與否取決于WP電平的高低;

      3)上電保護(hù):如(3),只有重新上電時(shí)才可以被寫;

      4)永久保護(hù):如(4),只能寫一次,之后永久保護(hù);

      SRP1、SRP0等狀態(tài)寄存器的初始值由mboot設(shè)定,軟件預(yù)抄寫時(shí)已設(shè)定了初始默認(rèn)值。為了解狀態(tài)寄存器塊保護(hù)位定義的存儲(chǔ)陣列受保護(hù)方式,可查閱Nor Flash芯片規(guī)格,如圖5。

      由以上可知,此案例中:

      存儲(chǔ)陣列無保護(hù),即存儲(chǔ)在存儲(chǔ)陣列Block內(nèi)的代碼或用戶數(shù)據(jù)可能被異常改寫為保護(hù)存儲(chǔ)整列,BP2/BP1/BP0需按需求改寫,能否改寫取決于SRP1/SRP0的設(shè)定值。

      圖5 存儲(chǔ)整列保護(hù)Fig.5 Memory Array Protection

      狀態(tài)寄存器為受硬件保護(hù)方式,狀態(tài)寄存器能否被改寫,取決于WP腳的設(shè)定

      2.2硬件分析:

      硬件電路設(shè)計(jì)如圖6:

      R258、R231為NC,R207接地,寫保護(hù)腳硬件拉低。WP=0,狀態(tài)寄存器無法被改寫和配置。

      圖6 硬件設(shè)計(jì)Fig.6 Hardware Design

      2.3數(shù)據(jù)異常原因分析總結(jié)

      1)BP2、BP1、BP0在器件出廠時(shí)默認(rèn)設(shè)定為0,所有存儲(chǔ)陣列不受保護(hù)

      2)SRP1、SRP0 mbbot默認(rèn)設(shè)定為(0,1),狀態(tài)寄存器的改寫取決于WP引腳電平

      3)WP引腳硬件強(qiáng)制設(shè)定為0(接地),狀態(tài)寄存器被強(qiáng)制保護(hù)無法改寫,BP2~BP0無法改為可保護(hù)存儲(chǔ)陣列的定義值。

      這種情況下,無法單獨(dú)使用軟件更改狀態(tài)寄存器設(shè)定值的方法來保護(hù)存儲(chǔ)陣列內(nèi)的數(shù)據(jù)!

      2.4Nor Flash 數(shù)據(jù)保護(hù)電路設(shè)計(jì)及驗(yàn)證:

      硬件電路更改參考圖6,要求如下:

      R258、R231連接,R207 斷開。

      (1)R258連接GPIO口,由GPIO口控制WP的高低電平變化;

      (2)R231上拉主要目的是考慮GPIO的驅(qū)動(dòng)能力不足,刪除207對地下拉。

      軟件設(shè)定存儲(chǔ)陣列為全部受保護(hù)方式。

      改善驗(yàn)證如下:

      (1)WP寫保護(hù)腳受程序控制。

      不寫狀態(tài)寄存器時(shí),/WP腳為低電平;

      改寫狀態(tài)寄存器時(shí),/WP腳受控拉高;

      (2)經(jīng)硬件改動(dòng)后,寫Flash操作前后讀狀態(tài)寄存器,結(jié)果為:

      StatusRegister1=0x9C(BP2~BP0都為1,整改Flash Block受保護(hù))

      StatusRegister2=0x00。

      可以看出,主動(dòng)寫操作前整個(gè)Flash的數(shù)據(jù)是受保護(hù)的;寫數(shù)據(jù)前將WP拉高,臨時(shí)改變狀態(tài)寄存器值使存儲(chǔ)陣列不受保護(hù)(可寫);將/WP拉低,已寫入的狀態(tài)寄存器值受保護(hù);寫數(shù)據(jù)后,將/WP拉高,改變狀態(tài)寄存器值使存儲(chǔ)陣列全部受保護(hù);將/WP拉低,已寫入的狀態(tài)寄存器值受保護(hù)。

      3 Nor Flash數(shù)據(jù)保護(hù)設(shè)計(jì)指引

      3.1硬件設(shè)計(jì)指引:

      (1) /WP引腳直接上拉(無GPIO控制)

      這種方法針對GPIO數(shù)量不足的情況,將/WP腳直接上拉至3.3V,狀態(tài)寄存器不受保護(hù);

      風(fēng)險(xiǎn):狀態(tài)寄存器和存儲(chǔ)陣列值的改變需以指令方式更改,同時(shí)出現(xiàn)狀態(tài)寄存器和存儲(chǔ)陣列數(shù)據(jù)被異常改寫的幾率幾乎為零,基本沒有風(fēng)險(xiǎn)。

      (2)/WP用GPIO口控制

      ①將/WP腳連接至GPIO并上拉至3.3V:

      ● 針對GPIO驅(qū)動(dòng)不足的情況;

      ● GPIO初始化為低電平。

      風(fēng)險(xiǎn):上電GPIO未完成初始化瞬間可能有導(dǎo)致狀態(tài)寄存器被改寫,這種概率極小,且同時(shí)存儲(chǔ)陣列數(shù)據(jù)被改寫的可能性就更小,基本沒有風(fēng)險(xiǎn);

      ②將/WP腳連接至GPIO(初始化為低電平)并下拉至GND(針對GPIO驅(qū)動(dòng)力強(qiáng)的情況)。

      風(fēng)險(xiǎn):無理論上的風(fēng)險(xiǎn),但要求GPIO有足夠的驅(qū)動(dòng)能力。

      3.2軟件設(shè)計(jì)指引:

      (1)總體流程如圖7;

      圖7 軟件流程圖Fig.7 Software Flow Chart

      (2)邏輯描述:

      ①主動(dòng)寫操作前:

      讀取狀態(tài)寄存器判斷;

      確保存儲(chǔ)陣列是受保護(hù)的;

      ②寫數(shù)據(jù)前:

      a、拉高/WP(GPIO控制的情況)

      b、設(shè)定狀態(tài)寄存器值,使存儲(chǔ)

      陣列不受保護(hù)(可寫);

      c、拉低/WP(GPIO控制的情況)

      ③寫入數(shù)據(jù);

      ④寫數(shù)據(jù)后:

      a、拉高/WP(GPIO控制的情況)

      b、設(shè)定狀態(tài)寄存器值,使存儲(chǔ)陣列受保護(hù)(不可寫);

      c、拉低/WP(GPIO控制的情況)

      (3)保護(hù)判斷:

      狀態(tài)寄存器的設(shè)定應(yīng)根據(jù)實(shí)際應(yīng)用來做,特別是SEC/TB/BP2/BP1/BP0根據(jù)實(shí)際設(shè)定來判斷。Flash狀態(tài)寄存器的出廠Default值為0x00.

      設(shè)定原則:

      ①軟件保護(hù):

      ● 一般在無GPIO控制/WP的情況

      ● SRP1=0、SRP0=0

      ②硬件保護(hù):

      ● 一般在有GPIO控制/WP的情況

      ● SRP1=0、SRP0=1

      ③上電保護(hù):

      ● 只能在每次上電時(shí)設(shè)定一次狀態(tài)寄存器

      ● SRP1=1、SRP0=0

      ④永久保護(hù):

      ● 只能設(shè)定一次狀態(tài)寄存器,之后不可改;

      ● 一般是用于存放一些重要的Key等等

      ● SRP1=1、SRP0=0

      ⑤BP2、BP1、BP0 不能同時(shí)為“0”

      4 小結(jié)

      Nor Flash數(shù)據(jù)保護(hù)的重點(diǎn)在于對數(shù)據(jù)保護(hù)機(jī)制的深刻理解和設(shè)計(jì)合理的數(shù)據(jù)保護(hù)方式,讓硬件或軟件能安全合理地保護(hù)狀態(tài)寄存器,同時(shí)合理地設(shè)定狀態(tài)寄存器,以使存儲(chǔ)陣列能被有效地保護(hù)。

      參考文獻(xiàn)(References):

      [1] 陳超文,彭國杰,王憶文等. 基于PLB總線的NOR Flash控制器設(shè)計(jì)[J]. 微電子學(xué)與計(jì)算機(jī),2014,31(5),83-86.

      CHEN Chaowen,PENG Guojie,WANG Yiwen, et.al. Design of NOR FLASH Controller Based on PLB General Bus[J]. Micro Electronics and Computer,2014,31(5),83-86.(in Chinese)

      [2] EYEE Hun NAM,BRYAN Suk Joon Kim. An Out-of-Order Flash Memory Controller Architecture[J]. IEEE Transactions on Computers,2011,60(5):652-666

      [3] HARRIS david money, harris sarah l. digital designand computer architecture[M]. USA: Morgan Kaufmann, 2007.

      [4] IEEE Computer Society. IEEE Recommended Practicefor Softawre Requirements Specifications[S]. IEEE Std830-1998: Los Alamitos, CA, 1998.

      [5] 杜偉慶,蘇凱雄. 嵌入式系統(tǒng)中NOR Flash 的分塊管理與實(shí)現(xiàn)[J]. 計(jì)算機(jī)與數(shù)字工程.2009,(12),80-85

      DU Weiqing,SUKaixiong.Blockbased Management and Implementation of NOR Flash in Embedded System[J]. Computer & Digital Engineering.2009,(12),80-85(in Chinese)

      [6] Walter J S. A unified Algorithm for Elementary Functions[ C]. AFIPS Spring Jo int Computer Conference,1997, ( 38) : 379~ 385

      [7] 李明明,王全忠,郭偉,等.一種NOR FLASH 控制器驗(yàn)證平臺(tái)的研究[J]. 現(xiàn)代電子技術(shù),2015,38(10):162-165.

      LI Mingming,WANG Quanzhong,GUO Wei,et,al. Research on a verification platform for NOR FLASH controller[J].Modern Electronics Technique, 2015,38(10):162-165(in Chinese)

      [8] HILDERMAN V,BAGHI T. Avionics certification:a complete guide to DO-254(hardware)[M]. America:Avionics Communi-cations Inc,2007.

      [9] Cadence. OVM class reference[M/OL]. [2010-12-08]. http://www. docin.com.

      [10] ACZYNSKI J. Verification methods for field programmable gate array (FPGA) designs[J]. Elektronik Industrie,2004,35(11):58-61.

      [11] 張歡慶,高麗. 嵌入式Linux中Nor Flash設(shè)備驅(qū)動(dòng)研究[J]. 商丘職業(yè)技術(shù)學(xué)院學(xué)報(bào),2012,11(2):43-46

      ZHANG Huanqing, GAO Li. Research on the Embedded Linux NOR Flash Device Driver[J]. Journal of Shangqiu Vocational and Technical college.(in Chinese).

      [12] EYEE HunNAM,BRYAN Suk joon kim. An Out-of-Order Flash Memory Controller Architecture[J]. IEEE Transactions on Computers,2011,60(5):652-666

      [13] Li J H. Zhang X, Yu M. A 1.2-V Piecewise Curvature-Corrected BandgapReference in 0.5 m CMOS Process[J]. Very Large Scale Integration (VLSI)Systems. IEEE Transactions on. 2011. 19(6): 1118-1122.

      [14] Bendali A. Audet Y. A 1-V CMOS current reference with temperature and process compensation[J]. Circuits and Systems I: Regular Papers, IEEE Transactions on,2007,54(7): 1424-1429.

      [15] Razavi B. Design of analog CMOS integrated circuits[M]. Tata McGraw-HillEducation, 2002.

      [16] Leung K N,Mok P K T, Leung C Y. A 2-V 23卞A 5.3-ppm/。Ccurvature-compensated CMOS bandgap voltage reference[J]. Solid-State Circuits.IEEE Journal of, 2003,38(3): 561-564.

      【責(zé)任編輯:高潮】

      【信息經(jīng)濟(jì)研究】

      Design of data safety protection for Nor Flash based on embedded system

      WU Youzhao1, YANG Liheng2
      (1. TCL Multimedia Technology Holdings Ltd. Global R&D Center, Shenzhen 518067, China;2. Journal Editorial Department, Shenzhen Institute of Information Technology, Shenzhen 518172, China)

      Abstract:In the products especially in the Smart products based on embedded system,Nor Flash is used to storing the key programs and user data for system's booting up and running, the normal read/write operation of the data in Nor Flash is very important to the whole system. The data in the flash is usually written abnormally and cause the system booting up or running failure. This article design of the peripheral circuits to protect the data in NOR flash and improve the reliability of the system.

      Key words:Nor Flash; data Protection; AC power on/off

      中圖分類號(hào):TP333

      文獻(xiàn)標(biāo)識(shí)碼:A

      文章編號(hào):1672-6332(2016)01-0053-05

      [收稿日期]2015-11-26

      [作者簡介]吳有肇(1984-),男(漢),福建寧德人,工程師,本科,主要研究方向:液晶電視嵌入式系統(tǒng)硬件方案及電路研究。E-mail:evanwu201404@163..com

      猜你喜歡
      數(shù)據(jù)保護(hù)
      歐盟通用數(shù)據(jù)保護(hù)條例中的數(shù)據(jù)保護(hù)官制度
      TPP生物藥品數(shù)據(jù)保護(hù)條款研究
      歐盟數(shù)據(jù)保護(hù)立法改革之發(fā)展趨勢分析
      歐盟《一般數(shù)據(jù)保護(hù)條例》新規(guī)則評(píng)析
      藥品試驗(yàn)數(shù)據(jù)保護(hù)對完善中藥品種保護(hù)制度的啟示
      淺析數(shù)據(jù)保護(hù)在中國的發(fā)展
      南丰县| 西平县| 莎车县| 凌云县| 博爱县| 琼中| 游戏| 格尔木市| 巴马| 犍为县| 蓬莱市| 道真| 柘城县| 贡觉县| 宜昌市| 北辰区| 西安市| 上蔡县| 波密县| 抚宁县| 垫江县| 西林县| 龙江县| 凤庆县| 彭水| 沙洋县| 二手房| 正蓝旗| 大英县| 万州区| 吉安市| 新龙县| 招远市| 唐海县| 六安市| 古田县| 红原县| 茂名市| 泌阳县| 应城市| 瑞昌市|