麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種具有斷電續(xù)存功能的高速存儲器的制作方法

文檔序號:11154890閱讀:617來源:國知局
一種具有斷電續(xù)存功能的高速存儲器的制造方法與工藝

本發(fā)明涉及一種具有斷電續(xù)存功能的高速存儲器,屬于高速飛行器的回收遙測領(lǐng)域。



背景技術(shù):

遙測系統(tǒng)主要完成飛行器在飛行過程中各種力學(xué)、熱學(xué)以及其他環(huán)境參數(shù)和其他數(shù)據(jù)的測量、存儲以及事后數(shù)據(jù)處理工作。回收遙測是高速飛行器的主要遙測方式之一,存儲器及數(shù)據(jù)處理技術(shù)是回收遙測的核心設(shè)備和技術(shù)。

飛行器上遙測系統(tǒng)一般由采編器、接口控制器和存儲器等設(shè)備組成。采編器用于對模擬量信號進(jìn)行采集、編碼、組幀,并通過LVDS接口發(fā)送組幀后的數(shù)據(jù)給存儲器。接口控制器用于接收外系統(tǒng)備份數(shù)據(jù)和地面測試系統(tǒng)指令并轉(zhuǎn)發(fā)給存儲器,從存儲器下載數(shù)據(jù)并轉(zhuǎn)發(fā)給地面測試系統(tǒng)。

存儲器一般采用Flash芯片作為核心存儲芯片。存儲器進(jìn)行存儲操作時,一般采用單CE單面操作,存儲速率較低,已無法滿足目前遙測系統(tǒng)對高速數(shù)據(jù)存儲的需求。并且傳統(tǒng)遙測系統(tǒng)中的存儲器進(jìn)行存儲時,一般采用指令控制存儲器開始記錄,斷電重新加電后,不能自動開始記錄。并且每次從首地址開始記錄,不能從已有數(shù)據(jù)后面續(xù)存。



技術(shù)實現(xiàn)要素:

本發(fā)明的目的在于克服現(xiàn)有技術(shù)的上述缺陷,提供一種具有斷電續(xù)存功能的高速存儲器,采用雙面讀寫操作,具有斷電續(xù)存功能,提高了存儲器的讀寫速率以及系統(tǒng)可靠性。

本發(fā)明的上述目的主要是通過如下技術(shù)方案予以實現(xiàn)的:一種具有斷電續(xù)存功能的高速存儲器,包括三塊存儲板,其中兩塊存儲板互為備份,用于存儲采編器組幀后的數(shù)據(jù)和接口控制器轉(zhuǎn)發(fā)的地面測試系統(tǒng)控制指令;第三塊存儲板用于存儲接口控制器轉(zhuǎn)發(fā)的外系統(tǒng)備份數(shù)據(jù)和地面測試系統(tǒng)控制指令;

三塊存儲板組成相同,均包括兩塊NAND Flash芯片、FPGA單元、RS422接口芯片、LVDS接收器、LVDS發(fā)送器以及電源模塊;

互為備份的兩塊存儲板上的LVDS接收器用于接收采編器組幀后的數(shù)據(jù),并輸出給FPGA單元;第三塊存儲板上的LVDS接收器用于接收接口控制器轉(zhuǎn)發(fā)的外系統(tǒng)備份數(shù)據(jù),并輸出給FPGA單元;

RS422接口芯片用于接收接口控制器轉(zhuǎn)發(fā)的地面測試系統(tǒng)控制指令,并輸出給FPGA單元;

FPGA單元接收來自LVDS接收器的數(shù)據(jù),如果在預(yù)先設(shè)計的延時時間段內(nèi)未接收到地面測試系統(tǒng)控制指令,則將接收的數(shù)據(jù)同時寫入兩塊NAND Flash芯片中,否則根據(jù)地面測試系統(tǒng)控制指令對兩塊NAND Flash芯片進(jìn)行擦除或下載操作,將下載的數(shù)據(jù)通過LVDS發(fā)送器輸出給地面測試系統(tǒng),所述地面測試系統(tǒng)控制指令包括擦除、下載、停止下載;

電源模塊為存儲板上的各個器件供電。

所述每塊存儲板上還包括金手指,用于將兩塊NAND Flash芯片的管腳引出,在存儲板上電源模塊、FPGA單元或LVDS發(fā)送器失效時,能夠通過金手指從外部對NAND Flash芯片進(jìn)行寫入、擦除或下載操作。

所述FPGA單元包括時鐘產(chǎn)生模塊、復(fù)位信號產(chǎn)生模塊、頂層控制模塊、數(shù)據(jù)接收緩存模塊、指令接收模塊、Flash控制模塊以及數(shù)據(jù)輸出控制模塊;

時鐘產(chǎn)生模塊:用于產(chǎn)生全局和各個模塊運行所需時鐘信號,能夠根據(jù)外部輸入的時鐘選擇信號選擇本地晶振或外部時鐘;

復(fù)位信號產(chǎn)生模塊:產(chǎn)生全局復(fù)位信號,在時鐘產(chǎn)生模塊產(chǎn)生的時鐘信號有效時,將全局復(fù)位信號置為低電平,用于將除自身和時鐘產(chǎn)生模塊以外的其他模塊復(fù)位,保持一段時間后將全局復(fù)位信號置為高電平;

頂層控制模塊:當(dāng)全局復(fù)位信號為高電平后,產(chǎn)生配置使能信號對除自身以及時鐘產(chǎn)生模塊、復(fù)位信號產(chǎn)生模塊以外的其他模塊進(jìn)行配置,配置完成后,頂層控制模塊控制FPGA單元進(jìn)入運行狀態(tài);

數(shù)據(jù)接收緩存模塊:配置完成后,接收來自LVDS接收器的數(shù)據(jù),并將接收的數(shù)據(jù)分別緩存在兩個獨立的FIFO中;

指令接收模塊:用于接收并解析來自RS422接口芯片的控制指令,輸出給Flash控制模塊;

Flash控制模塊:上電時對NAND Flash芯片進(jìn)行復(fù)位、配置和上電檢測;如果在預(yù)先設(shè)計的延時時間段內(nèi)未接收到接收控制模塊輸出的控制指令,則將兩個獨立FIFO中的數(shù)據(jù)寫入到對應(yīng)的NAND Flash芯片中,如果接收到,則根據(jù)接收的控制指令完成對應(yīng)NAND Flash芯片的擦除或下載操作;將下載的數(shù)據(jù)發(fā)送給數(shù)據(jù)輸出控制模塊;

數(shù)據(jù)輸出控制模塊:對Flash控制模塊發(fā)送的數(shù)據(jù)進(jìn)行乒乓緩存操作,經(jīng)過編碼后通過LVDS發(fā)送器輸出給地面。

所述Flash控制模塊包括Flash復(fù)位子模塊、Flash配置子模塊、Flash上電檢測子模塊、Flash擦除子模塊、Flash寫子模塊和Flash讀子模塊;

Flash復(fù)位子模塊:上電復(fù)位后,完成兩塊NAND Flash芯片的復(fù)位操作,使其能夠正常工作;

Flash配置子模塊:復(fù)位完成后,配置NAND Flash芯片的工作模式;

Flash上電檢測子模塊:配置完成后,對NAND Flash芯片的壞塊和上次寫到的塊地址進(jìn)行檢測,將壞塊地址寫入到壞塊表中,將上次寫到的塊地址寫入寄存器中;

Flash擦除子模塊:在對NAND Flash芯片進(jìn)行寫入之前,如果接收到指令接收模塊輸出的擦除指令,則同時對兩塊NAND Flash芯片壞塊以外的位置進(jìn)行擦除操作,若好塊擦除不成功,則需要將其標(biāo)記為壞塊并寫入到壞塊表中;

Flash寫子模塊:從寄存器中讀取上次寫到的塊地址,采用雙面操作,將兩個獨立FIFO中緩存的數(shù)據(jù)對應(yīng)寫入到兩塊NAND Flash芯片上次寫到塊地址之后的好塊中;

Flash讀子模塊:采用雙面操作,根據(jù)指令接收模塊輸出的控制指令選擇一塊NAND Flash芯片,從其中的好塊中讀取數(shù)據(jù),發(fā)送給數(shù)據(jù)輸出控制模塊。

所述采用雙面操作向一塊NAND Flash芯片進(jìn)行寫操作的實現(xiàn)方法為:

(5.1)從FIFO的緩存數(shù)據(jù)中依次讀取四組數(shù)據(jù),每組數(shù)據(jù)為8KB;

(5.2)將第一組數(shù)據(jù)寫入到NAND Flash芯片第一個CE的第一面,將第二組數(shù)據(jù)寫入到第一個CE的第二面,將第三組數(shù)據(jù)寫入到第二個CE的第一面,將第四組數(shù)據(jù)寫入到第二個CE的第二面,且四組數(shù)據(jù)同時寫入,寫入的地址均為上次寫到塊地址之后N個塊地址處,N=2,3或4;

(5.3)每組數(shù)據(jù)寫入完成后,在該組數(shù)據(jù)寫入塊對應(yīng)的空閑區(qū)做出寫入標(biāo)記;

(5.4)重復(fù)執(zhí)行上述過程,將FIFO中緩存的數(shù)據(jù)寫入到NAND Flash芯片中。

所述采用雙面操作對一塊NAND Flash芯片進(jìn)行讀操作的實現(xiàn)方法為:

(6.1)依次從第一個CE的第一面、第一個CE的第二面、第二個CE的第一面、第二個CE的第二面讀取一組數(shù)據(jù),每組數(shù)據(jù)為8KB;

(6.2)重復(fù)步驟(6.1),完成NAND Flash芯片中數(shù)據(jù)的讀取;

(6.3)將讀取的數(shù)據(jù)按照讀出順序整合成數(shù)據(jù)流并輸出。

所述Flash上電檢測模塊對NAND Flash芯片上次寫到的塊地址進(jìn)行檢測的實現(xiàn)方法為:

Flash上電檢測模塊讀取NAND Flash芯片空閑區(qū)的標(biāo)記,四個CE面中最后一個寫入標(biāo)記對應(yīng)的寫入塊地址即為NAND Flash芯片上次寫到的塊地址。

地面接收到存儲器的數(shù)據(jù)后,進(jìn)行如下操作:

(8.1)地面對接收數(shù)據(jù)進(jìn)行檢測,在檢測到L個“FF”時,則認(rèn)為是兩次不同加電的數(shù)據(jù),將不同次加電的數(shù)據(jù)分別保存為不同的數(shù)據(jù)文件,用于不同次加電測試的數(shù)據(jù)處理和判讀;其中L<=4*NM;

(8.2)在每次加電測試的時間歷程內(nèi),計算每個遙測參數(shù)的最大值、最小值和平均值;

(8.3)根據(jù)每個遙測參數(shù)預(yù)先設(shè)置的最大值、最小值和平均值判據(jù)進(jìn)行判讀,當(dāng)計算得到的最大值、最小值和平均值均滿足該遙測參數(shù)最大值、最小值和平均值判據(jù)時,該遙測參數(shù)判讀合理。

本發(fā)明與現(xiàn)有技術(shù)相比具有如下有益效果:

(1)、本發(fā)明存儲器通過FPGA單元對NAND Flash芯片兩個CE同時進(jìn)行雙面讀寫操作,相對于傳統(tǒng)的單CE單面操作,提高了存儲器的讀寫速率。

(2)、本發(fā)明Flash上電檢測模塊在上電復(fù)位完成后,能夠?qū)ι洗螌懙降膲K地址進(jìn)行檢測和保存,實現(xiàn)了斷電續(xù)存功能,能夠從已有數(shù)據(jù)后面續(xù)存,在地面測試及飛行器飛行過程中,支持多次加斷電操作,提高了系統(tǒng)可靠性,滿足系統(tǒng)特殊使用要求。

(3)、本發(fā)明在存儲器存儲的幀格式中記錄軟件版本號,實現(xiàn)了軟件版本的在線監(jiān)測和管理設(shè)計,在設(shè)計、調(diào)試以及測試過程中能夠?qū)崟r監(jiān)測或者事后判讀燒寫到設(shè)備中的軟件版本號,避免了軟件版本燒寫錯誤,提高了設(shè)計可靠性。

(4)、地面接收到存儲器的數(shù)據(jù)后,能夠自動將接收到的數(shù)據(jù)根據(jù)不同次加電情況分割成多個文件,便于對每次加電測試數(shù)據(jù)進(jìn)行判讀和分析。同時對每次接收到的遙測參數(shù)統(tǒng)計最大值、最小值和平均值,根據(jù)判據(jù)進(jìn)行自動判讀,提高了數(shù)據(jù)判讀的效率和智能化程度。

附圖說明

圖1為本發(fā)明存儲器組成簡圖;

圖2為本發(fā)明存儲器內(nèi)部具體實現(xiàn)框圖;

圖3為FPGA單元組成框圖;

圖4為Flash雙面寫操作時序圖;

圖5為Flash雙面讀操作時序圖。

具體實施方式

下面結(jié)合附圖和具體實施例對本發(fā)明做進(jìn)一步詳細(xì)的描述:

如圖1所示,本發(fā)明提出一種具有斷電續(xù)存功能的高速存儲器,包括存儲板C1、存儲板C2和存儲板C3,其中存儲板C1和存儲板C2互為備份,用于存儲采編器組幀后的數(shù)據(jù)和接口控制器轉(zhuǎn)發(fā)的地面測試系統(tǒng)控制指令。存儲板C3用于存儲接口控制器轉(zhuǎn)發(fā)的外系統(tǒng)備份數(shù)據(jù)和地面測試系統(tǒng)控制指令。

存儲板C1、存儲板C2和存儲板C3組成相同,如圖2所示,均包括兩塊NAND Flash芯片、FPGA單元、RS422接口芯片、金手指、LVDS接收器、LVDS發(fā)送器以及電源模塊。

互為備份的C1和C2上的LVDS接收器用于接收采編器組幀后的數(shù)據(jù),并輸出給FPGA單元,第三塊存儲板上的LVDS接收器用于接收接口控制器轉(zhuǎn)發(fā)的外系統(tǒng)備份數(shù)據(jù),并輸出給FPGA單元。

存儲器中存儲的采編器組幀后的數(shù)據(jù)幀格式由128個字節(jié)組成,其中包括108個字節(jié)的遙測參數(shù)和9個字節(jié)的存儲板狀態(tài)字。

存儲板C1的狀態(tài)字為Sta13、Sta12和Sta11,存儲板C2的狀態(tài)字為Sta23、Sta22和Sta21,存儲板C3的狀態(tài)字為Sta33、Sta32和Sta31。其中Sta13、Sta23、Sta33為“CC”時代表存儲板C1、存儲板C2、存儲板C3工作正常,否則,代表工作異常。狀態(tài)字的后兩個字節(jié)“XXXX”在空閑時為“00”+存儲板版本號,存儲板版本號為一個字節(jié);在擦除過程中為“1XXX”(XXX為正在擦除的塊地址),擦除完畢變?yōu)椤?000”;記錄過程中為“8XXX”(XXX為正在記錄的塊地址)。

同時幀格式中還包括存儲器接收到的地面測試系統(tǒng)發(fā)送的指令CMD,指令主要包括擦除指令、P1下載指令、P2下載指令和停止下載指令。每個存儲板中兩塊NAND Flash芯片記為P1和P2。

幀格式中還包括采編器和接口控制器的軟件版本號。在設(shè)備軟件調(diào)試過程中,會產(chǎn)生多個軟件版本號,為便于軟件版本號在線監(jiān)測和管理,在采編幀格式中增加軟件版本號,系統(tǒng)測試時,可以實時監(jiān)測,也可以事后判讀燒寫到設(shè)備中的軟件版本號,避免了軟件版本燒寫錯誤。

在幀格式中還編排有幀同步碼,如采用EB90146F作為幀同步碼,實現(xiàn)一個完整幀的幀同步,用于事后數(shù)據(jù)判讀和處理。

存儲器的數(shù)據(jù)和狀態(tài)字復(fù)用一個數(shù)據(jù)通道,傳輸速率為240Mbps。上電復(fù)位后即傳送狀態(tài)字,只在收到下載指令后才下傳存儲器數(shù)據(jù),其他時間均傳送狀態(tài)字。

存儲器中存儲的外系統(tǒng)備份數(shù)據(jù)幀格式由136字節(jié)組成。其中前兩個字節(jié)為幀頭,第3~6字節(jié)為幀計數(shù),從0開始計數(shù),計滿后重新從0開始。第7~134字節(jié)為外系統(tǒng)有效數(shù)據(jù)。最后兩個字節(jié)為幀尾。

RS422接口芯片用于接收接口控制器轉(zhuǎn)發(fā)的地面測試系統(tǒng)控制指令,并輸出給FPGA單元。一個字節(jié)的幀頭和一個字節(jié)的指令構(gòu)成一個指令字,指令字重復(fù)三遍組成一個控制指令幀。

FPGA單元接收來自LVDS接收器的數(shù)據(jù),如果在預(yù)先設(shè)計的延時時間段內(nèi)未接收到地面測試系統(tǒng)控制指令,則將接收的數(shù)據(jù)同時寫入兩塊NAND Flash芯片中,否則根據(jù)地面測試系統(tǒng)控制指令對兩塊NAND Flash芯片進(jìn)行擦除或下載操作,將下載的數(shù)據(jù)通過LVDS發(fā)送器向外輸出。地面測試系統(tǒng)控制指令包括擦除、下載、停止下載。

存儲板C1和存儲板C2互為備份。存儲板中兩塊NAND Flash芯片P1、P2也互為備份。

電源模塊為存儲板上的各個器件供電。

金手指用于將兩塊NAND Flash芯片的管腳引出,在存儲板上電源模塊、FPGA單元或LVDS發(fā)送器或其他相關(guān)器件失效時,能夠從外部對NAND Flash芯片進(jìn)行寫入、擦除或下載操作。

如圖3所示,F(xiàn)PGA單元包括時鐘產(chǎn)生模塊、復(fù)位信號產(chǎn)生模塊、頂層控制模塊、數(shù)據(jù)接收緩存模塊、指令接收模塊、Flash控制模塊以及數(shù)據(jù)輸出控制模塊。

時鐘產(chǎn)生模塊用于產(chǎn)生全局和各個模塊運行所需時鐘信號,能夠根據(jù)外部輸入的時鐘選擇信號選擇本地晶振或外部時鐘。

復(fù)位信號產(chǎn)生模塊產(chǎn)生全局復(fù)位信號,在時鐘產(chǎn)生模塊產(chǎn)生的時鐘信號有效時,將全局復(fù)位信號置為低電平,用于將除時鐘產(chǎn)生模塊以外的其他模塊復(fù)位,保持一段時間后將全局復(fù)位信號置為高電平。

當(dāng)全局復(fù)位信號為高電平后,頂層控制模塊產(chǎn)生配置使能信號對除時鐘產(chǎn)生模塊、復(fù)位信號產(chǎn)生模塊以外的其他模塊進(jìn)行配置,配置完成后,頂層控制模塊控制FPGA單元進(jìn)入運行狀態(tài),開始進(jìn)行指令和數(shù)據(jù)的接收,并執(zhí)行相應(yīng)的操作。

數(shù)據(jù)接收緩存模塊在配置完成后,接收來自LVDS接收器的數(shù)據(jù),并將接收的數(shù)據(jù)分別緩存在兩個獨立的FIFO中。

指令接收模塊用于接收并解析來自RS422接口芯片的控制指令,輸出給Flash控制模塊。接收的指令有“擦除”、“下載”和“停止下載”,分別完成存儲器芯片擦除、下載相應(yīng)存儲模塊數(shù)據(jù)和停止下載存儲器數(shù)據(jù)的功能。需對指令進(jìn)行判決,判決有效才開始執(zhí)行相應(yīng)動作,指令判決方式采用三判二方式進(jìn)行。

指令接收模塊主要由串行數(shù)據(jù)接收模塊、同步處理模塊、三判二模塊以及命令解析模塊組成,根據(jù)相應(yīng)的指令解析出相應(yīng)的使能信號。串行數(shù)據(jù)接收模塊用于接收指令,并輸出給同步處理模塊;同步處理模塊用于將接收到的指令進(jìn)行同步處理,處理后輸出給三判二模塊;三判二模塊用于對接收到的指令進(jìn)行三判二處理;命令解析模塊用于將三判二處理后的指令進(jìn)行解析,得到相應(yīng)的使能信號。

Flash控制模塊上電時對兩塊NAND Flash芯片進(jìn)行復(fù)位、配置和上電檢測;如果在預(yù)先設(shè)計的延時時間段內(nèi)未接收到接收控制模塊輸出的控制指令,則將兩個獨立FIFO中的數(shù)據(jù)對應(yīng)寫入到兩塊NAND Flash芯片中,如果接收到,則根據(jù)接收的控制指令完成兩塊NAND Flash芯片的擦除或下載操作;將下載的數(shù)據(jù)發(fā)送給數(shù)據(jù)輸出控制模塊。

數(shù)據(jù)輸出控制模塊對Flash控制模塊發(fā)送的數(shù)據(jù)進(jìn)行乒乓緩存操作,經(jīng)過編碼后通過LVDS發(fā)送器向外輸出。

Flash控制模塊包括Flash復(fù)位子模塊、Flash配置子模塊、Flash上電檢測子模塊、Flash擦除子模塊、Flash寫子模塊和Flash讀子模塊。各模塊具體說明如下:

Flash復(fù)位模塊:上電復(fù)位后,完成兩塊NAND Flash芯片的復(fù)位操作,使其能夠正常工作。Flash配置模塊:復(fù)位完成后,配置NAND Flash芯片的工作模式。

Flash上電檢測模塊:配置完成后,對NAND Flash芯片的壞塊和上次寫到的塊地址進(jìn)行檢測,將壞塊地址寫入到壞塊表中,將上次寫到的塊地址寫入寄存器中。

存儲器上電后延時一段時間如30s后自動進(jìn)入記錄狀態(tài),開始記錄時,從寄存器中讀出上次寫到的塊地址,為了可靠性以及事后數(shù)據(jù)處理方便,從上次寫到的塊地址的后N個塊地址處,即上次寫到的塊地址+N塊處開始記錄。從而實現(xiàn)了斷電續(xù)存功能。同時兩次加電的數(shù)據(jù)之間存在4*NM(4*N兆)個“FF”。為了防止以往的數(shù)據(jù)被覆蓋,存儲器記錄滿后,不再記錄。

Flash擦除模塊:在對NAND Flash芯片進(jìn)行寫入之前,根據(jù)指令接收模塊輸出的擦除指令進(jìn)行擦除,擦除時,首先需要根據(jù)上電檢測模塊建立的壞塊RAM表進(jìn)行判斷,壞塊不進(jìn)行擦除操作;若好塊擦除不成功,則需要將其標(biāo)記為壞塊并寫入到壞塊表中。

Flash寫模塊:采用雙面操作,將兩個獨立FIFO中的數(shù)據(jù)對應(yīng)寫入到兩塊NAND Flash芯片中。

Flash上電后30s內(nèi)無擦除、下載和停止下載指令來,則Flash進(jìn)入記錄狀態(tài)。寫入前,對上次寫到的位置和當(dāng)前寫入的塊是否為好塊進(jìn)行檢查,好塊才進(jìn)行雙面寫入操作。對好塊的寫入操作具體如下:

(1)從FIFO的緩存數(shù)據(jù)中依次讀取四組數(shù)據(jù),每組數(shù)據(jù)為8KB;

(2)將第一組數(shù)據(jù)寫入到NAND Flash芯片第一個CE的第一面,將第二組數(shù)據(jù)寫入到第一個CE的第二面,將第三組數(shù)據(jù)寫入到第二個CE的第一面,將第四組數(shù)據(jù)寫入到第二個CE的第二面,且四組數(shù)據(jù)同時寫入,寫入的地址均為上次寫到塊地址之后N個塊地址處,且保證該寫入地址對應(yīng)的塊為好塊,N為2,3或4;

(3)每組數(shù)據(jù)寫入完成后,在該組數(shù)據(jù)寫入塊對應(yīng)的空閑區(qū)做出寫入標(biāo)記;

(4)重復(fù)執(zhí)行上述過程,將FIFO中緩存的數(shù)據(jù)寫入到NAND Flash芯片中。

四個CE面中最后一個寫入標(biāo)記對應(yīng)的寫入塊地址即為NAND Flash芯片上次寫到的塊地址。

Flash讀模塊:采用雙面操作,根據(jù)指令接收模塊輸出的控制指令選擇一塊NAND Flash芯片,從其中的好塊中讀取數(shù)據(jù),發(fā)送給數(shù)據(jù)輸出控制模塊。

由于對Flash進(jìn)行編程操作時采用了雙面操作,讀Flash時也必須采用雙面讀操作。首先根據(jù)上電檢測模塊中建立的壞塊表,對當(dāng)前讀的塊進(jìn)行判斷,好塊才進(jìn)行讀操作。其中好塊是指兩個CE的兩個面對應(yīng)塊均為好塊。

對好塊進(jìn)行讀操作的步驟如下:

(1)依次從第一個CE的第一面、第一個CE的第二面、第二個CE的第一面、第二個CE的第二面讀取一組數(shù)據(jù),每組數(shù)據(jù)為8KB;

(2)重復(fù)步驟(1),完成NAND Flash芯片中數(shù)據(jù)的讀取;

(3)將讀取的數(shù)據(jù)按照讀出順序整合成數(shù)據(jù)流并輸出。

事實上,本發(fā)明C3中的兩塊NAND Flash芯片P1、P2也可以順序記錄,即先存P1,P1存滿后存P2。這樣可以將存儲板C3的存儲容量擴(kuò)展為原來的2倍。

進(jìn)一步地,本發(fā)明中存儲器可以將記錄的塊地址實時發(fā)送給地面測控軟件,可以實時監(jiān)測存儲器讀寫的塊地址,測試結(jié)束后,地面測控軟件可以自動計算出存儲器中存儲的數(shù)據(jù)量,方便數(shù)據(jù)下載。

目前遙測系統(tǒng)測量的參數(shù)越來越多,普遍具有上百甚至幾百路遙測參數(shù)。傳統(tǒng)遙測系統(tǒng)在數(shù)據(jù)處理和判讀時一般采用人工判讀的方法,此種判讀方法效率不高,判讀時間長,而且容易出現(xiàn)誤判。人工判讀時只對數(shù)據(jù)丟幀情況進(jìn)行檢測,或者對測量參數(shù)做曲線進(jìn)行判讀。第一種方法無法對所有的遙測參數(shù)進(jìn)行全面判讀;第二種方法在進(jìn)行大數(shù)據(jù)量判讀時,做曲線較慢,效率較低。

本發(fā)明中,地面接收到存儲器的數(shù)據(jù)后,能夠自動將接收到的數(shù)據(jù)根據(jù)不同次加電情況分割成多個文件,同時對每次接收到的遙測參數(shù)進(jìn)行自動判讀。

分割文件的方法如下:

根據(jù)不同次加電的數(shù)據(jù)之間會有4*NM個“FF”,在檢測到連續(xù)L個“FF”時(L≤4*NM),則認(rèn)為是兩次不同加電的數(shù)據(jù),將不同次加電的數(shù)據(jù)分別保存為不同的數(shù)據(jù)文件,用于不同次加電測試的數(shù)據(jù)處理和判讀。

針對每次加電測試的數(shù)據(jù)進(jìn)行自動判讀的方法如下:

(1)在每次加電測試的時間歷程內(nèi),計算每個遙測參數(shù)的最大值、最小值和平均值;

(2)根據(jù)每個遙測參數(shù)預(yù)先設(shè)置的最大值、最小值和平均值判據(jù)進(jìn)行判讀,當(dāng)計算得到的最大值、最小值和平均值均滿足該遙測參數(shù)最大值、最小值和平均值判據(jù)時,該遙測參數(shù)判讀合理。

實施例:

1、存儲器組成

存儲器中FPGA單元采用XILINX公司的FPGA芯片XC3S500E-4CP132I,NAND Flash芯片采用Micron公司MT29F128G08AJAAAWP,每塊芯片容量為16GB。

存儲器采用相同三塊存儲板,其中存儲板C1和存儲器C2與采編器連接,都用來存儲采編器數(shù)據(jù)和地面測試系統(tǒng)控制指令,且C1和C2互為備份,C1、C2中的兩片F(xiàn)lash數(shù)據(jù)也互為備份。存儲板C3用來存儲外系統(tǒng)備份數(shù)據(jù)和地面測試系統(tǒng)控制指令。

每塊存儲板均包括兩塊NAND Flash芯片、FPGA單元、RS422接口芯片、LVDS接收器、LVDS發(fā)送器、金手指以及電源模塊。

2、FPGA單元設(shè)計

FPGA單元包括時鐘產(chǎn)生模塊、復(fù)位信號產(chǎn)生模塊、頂層控制模塊、數(shù)據(jù)接收緩存模塊、指令接收模塊、Flash控制模塊以及數(shù)據(jù)輸出控制模塊。時鐘產(chǎn)生模塊采用ISE提供的IP核產(chǎn)生時鐘,利用40MHz的輸入時鐘產(chǎn)生80MHz、40MHz和20MHz的運行時鐘:clk80M、clk40M和clk20M。由于輸入時鐘有兩個:本地晶振和外部時鐘,因此設(shè)計兩個DCM,通過clksel信號進(jìn)行選擇。

復(fù)位信號產(chǎn)生模塊在時鐘產(chǎn)生模塊產(chǎn)生的時鐘信號有效時,將全局復(fù)位信號置為低電平,利用計數(shù)器保持大于200ms后置為高電平。

當(dāng)全局復(fù)位信號為高電平后,頂層控制模塊產(chǎn)生配置使能信號對除時鐘產(chǎn)生模塊、復(fù)位信號產(chǎn)生模塊以外的其他模塊進(jìn)行配置,配置完成后,頂層控制模塊控制FPGA單元進(jìn)入運行狀態(tài),開始進(jìn)行指令和數(shù)據(jù)的接收,并執(zhí)行相應(yīng)的操作。

數(shù)據(jù)接收緩存模塊接收來自LVDS接收器SN65lv1224B的數(shù)據(jù),LVDS接收器和數(shù)據(jù)接收緩存模塊進(jìn)行交互的時鐘頻率為20MHz,LVDS接收器輸出十位數(shù)據(jù),因此定義數(shù)據(jù)位的高二位為“11”時為有效數(shù)據(jù)。

由于每個存儲板中有兩個互為備份的Flash芯片,因此設(shè)計時需要兩個獨立的FIFO,將接收的數(shù)據(jù)分別緩存在兩個獨立的FIFO中。

指令接收模塊用于接收RS422接口芯片的控制指令,解析后輸出給Flash控制模塊。指令傳輸速率為115200bps;數(shù)據(jù)格式為1位起始位,8位數(shù)據(jù)位,1位奇偶校驗位和1位停止位,數(shù)據(jù)的傳輸順序為低位在前高位在后。每次地面測試系統(tǒng)發(fā)送一幀控制指令,每幀控制指令共六個字節(jié),一個字節(jié)的幀頭0XB8和一個字節(jié)的CMD組成一個完整的指令字,指令字間隔為100us,重復(fù)的三個指令組成了一幀指令,指令幀間隔為2ms。

Flash控制模塊上電時對兩塊NAND Flash芯片進(jìn)行復(fù)位、配置和上電檢測。然后等待30s,只在30s內(nèi)響應(yīng)“下載”、“擦除”指令。工作模式如下:

1)30s之內(nèi)如果接收到下載指令,則下載NAND Flash芯片數(shù)據(jù),在下載數(shù)據(jù)過程中,如果接收到停止下載指令,則停止下載,F(xiàn)lash控制模塊進(jìn)入空閑狀態(tài),可繼續(xù)接收下載或擦除指令。數(shù)據(jù)下載完成之后,F(xiàn)lash控制模塊也進(jìn)入空閑狀態(tài),可接收下載或擦除指令。

2)在30s內(nèi)如果接收到擦除指令,則擦除NAND Flash芯片數(shù)據(jù),同時將當(dāng)前寫地址復(fù)位為NAND Flash芯片首地址。

3)在30s之內(nèi)如果沒有接收到任何指令,30s后則自動進(jìn)入寫入狀態(tài),向NAND Flash芯片當(dāng)前存儲的寫入地址后面順序?qū)懭霐?shù)據(jù),能夠存儲并實時更新當(dāng)前寫入地址,當(dāng)前寫入地址在存儲器斷電后不消失,下次上電后能夠從當(dāng)前寫入的地址之后繼續(xù)進(jìn)行寫入。進(jìn)入寫入狀態(tài)后,不再接收任何指令。NAND Flash芯片記滿后,則不再寫入。

存儲器的兩塊NAND Flash芯片同步進(jìn)行寫入,互為備份。

數(shù)據(jù)輸出控制模塊對Flash控制模塊發(fā)送的數(shù)據(jù)進(jìn)行乒乓緩存操作,然后再將數(shù)據(jù)經(jīng)過8B10B編碼通過LVDS發(fā)送器發(fā)送出去。

3、Flash控制模塊設(shè)計

Flash控制模塊包括Flash復(fù)位子模塊、Flash配置子模塊、Flash上電檢測子模塊、Flash擦除子模塊、Flash寫子模塊和Flash讀子模塊。

1)Flash復(fù)位模塊

該模塊主要完成對Flash芯片的復(fù)位操作,使其能夠正常工作。

2)Flash配置模塊

該模塊主要功能是在復(fù)位完成后對Flash芯片的工作模式進(jìn)行設(shè)定,默認(rèn)為Timemode0,設(shè)計時將其設(shè)置為Timemode4。

3)Flash上電檢測模塊

配置完成后,對NAND Flash芯片的壞塊和上次寫到的塊地址進(jìn)行檢測,將壞塊地址寫入到壞塊表中,將上次寫到的塊地址寫入寄存器中。

Flash芯片在出廠時允許有一定的壞塊量,所以在進(jìn)行擦除、讀、寫操作之前需要將flash壞塊檢測出來。flash的壞塊標(biāo)記位置在每個塊第一頁的第8192位置,標(biāo)記為0x00。為了提高flash的寫入速度,設(shè)計時采用雙面操作,兩個片選信號(CE)乒乓操作。為了保證塊地址整體移動,設(shè)計時將兩個CE的雙面地址共4個塊地址一起進(jìn)行判斷,若4個塊中有一個壞塊,則同時跳過該4塊地址。檢查壞塊時建立一個1bit×4096的RAM表,壞塊標(biāo)記為‘0’,好塊標(biāo)記為‘1’。

上電檢測時,將上次寫到的塊地址查找出來,查找的方法是查找每一塊第一頁的8193位置處的內(nèi)容,0x55代表已寫入,其他代表未寫入,查到出最后一塊第一頁的8193處為0x55的塊地址,即為上次寫到的塊地址。將該塊地址寫入到寄存器中。

4)Flash擦除模塊

該模塊主要功能是在寫入Flash之前對其進(jìn)行擦除操作。擦除時,首先需要根據(jù)上電檢測模塊建立的壞塊RAM表進(jìn)行判斷,壞塊不進(jìn)行擦除操作;若好塊在擦除過程中不成功,則需要將其標(biāo)記為壞塊,即在該塊的第一頁的第8192地址處標(biāo)記為0x00。

5)Flash寫模塊

Flash寫模塊用于對Flash進(jìn)行編程存儲。設(shè)計時采用雙面操作,其時序如圖4所示。首先向總線上寫入指令80H,表示寫指令,接著寫入寫地址,然后是寫入的數(shù)據(jù),然后寫入11H,代表雙面寫操作,再寫入80H,將地址加1后寫入總線,然后是寫入的數(shù)據(jù),之后寫入10H,表示本次雙面寫操作完成。flash上電后30s內(nèi)無擦除、下載和停止下載指令來,則Flash進(jìn)入記錄狀態(tài)。選取N=2,寫入前,對上次寫到的位置和當(dāng)前寫入的塊是否為好塊進(jìn)行檢查,好塊才進(jìn)行雙面寫入操作。

6)Flash讀操作

同樣由于對Flash進(jìn)行編程操作時采用了雙面操作,因此讀Flash時也必須采用雙面讀操作。首先根據(jù)上電復(fù)位模塊中建立的壞塊RAM表,對當(dāng)前讀的塊進(jìn)行判斷,好塊才進(jìn)行讀操作。雙面讀操作時序如圖5所示。先在總線上寫入00H,表示讀指令,然后寫入地址A,然后寫入32H,表示雙面讀操作,再依次寫入00H、地址B和30H,30H表示本次雙面讀操作完成。然后根據(jù)FPGA的控制,讀出地址A中的數(shù)據(jù)A。然后在總線上依次寫入06H、地址B和E0H,表示切換到地址B,然后根據(jù)FPGA的控制,讀出地址B中的數(shù)據(jù)B。

4、地面對存儲器下傳數(shù)據(jù)的處理

1)根據(jù)不同次加電的數(shù)據(jù)之間會有8M字節(jié)的“FF”,在檢測到連續(xù)小于等于8M字節(jié)的“FF”,則認(rèn)為是兩次不同加電的數(shù)據(jù),將不同次加電的數(shù)據(jù)分別保存為不同的數(shù)據(jù)文件。

2)在每次加電測試的時間歷程內(nèi),計算每個遙測參數(shù)的最大值、最小值和平均值。

3)根據(jù)每個遙測參數(shù)預(yù)先設(shè)置的最大值、最小值和平均值判據(jù)進(jìn)行判讀,當(dāng)計算得到的最大值、最小值和平均值均滿足該遙測參數(shù)最大值、最小值和平均值判據(jù)時,該遙測參數(shù)判讀合理。

5、實際應(yīng)用情況

本發(fā)明中的存儲器提高了存儲器讀寫速率;具有斷電續(xù)存功能,提高了存儲器可靠性和測試方便性;同時,本發(fā)明進(jìn)一步給出了地面測試系統(tǒng)對存儲器下傳數(shù)據(jù)的處理方法,能夠?qū)⒍啻渭与姷臄?shù)據(jù)自動分割為多個文件,便于數(shù)據(jù)進(jìn)一步判讀和分析;數(shù)據(jù)判讀時能夠統(tǒng)計出每個遙測參數(shù)的最大值、最小值和平均值,根據(jù)判據(jù)快速判讀并給出判讀結(jié)果,提高了數(shù)據(jù)判讀的效率和智能化程度。

本發(fā)明已應(yīng)用于某飛行器中,并經(jīng)過多項試驗考核,完整獲取到了飛行器各項測量參數(shù),數(shù)據(jù)存儲速率和下載速率均提高了約一倍,在地面測試及飛行器飛行過程中,支持多次加斷電操作,提高了系統(tǒng)可靠性,滿足系統(tǒng)特殊使用要求。地面能夠?qū)b測參數(shù)進(jìn)行全面判讀,遙測參數(shù)的數(shù)據(jù)量越大,效率提高的越多,對于1小時的飛行試驗數(shù)據(jù),效率提高了近1倍。

以上所述,僅為本發(fā)明最佳的具體實施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。

本發(fā)明說明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員的公知技術(shù)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 民县| 湘潭县| 日照市| 楚雄市| 金山区| 吴旗县| 商水县| 旅游| 仁布县| 玛曲县| 安义县| 潍坊市| 阳信县| 北京市| 丰都县| 曲周县| 河源市| 布拖县| 交口县| 龙陵县| 博客| 林口县| 盐亭县| 吉木萨尔县| 宜良县| 雷州市| 大厂| 阿巴嘎旗| 灌阳县| 铜梁县| 祥云县| 彝良县| 盐津县| 白玉县| 阳城县| 建宁县| 黄石市| 顺平县| 安陆市| 平原县| 新蔡县|