基于FPGA的多普勒測振計信號采集與處理系統設計方案
2.2 FPGA邏輯設計
本文引用地址:http://dyxdggzs.com/article/221564.htm在FPGA邏輯設計中,采用Altera公司的Quartus Ⅱ綜合開(kāi)發(fā)環(huán)境對FPGA進(jìn)行設計、仿真和調試,實(shí)現信號的采集和處理功能,FPGA邏輯設計工作流程圖如圖3所示。

在工作過(guò)程中,FPGA首先檢測是否接收到數據采集完畢的使能信號,如果沒(méi)有接收到就一直進(jìn)行檢測,如果收到就讀取16 位數據并緩存。當FIFO 接近全滿(mǎn)狀態(tài)時(shí)啟動(dòng)數據處理邏輯,數據處理邏輯通過(guò)一系列乘加運算結合流水線(xiàn)的設計方法實(shí)現,并將運算結果適當截位輸出給雙口RAM.雙口RAM 擁有兩套完全獨立的數據線(xiàn)、地址線(xiàn)和讀寫(xiě)控制線(xiàn),當檢測到有數據輸入時(shí),讀地址開(kāi)始加1,否則讀地址保持不變。上位機準備就緒,即雙口RAM 數據準備輸出時(shí),雙口RAM 寫(xiě)地址開(kāi)始加1,通過(guò)串行接口將數據輸出。在輸出模擬信號時(shí),只有當DAC8551芯片輸入寄存器接收到24位數據,同時(shí)同步信號為低電平時(shí),才能啟動(dòng) D/A轉換邏輯。
下面將介紹幾個(gè)典型數字邏輯模塊的關(guān)鍵設計點(diǎn)。
(1)時(shí)鐘模塊
本設計中外部晶振提供給FPGA的時(shí)鐘為50 MHz,時(shí)鐘模塊的功能就是根據設計要求,利用鎖相環(huán)以及使能時(shí)鐘的設計方法為各個(gè)模塊提供所需的時(shí)鐘信號。通過(guò)鎖相環(huán)配置工具將50 MHz的系統時(shí)鐘進(jìn)行1/2分頻,從而產(chǎn)生頻率為25 MHz并滿(mǎn)足時(shí)序約束的主時(shí)鐘。使能時(shí)鐘設計,即不增加新的時(shí)鐘,而只是利用原有主時(shí)鐘,讓分頻信號作為使能信號來(lái)使用,通過(guò)該設計對主時(shí)鐘進(jìn)行1/16 分頻,為信號處理模塊提供工作時(shí)鐘。
(2)A/D邏輯模塊
A/D 邏輯模塊的任務(wù)是根據ADS1174 的轉換時(shí)序圖,在芯片的引腳發(fā)出或接收相應的信號,使得ADS1174完成啟動(dòng)、配置和數據讀取操作。其控制操作如下:首先配置ADS1174 的相關(guān)參數,包括運行模式、接口類(lèi)型等,然后通過(guò)查詢(xún)ADS1174的DRDY信號來(lái)判定數據轉換是否完成,開(kāi)始讀取數據,最后將讀得數據進(jìn)行串并轉換,同時(shí)完成數據的緩存。A/D邏輯模塊每完成一次信號采樣,則等待下一次觸發(fā)脈沖的到來(lái)。
(3)數據處理模塊
數據處理模塊的功能是提取出多普勒測振計信號中的頻移信號,本設計采用如圖4 所示的信號處理算法,通過(guò)微分和乘加運算,同時(shí)結合流水線(xiàn)的設計方法來(lái)實(shí)現。微分運算的處理是將前一個(gè)數據延遲一個(gè)單位時(shí)間,用當前的數據減去前一個(gè)數據得到的。通過(guò)宏模塊構建16 b × 16 b有符號乘法器來(lái)實(shí)現乘法運算,同時(shí)為了避免溢出,對乘法運算結果適當截位。相關(guān)除法器操作則與乘法器類(lèi)似。

電子管相關(guān)文章:電子管原理
光耦相關(guān)文章:光耦原理
fpga相關(guān)文章:fpga是什么
評論