新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的多普勒測(cè)振計(jì)信號(hào)采集與處理系統(tǒng)設(shè)計(jì)方案

基于FPGA的多普勒測(cè)振計(jì)信號(hào)采集與處理系統(tǒng)設(shè)計(jì)方案

作者: 時(shí)間:2013-11-05 來源:網(wǎng)絡(luò) 收藏
DDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT: 14px/25px 宋體, arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; PADDING-TOP: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" align=center>  FPGA邏輯設(shè)計(jì)工作流程圖

  在工作過程中,首先檢測(cè)是否接收到數(shù)據(jù)采集完畢的使能信號(hào),如果沒有接收到就一直進(jìn)行檢測(cè),如果收到就讀取16 位數(shù)據(jù)并緩存。當(dāng)FIFO 接近全滿狀態(tài)時(shí)啟動(dòng)數(shù)據(jù)處理邏輯,數(shù)據(jù)處理邏輯通過一系列乘加運(yùn)算結(jié)合流水線的設(shè)計(jì)方法實(shí)現(xiàn),并將運(yùn)算結(jié)果適當(dāng)截位輸出給雙口RAM.雙口RAM 擁有兩套完全獨(dú)立的數(shù)據(jù)線、地址線和讀寫控制線,當(dāng)檢測(cè)到有數(shù)據(jù)輸入時(shí),讀地址開始加1,否則讀地址保持不變。上位機(jī)準(zhǔn)備就緒,即雙口RAM 數(shù)據(jù)準(zhǔn)備輸出時(shí),雙口RAM 寫地址開始加1,通過串行接口將數(shù)據(jù)輸出。在輸出模擬信號(hào)時(shí),只有當(dāng)DAC8551芯片輸入寄存器接收到24位數(shù)據(jù),同時(shí)同步信號(hào)為低電平時(shí),才能啟動(dòng) D/A轉(zhuǎn)換邏輯。

  下面將介紹幾個(gè)典型數(shù)字邏輯模塊的關(guān)鍵設(shè)計(jì)點(diǎn)。

  (1)時(shí)鐘模塊

  本設(shè)計(jì)中外部晶振提供給的時(shí)鐘為50 MHz,時(shí)鐘模塊的功能就是根據(jù)設(shè)計(jì)要求,利用鎖相環(huán)以及使能時(shí)鐘的設(shè)計(jì)方法為各個(gè)模塊提供所需的時(shí)鐘信號(hào)。通過鎖相環(huán)配置工具將50 MHz的系統(tǒng)時(shí)鐘進(jìn)行1/2分頻,從而產(chǎn)生頻率為25 MHz并滿足時(shí)序約束的主時(shí)鐘。使能時(shí)鐘設(shè)計(jì),即不增加新的時(shí)鐘,而只是利用原有主時(shí)鐘,讓分頻信號(hào)作為使能信號(hào)來使用,通過該設(shè)計(jì)對(duì)主時(shí)鐘進(jìn)行1/16 分頻,為信號(hào)處理模塊提供工作時(shí)鐘。

 ?。?)A/D邏輯模塊

  A/D 邏輯模塊的任務(wù)是根據(jù)ADS1174 的轉(zhuǎn)換時(shí)序圖,在芯片的引腳發(fā)出或接收相應(yīng)的信號(hào),使得ADS1174完成啟動(dòng)、配置和數(shù)據(jù)讀取操作。其控制操作如下:首先配置ADS1174 的相關(guān)參數(shù),包括運(yùn)行模式、接口類型等,然后通過查詢ADS1174的DRDY信號(hào)來判定數(shù)據(jù)轉(zhuǎn)換是否完成,開始讀取數(shù)據(jù),最后將讀得數(shù)據(jù)進(jìn)行串并轉(zhuǎn)換,同時(shí)完成數(shù)據(jù)的緩存。A/D邏輯模塊每完成一次信號(hào)采樣,則等待下一次觸發(fā)脈沖的到來。

  (3)數(shù)據(jù)處理模塊

  數(shù)據(jù)處理模塊的功能是提取出信號(hào)中的頻移信號(hào),本設(shè)計(jì)采用如圖4 所示的信號(hào)處理算法,通過微分和乘加運(yùn)算,同時(shí)結(jié)合流水線的設(shè)計(jì)方法來實(shí)現(xiàn)。微分運(yùn)算的處理是將前一個(gè)數(shù)據(jù)延遲一個(gè)單位時(shí)間,用當(dāng)前的數(shù)據(jù)減去前一個(gè)數(shù)據(jù)得到的。通過宏模塊構(gòu)建16 b × 16 b有符號(hào)乘法器來實(shí)現(xiàn)乘法運(yùn)算,同時(shí)為了避免溢出,對(duì)乘法運(yùn)算結(jié)果適當(dāng)截位。相關(guān)除法器操作則與乘法器類似。

  信號(hào)處理算法

 ?。?)雙口RAM模塊

  本文設(shè)計(jì)中雙口RAM 用于存儲(chǔ)經(jīng)過處理的數(shù)據(jù),一方面通過RS 232 接口提供給上位機(jī)操作,另一方面通過DAC8551轉(zhuǎn)換成模擬信號(hào)。雙口RAM擁有兩套完全獨(dú)立的數(shù)據(jù)線、地址線和讀寫控制線,并允許兩個(gè)獨(dú)立的系統(tǒng)或設(shè)備同時(shí)對(duì)其進(jìn)行隨機(jī)性訪問。該雙口RAM 模塊是通過調(diào)用Quartus Ⅱ自帶的參數(shù)化模型庫實(shí)現(xiàn)的,容量為4 KB.

 ?。?)數(shù)據(jù)通信模塊

  RS 232采用的是異步通信協(xié)議,基本的異步通信只需包括通信發(fā)送端和通信接收端兩根信號(hào)線。該模塊由三個(gè)子模塊組成:波特率發(fā)送器模塊、數(shù)據(jù)發(fā)送模塊、數(shù)據(jù)接收模塊。波特率發(fā)生器模塊主要用于產(chǎn)生接收模塊和發(fā)送模塊的時(shí)鐘頻率,其實(shí)質(zhì)是一個(gè)分頻器,數(shù)據(jù)接收模塊的作用就是將接收到的串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)并輸出,數(shù)據(jù)發(fā)送模塊的作用相當(dāng)于一個(gè)移位寄存器,其功能就是按照一定的波特率將移位寄存器中的數(shù)據(jù)一位一位移出。數(shù)據(jù)收發(fā)過程是通過狀態(tài)機(jī)實(shí)現(xiàn)的,設(shè)計(jì)中波特率發(fā)生器模塊的輸出時(shí)鐘為實(shí)際串口數(shù)據(jù)波特率的16倍,當(dāng)輸入線路邏輯發(fā)生跳變時(shí),開啟采樣計(jì)數(shù)器,當(dāng)計(jì)數(shù)器計(jì)數(shù)到起始位數(shù)據(jù)中間時(shí)刻時(shí)即可認(rèn)定接收到的數(shù)據(jù)是起始位數(shù)據(jù),依次類推,只有計(jì)數(shù)器計(jì)數(shù)到每個(gè)數(shù)據(jù)的中間位置時(shí)才開始采集該數(shù)據(jù)。

  3 仿真驗(yàn)證



關(guān)鍵詞: FPGA 多普勒測(cè)振計(jì) 信號(hào)采集

評(píng)論


相關(guān)推薦

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

關(guān)閉