国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Flash芯片的彈載記錄系統(tǒng)設(shè)計(jì)

2016-12-10 17:34:12王暉
航空兵器 2016年5期

摘要: 針對(duì)彈載記錄系統(tǒng)大容量、 高速率數(shù)據(jù)的記錄需求, 設(shè)計(jì)了一種基于Flash芯片的彈載記錄系統(tǒng)。 該系統(tǒng)以FPGA芯片為控制核心, 通過(guò)并行總線操作、 流水線操作等技術(shù)實(shí)現(xiàn)數(shù)據(jù)的高速存儲(chǔ), 并利用下載軟件的多線程功能實(shí)現(xiàn)數(shù)據(jù)的快速下載。 具有存儲(chǔ)速率高、 可靠性高、 擴(kuò)展性好等優(yōu)點(diǎn)。

關(guān)鍵詞: 記錄系統(tǒng); Flash芯片; USB接口; 無(wú)效塊管理

中圖分類號(hào): TJ760.3; TP216.2文獻(xiàn)標(biāo)識(shí)碼: A文章編號(hào): 1673-5048(2016)05-0077-04

Abstract: In order to meet the requirement of recording system used in airtoair missile such as large capacity and high rate data, the design method of recording system for airtoair missile based on flash chip is introduced. The system takes the FPGA chip as the control core, through the parallel bus operation, pipeline operation and other technologies to achieve highspeed data storage, and the download software is used to achieve the fast download of data. This system has the advantages of high storage rate, high reliability and good expansibility.

Key words: recording system; flash chip; USB interface; invalidblock management

0引言

隨著空空導(dǎo)彈的發(fā)展, 彈載記錄系統(tǒng)在空空導(dǎo)彈研制過(guò)程中的作用越來(lái)越重要, 對(duì)彈載記錄系統(tǒng)的要求也越來(lái)越高, 高速、 大容量是目前彈載記錄系統(tǒng)的發(fā)展趨勢(shì)。 已應(yīng)用到彈載記錄系統(tǒng)中的控制電路有PC104 CPU控制板、 FPGA和單片機(jī)(MCU), 存儲(chǔ)器有EEPROM、 DOC(Disk on Chip)、 CF卡存儲(chǔ)器和電子硬盤[1]。 但受采樣速率、 存儲(chǔ)容量、 價(jià)格成本等限制, 已無(wú)法滿足未來(lái)彈載記錄系統(tǒng)的需要。

近年來(lái), 閃速存儲(chǔ)器(Flash Memory)作為固態(tài)存儲(chǔ)器以其獨(dú)有的特點(diǎn)得到越來(lái)越廣泛的應(yīng)用, 其具有抗振動(dòng)、 存儲(chǔ)密度大、 可擦寫、 非易失、 環(huán)境適應(yīng)能力強(qiáng)以及命令、 地址、 數(shù)據(jù)線復(fù)用和接口便利等特點(diǎn)[2], 并且還有擦寫速度快、 單位存儲(chǔ)容量?jī)r(jià)格低和可靠性高等優(yōu)點(diǎn)。

基于上述原因, 設(shè)計(jì)了一種基于Flash芯片的彈載記錄系統(tǒng), 采用高速大容量Flash Memory芯片作為存儲(chǔ)器, 通過(guò)FPGA芯片作為控制和緩沖, 完成高速大容量數(shù)據(jù)的存儲(chǔ), 并通過(guò)高速USB接口進(jìn)行數(shù)據(jù)下載。

1系統(tǒng)組成

某項(xiàng)目對(duì)記錄系統(tǒng)的采集要求如下:

(1) 采集信號(hào): 圖像信號(hào)、 模擬信號(hào)、 422信號(hào);

(2) 采集速率: 不小于13.5 MB/s;

(3) 記錄時(shí)間: 不小于1 h;

(4) 下載速度: 不小于10 MB/s。

記錄系統(tǒng)主要由輸入接口電路、 二次電源電路、 FPGA芯片、 Flash存儲(chǔ)陣列、 USB下載接口電路和下載軟件等組成, 系統(tǒng)原理框圖如圖1所示。

航空兵器2016年第5期王暉: 基于Flash芯片的彈載記錄系統(tǒng)設(shè)計(jì)FPGA芯片是記錄系統(tǒng)的核心, 其產(chǎn)生的控制時(shí)序控制交換子、 A/D轉(zhuǎn)換器和Flash存儲(chǔ)陣列等協(xié)調(diào)有序工作, 準(zhǔn)確采集數(shù)據(jù)并按照規(guī)定的幀格式將數(shù)據(jù)寫入Flash芯片。 在數(shù)據(jù)下載時(shí)將Flash芯片中的數(shù)據(jù)寫入U(xiǎn)SB接口芯片的FIFO中, 通過(guò)USB接口傳輸給計(jì)算機(jī)。

2主要技術(shù)

由于NAND型Flash芯片本身存在寫入帶寬低、 寫入速度慢、 存在無(wú)效塊等缺點(diǎn), 因此必須通過(guò)合理設(shè)計(jì)和有效控制邏輯來(lái)克服上述缺點(diǎn)。 可以采用并行總線技術(shù)、 流水線編程技術(shù)來(lái)增加帶寬、 寫入速度和容量; 通過(guò)建立無(wú)效塊管理表, 避免對(duì)無(wú)效塊的操作; 通過(guò)USB接口設(shè)計(jì)、 多線程數(shù)據(jù)下載技術(shù)來(lái)提高數(shù)據(jù)下載速度, 從而實(shí)現(xiàn)高速、 大容量數(shù)據(jù)的可靠存儲(chǔ)。

2.1并行總線處理技術(shù)[3]

采用Micron公司的NAND型高速大容量固態(tài)存儲(chǔ)芯片MT29F64G08AJABA[4], 該芯片單片容量為8 GB, 頁(yè)面(Page Size)大小為(4 K+224)Byte, 頁(yè)面編程時(shí)間 (Page Program Time)典型值為230 μs, 塊大?。˙lock Size)為(5 124 K+8 K)Byte, 塊擦除時(shí)間(Block Erase Time)典型值為700 μs, 單片芯片的數(shù)據(jù)寫入速度約為5 MB/s。 該芯片只有8個(gè)I/O管腳, 命令、 地址和數(shù)據(jù)是通過(guò)分時(shí)復(fù)用來(lái)完成不同操作的, 通過(guò)控制信號(hào)區(qū)分命令和地址。

Flash芯片的傳統(tǒng)操作方式是存儲(chǔ)完一片F(xiàn)lash芯片后, 再進(jìn)行下一片F(xiàn)lash芯片的操作, 存儲(chǔ)速度約為5 MB/s, 無(wú)法滿足高速數(shù)據(jù)的存儲(chǔ)要求。 通過(guò)并行總線處理技術(shù)可以很直觀地提高存儲(chǔ)速度, 即將N片F(xiàn)lash芯片并聯(lián)起來(lái), 使用相同的控制線、 片選線和讀寫信號(hào)線, 構(gòu)成Flash存儲(chǔ)陣列, 以此來(lái)提高系統(tǒng)讀寫帶寬和讀寫效率。

所設(shè)計(jì)的Flash存儲(chǔ)陣列采用4片F(xiàn)lash芯片并聯(lián), 使用相同的控制線、 片選線和讀寫信號(hào)線, 構(gòu)成一個(gè)32位帶寬的芯片組, 將4個(gè)芯片組串聯(lián)構(gòu)成一個(gè)存儲(chǔ)速度20 MB/s以上、 容量128 GB的存儲(chǔ)陣列, 能夠滿足彈載記錄系統(tǒng)高速、 大容量數(shù)據(jù)存儲(chǔ)要求。

2.2流水線編程技術(shù)

MT29F64G08AJABA的內(nèi)部由2片4 GB的Target(Target1, Target2)構(gòu)成, 通過(guò)片選信號(hào)CE1/CE2進(jìn)行選擇控制, 為提高Flash芯片的存儲(chǔ)速度, 可以采用流水線操作技術(shù), 即時(shí)間復(fù)用。 數(shù)據(jù)存儲(chǔ)時(shí)對(duì)Target1, Target2進(jìn)行乒乓操作, 當(dāng)Target1加載完一頁(yè)數(shù)據(jù)后, 即進(jìn)入自動(dòng)編程狀態(tài), 這期間不能進(jìn)行其他操作, 只有當(dāng)編程結(jié)束后, Target1恢復(fù)空閑狀態(tài), 才能進(jìn)行下一頁(yè)數(shù)據(jù)的加載。 在Target1編程期間, 同時(shí)對(duì)Target2執(zhí)行下一頁(yè)數(shù)據(jù)的命令、 地址和數(shù)據(jù)加載。 當(dāng)Target2編程期間, 同時(shí)對(duì)Target1執(zhí)行一頁(yè)數(shù)據(jù)的命令、 地址和數(shù)據(jù)加載。 依次遞推, 可以實(shí)現(xiàn)對(duì)頁(yè)編程時(shí)間復(fù)用, 提高存儲(chǔ)速度。

在設(shè)計(jì)中, 單片F(xiàn)lash芯片的存儲(chǔ)速度約為5 MB/s, 運(yùn)用流水操作技術(shù)的Flash芯片存儲(chǔ)速度將是單片F(xiàn)lash芯片存儲(chǔ)速度的2倍, 可達(dá)10 MB/s以上, 同時(shí)結(jié)合并行總線處理技術(shù), 能夠滿足彈載記錄系統(tǒng)高速數(shù)據(jù)的存儲(chǔ)要求。

2.3Flash芯片無(wú)效塊管理

無(wú)效塊是指包含一位或者多位無(wú)效位信息的存儲(chǔ)塊[5], Flash芯片在出廠時(shí)就可能存在無(wú)效塊, 無(wú)效塊不允許進(jìn)行擦除和編程操作, 因此在Flash芯片操作過(guò)程中, 需要建立一個(gè)無(wú)效塊管理列表, 將芯片內(nèi)部的所有壞塊信息寫入列表中。 出廠時(shí)本身含有的無(wú)效塊廠家已經(jīng)標(biāo)明, 通過(guò)讀取每塊第一頁(yè)和第二頁(yè)的第4 096個(gè)字節(jié)來(lái)進(jìn)行判斷, 如果均是“FFh”, 則認(rèn)為是有效塊, 否則認(rèn)為是無(wú)效塊[6]。 無(wú)效塊的判斷邏輯見(jiàn)圖2。

無(wú)效塊管理是在FPGA芯片內(nèi)部開(kāi)辟一個(gè)專門存儲(chǔ)無(wú)效塊信息的RAM, RAM的每個(gè)數(shù)據(jù)位與Flash芯片的每塊一一對(duì)應(yīng), “1”代表有效塊, “0”代表無(wú)效塊。 在對(duì)Flash芯片的每一塊進(jìn)行操作之前, 需要先讀取RAM中對(duì)應(yīng)此塊地址單元的信息, 如果發(fā)現(xiàn)是無(wú)效塊就跳過(guò)不進(jìn)行操作, 然后再進(jìn)行下一塊的判斷, 直至找到有效塊時(shí)再進(jìn)行操作。 無(wú)效塊判斷流程見(jiàn)圖3。

設(shè)計(jì)中, Flash存儲(chǔ)陣列的無(wú)效塊信息存儲(chǔ)在Flash芯片第一塊第一頁(yè)中, 記錄系統(tǒng)加電后, 將無(wú)效塊信息讀出并寫入RAM中, 可以避免系統(tǒng)斷電后無(wú)效塊信息丟失。

2.4USB接口設(shè)計(jì)

記錄數(shù)據(jù)的下載、 清除通過(guò)計(jì)算機(jī)、 數(shù)據(jù)處理軟件和USB接口進(jìn)行。 設(shè)計(jì)采用Cypress公司的通用USB2.0接口芯片CY7C68013A[7], 其內(nèi)部包括USB2.0收發(fā)器、 串行接口引擎(SIE)和增強(qiáng)型51內(nèi)核, 遵從USB2.0協(xié)議, 可提供高達(dá)480 Mbps的傳輸率。 CY7C68013A與外設(shè)有主/從兩種接口方式, Slave FIFO是從機(jī)方式, 外部控制器可以像對(duì)待普通FIFO一樣對(duì)芯片內(nèi)的FIFO進(jìn)行讀寫[8]。 主機(jī)向記錄系統(tǒng)發(fā)出讀無(wú)效塊信息、 讀工作信息、 讀數(shù)據(jù)、 擦除等操作命令, FPGA芯片根據(jù)命令進(jìn)行相應(yīng)的操作, 命令及其描述如表1所示。

2.5多線程數(shù)據(jù)下載

數(shù)據(jù)下載中首次使用多線程技術(shù)完成USB緩沖區(qū)的數(shù)據(jù)讀寫功能, 數(shù)據(jù)下載時(shí), 調(diào)用讀線程下載USB緩沖區(qū)的數(shù)據(jù), 通過(guò)信號(hào)量控制寫線程處于等待狀態(tài); 當(dāng)下載的記錄數(shù)據(jù)量達(dá)到預(yù)先設(shè)定的存儲(chǔ)文件大小時(shí), 運(yùn)行寫線程完成存儲(chǔ)文件的功能, 同時(shí)繼續(xù)讀線程完成數(shù)據(jù)下載。 和單線程讀寫數(shù)據(jù)文件相比, 讀線程和寫線程可同時(shí)運(yùn)行, 節(jié)約了單線程讀寫文件時(shí)需要等待完成寫數(shù)據(jù)的時(shí)間, 減少了數(shù)據(jù)下載時(shí)間, 提高了程序運(yùn)行效率。

3FPGA設(shè)計(jì)

FPGA芯片選擇Altera公司StratixⅡ系列的EP2S60F484I4, 該芯片有48 352個(gè)ALUTs, 334個(gè)I/O管腳, 內(nèi)存總量2 544 192 bits, 12個(gè)PLL, 36個(gè)DSP blocks[9], 既作為控制器產(chǎn)生所需的邏輯和時(shí)序, 又作為輸入數(shù)據(jù)的緩存, 最后通過(guò)計(jì)算機(jī)USB接口實(shí)現(xiàn)人與系統(tǒng)的通信[10]。 輸入接口數(shù)據(jù)總線、 Flash存儲(chǔ)陣列的地址數(shù)據(jù)總線和控制總線、 USB接口的數(shù)據(jù)和控制總線都連接在FPGA芯片的I/O管腳上, 大大簡(jiǎn)化了硬件電路。

3.1緩存FIFO的實(shí)現(xiàn)

由于輸入數(shù)據(jù)是突發(fā)式, 一段時(shí)間發(fā)送數(shù)據(jù), 一段時(shí)間空閑, 因此需要利用EP2S60內(nèi)部的M4K[11]存儲(chǔ)塊設(shè)置FIFO, 用于緩存輸入數(shù)據(jù)和編排幀格式。 Flash芯片是基于頁(yè)來(lái)讀寫的, 在每次通電寫入數(shù)據(jù)前需先寫入4個(gè)字節(jié)的包頭, 用于區(qū)分每次通電的起始位置, 用FIFO緩存數(shù)據(jù)。

在FPGA內(nèi)部開(kāi)辟五塊內(nèi)存, 分別用于緩存模擬數(shù)據(jù)(緩存A)、 422數(shù)據(jù)(緩存B)、 圖像數(shù)據(jù)(緩存C)、 合并后的數(shù)據(jù)(緩存D)以及包頭數(shù)據(jù)(緩存E)。 當(dāng)緩存D的數(shù)據(jù)達(dá)到預(yù)定值時(shí), 產(chǎn)生標(biāo)志信號(hào), 數(shù)據(jù)存儲(chǔ)模塊根據(jù)標(biāo)志信號(hào)從緩存D中讀取數(shù)據(jù), 在第一組數(shù)據(jù)前添加包頭(表示每次加電的起始位置, 后續(xù)數(shù)據(jù)不加)存入緩存E, 然后再將數(shù)據(jù)寫入Flash存儲(chǔ)陣列。 當(dāng)數(shù)據(jù)讀完后, 標(biāo)志信號(hào)消失, 直至下一個(gè)標(biāo)志信號(hào)出現(xiàn), 數(shù)據(jù)存儲(chǔ)模塊繼續(xù)從緩存D中讀取數(shù)據(jù), 存入緩存E并寫入Flash存儲(chǔ)陣列, 如此循環(huán)。 當(dāng)寫滿一個(gè)有效塊后, 數(shù)據(jù)寫入下一個(gè)有效塊; 當(dāng)寫滿一組Flash芯片后, 數(shù)據(jù)寫入下一組Flash芯片, 當(dāng)所有Flash芯片寫滿后, 系統(tǒng)停止記錄。 在寫數(shù)據(jù)的過(guò)程中, 系統(tǒng)自動(dòng)屏蔽Flash芯片的所有壞塊。 FPGA內(nèi)部緩存如圖5所示。

3.2Flash的控制時(shí)序

Flash存儲(chǔ)陣列的控制時(shí)序由FPGA芯片產(chǎn)生, 通過(guò)片選信號(hào)選擇不同組的Flash芯片, 通過(guò)讀信號(hào)、 寫信號(hào)、 命令使能信號(hào)、 地址使能信號(hào)控制Flash芯片進(jìn)行寫、 讀、 擦除等操作, 以完成數(shù)據(jù)記錄、 數(shù)據(jù)下載、 數(shù)據(jù)清除等功能。

Flash芯片的寫操作是以頁(yè)為單位進(jìn)行, 首選寫入命令字80 h, 隨后寫入5個(gè)時(shí)鐘周期的地址, 并在WE的上升沿將4 096個(gè)字節(jié)的數(shù)據(jù)寫入數(shù)據(jù)存儲(chǔ)器中, 最后寫入頁(yè)編程確認(rèn)命令字10 h以啟動(dòng)存儲(chǔ)操作, 然后進(jìn)入等待狀態(tài)(R/B=0), 當(dāng)R/B=1時(shí)表示數(shù)據(jù)寫入成功, 可以進(jìn)行下一次寫操作。

Flash芯片的讀取操作時(shí)序、 擦除操作時(shí)序與寫操作時(shí)序類似, 即依次寫入命令字、 地址、 確認(rèn)命令字以啟動(dòng)相應(yīng)操作, 此處不再細(xì)述。

4系統(tǒng)實(shí)現(xiàn)

設(shè)計(jì)實(shí)際實(shí)現(xiàn)的彈載記錄系統(tǒng)采用4片F(xiàn)lash芯片(MT29F64G08AJABA)并聯(lián)構(gòu)成1個(gè)芯片組, 4個(gè)芯片組串聯(lián)形成Flash芯片陣列, FPGA芯片采用EP2S60F484I4, USB接口采用通用接口芯片CY7C68013A, 輔以外圍信號(hào)的接口電路, 系統(tǒng)實(shí)現(xiàn)的主要指標(biāo)如下:

(1) 準(zhǔn)確采集圖像信號(hào)、 模擬信號(hào)、 422信號(hào)等;

(2) 存儲(chǔ)容量: 128 GB;

(3) 存儲(chǔ)速率: 不小于40 MB/s;

(4) 記錄時(shí)間: 不小于2 h;

(5) 下載速度: 不小于20 MB/s。

5結(jié)論

簡(jiǎn)要介紹了Flash芯片在彈載記錄系統(tǒng)的應(yīng)用, 以FPGA、 Flash芯片、 USB接口芯片構(gòu)成了新型彈載記錄系統(tǒng)的核心, 設(shè)計(jì)中的記錄系統(tǒng)具有良好的擴(kuò)展性, 通過(guò)增加Flash芯片的并聯(lián)數(shù)和位寬, 可以進(jìn)一步提高存儲(chǔ)速度; 通過(guò)增加Flash芯片的串聯(lián)數(shù), 可以擴(kuò)展記錄系統(tǒng)的存儲(chǔ)容量, 以滿足未來(lái)記錄系統(tǒng)的要求。 隨著NAND型Flash芯片的發(fā)展, 其在彈載記錄系統(tǒng)中的應(yīng)用將會(huì)越來(lái)越廣泛。

參考文獻(xiàn):

[1] 王暉, 高先鋒. 彈載記錄系統(tǒng)的發(fā)展趨勢(shì)[J]. 遙測(cè)遙控, 2009(4): 69-72.

[2] 胡世明, 康懷祺, 滕云龍. 高速大容量存儲(chǔ)系統(tǒng)的應(yīng)用設(shè)計(jì)[J].火控雷達(dá)技術(shù), 2012(1): 34-38.

[3] 雷磊. NAND型Flash海量存儲(chǔ)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京: 北京理工大學(xué), 2008.

[4] Micron. 16Gb, 32Gb, 64Gb Asynchronous/Synchronous NAND Flash Memory Data Sheet[Z].Boise, Idaho:Micron Technology, Inc., 2011.

[5] 陸浩, 王振占.高速大容量固態(tài)存儲(chǔ)器設(shè)計(jì)[J].計(jì)算機(jī)工程, 2011, 37(15): 226-227.

[6] 朱知博. 基于NAND Flash的高速大容量存儲(chǔ)系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù), 2011(8): 170-173.

[7] Cypress Semiconductor Corporation. CY7C68013A EZUSB FX2LP USB Microcontroller[Z].San Jose, California: Cypress Semiconductor Corporation, 2005.

[8] 李強(qiáng), 伍堅(jiān), 姚冬蘋. CY7C68013芯片的USB接口固件設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用, 2006(10): 70-72.

[9] Altera Corporation. Stratix Ⅱ Device Handbook[Z]. San Jose, California: Altera Corporation, 2005.

[10] 韓茜, 羅豐, 吳順君. 高速大容量固態(tài)存儲(chǔ)系統(tǒng)的設(shè)計(jì)[J].雷達(dá)科學(xué)與技術(shù), 2005(2): 110-114.

[11] 王誠(chéng), 吳繼華, 范麗珍. Altera FPGA/CPLD設(shè)計(jì)(基礎(chǔ)篇) [M].北京: 人民郵電出版社, 2011.

从江县| 峨山| 广丰县| 通许县| 浮山县| 鄯善县| 南昌县| 三河市| 靖边县| 建湖县| 丹寨县| 新巴尔虎左旗| 丁青县| 特克斯县| 拜泉县| 周宁县| 武陟县| 巨野县| 福清市| 南通市| 绥中县| 甘肃省| 三台县| 弋阳县| 根河市| 乐都县| 富源县| 景德镇市| 兴隆县| 九龙县| 海门市| 平罗县| 乌兰察布市| 黄陵县| 芮城县| 浮梁县| 黎平县| 雷山县| 涪陵区| 莱阳市| 凌海市|