當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于NAND Flash的數(shù)據(jù)存儲(chǔ)系統(tǒng)設(shè)計(jì)

引言
    傳統(tǒng)的存儲(chǔ)設(shè)備雖然具有價(jià)格低廉的優(yōu)勢(shì),但是在高溫、高速、高沖擊的測(cè)試環(huán)境中,往往存在設(shè)備存放空間有限、測(cè)試參數(shù)較多、采集速率高、環(huán)境復(fù)雜等因素。為了得到準(zhǔn)確的測(cè)試數(shù)據(jù),對(duì)存儲(chǔ)設(shè)備的性能也提出了較高的要求,如高存儲(chǔ)速度、大存儲(chǔ)容量、小巧輕便、抗沖擊等。此時(shí)傳統(tǒng)的存儲(chǔ)設(shè)備便無(wú)法完成復(fù)雜環(huán)境測(cè)試數(shù)據(jù)的存儲(chǔ)任務(wù)。為解決這個(gè)問(wèn)題,本文設(shè)計(jì)了基于NAND Flash的數(shù)據(jù)存儲(chǔ)系統(tǒng),該系統(tǒng)采用Xilinx公司提出的靈活、高效、低成本的解決方案SOPC,把通用的RISC處理器MicroBlaze與用戶設(shè)計(jì)的特定功能邏輯電路集成到FPGA上,在FPGA的控制下將數(shù)據(jù)存儲(chǔ)到NAND Flash存儲(chǔ)設(shè)備中,實(shí)現(xiàn)了一個(gè)基于SOPC方案的嵌入式數(shù)據(jù)存儲(chǔ)系統(tǒng)。
    NAND Flash存儲(chǔ)設(shè)備是Flash內(nèi)存的一種,其內(nèi)部采用非線性宏單元模式,為固態(tài)大容量?jī)?nèi)存的實(shí)現(xiàn)提供了廉價(jià)有效的解決方案。NAND Flash存儲(chǔ)器具有體積小、功耗低、讀寫速度快等優(yōu)點(diǎn),適用于大量數(shù)據(jù)的存儲(chǔ),被廣泛應(yīng)用到數(shù)碼相機(jī)、MP3、U盤等嵌入式產(chǎn)品中。

1 系統(tǒng)整體設(shè)計(jì)方案
    基于NAND Flash的數(shù)據(jù)存儲(chǔ)系統(tǒng)結(jié)構(gòu)框圖如圖1所示。


    本文采用Samsung公司的NAND Flash芯片K9F4GOSUOA作為主要存儲(chǔ)器件,控制器件使用Atmel公司的ATmega162和Xilinx公司Spartan-3E系列的XC3S500E,結(jié)合對(duì)NAND Flash的讀、寫、擦除等操作進(jìn)行時(shí)序配置。A/D轉(zhuǎn)換芯片使用Maxim公司的MAX1308。另外,為實(shí)現(xiàn)通過(guò)USB總線將數(shù)據(jù)從采集設(shè)備傳送至PC,采用FTDI公司的FT245R芯片作為USB2.0接口控制器;并以LabVIEW為平臺(tái)設(shè)計(jì)開(kāi)發(fā)了專用“多通道數(shù)據(jù)分析軟件”,用于對(duì)存儲(chǔ)系統(tǒng)中數(shù)據(jù)后期的分析與處理。

2 NAND Flash陣列式存儲(chǔ)原理
    Flash存儲(chǔ)器編程是以頁(yè)為單位,單片NAND Flash的單頁(yè)編程操作時(shí),命令鎖存信號(hào)CLE向端口寫入編程操作命令,地址鎖存信號(hào)ALE寫入操作塊地址,并傳輸2 KB數(shù)據(jù)到數(shù)據(jù)寄存器后,F(xiàn)lash進(jìn)入編程階段。此時(shí)其端口R/B信號(hào)被拉低,顯示Flash正處于忙工作狀態(tài),直到編程結(jié)束,這段時(shí)間系統(tǒng)不能對(duì)該Flash再進(jìn)行任何操作,一般該階段典型的時(shí)間為200μs。如果使用單片F(xiàn)lash存儲(chǔ)器進(jìn)行存儲(chǔ),則需等待編程結(jié)束后才能再寫入數(shù)據(jù)。這樣大量的時(shí)間耗費(fèi)在編程過(guò)程中,極大限制了系統(tǒng)存儲(chǔ)速度的提高。
    為提高系統(tǒng)的存儲(chǔ)容量和存儲(chǔ)速度,系統(tǒng)使用8片NAND Flash存儲(chǔ)器,每4片為一組構(gòu)成一個(gè)總線寬度為8位的存儲(chǔ)陣列??刂菩盘?hào)中除設(shè)置獨(dú)立的片選信號(hào)CE外,其他的控制信號(hào)為8片共用;兩組Flash共用數(shù)據(jù)總線,存儲(chǔ)數(shù)據(jù)時(shí)先對(duì)第一組Flash進(jìn)行存儲(chǔ)操作,待第一組存儲(chǔ)完畢后再對(duì)第二組進(jìn)行數(shù)據(jù)存儲(chǔ)操作。Flash陣列式存儲(chǔ)結(jié)構(gòu)圖如圖2所示。

[!--empirenews.page--]
    由以上分析可以看出,F(xiàn)lash存儲(chǔ)數(shù)據(jù)的過(guò)程由寫地址命令、數(shù)據(jù)傳輸以及Flash編程階段組成。為提高系統(tǒng)整體的存儲(chǔ)速度,減少系統(tǒng)等待時(shí)間,根據(jù)NAND Flash存儲(chǔ)器的特點(diǎn),借鑒時(shí)分多路復(fù)用技術(shù),設(shè)計(jì)了Flash存儲(chǔ)陣列,即利用上一片F(xiàn)lash的編程時(shí)間對(duì)下一片F(xiàn)lash
進(jìn)行操作,將數(shù)據(jù)加載到該片數(shù)據(jù)寄存器中,以此類推實(shí)現(xiàn)四級(jí)的流水線。這樣整個(gè)系統(tǒng)每個(gè)時(shí)刻都能對(duì)Flash加載數(shù)據(jù),保證了數(shù)據(jù)存儲(chǔ)的連續(xù)性。
    時(shí)分多路復(fù)用(Time Division Multiplexing,TDM)是按傳輸信號(hào)的時(shí)間進(jìn)行分割的,它使不同的信號(hào)在不同的時(shí)間內(nèi)傳送,將整個(gè)傳輸時(shí)間分為許多時(shí)間間隔,每個(gè)時(shí)間片被一路信號(hào)占用,這樣既可以保證各傳輸信號(hào)的相互獨(dú)立,又提高了系統(tǒng)的傳輸效率。借鑒該原理,可以將Flash的編程時(shí)間看成一個(gè)固定的時(shí)間段,將這個(gè)時(shí)間段分成4個(gè)時(shí)間片,在這4個(gè)時(shí)間片上分別對(duì)Flash陣列的一個(gè)模塊中的4個(gè)Flash加載數(shù)據(jù),輸入存儲(chǔ)系統(tǒng)的高速數(shù)據(jù)流看作是以傳輸一組數(shù)據(jù)所需時(shí)間的一個(gè)時(shí)間片。
    具體的操作如下:首先加載數(shù)據(jù)到第1片F(xiàn)lash存儲(chǔ)器中,該Flash進(jìn)入編程狀態(tài);在第1片F(xiàn)lash的編程時(shí)段內(nèi),對(duì)第2片F(xiàn)lash進(jìn)行數(shù)據(jù)加載操作;當(dāng)?shù)?片進(jìn)入編程狀態(tài)時(shí),再對(duì)第3片進(jìn)行數(shù)據(jù)加載操作;依次執(zhí)行下去,待一次整體操作完成后4片F(xiàn)lash都已加載完數(shù)據(jù)。此時(shí),第1片F(xiàn)lash的編程已經(jīng)完成,處于準(zhǔn)備就緒狀態(tài),可以寫入新的數(shù)據(jù),由此可以等效為Flash存儲(chǔ)器的編程時(shí)間為0。這樣就可以實(shí)現(xiàn)Flash陣列的連續(xù)傳輸數(shù)據(jù),提高系統(tǒng)的整體速度。
    多片F(xiàn)lash時(shí)分多路復(fù)用式數(shù)據(jù)存儲(chǔ)原理如圖3所示。



3 系統(tǒng)硬件實(shí)現(xiàn)
    系統(tǒng)采用了Xilinx公司的FPGA進(jìn)行SOPC開(kāi)發(fā),處理器選用了MicroBlaze軟核,并配置相應(yīng)的參數(shù)使標(biāo)準(zhǔn)IP核適應(yīng)用戶所設(shè)計(jì)的系統(tǒng),結(jié)合外圍電源電路、USB接口電路、程序配置電路,構(gòu)成了一套穩(wěn)定的數(shù)據(jù)存儲(chǔ)系統(tǒng)。
3.1 FPGA片上系統(tǒng)的實(shí)現(xiàn)
    FPGA程序主要的功能是:軟件控制啟動(dòng)存儲(chǔ),在控制邏輯的作用下將前端A/D轉(zhuǎn)換之后的數(shù)據(jù)先存入內(nèi)部FIFO緩存中,同時(shí)啟動(dòng)DMA將緩存中的數(shù)據(jù)存儲(chǔ)到外部NAND Flash存儲(chǔ)陣列中。本文利用VHDL語(yǔ)言編寫程序,在FPGA芯片上實(shí)現(xiàn)了數(shù)據(jù)的高速存儲(chǔ)和傳輸控制。
3.2 USB接口電路模塊
    USB器件主要用于實(shí)現(xiàn)SOPC系統(tǒng)在聯(lián)機(jī)模式下與主機(jī)通信以及數(shù)據(jù)的傳輸。USB芯片使用由FTDI公司推出的FT245R,該接口能夠?qū)SB接口信號(hào)轉(zhuǎn)換為8位并行信號(hào),上傳至?xí)r鐘頻率為150 MHz的MicroBlaze處理器進(jìn)行分析處理;并將處理器發(fā)送的數(shù)據(jù)轉(zhuǎn)換成標(biāo)準(zhǔn)的USB接口數(shù)據(jù)傳向PC機(jī),完成SOPC系統(tǒng)與PC機(jī)之間的通信。USB接口電路如圖4所示。

[!--empirenews.page--]
3.3 FPGA配置電路模塊
    本系統(tǒng)在FPGA配置電路中采用了主串配置模式。外部的配置芯片選用了XCF04S系列的PROM串行配置芯片。當(dāng)系統(tǒng)上電時(shí),芯片以主動(dòng)配置方式來(lái)實(shí)現(xiàn)系統(tǒng)中FPGA的硬件配置。通過(guò)高速的串行接口,整個(gè)芯片的配置工作可以在很短的時(shí)間內(nèi)完成。
3.4 電源模塊
    電源模塊不僅能夠?yàn)橄到y(tǒng)各器件提供各種高性能的功率輸出,還能夠選擇合適的旁路、去耦電容來(lái)濾除各種干擾信號(hào),保證系統(tǒng)的穩(wěn)定工作。本系統(tǒng)電源模塊采用了TI公司的TPS75003芯片配置相應(yīng)的外圍電路,實(shí)現(xiàn)了由5 V輸入電壓到3.3 V、2.5 V和1.2 V輸出電壓的精確轉(zhuǎn)換。

4 系統(tǒng)驗(yàn)證與分析
    在系統(tǒng)的軟硬件程序設(shè)計(jì)完成并生成BIT流文件后,下載到FPGA電路板上,結(jié)合PC機(jī)中的專用軟件對(duì)系統(tǒng)功能進(jìn)行驗(yàn)證測(cè)試。
4.1 對(duì)NAND Flash的操作驗(yàn)證
    在數(shù)據(jù)存儲(chǔ)硬件系統(tǒng)設(shè)計(jì)過(guò)程中,用戶IP核設(shè)計(jì)得好壞決定著整個(gè)系統(tǒng)設(shè)計(jì)的成敗。系統(tǒng)IP核設(shè)計(jì)中集成了Flash控制器、DMA控制器以及數(shù)據(jù)和地址FIFO,為驗(yàn)證該IP核是否能正常工作,對(duì)其進(jìn)行了Flash操作驗(yàn)證。示波器捕獲的讀Flash存儲(chǔ)器ID號(hào)時(shí)序圖如圖5所示。其中通道0~4分別代表Flash的CE(片選)、ALE(地址鎖存)、CLE(命令鎖存)、RE(讀)、WE(寫)信號(hào)。圖中Flash陣列的4片F(xiàn)lash的ID號(hào)都為EC DC 10 95 54,這與實(shí)際Flash ID相符。實(shí)驗(yàn)證明,F(xiàn)lash存儲(chǔ)器的ID號(hào)是準(zhǔn)確的。


4.2 文件登記表驗(yàn)證
    實(shí)驗(yàn)中在Flash存儲(chǔ)器的特定位置存有標(biāo)記數(shù)據(jù)特征的文件登記表,應(yīng)用程序讀取文件登記表中的信息并將相應(yīng)數(shù)據(jù)傳輸?shù)絇C機(jī)上進(jìn)行后期分析。文件登記表的存儲(chǔ)內(nèi)容有:文件名、實(shí)驗(yàn)的次數(shù)、存儲(chǔ)數(shù)據(jù)的長(zhǎng)度、本次存儲(chǔ)的首尾地址以及下次存儲(chǔ)的首地址等。


    圖6為某次存儲(chǔ)實(shí)驗(yàn)的文件登記表信息,圖中前8個(gè)字節(jié)為文件名,往后依次為實(shí)驗(yàn)次數(shù)和數(shù)據(jù)通道數(shù)。本次實(shí)驗(yàn)中存儲(chǔ)的長(zhǎng)度為50 MB,存儲(chǔ)首地址和存儲(chǔ)尾地址分別為0x0115、0x0178。由于所用的存儲(chǔ)策略為4片流水線式存儲(chǔ),每片F(xiàn)lash每塊為128 KB,4片組成的模塊中每個(gè)大塊為512 KB(128 KB×4),所以可以計(jì)算出存儲(chǔ)的數(shù)據(jù)為512 KB×(0x0178-0x0115+1)=50 MB。這與所指定的本次存儲(chǔ)數(shù)據(jù)的長(zhǎng)度吻合,表明存儲(chǔ)系統(tǒng)正確可靠。[!--empirenews.page--]
4.3 數(shù)據(jù)存儲(chǔ)驗(yàn)證
    系統(tǒng)構(gòu)建完成后,在實(shí)驗(yàn)室環(huán)境中,對(duì)信號(hào)發(fā)生器產(chǎn)生的正弦波信號(hào)進(jìn)行采集存儲(chǔ),通過(guò)USB接口將存儲(chǔ)在NAND Flash芯片中的數(shù)據(jù)上傳到PC機(jī)中,利用以LabVIEW為平臺(tái)設(shè)計(jì)開(kāi)發(fā)的“多通道數(shù)據(jù)分析軟件”進(jìn)行分析處理,得到的模擬信號(hào)及系統(tǒng)開(kāi)關(guān)量數(shù)字信號(hào)波形如圖7、圖8所示。


    對(duì)比原始信號(hào)發(fā)現(xiàn),系統(tǒng)能夠快速、無(wú)失真地采集并存儲(chǔ)信號(hào)發(fā)生器產(chǎn)生的波形數(shù)據(jù),并且能夠利用不同的采樣速率來(lái)記錄系統(tǒng)開(kāi)關(guān)量數(shù)字信號(hào)信息,具有較高的可靠性。

結(jié)語(yǔ)
    本文設(shè)計(jì)了基于NAND Flash的數(shù)據(jù)存儲(chǔ)系統(tǒng),通過(guò)時(shí)分多路復(fù)用式流水線操作,極大地提高了Flash芯片的存儲(chǔ)速度。實(shí)驗(yàn)表明,該系統(tǒng)能夠快速、準(zhǔn)確地記錄信號(hào)發(fā)生器產(chǎn)生的波形數(shù)據(jù),且具有性能穩(wěn)定可靠、操作簡(jiǎn)單、抗過(guò)載能力強(qiáng)等優(yōu)點(diǎn)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉