新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的水聲信號(hào)采樣存儲(chǔ)系統(tǒng)設(shè)計(jì)

基于FPGA的水聲信號(hào)采樣存儲(chǔ)系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2012-08-30 來源:網(wǎng)絡(luò) 收藏

3 系統(tǒng)整體設(shè)計(jì)

3.1 硬件邏輯設(shè)計(jì)

硬件邏輯設(shè)計(jì)主要包括主控IP 核設(shè)計(jì)與主端口IP 核設(shè)計(jì)兩部分工作,分別實(shí)現(xiàn)對(duì)于 AD 數(shù)據(jù)的和讀取時(shí)序控制,以及AVALON 總線的主端口建立的目的。硬件邏輯 利用IP 核模塊化,移植性好的特點(diǎn),方便整合到傳感器節(jié)點(diǎn)的整體設(shè)計(jì)當(dāng)中。作為傳感器 節(jié)點(diǎn)的組成部分,為水聲通信試驗(yàn)的順利進(jìn)行提供可靠保證。 硬件邏輯設(shè)計(jì)圖,如圖 2 所示。

3.1.1 SDRAM 主控IP 核設(shè)計(jì)

主控IP 核通過對(duì)于QuartusII 自帶的SDRAM 控制器進(jìn)行控制,實(shí)現(xiàn)變速率AD 的 功能,以及讀寫SDRAM 的邏輯功能。由于SDRAM 控制器實(shí)現(xiàn)了對(duì)于SDRAM 芯片的時(shí) 序操作,所以讀寫時(shí)序設(shè)計(jì)是針對(duì)SDRAM 控制器進(jìn)行[3]。

系統(tǒng)讀 SDRAM 操作分為數(shù)據(jù)飛讀與數(shù)據(jù)環(huán)形讀取兩種功能[4]。其中,數(shù)據(jù)飛讀是將當(dāng)前AD 值送回至CPU,并通過串口返回到前置機(jī),方便實(shí)時(shí)數(shù)據(jù)監(jiān)控。對(duì)于數(shù)據(jù)環(huán)形 讀取SDRAM 操作,通過設(shè)置首地址指針寄存器,在每次寫操作之后自動(dòng)加一,實(shí)現(xiàn)環(huán)形 水聲通信數(shù)據(jù)的目的。在每次環(huán)形數(shù)據(jù)讀取操作發(fā)起之前,預(yù)讀首地址指針寄存器,以 此為起始地址,始終讀取最新時(shí)刻的采樣數(shù)據(jù)。 讀操作過程主要狀態(tài)機(jī),如圖 3 所示。

其中 work 過程包含的獨(dú)立狀態(tài)機(jī),由如下四部分構(gòu)成:

(1)first:片選有效,讀使能有效,送讀SDRAM 地址。

(2)second:讀使能有效,滿足SDRAM 控制器讀時(shí)序要求。

(3)third:判斷sdram_read_wait 信號(hào)值,如果為1,則維持當(dāng)前狀態(tài),同時(shí)讀使能信號(hào)置位;如果為0,則進(jìn)入下一狀態(tài)。

(4)fourth:判斷sdram_read_valid 信號(hào)值,如果為0,則維持當(dāng)前狀態(tài);如果為1,將讀回?cái)?shù)據(jù)寫入讀SDRAM 數(shù)據(jù)寄存器,同時(shí)讀使能信號(hào)復(fù)位。

變速率AD 采集與數(shù)據(jù)環(huán)形存儲(chǔ)操作主要是由主控IP 核寫SDRAM 的過程實(shí)現(xiàn)。為保 持采樣時(shí)刻數(shù)據(jù)的穩(wěn)定性,系統(tǒng)對(duì)AD 時(shí)鐘進(jìn)行分頻,通過設(shè)置不同分頻寄存器,實(shí)現(xiàn)變速 率采樣的目的。數(shù)據(jù)環(huán)形存儲(chǔ)SDRAM 操作是靠每次分頻時(shí)鐘SDRAM_WRITE_CLK 的上 升沿觸發(fā),基本時(shí)序過程與讀過程狀態(tài)機(jī)類似。系統(tǒng)從0 地址開始寫操作,一旦寫滿預(yù)設(shè)存 儲(chǔ)區(qū)域,則從下一寫時(shí)刻開始,數(shù)據(jù)寫入初始地址,以此類推,實(shí)現(xiàn)環(huán)形存儲(chǔ)操作。同時(shí), 讀寫操作不能進(jìn)行同時(shí)進(jìn)行,通過讀寫選擇控制器的設(shè)置,分別按照不同狀態(tài)進(jìn)行操作。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉