基于SDRAM文件結構存儲方式的數據緩存系統
系統在空閑狀態(tài)等待SDRAM初始化完成,當SDRAM完成初始化以后進(jìn)入準備狀態(tài),表示系統可以接收命令,在收到寫(xiě)命令后進(jìn)入寫(xiě)工作模式,低層寫(xiě)輔助控制模塊激活,當完成寫(xiě)操作命令后產(chǎn)生一寫(xiě)完成標志信號,反饋回主控系統促使主控系統完成狀態(tài)跳轉回到準備狀態(tài)等待下一次命令,收到讀取命令后系統進(jìn)入讀工作模式,低層讀輔助控制模塊開(kāi)始工作當完成讀取操作后產(chǎn)生一讀完成標志信號,反饋回主控系統使其回到準備狀態(tài)等待命令,同樣系統收到數據重組幀命令后進(jìn)人數據重組幀模式,低層重組幀輔助控制模塊開(kāi)始工作完成重組幀任務(wù)后產(chǎn)生標志信號控制主控狀態(tài)機再次回到準備狀態(tài),等待下一次命令。
這種結構化狀態(tài)機的設計,層次劃分合理清晰,工作模式的切換只在主控狀態(tài)機中實(shí)現,各低層輔助控制模塊僅僅實(shí)現其特定的功能,完全沒(méi)有交互。因此這種設計可以很方便地進(jìn)行功能擴展,以后系統要增加新的工作模式,只需再加入一個(gè)狀態(tài),并單獨設計其輔助控制模塊即可,無(wú)需對原有工作模式進(jìn)行改動(dòng)。同時(shí),這種分層設計符合模塊化設計的思想,降低了設計的復雜性,易于調試。
3.2 低層寫(xiě)輔助控制模塊的設計
寫(xiě)輔助控制模塊用來(lái)實(shí)現對原始數據和第1次計算數據基于文件結構的存儲。為了提高系統效率,第1次計算所需的數據和原始數據同時(shí)存儲。其總體設計框圖如圖5所示。

寫(xiě)輔助控制模塊在主控狀態(tài)機進(jìn)入寫(xiě)工作模式時(shí)激活,通過(guò)將原始數據分為2路,一路進(jìn)入原始數據緩存控制模塊實(shí)現對原始數據的緩存,當原始數據的數據量積累到SDRAM一次突發(fā)寫(xiě)所需長(cháng)度時(shí),該控制模塊發(fā)出寫(xiě)標志信號通知寫(xiě)模式控制狀態(tài)機,寫(xiě)模式控制狀態(tài)機響應寫(xiě)標志信號,向SDRAM驅動(dòng)控制器發(fā)出寫(xiě)指令字控制SDRAM將原始數據寫(xiě)入SDRAM的原始數據區;另一路進(jìn)入1st計算數據構造與緩存控制模塊,該模塊用來(lái)完成1st計算數據的幀頭與數據的構造和緩存,當幀頭構造完畢時(shí),通知寫(xiě)模式控制狀態(tài)機,將幀頭(包含數據存儲首地址信息)寫(xiě)入到SDRAM的幀頭區中,同時(shí)當新數據量達到一次突發(fā)寫(xiě)入時(shí),將新數據寫(xiě)入SDRAM的計算數據區中,直到將所有數據都寫(xiě)入到SDRAM的對應區內,寫(xiě)模式控制狀態(tài)機發(fā)出寫(xiě)完成標志信號,反饋給高層主控狀態(tài)機。
3.3 低層讀輔助控制模塊的設計
讀輔助控制模塊,接收讀指令字,該指令字包括幀數、幀長(cháng)和偏移地址。幀數表征著(zhù)本次命令要從SDRAM中讀取多少幀數據,幀長(cháng)表示每幀數據要讀取的長(cháng)度(按采樣點(diǎn)數算),偏移地址控制對數據的移位讀操作。按照指令要求從SDRAM的高BANK區,讀出數據送往后端。圖6是其總體設計框圖。

讀輔助控制模塊在主控狀態(tài)機進(jìn)入讀工作模式開(kāi)始工作,它先控制SDRAM驅動(dòng)器從SDRAM幀頭區中讀取一個(gè)幀頭,送入緩存及幀頭更新模塊,該模塊一方面按照指令字更新幀頭信息中的數據到達與結束時(shí)間,另一方面從幀頭信息中找到本幀數據的存儲首地址然后加上讀指令字中的偏移地址算出本次對數據讀操作的起始地址,該地址反饋給讀模式控制狀態(tài)機,控制SDRAM從該地址開(kāi)始順序讀出數據,完成一幀數
據的讀取操作送往數據緩存模塊,重復以上操作直到完成讀指令任務(wù),讀模式控制狀態(tài)機發(fā)出讀完成標志信號,反饋給高層主控狀態(tài)機。
3.4 低層數據重組幀輔助控制模塊的設計
數據重組幀輔助控制模塊,接收重組幀指令字,該指令字包括重組幀幀數、幀長(cháng)、幀間隔以及抽取因子,控制SDRAM讀取原始數據,生成新的需要的數據幀結構,并按文件結構將其寫(xiě)到SDRAM的計算數據區中。其總體設計框圖7所示。

評論