<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 設計應用 > 基于DMA的高速數據閃存陣列的設計方案

基于DMA的高速數據閃存陣列的設計方案

作者: 時(shí)間:2018-09-06 來(lái)源:網(wǎng)絡(luò ) 收藏

1.引言

本文引用地址:http://dyxdggzs.com/article/201809/388613.htm

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

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

2.系統結構

數據存儲系統結構如圖1所示,包括以下3個(gè)部分:

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

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

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

3.DMA設計實(shí)現

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

3.1 DMA方式寫(xiě)命令和地址

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

圖2中的八選一電路的作用是按flash的操作時(shí)序將包括存儲數據,命令,地址放到FLASH的IO總線(xiàn)上,通道的選擇由DMA控制。與此同時(shí),相應的控制信號ALE、CLE、WE等變?yōu)橛行щ娖?,?shí)現命令、數據、地址的寫(xiě)入。

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

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

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

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

4.系統驗證

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

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

5.結論

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



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>