• 
    

    
    

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

      存儲(chǔ)式彈載數(shù)據(jù)記錄儀存儲(chǔ)可靠性技術(shù)研究

      2019-02-25 10:03:10朱金瑞王代華蘇尚恩王曉楠
      兵器裝備工程學(xué)報(bào) 2019年1期
      關(guān)鍵詞:校驗(yàn)碼字節(jié)校驗(yàn)

      朱金瑞,王代華,蘇尚恩,王曉楠

      (1.中北大學(xué)儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室, 太原 030051; 2.中北大學(xué)電子測(cè)試技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室, 太原 030051; 3.北方導(dǎo)航控制技術(shù)股份有限公司, 北京 100176)

      導(dǎo)彈從飛行到落地整個(gè)過(guò)程中,彈載數(shù)據(jù)采集系統(tǒng)對(duì)其內(nèi)部各類參數(shù)信號(hào)進(jìn)行采集分析,能夠判定飛行狀態(tài)是否正常,評(píng)定其性能指標(biāo)。因此,數(shù)據(jù)采集系統(tǒng)的研究在導(dǎo)彈研制過(guò)程中具有重要的作用。彈載數(shù)據(jù)記錄儀是為實(shí)現(xiàn)對(duì)導(dǎo)彈飛行過(guò)程中各通道數(shù)據(jù)的采集存儲(chǔ),并在試驗(yàn)結(jié)束后能夠進(jìn)行準(zhǔn)確回收而研制的一種多通道數(shù)據(jù)采集系統(tǒng)[1-3]。按照存儲(chǔ)介質(zhì)的種類,可分為磁帶式與固態(tài)式存儲(chǔ)系統(tǒng),其中,磁帶式數(shù)據(jù)存儲(chǔ)系統(tǒng)是以磁帶錄音技術(shù)為基礎(chǔ),利用磁性材料上的剩磁效應(yīng)將被測(cè)信號(hào)存儲(chǔ)下來(lái),但因其采用大量機(jī)械元件,致使體積、功耗都比較大,且磁帶式數(shù)據(jù)存儲(chǔ)系統(tǒng)在讀數(shù)時(shí)僅支持順序?qū)ぶ罚x數(shù)過(guò)程耗時(shí)長(zhǎng),為數(shù)據(jù)讀取帶來(lái)很大的困擾[4]。相對(duì)于磁帶存儲(chǔ)系統(tǒng),固態(tài)式存儲(chǔ)系統(tǒng)以半導(dǎo)體介質(zhì)為基礎(chǔ)。半導(dǎo)體存儲(chǔ)介質(zhì)內(nèi)部以半導(dǎo)體電路為基礎(chǔ),具備微體積、存儲(chǔ)速率高以及操作簡(jiǎn)單的優(yōu)點(diǎn)。常用元件有SRAM、DRAM、SDRAM、EPROM、EEPROM以及Flash等,其中Flash存儲(chǔ)芯片具有掉電不丟失、微體積、低功耗的優(yōu)點(diǎn)[5-6]。

      本文選用NAND Flash存儲(chǔ)器,以FPGA為主控芯片,設(shè)計(jì)實(shí)現(xiàn)對(duì)彈上16路模擬信號(hào)和8路數(shù)字信號(hào)采集存儲(chǔ)的彈載多通道數(shù)據(jù)記錄儀。針對(duì)導(dǎo)彈飛行過(guò)程中強(qiáng)沖擊、高過(guò)載的惡劣工作環(huán)境,重點(diǎn)開(kāi)展了NAND Flash的無(wú)效塊管理和ECC校驗(yàn)可靠性存儲(chǔ)技術(shù)的研究。

      1 系統(tǒng)指標(biāo)及存儲(chǔ)邏輯設(shè)計(jì)

      系統(tǒng)主要完成對(duì)彈上各類型傳感器模擬信號(hào)、數(shù)字接口信號(hào)的采集存儲(chǔ),在飛行結(jié)束后,通過(guò)以太網(wǎng)接口對(duì)數(shù)據(jù)進(jìn)行回讀并分析。根據(jù)研制任務(wù)的要求,系統(tǒng)主要完成對(duì)以下各通道信號(hào)的采集存儲(chǔ):

      1) 模擬通道參數(shù):4路5 V輸入電壓,采樣率為1 kHz;4路32 V輸入電壓,采樣率為10 kHz;4路±5 V輸入電壓,采樣率為1 kHz,采樣精度優(yōu)于±1%;

      2) 數(shù)字通道參數(shù):8路RS422通道,其中4路波特率為115 200 b/s、4路波特率為230 400 b/s。

      系統(tǒng)由Xilinx公司Spartan-6系列的FPGA編程實(shí)現(xiàn)對(duì)NAND Flash芯片的時(shí)序控制,進(jìn)而完成對(duì)模擬通道、RS-422數(shù)字通道采樣后數(shù)據(jù)的可靠存儲(chǔ)。基于FPGA的數(shù)據(jù)存儲(chǔ)模塊的邏輯設(shè)計(jì)如圖1所示。

      圖1 系統(tǒng)存儲(chǔ)模塊FPGA邏輯設(shè)計(jì)

      Flash_ctl模塊用于產(chǎn)生控制NAND Flash的CE、R/B、WE、RE、ALE、CLE等信號(hào);在數(shù)據(jù)存儲(chǔ)狀態(tài)下,接收外部所有通道的采集數(shù)據(jù);在上位機(jī)讀數(shù)狀態(tài)下,讀取芯片內(nèi)部數(shù)據(jù),并發(fā)送至Ethernet控制器。Flash前端的FIFO模塊除在數(shù)字通道數(shù)據(jù)的基礎(chǔ)上加入幀頭、幀尾等識(shí)別字節(jié)的功能之外,主要用于緩存數(shù)據(jù),以匹配模擬通道、RS-422數(shù)字通道的數(shù)據(jù)輸出、Flash的寫(xiě)操作三者間的速率,確保數(shù)據(jù)在Flash頁(yè)編程中不丟失。ECC校驗(yàn)?zāi)K對(duì)采集到的數(shù)據(jù)生成ECC校驗(yàn)碼,以提高數(shù)據(jù)存儲(chǔ)的準(zhǔn)確性。Ethernet控制模塊實(shí)現(xiàn)介質(zhì)訪問(wèn)層(MAC)的功能,對(duì)數(shù)據(jù)編碼封裝,實(shí)現(xiàn)與物理層(PHY)芯片的數(shù)據(jù)和指令的傳輸。

      2 存儲(chǔ)可靠性關(guān)鍵技術(shù)

      2.1 無(wú)效塊管理

      NAND Flash的芯片工藝導(dǎo)致其生產(chǎn)和使用期間會(huì)產(chǎn)生無(wú)效塊,故無(wú)效塊的管理一直是NAND Flash管理的關(guān)鍵和難點(diǎn)[7-9]。傳統(tǒng)無(wú)效塊管理方法是將無(wú)效塊列表存放至NAND Flash的第一塊中,雖然Flash在出廠時(shí)保證第一塊是完好的,但超過(guò)一定的次數(shù),該塊也可能會(huì)變成無(wú)效塊,降低了無(wú)效塊列表存儲(chǔ)的可靠性。本設(shè)計(jì)中,將無(wú)效塊列表存儲(chǔ)至FPGA內(nèi)部RAM中。由于該Flash芯片共有1 024塊,塊地址為10位,則在FPGA內(nèi)部分配一個(gè)2 kB的緩存即可滿足無(wú)效塊表的容量。當(dāng)進(jìn)行存儲(chǔ)操作時(shí),F(xiàn)PGA首先對(duì)要存儲(chǔ)的地址和無(wú)效塊列表中的地址進(jìn)行對(duì)比,之后將數(shù)據(jù)存儲(chǔ)到好塊中;當(dāng)數(shù)據(jù)進(jìn)行讀取操作時(shí),同樣由FPGA依據(jù)無(wú)效塊列表中得出的好塊地址讀取數(shù)據(jù)。無(wú)效塊表的建立和更新流程如圖2所示。

      圖2 無(wú)效塊檢測(cè)流程

      系統(tǒng)每次上電工作后,首先由FPGA訪問(wèn)NAND Flash,無(wú)效塊檢測(cè)仿真如圖3所示,由隨機(jī)讀命令(05H、E0h)讀取無(wú)效塊標(biāo)志位,若輸出數(shù)據(jù)為“00h”,則表明該塊為無(wú)效塊,之后將相應(yīng)地址寫(xiě)入無(wú)效塊表中。無(wú)效塊管理的設(shè)計(jì)實(shí)現(xiàn)了存儲(chǔ)地址的透明化,使NAND Flash的存儲(chǔ)區(qū)域的邏輯地址仍然能進(jìn)行連續(xù)讀寫(xiě)。

      圖3 無(wú)效塊檢測(cè)仿真時(shí)序圖

      2.2 ECC校驗(yàn)

      NAND Flash的結(jié)構(gòu)特點(diǎn)導(dǎo)致數(shù)據(jù)存儲(chǔ)過(guò)程中可能存在誤碼,ECC(Error Correcting Code)作為一種數(shù)據(jù)檢錯(cuò)糾正算法,通過(guò)增加冗余數(shù)據(jù)對(duì)存儲(chǔ)于NAND Flash中的數(shù)據(jù)進(jìn)行編碼,是NAND Flash在使用時(shí)確保數(shù)據(jù)準(zhǔn)確存儲(chǔ)的一項(xiàng)關(guān)鍵技術(shù)[10-12]。本文設(shè)計(jì)了一種基于漢明碼高性能ECC校驗(yàn)方法,采用FPGA實(shí)現(xiàn)并應(yīng)用于NAND Flash存儲(chǔ)邏輯設(shè)計(jì)中。每256 byte原始數(shù)據(jù)通過(guò)計(jì)算得到6 bit列校驗(yàn)碼、16 bit行校驗(yàn)碼,共22 bit,存放于NAND Flash的冗余區(qū),存放格式如表1所示。為加快FPGA的計(jì)算速度,實(shí)現(xiàn)邏輯中事先計(jì)算好256個(gè)數(shù)的各自的列校驗(yàn)碼,并存儲(chǔ)至FPGA內(nèi)部。此方法是以犧牲FPGA內(nèi)部邏輯單元來(lái)?yè)Q取處理速度,利用查找表找出行校驗(yàn)碼和列校驗(yàn)碼。該表以字節(jié)數(shù)做下標(biāo),采用FPGA編程計(jì)算并存儲(chǔ)0~255個(gè)字節(jié)的行校驗(yàn)碼和列校驗(yàn)碼。查找表中的每個(gè)字節(jié)的各bit位的含義如表2所示,各字節(jié)校驗(yàn)的仿真結(jié)果如圖4所示。

      表1 ECC校驗(yàn)碼存放格式

      表2 查找表中各Bit位對(duì)應(yīng)的內(nèi)容

      1) 列校驗(yàn)碼的計(jì)算

      校驗(yàn)256字節(jié)的數(shù)據(jù)則相應(yīng)地進(jìn)行256次查表,通過(guò)索引各字節(jié)校驗(yàn)值的查找表,得到ECC索引表的值ecc_pre_data,取出相應(yīng)的列校驗(yàn)值ecc_pre_col,與上字節(jié)的列校驗(yàn)值reg1異或運(yùn)算,由此得到256 byte數(shù)據(jù)的列校驗(yàn)值。仿真結(jié)果如圖5所示。關(guān)鍵代碼如下:

      ecc_pre_col<=ecc_pre_data and 0x3F;

      reg1<=reg xor ecc_pre_col;

      reg<=reg1;

      圖5 列校驗(yàn)碼仿真計(jì)算

      2) 行校驗(yàn)碼的計(jì)算

      由表2可知,ECC索引表中第6位存放每個(gè)字節(jié)的行校驗(yàn)碼,對(duì)輸入數(shù)據(jù)依次索引查表,若ECC校驗(yàn)值的bit6=1,則表示該字節(jié)的行校驗(yàn)為1。根據(jù)行校驗(yàn)原理,RP0只計(jì)算bit0=0的字節(jié),RP1計(jì)算bit0=1的字節(jié),RP2計(jì)算bit1=0的字節(jié),RP3計(jì)算bit1=0的字節(jié),以此類推。因此,將全部行校驗(yàn)為1的輸入數(shù)據(jù)按位異或,得到的結(jié)果保存在reg3中,reg3的bit0、bit1…bit7則分別得出RP1、RP3、RP5…RP13計(jì)算范圍內(nèi)行的數(shù)量。相應(yīng)的寄存器reg2的值表示屬于RP0、RP2、RP4…RP14計(jì)算范圍內(nèi)行的數(shù)量。行校驗(yàn)碼仿真結(jié)果如圖6所示。實(shí)現(xiàn)代碼如下:

      if(ecc_pre_data(6)=’1’)then

      reg3<=reg3 xor data;

      reg2<=reg2 xor (not data);

      end if;

      256 byte數(shù)據(jù)全部計(jì)算完成后,按表1的格式排序,即可得到最終的ECC校驗(yàn)碼。ECC校驗(yàn)碼仿真結(jié)果如圖7所示。

      圖6 行校驗(yàn)碼仿真計(jì)算

      圖7 ECC校驗(yàn)碼仿真計(jì)算

      3) ECC糾錯(cuò)

      原ECC校驗(yàn)碼與讀出數(shù)據(jù)計(jì)算出的ECC校驗(yàn)碼進(jìn)行按位異或,若結(jié)果為0,表示讀數(shù)過(guò)程中不存在錯(cuò)誤;若結(jié)果中11 bit為‘1’,表示有1 bit數(shù)據(jù)傳輸錯(cuò)誤,并可糾正;其它結(jié)果表示傳輸出錯(cuò)且錯(cuò)誤無(wú)法糾正。由列校驗(yàn)生成規(guī)則可知,若256字節(jié)中有1 bit數(shù)據(jù)出現(xiàn)錯(cuò)誤,則列校驗(yàn)結(jié)果中3 bit的數(shù)據(jù)發(fā)生翻轉(zhuǎn),同理,行校驗(yàn)結(jié)果中有11 bit數(shù)據(jù)翻轉(zhuǎn)。

      查找出錯(cuò)位的方法是:首先依據(jù)行校驗(yàn)碼確定哪個(gè)字節(jié)出現(xiàn)錯(cuò)誤,然后依據(jù)該字節(jié)的列校驗(yàn)值確定哪個(gè)bit位出現(xiàn)錯(cuò)誤。以列地址為例,根據(jù)列校驗(yàn)值與各bit位之間的關(guān)系,若新舊ECC校驗(yàn)碼異或后,CP5為1,則表明錯(cuò)誤發(fā)生在該字節(jié)的高4位,反之,低4位出現(xiàn)錯(cuò)誤;在檢測(cè)出的4位中,若CP3為1,錯(cuò)誤位置定位在高2位;如此依次檢測(cè),即可確定列地址。同理,通過(guò)檢測(cè)行校驗(yàn)值異或結(jié)果中的RP15、RP13、RP11、RP9、RP7、RP5、RP3、RP1位,即可判斷出具體的字節(jié)位置,從而找出錯(cuò)誤比特位的具體位置。實(shí)現(xiàn)代碼如下:

      ECC_old_even<=RP14&RP12&RP10&RP8

      &RP6&RP4&RP2&RP0&CP4&CP2&CP0;

      ECC_old_odd<= RP15&RP13&RP11&RP9

      &RP7&RP5&RP3&RP1&CP5&CP3&CP1;

      ECC_new_even<= RP14&RP12&RP10&RP8

      &RP6&RP4&RP2&RP0&CP4&CP2&CP0;

      ECC_new_odd <= RP15&RP13&RP11&RP9

      &RP7&RP5&RP3&RP1&CP5&CP3&CP1;

      ERROR_location<=ECC_old_odd xor ECC_new

      _ odd;

      3 存儲(chǔ)可靠性功能測(cè)試

      系統(tǒng)設(shè)計(jì)完成后,從模擬量存儲(chǔ)和數(shù)字量存儲(chǔ)兩個(gè)方面對(duì)系統(tǒng)存儲(chǔ)可靠性進(jìn)行測(cè)試分析。首先,在保證各模擬通道中信號(hào)調(diào)理電路和A/D轉(zhuǎn)換電路達(dá)到設(shè)計(jì)要求的前提下,利用數(shù)字信號(hào)發(fā)生器對(duì)一路模擬通道輸入峰峰值為5 V、頻率為100 Hz的正弦信號(hào),經(jīng)系統(tǒng)采集存儲(chǔ)后通過(guò)上位機(jī)軟件進(jìn)行顯示。圖8為上位機(jī)讀出的該正弦信號(hào)的波形。其次在FPGA中編寫(xiě)一段測(cè)試代碼,生成00H~C7H遞增的232 byte的數(shù)據(jù),循環(huán)寫(xiě)入NAND Flash中,替代模擬通道的每一大幀數(shù)據(jù),通過(guò)上位機(jī)讀取顯示。寫(xiě)入遞增數(shù)據(jù)的目的是為了清晰方便地檢測(cè)數(shù)據(jù)存儲(chǔ)和傳輸過(guò)程中有無(wú)丟幀誤碼等現(xiàn)象。利用軟件HEX EDITOR打開(kāi)上位機(jī)接收到的數(shù)據(jù)包,測(cè)試結(jié)果如圖9所示,其中55H~00H為每個(gè)數(shù)據(jù)幀的以太網(wǎng)幀頭、IP報(bào)文頭部以及UDP首部,“DCCD”為每幀數(shù)據(jù)的幀頭,緊接著“0001”為幀計(jì)數(shù)字節(jié),最后“55AA”為幀尾標(biāo)志。實(shí)驗(yàn)證明,系統(tǒng)可對(duì)模擬信號(hào)進(jìn)行精確采集,且經(jīng)存儲(chǔ)模塊后可在上位機(jī)上顯示完整的數(shù)字化波形;由數(shù)字信號(hào)存儲(chǔ)過(guò)程可看出系統(tǒng)的存儲(chǔ)傳輸性能完好,滿足設(shè)計(jì)指標(biāo)要求。

      圖8 頻率為100 Hz的正弦波

      圖9 上位機(jī)接收的數(shù)據(jù)包

      4 結(jié)論

      1) 本文將無(wú)效塊管理和ECC校驗(yàn)兩項(xiàng)存儲(chǔ)可靠性技術(shù)成功應(yīng)用于NAND Flash的存儲(chǔ)方案中,實(shí)現(xiàn)對(duì)無(wú)效塊的有效管理,提高ECC糾錯(cuò)能力,保證了系統(tǒng)數(shù)據(jù)存儲(chǔ)的可靠性和完整性。

      2) 通過(guò)FPGA仿真分析和存儲(chǔ)可靠性功能測(cè)試,在對(duì)模擬量和數(shù)字量的采集存儲(chǔ)過(guò)程中,能夠準(zhǔn)確地對(duì)原輸入信號(hào)進(jìn)行波形還原和數(shù)據(jù)顯示。

      3) 本文設(shè)計(jì)的NAND Flash數(shù)據(jù)存儲(chǔ)可靠性方案,也適用于其他采用NAND Flash的存儲(chǔ)式數(shù)據(jù)采集系統(tǒng),具有良好的可移植性和實(shí)用性。

      猜你喜歡
      校驗(yàn)碼字節(jié)校驗(yàn)
      No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
      No.10 “字節(jié)跳動(dòng)手機(jī)”要來(lái)了?
      爐溫均勻性校驗(yàn)在鑄鍛企業(yè)的應(yīng)用
      簡(jiǎn)談MC7字節(jié)碼
      基于Excel實(shí)現(xiàn)書(shū)號(hào)校驗(yàn)碼的驗(yàn)證
      基于FPGA的循環(huán)冗余校驗(yàn)碼設(shè)計(jì)
      電子世界(2015年14期)2015-11-07 05:32:29
      身份證號(hào)碼中的數(shù)學(xué)
      大型電動(dòng)機(jī)高阻抗差動(dòng)保護(hù)穩(wěn)定校驗(yàn)研究
      基于加窗插值FFT的PMU校驗(yàn)方法
      鍋爐安全閥在線校驗(yàn)不確定度評(píng)定
      牙克石市| 安远县| 冕宁县| 白玉县| 金沙县| 泽普县| 长顺县| 信宜市| 渭南市| 广灵县| 秦皇岛市| 金平| 宁南县| 颍上县| 锡林郭勒盟| 饶平县| 富源县| 大厂| 景东| 垣曲县| 印江| 雅江县| 瑞金市| 铜陵市| 讷河市| 顺义区| 姚安县| 浦江县| 伊川县| 酒泉市| 古浪县| 长春市| 民勤县| 武城县| 德钦县| 石棉县| 扎赉特旗| 两当县| 大足县| 洪泽县| 孙吴县|