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