在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

采用VHDL語言在FPGA芯片上實現NAND Flash的數據存儲系統的設計

電子設計 ? 作者:電子設計 ? 2018-11-15 08:10 ? 次閱讀

引言

傳統的存儲設備雖然具有價格低廉的優勢,但是在高溫、高速、高沖擊的測試環境中,往往存在設備存放空間有限、測試參數較多、采集速率高、環境復雜等因素。為了得到準確的測試數據,對存儲設備的性能也提出了較高的要求,如高存儲速度、大存儲容量、小巧輕便、抗沖擊等。此時傳統的存儲設備便無法完成復雜環境測試數據的存儲任務。為解決這個問題,本文設計了基于NAND Flash的數據存儲系統,該系統采用Xilinx公司提出的靈活、高效、低成本的解決方案SOPC,把通用的RISC處理器MicroBlaze與用戶設計的特定功能邏輯電路集成到FPGA上,在FPGA的控制下將數據存儲到NAND Flash存儲設備中,實現了一個基于SOPC方案的嵌入式數據存儲系統。

NAND Flash存儲設備是Flash內存的一種,其內部采用非線性宏單元模式,為固態大容量內存的實現提供了廉價有效的解決方案。NAND Flash存儲器具有體積小、功耗低、讀寫速度快等優點,適用于大量數據的存儲,被廣泛應用到數碼相機、MP3、U盤等嵌入式產品中。

1 系統整體設計方案

基于NAND Flash的數據存儲系統結構框圖如圖1所示。

采用VHDL語言在FPGA芯片上實現NAND Flash的數據存儲系統的設計

本文采用Samsung公司的NAND Flash芯片K9F4GOSUOA作為主要存儲器件,控制器件使用Atmel公司的ATmega162和Xilinx公司Spartan-3E系列的XC3S500E,結合對NAND Flash的讀、寫、擦除等操作進行時序配置。A/D轉換芯片使用Maxim公司的MAX1308.另外,為實現通過USB總線將數據從采集設備傳送至PC,采用FTDI公司的FT245R芯片作為USB2.0接口控制器;并以LabVIEW為平臺設計開發了專用"多通道數據分析軟件",用于對存儲系統中數據后期的分析與處理。

2 NAND Flash陣列式存儲原理

Flash存儲器編程是以頁為單位,單片NAND Flash的單頁編程操作時,命令鎖存信號CLE向端口寫入編程操作命令,地址鎖存信號ALE寫入操作塊地址,并傳輸2 KB數據到數據寄存器后,Flash進入編程階段。此時其端口R/B信號被拉低,顯示Flash正處于忙工作狀態,直到編程結束,這段時間系統不能對該Flash再進行任何操作,一般該階段典型的時間為200μs.如果使用單片Flash存儲器進行存儲,則需等待編程結束后才能再寫入數據。這樣大量的時間耗費在編程過程中,極大限制了系統存儲速度的提高。

為提高系統的存儲容量和存儲速度,系統使用8片NAND Flash存儲器,每4片為一組構成一個總線寬度為8位的存儲陣列。控制信號中除設置獨立的片選信號CE外,其他的控制信號為8片共用;兩組Flash共用數據總線,存儲數據時先對第一組Flash進行存儲操作,待第一組存儲完畢后再對第二組進行數據存儲操作。Flash陣列式存儲結構圖如圖2所示。

采用VHDL語言在FPGA芯片上實現NAND Flash的數據存儲系統的設計

由以上分析可以看出,Flash存儲數據的過程由寫地址命令、數據傳輸以及Flash編程階段組成。為提高系統整體的存儲速度,減少系統等待時間,根據NAND Flash存儲器的特點,借鑒時分多路復用技術,設計了Flash存儲陣列,即利用上一片Flash的編程時間對下一片Flash進行操作,將數據加載到該片數據寄存器中,以此類推實現四級的流水線。這樣整個系統每個時刻都能對Flash加載數據,保證了數據存儲的連續性。

時分多路復用(Time Division Multiplexing,TDM)是按傳輸信號的時間進行分割的,它使不同的信號在不同的時間內傳送,將整個傳輸時間分為許多時間間隔,每個時間片被一路信號占用,這樣既可以保證各傳輸信號的相互獨立,又提高了系統的傳輸效率。借鑒該原理,可以將Flash的編程時間看成一個固定的時間段,將這個時間段分成4個時間片,在這4個時間片上分別對Flash陣列的一個模塊中的4個Flash加載數據,輸入存儲系統的高速數據流看作是以傳輸一組數據所需時間的一個時間片。

具體的操作如下:首先加載數據到第1片Flash存儲器中,該Flash進入編程狀態;在第1片Flash的編程時段內,對第2片Flash進行數據加載操作;當第2片進入編程狀態時,再對第3片進行數據加載操作;依次執行下去,待一次整體操作完成后4片Flash都已加載完數據。此時,第1片Flash的編程已經完成,處于準備就緒狀態,可以寫入新的數據,由此可以等效為Flash存儲器的編程時間為0.這樣就可以實現Flash陣列的連續傳輸數據,提高系統的整體速度。

多片Flash時分多路復用式數據存儲原理如圖3所示。

采用VHDL語言在FPGA芯片上實現NAND Flash的數據存儲系統的設計

3 系統硬件實現

系統采用了Xilinx公司的FPGA進行SOPC開發,處理器選用了MicroBlaze軟核,并配置相應的參數使標準IP核適應用戶所設計的系統,結合外圍電源電路、USB接口電路、程序配置電路,構成了一套穩定的數據存儲系統。

3.1 FPGA片上系統的實現

FPGA程序主要的功能是:軟件控制啟動存儲,在控制邏輯的作用下將前端A/D轉換之后的數據先存入內部FIFO緩存中,同時啟動DMA將緩存中的數據存儲到外部NAND Flash存儲陣列中。本文利用VHDL語言編寫程序,在FPGA芯片上實現了數據的高速存儲和傳輸控制。

3.2 USB接口電路模塊

USB器件主要用于實現SOPC系統在聯機模式下與主機通信以及數據的傳輸。USB芯片使用由FTDI公司推出的FT245R,該接口能夠將USB接口信號轉換為8位并行信號,上傳至時鐘頻率為150 MHz的MicroBlaze處理器進行分析處理;并將處理器發送的數據轉換成標準的USB接口數據傳向PC機,完成SOPC系統與PC機之間的通信。USB接口電路如圖4所示。

采用VHDL語言在FPGA芯片上實現NAND Flash的數據存儲系統的設計

3.3 FPGA配置電路模塊

本系統在FPGA配置電路中采用了主串配置模式。外部的配置芯片選用了XCF04S系列的PROM串行配置芯片。當系統上電時,芯片以主動配置方式來實現系統中FPGA的硬件配置。通過高速的串行接口,整個芯片的配置工作可以在很短的時間內完成。

3.4 電源模塊

電源模塊不僅能夠為系統各器件提供各種高性能的功率輸出,還能夠選擇合適的旁路、去耦電容來濾除各種干擾信號,保證系統的穩定工作。本系統電源模塊采用了TI公司的TPS75003芯片配置相應的外圍電路,實現了由5 V輸入電壓到3.3 V、2.5 V和1.2 V輸出電壓的精確轉換。

4 系統驗證與分析

在系統的軟硬件程序設計完成并生成BIT流文件后,下載到FPGA電路板上,結合PC機中的專用軟件對系統功能進行驗證測試。

4.1 對NAND Flash的操作驗證

在數據存儲硬件系統設計過程中,用戶IP核設計得好壞決定著整個系統設計的成敗。系統IP核設計中集成了Flash控制器、DMA控制器以及數據和地址FIFO,為驗證該IP核是否能正常工作,對其進行了Flash操作驗證。示波器捕獲的讀Flash存儲器ID號時序圖如圖5所示。其中通道0~4分別代表Flash的CE(片選)、ALE(地址鎖存)、CLE(命令鎖存)、RE(讀)、WE(寫)信號。圖中Flash陣列的4片Flash的ID號都為EC DC 10 95 54,這與實際Flash ID相符。實驗證明,Flash存儲器的ID號是準確的。

采用VHDL語言在FPGA芯片上實現NAND Flash的數據存儲系統的設計

4.2 文件登記表驗證

實驗中在Flash存儲器的特定位置存有標記數據特征的文件登記表,應用程序讀取文件登記表中的信息并將相應數據傳輸到PC機上進行后期分析。文件登記表的存儲內容有:文件名、實驗的次數、存儲數據的長度、本次存儲的首尾地址以及下次存儲的首地址等。

圖6為某次存儲實驗的文件登記表信息,圖中前8個字節為文件名,往后依次為實驗次數和數據通道數。本次實驗中存儲的長度為50 MB,存儲首地址和存儲尾地址分別為0x0115、0x0178.由于所用的存儲策略為4片流水線式存儲,每片Flash每塊為128 KB,4片組成的模塊中每個大塊為512 KB(128 KB×4),所以可以計算出存儲的數據為512 KB×(0x0178-0x0115+1)=50 MB.這與所指定的本次存儲數據的長度吻合,表明存儲系統正確可靠。

采用VHDL語言在FPGA芯片上實現NAND Flash的數據存儲系統的設計

4.3 數據存儲驗證

系統構建完成后,在實驗室環境中,對信號發生器產生的正弦波信號進行采集存儲,通過USB接口將存儲在NAND Flash芯片中的數據上傳到PC機中,利用以LabVIEW為平臺設計開發的"多通道數據分析軟件"進行分析處理,得到的模擬信號及系統開關量數字信號波形如圖7、圖8所示。

采用VHDL語言在FPGA芯片上實現NAND Flash的數據存儲系統的設計

對比原始信號發現,系統能夠快速、無失真地采集并存儲信號發生器產生的波形數據,并且能夠利用不同的采樣速率來記錄系統開關量數字信號信息,具有較高的可靠性。

結語

本文設計了基于NAND Flash的數據存儲系統,通過時分多路復用式流水線操作,極大地提高了Flash芯片的存儲速度。實驗表明,該系統能夠快速、準確地記錄信號發生器產生的波形數據,且具有性能穩定可靠、操作簡單、抗過載能力強等優點。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1630

    文章

    21759

    瀏覽量

    604299
  • FlaSh
    +關注

    關注

    10

    文章

    1638

    瀏覽量

    148193
  • vhdl
    +關注

    關注

    30

    文章

    817

    瀏覽量

    128174
收藏 人收藏

    評論

    相關推薦

    基于FPGA器件實現大容量高速存儲系統的方案設計

    本文介紹了一種以FPGA作為控制器,FLASH MEMORY作為主存儲器的大容量高速存儲系統方案,并對關鍵技術及實現途徑進行了論述,
    發表于 07-30 17:53 ?2446次閱讀
    基于<b class='flag-5'>FPGA</b>器件<b class='flag-5'>實現</b>大容量高速<b class='flag-5'>存儲系統</b>的方案設計

    標準NAND FLASH控制器

    源代碼(VHDL語言)或網表形式(提供使用手冊)提供,功能包括:1. 支持異步接口的SLC和MLC Nand Flash2. 最高支持時序模式5(Timing Mode 5)3. 兼容
    發表于 02-17 11:11

    求:基于FPGA數據采集存儲系統的sch原理圖

    設計高溫環境下(最高120°)基于FPGA數據采集存儲系統,就是通過傳感器采集數據,通過FPGA來控制,把
    發表于 10-29 21:29

    基于FPGA數據采集存儲系統

    設計高溫環境下(最高120°)基于FPGA數據采集存儲系統,就是通過傳感器采集數據,通過FPGA來控制,把
    發表于 10-29 21:37

    標準NAND FLASH控制器/超高速NAND FLASH陣列控制器

    適應NAND FLASH陣列應用,并且可以適應各種各樣的NAND FLASH芯片型號。8x8(8行8列:8個片選,64位
    發表于 03-01 18:49

    NAND閃存存儲系統的低故障率如何實現

    該行業非常重視單個ECC代碼的強度:但經常被忽視的是錯誤預防的強度,這在糾正甚至發揮作用之前是重要的我們如何在基于NAND閃存的系統實現最低的故障率?您可能已在工程團隊或存儲系統供應
    發表于 08-01 07:09

    基于套接字的Flash存儲系統研究和實現

    本文主要針對兩種不同Flash 的特征,研究目前的Flash 存儲技術基礎之上,設計了一種數據存儲系統
    發表于 01-20 14:52 ?4次下載

    基于FPGA的微型數字存儲系統設計

    基于FPGA的微型數字存儲系統設計 1 引言    針對航天測試系統的應用需求,提出一種基于FPGA的微型數字存儲系
    發表于 11-04 10:46 ?856次閱讀
    基于<b class='flag-5'>FPGA</b>的微型數字<b class='flag-5'>存儲系統</b>設計

    Nand+Flash存儲管理DSP系統中的實現

    Nand+Flash存儲管理DSP系統中的實現   Nand
    發表于 04-12 13:42 ?1507次閱讀
    <b class='flag-5'>Nand+Flash</b><b class='flag-5'>存儲</b>管理<b class='flag-5'>在</b>DSP<b class='flag-5'>系統</b>中的<b class='flag-5'>實現</b>

    NAND Flash嵌入式存儲系統設計

    基于NAND Flash存儲系統的設計首先要解決壞塊問題。由于NAND Flash自身存在固有壞塊并在擦除和編程中又隨機產生壞塊,因此為了
    發表于 04-25 11:10 ?1413次閱讀
    <b class='flag-5'>NAND</b> <b class='flag-5'>Flash</b>嵌入式<b class='flag-5'>存儲系統</b>設計

    NAND Flash存儲系統解決方案

    ,能夠很好的完成復雜的數據信息處理。現在需要的更多的是如何有效的存儲和管理越來越多的數據,隨著對大容量存儲需求的日益迫切,NAND
    發表于 10-19 15:22 ?0次下載

    基于FPGA并以Flash存儲介質的高速圖像數據存儲系統設計

    針對某系統圖像數據量大、傳輸速率快的特點,提出了采用PCI總線協議完成PC與高速數據存儲系統之間的通信,利用LVDS總線協議傳輸
    發表于 11-18 05:26 ?4116次閱讀
    基于<b class='flag-5'>FPGA</b>并以<b class='flag-5'>Flash</b>為<b class='flag-5'>存儲</b>介質的高速圖像<b class='flag-5'>數據</b><b class='flag-5'>存儲系統</b>設計

    采用VHDL語言FPGA實現WolfMCU體系結構的設計

    基于以上討論,可以看出ASIP+FPGA設計模式可以從很大程度上解決引言中提到的兩個難題。為了進行更深入的研究,我們對該設計模式進行了嘗試,用VHDL硬件描述語言
    發表于 07-28 17:44 ?721次閱讀
    <b class='flag-5'>采用</b><b class='flag-5'>VHDL</b><b class='flag-5'>語言</b><b class='flag-5'>在</b><b class='flag-5'>FPGA</b><b class='flag-5'>上</b><b class='flag-5'>實現</b>WolfMCU體系結構的設計

    NAND Flash存儲結構以及NAND Flash的接口控制設計

    Nand flashflash存儲器的其中一種,Nand flash其內部
    發表于 11-03 16:12 ?4458次閱讀
    <b class='flag-5'>NAND</b> <b class='flag-5'>Flash</b> 的<b class='flag-5'>存儲</b>結構以及<b class='flag-5'>NAND</b> <b class='flag-5'>Flash</b>的接口控制設計

    如何使用FPGA實現多通道圖像采集存儲系統的設計

    存儲模塊采用FLASH芯片實現數據存儲。分析完成
    發表于 01-29 15:27 ?6次下載
    如何使用<b class='flag-5'>FPGA</b><b class='flag-5'>實現</b>多通道圖像采集<b class='flag-5'>存儲系統</b>的設計
    主站蜘蛛池模板: 天天做天天爱夜夜想毛片| 色月| 好硬好湿好爽再深一点h视频| 老司机色网| 午夜精品久久久久久久第一页| 国产巨大bbbb天美| 国产做a爰片久久毛片| 十三以下岁女子毛片免费播放| 亚洲免费观看视频| 国产精品免费看久久久久| 黄色特级录像| 奇米色88欧美一区二区| 欧美一级免费看| 天堂最新在线资源| 午夜影视在线| 日本在线一本| aa在线播放| avbobo在线| 高清不卡免费一区二区三区| 天堂bt资源在线官网| 五月婷婷六月色| 日本三级三级三级免费看| 久久网色| 一级在线观看视频| 国产午夜在线视频| 成人在线黄色| 在线看黄网站| 欧美人成一本免费观看视频| 亚洲高清成人| 亚洲video| 特级黄毛片| 美女一级一级毛片| 欧美三级在线免费观看| 人人做天天爱夜夜爽中字| 99久久99这里只有免费费精品| 天天翘夜夜洗澡天天做| 婷婷久久综合九色综合九七| 老师别揉我胸啊嗯上课呢视频| 色综合久久综合欧美综合图片| 无遮挡一级毛片| 精品三级在线观看|