基于FPGA的水聲信號采樣存儲系統設計
3.1.2 主端口IP 核
因為SDRAM 主控IP 核在NiosII 軟核CPU 總線(xiàn)控制下作為從端口,所以不能主動(dòng)發(fā)起 讀寫(xiě)操作,因此必須新建第二條AVALON 總線(xiàn),設計讀寫(xiě)主端口IP 核,才能實(shí)現讀寫(xiě)外接 SDRAM 芯片的功能。主端口IP 核的時(shí)序操作,是對主控IP 核的時(shí)序轉接,面向SDRAM 控制器進(jìn)行控制。根據讀寫(xiě)使能信號不同,進(jìn)行不同時(shí)序傳送。
3.2 軟件程序設計
NiosII CPU 作為軟核,可方便進(jìn)行模塊化操作,具有可移植,可配置,易整合的特點(diǎn)。 在本設計當中,軟件設計主要實(shí)現以下五種主要功能:?jiǎn)吸c(diǎn)寫(xiě)SDRAM,單點(diǎn)讀SDRAM, 數據飛讀,連續寫(xiě)SDRAM,連續讀SDRAM 的功能。在程序當中留有接口,方便其他功能 整合,符合模塊化設計的要求。
首先,完成功能的初始化,主要是設置選擇操作模式與存儲 AD 數據的時(shí)鐘分頻系數。 作為SDRAM 的讀操作必須滿(mǎn)足寫(xiě)滿(mǎn)之后,方可進(jìn)行,所以初始化主控IP 核為寫(xiě)SDRAM 操作。設置分頻系數可以按照如下公式計算:
其次,通過(guò)對于串口進(jìn)行協(xié)議解析,分別實(shí)現五部分預設功能。主程序操作流程如圖4所示。
實(shí)現的五部分功能依次為:
(1) 單點(diǎn)寫(xiě)SDRAM 操作:CPU 給出地址,數據,以及寫(xiě)操作選擇信號。
(2) 連續寫(xiě)SDRAM 操作:CPU 只是給出寫(xiě)操作選擇信號,由主控IP 核將AD 數據寫(xiě)入至SDRAM 環(huán)形存儲區域內。
(3) 數據飛讀操作:只需要讀取飛讀數據寄存器,可以將當前狀態(tài)AD 輸入值送回至CPU,偵測當前狀態(tài)。
(4) 單點(diǎn)讀SDRAM 操作:CPU 送出讀SDRAM 地址,然后選擇讀操作,設置控制寄存器為0x00000001,啟動(dòng)讀操作。最后將讀回數據通過(guò)串口實(shí)時(shí)回傳。
(5) 連續讀SDRAM 操作:是將基本讀操作進(jìn)行循環(huán)執行。設置串口回傳緩沖區為80 字節,連續讀SDRAM 數據并連續填寫(xiě)緩沖區,一旦填滿(mǎn),則啟動(dòng)串口發(fā)送。同時(shí),讀地址在每次讀操作結束后自動(dòng)加一,當操作次數達到環(huán)形空間最大存儲數量時(shí),停止連續讀操作。
4 結束語(yǔ)
本設計作為水下無(wú)線(xiàn)傳感器網(wǎng)絡(luò )(UW-ASN)節點(diǎn)的設計組成部分,具有結構清楚,功 能完善,整合性強,性能可靠的特點(diǎn)。設計整體架構的模塊化操作以及可編程性,使得整個(gè) 設計開(kāi)發(fā)的具有靈活性與低風(fēng)險性。經(jīng)項目試驗驗證,該數據采集與存儲設計滿(mǎn)足傳感器節 點(diǎn)的功能要求,為水聲通信試驗順利進(jìn)行以及水下無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的功能完善提供可靠保證。
本文創(chuàng )新點(diǎn):在系統功能設計當中,充分考慮了模塊的可重用性和可移植性,通過(guò)IP核的設計實(shí)現底層驅動(dòng),提高系統集成度,充分發(fā)揮了SOPC技術(shù)的優(yōu)勢。
評論