基于NAND Flash的數(shù)據(jù)存儲(chǔ)系統(tǒng)設(shè)計(jì)
由以上分析可以看出,Flash存儲(chǔ)數(shù)據(jù)的過程由寫地址命令、數(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所示。本文引用地址:http://www.ex-cimer.com/article/149111.htm
3 系統(tǒng)硬件實(shí)現(xiàn)
系統(tǒng)采用了Xilinx公司的FPGA進(jìn)行SOPC開發(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語言編寫程序,在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所示。
評(píng)論