999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

SDRAM文件結(jié)構(gòu)存儲控制的FPGA實現(xiàn)

2010-04-12 00:00:00于躍忠,黃振,林孝康
現(xiàn)代電子技術(shù) 2010年14期

摘 要:面對不同應(yīng)用場景,原始采樣數(shù)據(jù)可能包含不同類型信號,而各種類型信號的處理也往往需要不同的數(shù)據(jù)幀結(jié)構(gòu)。因此,需要對原始采樣數(shù)據(jù)進行快速緩存,并根據(jù)數(shù)據(jù)處理的要求進行重組幀。在此使用可編程器件設(shè)計了結(jié)構(gòu)化狀態(tài)機對SDRAM進行讀寫控制,給出了一種便于FPGA實現(xiàn)的基于文件結(jié)構(gòu)的數(shù)據(jù)緩存與重組幀方案。該方案已應(yīng)用于某實際系統(tǒng)中,具有速度快、可靠性高的特點,并能靈活應(yīng)用于其他存儲系統(tǒng)中。

關(guān)鍵詞:FPGA; 文件結(jié)構(gòu); 結(jié)構(gòu)化狀態(tài)機; SDRAM; 存儲控制

中圖分類號:TN60; TP368.1 文獻標識碼:A

文章編號:1004-373X(2010)14-0167-04

FPGA Implementation of File Structure Storage Control for SDRAM

YU Yue-zhong1 , HUANG Zhen1 , LIN Xiao-kang2

(1. Institute of Micro-electronics, Tsinghua University, Beijing 100084, China;

2. Shenzhen Graduate School, Tsinghua University, Shenzhen 518055, China)

Abstract:For different applications, sampled data may contain different type signals, which need varied data frame structure to be processed. Therefore, flexible storage and reconstruction of the sampled data for dada processing are needed. A structural state machine was designed for storage control of SDRAM, which is based on a file structure data cache storage program with FPGA. Likewise, a reconstruction module of data frame structure is also realized. This new design is applied in a practical system with good performance in speed and reliability, and it also can be easily used in other storage systems with its flexibility.

Keywords:FPGA; file structure; structural state machine; SDRAM; storage control

0 引 言

面對不同的應(yīng)用場景,原始采樣數(shù)據(jù)可能包含多種不同樣式的信號,這給傳統(tǒng)基于連續(xù)存儲方式的數(shù)據(jù)緩存系統(tǒng)帶來了挑戰(zhàn)。除此之外,由于對不同信號的處理往往需要不同的數(shù)據(jù)幀結(jié)構(gòu),緩存系統(tǒng)的設(shè)計需要保存原始采樣數(shù)據(jù)并能夠?qū)崿F(xiàn)數(shù)據(jù)的重組幀,以滿足不同處理需求。針對以上問題,本文提出了一種基于文件結(jié)構(gòu)存儲方式的數(shù)據(jù)緩存系統(tǒng),該系統(tǒng)利用FPGA設(shè)計結(jié)構(gòu)化狀態(tài)機實現(xiàn)對SDRAM的控制[1],完成了對數(shù)據(jù)的緩存與重組幀,具有速度快、可靠性高、靈活性強和功能可擴展等優(yōu)點。

1 系統(tǒng)總體設(shè)計

在系統(tǒng)設(shè)計上,采樣的數(shù)據(jù)都會采用數(shù)據(jù)幀結(jié)構(gòu),一般的設(shè)計大多是基于幀頭加數(shù)據(jù)的格式。在幀頭中包含一些數(shù)據(jù)的特征信息,其中最常見的有數(shù)據(jù)到達時間和數(shù)據(jù)結(jié)束時間。

傳統(tǒng)緩存系統(tǒng)的設(shè)計一般是采用幀頭加數(shù)據(jù),幀頭加數(shù)據(jù)的連續(xù)存儲方式,系統(tǒng)發(fā)讀命令將幀頭和數(shù)據(jù)連續(xù)讀出送往后端,后端處理系統(tǒng)通過識別幀頭信息判斷該數(shù)據(jù)幀的長度,然后把該長度的數(shù)據(jù)做進一步處理。這種設(shè)計在單一的信號環(huán)境下具有結(jié)構(gòu)簡單,控制容易的優(yōu)點,但是它僅適應(yīng)于單一處理模式的系統(tǒng),擴展性和移植性較差。

面對不同的應(yīng)用場景,傳統(tǒng)設(shè)計已經(jīng)不能滿足不同的處理需求,因為單次采樣的原始數(shù)據(jù)可能包含多種不同信號樣式的信號,對不同信號的處理往往也需要不同的數(shù)據(jù)幀結(jié)構(gòu),如不同的抽取,不同的數(shù)據(jù)幀長等。而連續(xù)存儲結(jié)構(gòu)很難在緩存系統(tǒng)中實現(xiàn)對數(shù)據(jù)的靈活操作及數(shù)據(jù)的重組幀,只能把重組幀任務(wù)放在后端系統(tǒng)來處理,加重了后端系統(tǒng)的負擔。基于此,本文提出了一種基于文件結(jié)構(gòu)的存儲方式,并且在緩存系統(tǒng)中實現(xiàn)了數(shù)據(jù)重組幀的任務(wù),減輕了后端的負擔。

整個系統(tǒng)的設(shè)計以FPGA為核心控制器來組織工作,它由系統(tǒng)總控System Master與SDRAM驅(qū)動控制器SDRAM Controller組成。System Master接收高層控制指令,向SDRAM Controller發(fā)出命令,SDRAM Controller將命令翻譯為底層SDRAM芯片的讀寫指令字精確控制其完成讀寫操作[2]。系統(tǒng)主要解決的問題是基于文件結(jié)構(gòu)的數(shù)據(jù)存儲,數(shù)據(jù)重組幀和數(shù)據(jù)事后讀取[3]。系統(tǒng)整體框圖如圖1所示。

圖1 系統(tǒng)結(jié)構(gòu)圖

2 系統(tǒng)工作原理

2.1 文件結(jié)構(gòu)的存儲方式

所謂文件結(jié)構(gòu)[4]指的是,將幀頭與其所對應(yīng)的數(shù)據(jù)分區(qū)存儲,在存儲時將存儲數(shù)據(jù)的首地址添加到幀頭信息中,在讀出時,先讀取幀頭找到數(shù)據(jù)的首地址,然后加上系統(tǒng)給定的偏移地址算出讀取的起始地址,從該地址開始順序讀取要求長度(小于等于幀長)的數(shù)據(jù),在送往后端系統(tǒng)時更新幀頭信息,后端系統(tǒng)收到數(shù)據(jù)無需做預(yù)處理直接進行計算即可。圖2是2種存儲結(jié)構(gòu)的比較。

圖2 兩種存儲結(jié)構(gòu)的比較

基于文件結(jié)構(gòu)的存儲方式便于對數(shù)據(jù)進行管理與操作,功能擴展容易。例如有些處理只對數(shù)據(jù)的幀頭信息進行相關(guān)操作,基于文件結(jié)構(gòu)的存儲模式可以很方便地支持這種工作模式,只需對緩存介質(zhì)的幀頭區(qū)進行操作,而傳統(tǒng)的設(shè)計則很難滿足這種需求,因此新的設(shè)計極大地提高了系統(tǒng)的靈活性。

2.2 數(shù)據(jù)重組幀的實現(xiàn)

在設(shè)計上,用SDRAM的BANK0(BANK地址“00”)和BANK1(BANK地址“01”)存儲原始數(shù)據(jù),BANK2(BANK地址“10”)存儲要送往后端計算的數(shù)據(jù),BANK3(BANK地址“11”)存儲數(shù)據(jù)的幀頭信息。系統(tǒng)在接收到數(shù)據(jù)重組幀命令后,按照要求抽取,幀數(shù),幀長和幀間隔從低BANK區(qū)讀取原始數(shù)據(jù)送入數(shù)據(jù)重組幀模塊形成新的數(shù)據(jù)幀結(jié)構(gòu),然后將新的數(shù)據(jù)幀結(jié)構(gòu)按照文件結(jié)構(gòu)存儲到高BANK區(qū)中。其實現(xiàn)框圖如圖3所示。

3 控制模塊的結(jié)構(gòu)化狀態(tài)機設(shè)計

在系統(tǒng)架構(gòu)上采用了結(jié)構(gòu)化狀態(tài)機的設(shè)計方法,通過分層有限狀態(tài)機實現(xiàn)了主控狀態(tài)機與具體操作控制狀態(tài)機的分離,使設(shè)計結(jié)構(gòu)清晰,劃分合理[5-6]。降低了設(shè)計的復(fù)雜性,同時使系統(tǒng)更具有通用性。

圖3 重組幀的實現(xiàn)

3.1 高層工作模式主控狀態(tài)機設(shè)計

該緩存系統(tǒng)有3種工作模式:寫模式,讀模式和數(shù)據(jù)重組幀模式。其狀態(tài)轉(zhuǎn)移圖如圖4所示。

圖4 工作模式狀態(tài)轉(zhuǎn)移圖

系統(tǒng)在空閑狀態(tài)等待SDRAM初始化完成,當SDRAM完成初始化以后進入準備狀態(tài),表示系統(tǒng)可以接收命令,在收到寫命令后進入寫工作模式,低層寫輔助控制模塊激活,當完成寫操作命令后產(chǎn)生一寫完成標志信號,反饋回主控系統(tǒng)促使主控系統(tǒng)完成狀態(tài)跳轉(zhuǎn)回到準備狀態(tài)等待下一次命令,收到讀取命令后系統(tǒng)進入讀工作模式,低層讀輔助控制模塊開始工作當完成讀取操作后產(chǎn)生一讀完成標志信號,反饋回主控系統(tǒng)使其回到準備狀態(tài)等待命令,同樣系統(tǒng)收到數(shù)據(jù)重組幀命令后進入數(shù)據(jù)重組幀模式,低層重組幀輔助控制模塊開始工作完成重組幀任務(wù)后產(chǎn)生標志信號控制主控狀態(tài)機再次回到準備狀態(tài),等待下一次命令。

這種結(jié)構(gòu)化狀態(tài)機的設(shè)計,層次劃分合理清晰,工作模式的切換只在主控狀態(tài)機中實現(xiàn),各低層輔助控制模塊僅僅實現(xiàn)其特定的功能,完全沒有交互。因此這種設(shè)計可以很方便地進行功能擴展,以后系統(tǒng)要增加新的工作模式,只需再加入一個狀態(tài),并單獨設(shè)計其輔助控制模塊即可,無需對原有工作模式進行改動。同時,這種分層設(shè)計符合模塊化設(shè)計的思想,降低了設(shè)計的復(fù)雜性,易于調(diào)試[7-8]。

3.2 低層寫輔助控制模塊的設(shè)計

寫輔助控制模塊用來實現(xiàn)對原始數(shù)據(jù)和第1次計算數(shù)據(jù)基于文件結(jié)構(gòu)的存儲。為了提高系統(tǒng)效率,第1次計算所需的數(shù)據(jù)和原始數(shù)據(jù)同時存儲。其總體設(shè)計框圖如圖5所示。

圖5 寫輔助控制模塊總體設(shè)計

寫輔助控制模塊在主控狀態(tài)機進入寫工作模式時激活,通過將原始數(shù)據(jù)分為2路,一路進入原始數(shù)據(jù)緩存控制模塊實現(xiàn)對原始數(shù)據(jù)的緩存,當原始數(shù)據(jù)的數(shù)據(jù)量積累到SDRAM一次突發(fā)寫所需長度時,該控制模塊發(fā)出寫標志信號通知寫模式控制狀態(tài)機,寫模式控制狀態(tài)機響應(yīng)寫標志信號,向SDRAM驅(qū)動控制器發(fā)出寫指令字控制SDRAM將原始數(shù)據(jù)寫入SDRAM的原始數(shù)據(jù)區(qū);另一路進入1st計算數(shù)據(jù)構(gòu)造與緩存控制模塊,該模塊用來完成1st計算數(shù)據(jù)的幀頭與數(shù)據(jù)的構(gòu)造和緩存,當幀頭構(gòu)造完畢時,通知寫模式控制狀態(tài)機,將幀頭(包含數(shù)據(jù)存儲首地址信息)寫入到SDRAM的幀頭區(qū)中,同時當新數(shù)據(jù)量達到一次突發(fā)寫入時,將新數(shù)據(jù)寫入SDRAM的計算數(shù)據(jù)區(qū)中,直到將所有數(shù)據(jù)都寫入到SDRAM的對應(yīng)區(qū)內(nèi),寫模式控制狀態(tài)機發(fā)出寫完成標志信號,反饋給高層主控狀態(tài)機。

3.3 低層讀輔助控制模塊的設(shè)計

讀輔助控制模塊,接收讀指令字,該指令字包括幀數(shù)、幀長和偏移地址。幀數(shù)表征著本次命令要從SDRAM中讀取多少幀數(shù)據(jù),幀長表示每幀數(shù)據(jù)要讀取的長度(按采樣點數(shù)算),偏移地址控制對數(shù)據(jù)的移位讀操作。按照指令要求從SDRAM的高BANK區(qū),讀出數(shù)據(jù)送往后端。圖6是其總體設(shè)計框圖。

讀輔助控制模塊在主控狀態(tài)機進入讀工作模式開始工作,它先控制SDRAM驅(qū)動器從SDRAM幀頭區(qū)中讀取一個幀頭,送入緩存及幀頭更新模塊,該模塊一方面按照指令字更新幀頭信息中的數(shù)據(jù)到達與結(jié)束時間,另一方面從幀頭信息中找到本幀數(shù)據(jù)的存儲首地址然后加上讀指令字中的偏移地址算出本次對數(shù)據(jù)讀操作的起始地址,該地址反饋給讀模式控制狀態(tài)機,控制SDRAM從該地址開始順序讀出數(shù)據(jù),完成一幀數(shù)據(jù)的讀取操作送往數(shù)據(jù)緩存模塊,重復(fù)以上操作直到完成讀指令任務(wù),讀模式控制狀態(tài)機發(fā)出讀完成標志信號,反饋給高層主控狀態(tài)機。

圖6 讀輔助控制模塊總體設(shè)計

3.4 低層數(shù)據(jù)重組幀輔助控制模塊的設(shè)計

數(shù)據(jù)重組幀輔助控制模塊,接收重組幀指令字,該指令字包括重組幀幀數(shù)、幀長、幀間隔以及抽取因子,控制SDRAM 讀取原始數(shù)據(jù),生成新的需要的數(shù)據(jù)幀結(jié)構(gòu),并按文件結(jié)構(gòu)將其寫到SDRAM的計算數(shù)據(jù)區(qū)中。其總體設(shè)計框圖7所示。

圖7 重組幀輔助控制模塊總體設(shè)計

數(shù)據(jù)重組幀輔助控制模塊在主控狀態(tài)機進入重組幀工作模式時開始工作,新數(shù)據(jù)幀結(jié)構(gòu)生成及緩存模塊先構(gòu)造第一幀數(shù)據(jù)的幀頭信息,當幀頭構(gòu)造完畢后,它向重組幀模式控制狀態(tài)機發(fā)出幀頭完畢信號,狀態(tài)機收到信號后向SDRAM發(fā)出寫命令將新的數(shù)據(jù)幀頭寫入到幀頭區(qū)中,然后它按照重組幀指令字的要求從SDRAM的原始數(shù)據(jù)區(qū)讀出原始數(shù)據(jù)送往新數(shù)據(jù)生成模塊,當新數(shù)據(jù)的數(shù)據(jù)量達到一次突發(fā)寫長度時,再控制SDRAM將新的數(shù)據(jù)寫入到SDRAM的重組幀數(shù)據(jù)區(qū)中,直到將一幀新的數(shù)據(jù)都存儲到SDRAM中,記錄此時的寫地址并將其作為下一幀數(shù)據(jù)的存儲首地址加入到下一幀幀頭信息中,并發(fā)出構(gòu)造第2幀幀頭的命令,等待第2幀幀頭完畢標志,重復(fù)上面的操作,直到完成要求的重組幀指令。完成操作后重組幀模式控制狀態(tài)機發(fā)出重組幀完成標志信號,反饋給高層主控狀態(tài)機。

4硬件平臺及實測結(jié)果

在xilinx的開發(fā)工具ISE環(huán)境下完成了系統(tǒng)的整體設(shè)計與仿真[9-10],利用xilinx公司的xc2v3000-4fg676 FPGA芯片和MICRONE公司的MT48LC32M16A2 SDRAM芯片搭建了硬件平臺,并進行測試。其實測結(jié)果如圖8所示。

圖8 系統(tǒng)工作時序?qū)崪y結(jié)果

主控狀態(tài)機接收上層的控制命令(寫命令、讀命令和重組幀命令)分別啟動寫工作模式、讀工作模式和重組幀工作模式;低層各控制模塊在完成任務(wù)時將完成標志(寫完成標志、讀完成標志和重組幀完成標志)反饋給主控狀態(tài)機控制其跳轉(zhuǎn)到就緒狀態(tài)繼續(xù)等待下次命令。結(jié)果證明該緩存系統(tǒng)實現(xiàn)了預(yù)定功能,可以對數(shù)據(jù)進行更方便的操作與管理。

5 結(jié) 語

本文提出一種基于文件結(jié)構(gòu)存儲方式的新數(shù)據(jù)緩存系統(tǒng),利用FPGA設(shè)計結(jié)構(gòu)化狀態(tài)機通過對SDRAM的讀寫控制,完成了具有數(shù)據(jù)重組幀功能的緩存系統(tǒng)設(shè)計。系統(tǒng)具有速度快,可靠性好,靈活性強,功能擴展容易的優(yōu)點。該系統(tǒng)已應(yīng)用于實際項目試驗,在基于實時復(fù)雜 信號處理的緩存系統(tǒng)中有很好的應(yīng)用前景。

參考文獻

[1]林志煌,解梅.一種簡易SDRAM控制器的設(shè)計方法[J].現(xiàn)代電子技術(shù),2008,31(16):18-20.

[2]王強,朱名日,孫朝華.高速海量SDRAM控制器的實現(xiàn)方案[J].電子技術(shù),2007,34(11):70-73.

[3]文豐,趙艷利,甄國涌.基于FPGA的高速數(shù)據(jù)采集存儲系統(tǒng)的設(shè)計[J].電子技術(shù),2009,36(1):18-20.

[4]王小林,楊長留.工業(yè)工程中存儲過程數(shù)據(jù)的文件結(jié)構(gòu)設(shè)計[J].安徽工業(yè)大學(xué)學(xué)報,2005,22(3):298-300.

[5]龔書濤,呂國強,彭良清.在FPGA中狀態(tài)機的編碼方式[J].電子工程師,2005,31(11):51-53.

[6]徐衛(wèi)林,羅林.有限狀態(tài)機的可靠性設(shè)計研究[J].現(xiàn)代電子技術(shù),2007,30(1):93-94.

[7][ 美] 阿森頓.VHDL設(shè)計指南[M].葛紅,黃河,吳繼明,譯.北京:機械工業(yè)出版社,2005.

[8]曾繁泰,陳美金.VHDL程序設(shè)計[M].北京:清華大學(xué)出版社,2000.

[9]田耘,徐文波.Xilinx FPGA開發(fā)實用教程[M].北京:清華大學(xué)出版社,2008.

[10]黃志強.Xilinx可編程邏輯器件的應(yīng)用與設(shè)計[M].北京:機械工業(yè)出版社,2007.

主站蜘蛛池模板: 日韩一级二级三级| 国产日韩欧美一区二区三区在线| 在线精品自拍| 国产尤物jk自慰制服喷水| 国产91高清视频| 一级香蕉视频在线观看| 日韩国产 在线| 久久国产精品嫖妓| 久久久久久久蜜桃| 日本精品视频| 五月婷婷精品| 亚洲美女操| a毛片免费观看| 一级片一区| 这里只有精品在线播放| 国产自视频| 亚洲va欧美va国产综合下载| 欧美天堂在线| 51国产偷自视频区视频手机观看| 国产极品嫩模在线观看91| 无码精油按摩潮喷在线播放 | 毛片免费在线| 伦伦影院精品一区| 伊人久久大线影院首页| 国产亚洲精品yxsp| 成年人久久黄色网站| 国产黄色视频综合| 国产人人乐人人爱| 亚洲黄色成人| 亚洲天堂伊人| 亚洲国产精品无码久久一线| 欧美成人精品高清在线下载| 欧美成人精品欧美一级乱黄| 欧美成人午夜视频免看| 精品久久蜜桃| 欧美国产综合色视频| 欧美69视频在线| 在线精品视频成人网| 国产精品va免费视频| 中文字幕有乳无码| 色窝窝免费一区二区三区 | 亚洲精品少妇熟女| 久久人午夜亚洲精品无码区| 日韩成人在线视频| 69综合网| 国产JIZzJIzz视频全部免费| 一区二区三区精品视频在线观看| 高潮爽到爆的喷水女主播视频| 国产成人亚洲无码淙合青草| 中文一级毛片| 波多野结衣一级毛片| 国产内射一区亚洲| 国产精品香蕉| 亚洲VA中文字幕| 国产色婷婷视频在线观看| 成人一级黄色毛片| 成人av专区精品无码国产| 国产区精品高清在线观看| 国产女同自拍视频| 亚洲AⅤ永久无码精品毛片| 亚洲乱码在线播放| 无码电影在线观看| 在线日韩日本国产亚洲| 国产91色在线| 五月激情婷婷综合| 久草青青在线视频| 四虎国产永久在线观看| 国产成人精品男人的天堂下载| 国产主播一区二区三区| 欧美日本在线观看| 五月激激激综合网色播免费| 久久久久国产精品熟女影院| 五月天婷婷网亚洲综合在线| 亚洲综合婷婷激情| 久久永久免费人妻精品| 久久99精品久久久久纯品| 亚洲欧美综合精品久久成人网| 狠狠综合久久久久综| 日本黄色a视频| 欧美日韩一区二区三| 欧美中出一区二区| 99资源在线|