• <strike id="aymay"></strike>
    <strike id="aymay"></strike>
    <ul id="aymay"><dfn id="aymay"></dfn></ul>
    <ul id="aymay"><sup id="aymay"></sup></ul>
  • <del id="aymay"></del>

    一種基于DMA的高速數(shù)據(jù)閃存陣列的設(shè)計(jì)方案

    2013-12-17 15:49 來(lái)源:電源網(wǎng) 作者:和靜

    1.引言

    NAND FLASH由于其存儲(chǔ)的容量大,小體積,同時(shí)讀寫速度快,外圍電路簡(jiǎn)單而成為現(xiàn)在存儲(chǔ)應(yīng)用中的主流產(chǎn)品。但NAND FLASH的寫操作比較特殊,在存儲(chǔ)數(shù)據(jù)時(shí)要先寫入存儲(chǔ)命令和存儲(chǔ)地址,編程時(shí)不能對(duì)其執(zhí)行任何操作。傳統(tǒng)的由單片機(jī)作為核心的采集采用查詢的方式對(duì)NAND FLASH進(jìn)行編程,不僅操作復(fù)雜,而且減慢了存儲(chǔ)速度。

    為此設(shè)計(jì)了一種基于DMA傳輸方式的高速存儲(chǔ)陣列。采用DMA方式實(shí)現(xiàn)了對(duì)命令和地址的傳輸,并實(shí)現(xiàn)流水線存儲(chǔ)過(guò)程,加快了存儲(chǔ)速度。而且系統(tǒng)以FPGA為平臺(tái),集成度高,具有靈活的總線寬度,拓寬了存儲(chǔ)陣列的應(yīng)用環(huán)境。

    2.系統(tǒng)結(jié)構(gòu)

    數(shù)據(jù)存儲(chǔ)系統(tǒng)結(jié)構(gòu)如圖1所示,包括以下3個(gè)部分:

    1

    (1)FPGA,數(shù)據(jù)存儲(chǔ)系統(tǒng)的核心,集成度高,功耗低,內(nèi)部嵌有總線結(jié)構(gòu)靈活,并行處理能力強(qiáng)的軟處理器核MICROBLAZE,并有用戶自定義的IP核,可以實(shí)現(xiàn)對(duì)閃存陣列的控制和數(shù)據(jù)的正確存儲(chǔ),而且可以將陣列中存儲(chǔ)的數(shù)據(jù)上傳到電腦,進(jìn)行數(shù)據(jù)的后期處理。

    (2)存儲(chǔ)陣列:系統(tǒng)采用4×4陣列形式,由SAMSUNG公司的K9NBG08U5A搭建而成。構(gòu)建閃存陣列時(shí),所有FLASH使用相同的控制信號(hào);同一列的FLASH的片選信號(hào)相同,但數(shù)據(jù)通道不同;同一行的FLASH的片選信號(hào)不同,而數(shù)據(jù)通道相同。

    (3)USB接口:上位機(jī)和存儲(chǔ)系統(tǒng)的交互通過(guò)USB接口進(jìn)行,上位機(jī)將命令和配置信息通過(guò)USB接口傳入FPGA,使FPGA內(nèi)部的 MICROBLAZE執(zhí)行相應(yīng)的操作。數(shù)據(jù)回讀時(shí)通過(guò)USB接口將數(shù)據(jù)傳回上位機(jī)。本設(shè)計(jì)采用FTDI公司的FT245R作為上位機(jī)與FPGA通信的USB接口芯片。使用FTDI公司提供的D2XX驅(qū)動(dòng)程序,最快的傳輸速率高達(dá)1MBps。

    3.DMA設(shè)計(jì)實(shí)現(xiàn)

    DMA的作用是控制閃存陣列的操作,達(dá)到數(shù)據(jù)的快速存儲(chǔ)。其設(shè)計(jì)主要包括兩部分:DMA方式寫命令和地址,流水線操作流程的實(shí)現(xiàn)。DMA方式寫命令 和地址是用硬件的方法將閃存陣列編程需要的命令碼和地址按時(shí)序釋放到數(shù)據(jù)總線,節(jié)約了單片機(jī)查詢時(shí)所浪費(fèi)的時(shí)間;流水線操作流程是DMA對(duì)閃存陣列編程階 段等待的時(shí)間的利用,提高了存儲(chǔ)速度。

    3.1 DMA方式寫命令和地址

    對(duì)FLASH進(jìn)行存儲(chǔ)操作時(shí)應(yīng)先向FLASH寫入編程開始命令,然后是五個(gè)周期的有效塊存儲(chǔ)地址和2K字節(jié)數(shù)據(jù),最后寫入結(jié)束編程命令。用DMA方式傳送命令和地址花費(fèi)的時(shí)間低于單片機(jī)查詢的方式,提高了存儲(chǔ)速度。由于系統(tǒng)閃存陣列規(guī)模小,可以選用全相關(guān)的無(wú)效塊管理方法,其控制簡(jiǎn)單、算法容易實(shí)現(xiàn)。無(wú)效塊的信息事先緩存于地址FIFO,待數(shù)據(jù)存儲(chǔ)時(shí),由DMA讀取。此外每片NAND FLASH的編程命令碼相同,所以對(duì)每一列閃存操作時(shí),每個(gè)FLASH IO口上的數(shù)據(jù)是相同的。DMA方式寫命令和地址如圖2所示,相同的地址和命令先并置在一起,然后通過(guò)DMA方式發(fā)送到數(shù)據(jù)總線,最后在每個(gè)FLASH的I/O口將分配。

    2

    圖2中的八選一電路的作用是按flash的操作時(shí)序?qū)ù鎯?chǔ)數(shù)據(jù),命令,地址放到FLASH的IO總線上,通道的選擇由DMA控制。與此同時(shí),相應(yīng)的控制信號(hào)ALE、CLE、WE等變?yōu)橛行щ娖剑瑢?shí)現(xiàn)命令、數(shù)據(jù)、地址的寫入。

    這個(gè)部分時(shí)序仿真如圖3所示。信號(hào)線一是頻率為50MHz的時(shí)鐘信號(hào);信號(hào)線二是FLASH寫信號(hào);信號(hào)線三是ALE信號(hào)線,當(dāng)它為高電平時(shí),寫入FLASH的地址將鎖存到地址寄存器;信號(hào)線四是CLE信號(hào),當(dāng)它為高電平時(shí),寫入FLASH的命令將鎖存到命令寄存器;剩下的信號(hào)是讀數(shù)據(jù)FIFO的信號(hào)。

    3

    3.2 DMA實(shí)現(xiàn)流水線操作流程

    K9NBG08U5A對(duì)有效數(shù)據(jù)的存儲(chǔ)操作包括加載階段和編程階段,編程階段期間,F(xiàn)PGA不能對(duì)FLASH進(jìn)行操作,因此對(duì)于單片F(xiàn)LASH存儲(chǔ)器而言,編程階段的時(shí)間被浪費(fèi),不利于達(dá)到快速存儲(chǔ)。為此可采用時(shí)分多路復(fù)用的方法對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),具體實(shí)現(xiàn)方式就是首先對(duì)第一列的 Nandflash加載數(shù)據(jù),數(shù)據(jù)加載完后,第一列Nandflash隨后就將進(jìn)入自動(dòng)編程狀態(tài),立即再加載第二列FLASH。如此循環(huán)進(jìn)行數(shù)據(jù)加載,直到最后一片加載完成后,再回到第一片。這樣就充分利用了編程階段的時(shí)間,使存儲(chǔ)速度得到提升,此過(guò)程也稱流水線操作。

    為了實(shí)現(xiàn)流水線的存儲(chǔ)方式,本文也用DMA控制器實(shí)現(xiàn)了對(duì)FLASH的片選。如圖4所示,圖中flash_ce_s代表每列flash的片選信號(hào),其中低電平代表對(duì)flash加載有效,從圖中可以看出DMA控制器對(duì)flash依次加載,實(shí)現(xiàn)了流水線的操作流程。

    4

    4.系統(tǒng)驗(yàn)證

    本設(shè)計(jì)在用戶邏輯里設(shè)計(jì)一個(gè)計(jì)數(shù)時(shí)鐘為16MHZ的計(jì)數(shù)器,計(jì)數(shù)時(shí)鐘每來(lái)一次,就將數(shù)據(jù)分別緩存于四個(gè)FIFO并將數(shù)據(jù)通過(guò)DMA的方式存入閃存陣列系統(tǒng)中。通過(guò)上位機(jī)將數(shù)據(jù)回讀,如圖5所示。

    5

    從圖中可以看出連續(xù)的4個(gè)字節(jié)的數(shù)據(jù)都是相同的,它們分別來(lái)自4個(gè)緩存FIFO的同一個(gè)次計(jì)數(shù)的數(shù)據(jù)。同時(shí),數(shù)據(jù)每4個(gè)字節(jié)是按一遞增,即沒(méi)有出現(xiàn)數(shù)據(jù)丟失的現(xiàn)象。由此可知系統(tǒng)的DMA控制器可以實(shí)現(xiàn)閃存陣列對(duì)數(shù)據(jù)的快速,正確存儲(chǔ)。

    5.結(jié)論

    本文在測(cè)控系統(tǒng)中海量數(shù)據(jù)的快速存儲(chǔ)的基礎(chǔ)上提出了一種基于DMA的數(shù)據(jù)存儲(chǔ)陣列系統(tǒng)的設(shè)計(jì)方案。它是以FPGA為平臺(tái)構(gòu)建的SOPC系統(tǒng),內(nèi)含軟核處理器Microblaze和包含DMA控制器的用戶自定義IP,通過(guò)實(shí)驗(yàn)驗(yàn)證了本方案所設(shè)計(jì)的DMA控制器實(shí)現(xiàn)了對(duì)閃存陣列的編程命令、地址的傳輸,以及存儲(chǔ)陣列的流水線編程,提高了傳統(tǒng)的由CPLD與單片機(jī)組成的存儲(chǔ)測(cè)試系統(tǒng)的速度。

    NAND Flash 閃存 DMA

    相關(guān)閱讀

    暫無(wú)數(shù)據(jù)

    一周熱門

    主站蜘蛛池模板: 精品无码日韩一区二区三区不卡 | 欧美一区二区精品| 久久久久国产成人精品亚洲午夜| 久久99国产精品久久| 精品无人区一区二区三区| 日韩精品无码免费视频| 国产精品伦理久久久久久| 国产精品久久自在自线观看| 精品福利视频一区二区三区| 亚洲国产成人一区二区精品区| 网友偷拍日韩精品| 久久精品这里只有精99品| 国产精品自产拍高潮在线观看| 91精品一区二区综合在线| 欧美精品亚洲精品日韩专区va| 国产精品高清一区二区人妖| 2022国内精品免费福利视频| 成人区人妻精品一区二区不卡视频| 精品久久久噜噜噜久久久 | 无码少妇精品一区二区免费动态| 欧美日韩国产成人高清视频,欧美日韩在线精品一 | 欧美日韩精品在线观看| 精品久久久久久无码人妻蜜桃| 国产成人精品亚洲精品| 99riav国产精品| 99精品电影一区二区免费看| 香蕉久久夜色精品国产小说| 香蕉国产精品频视| 国产精品成人精品久久久| 国产精品综合久成人| 久久精品无码一区二区三区免费| 久久精品视屏| 亚洲精品夜夜夜妓女网| 精品国产一区二区三区不卡| freesexvideos精品老师毛多| 国产精品久久成人影院| 久久青青草原国产精品免费| 91精品国产麻豆国产自产在线| 国产精品成人观看视频网站| 欧美日韩国产成人高清视频,欧美日韩在线精品一 | 久久精品99无色码中文字幕|