SDRAM文件結(jié)構(gòu)存儲(chǔ)控制的FPGA實(shí)現(xiàn)
O 引言
面對不同的應(yīng)用場景,原始采樣數(shù)據(jù)可能包含多種不同樣式的信號,這給傳統(tǒng)基于連續(xù)存儲(chǔ)方式的數(shù)據(jù)緩存系統(tǒng)帶來了挑戰(zhàn)。除此之外,由于對不同信號的處理往往需要不同的數(shù)據(jù)幀結(jié)構(gòu),緩存系統(tǒng)的設(shè)計(jì)需要保存原始采樣數(shù)據(jù)并能夠?qū)崿F(xiàn)數(shù)據(jù)的重組幀,以滿足不同處理需求。針對以上問題,本文提出了一種基于文件結(jié)構(gòu)存儲(chǔ)方式的數(shù)據(jù)緩存系統(tǒng),該系統(tǒng)利用FPGA設(shè)計(jì)結(jié)構(gòu)化狀態(tài)機(jī)實(shí)現(xiàn)對SDRAM的控制,完成了對數(shù)據(jù)的緩存與重組幀,具有速度快、可靠性高、靈活性強(qiáng)和功能可擴(kuò)展等優(yōu)點(diǎn)。
1 系統(tǒng)總體設(shè)計(jì)
在系統(tǒng)設(shè)計(jì)上,采樣的數(shù)據(jù)都會(huì)采用數(shù)據(jù)幀結(jié)構(gòu),一般的設(shè)計(jì)大多是基于幀頭加數(shù)據(jù)的格式。在幀頭中包含一些數(shù)據(jù)的特征信息,其中最常見的有數(shù)據(jù)到達(dá)時(shí)間和數(shù)據(jù)結(jié)束時(shí)間。
傳統(tǒng)緩存系統(tǒng)的設(shè)計(jì)一般是采用幀頭加數(shù)據(jù),幀頭加數(shù)據(jù)的連續(xù)存儲(chǔ)方式,系統(tǒng)發(fā)讀命令將幀頭和數(shù)據(jù)連續(xù)讀出送往后端,后端處理系統(tǒng)通過識別幀頭信息判斷該數(shù)據(jù)幀的長度,然后把該長度的數(shù)據(jù)做進(jìn)一步處理。這種設(shè)計(jì)在單一的信號環(huán)境下具有結(jié)構(gòu)簡單,控制容易的優(yōu)點(diǎn),但是它僅適應(yīng)于單一處理模式的系統(tǒng),擴(kuò)展性和移植性較差。
面對不同的應(yīng)用場景,傳統(tǒng)設(shè)計(jì)已經(jīng)不能滿足不同的處理需求,因?yàn)閱未尾蓸拥脑紨?shù)據(jù)可能包含多種不同信號樣式的信號,對不同信號的處理往往也需要不同的數(shù)據(jù)幀結(jié)構(gòu),如不同的抽取,不同的數(shù)據(jù)幀長等。而連續(xù)存儲(chǔ)結(jié)構(gòu)很難在緩存系統(tǒng)中實(shí)現(xiàn)對數(shù)據(jù)的靈活操作及數(shù)據(jù)的重組幀,只能把重組幀任務(wù)放在后端系統(tǒng)來處理,加重了后端系統(tǒng)的負(fù)擔(dān)?;诖?,本文提出了一種基于文件結(jié)構(gòu)的存儲(chǔ)方式,并且在緩存系統(tǒng)中實(shí)現(xiàn)了數(shù)據(jù)重組幀的任務(wù),減輕了后端的負(fù)擔(dān)。
整個(gè)系統(tǒng)的設(shè)計(jì)以FPGA為核心控制器來組織工作,它由系統(tǒng)總控System Master與SDRAM驅(qū)動(dòng)控制器SDRAM Controller組成。System Mas-ter接收高層控制指令,向SDRAM Controller發(fā)出命令,SDRAM Controller將命令翻譯為底層SDRAM芯片的讀寫指令字精確控制其完成讀寫操作。系統(tǒng)主要解決的問題是基于文件結(jié)構(gòu)的數(shù)據(jù)存儲(chǔ),數(shù)據(jù)重組幀和數(shù)據(jù)事后讀取。系統(tǒng)整體框圖如圖1所示。
2 系統(tǒng)工作原理
2.1 文件結(jié)構(gòu)的存儲(chǔ)方式
所謂文件結(jié)構(gòu)指的是,將幀頭與其所對應(yīng)的數(shù)據(jù)分區(qū)存儲(chǔ),在存儲(chǔ)時(shí)將存儲(chǔ)數(shù)據(jù)的首地址添加到幀頭信息中,在讀出時(shí),先讀取幀頭找到數(shù)據(jù)的首地址,然后加上系統(tǒng)給定的偏移地址算出讀取的起始地址,從該地址開始順序讀取要求長度(小于等于幀長)的數(shù)據(jù),在送往后端系統(tǒng)時(shí)更新幀頭信息,后端系統(tǒng)收到數(shù)據(jù)無需做預(yù)處理直接進(jìn)行計(jì)算即可。圖2是2種存儲(chǔ)結(jié)構(gòu)的比較。
評論