數(shù)字式超聲波探傷儀中高速數(shù)據(jù)采集模塊設(shè)計
數(shù)字時鐘管理單元(DCM)是FPGA內(nèi)部管理、掌控時鐘的專用模塊,能完成分頻、倍頻、去抖動和相移等功能。通過FPGA的DCM可以很方便地對AD9446的時鐘輸入信號進(jìn)行掌控。在實(shí)際電路中需要注意的是要做到DCM倍頻輸出的時鐘信號與AD9446的時鐘輸入信號保持電平匹配。
下面給出調(diào)用DCM后時鐘輸出的VHDL語言描述:
2.3.2 數(shù)據(jù)壓縮
數(shù)據(jù)壓縮處理是對射頻信號高速采樣后進(jìn)行前置處理的重要環(huán)節(jié)之一,需要在保持超聲回波信號基本特征前提下對采樣數(shù)據(jù)進(jìn)行在線壓縮,而且要求壓縮后的數(shù)據(jù)與原始采樣信號的包絡(luò)相吻合。為此,在每次壓縮過程中,只取采樣所得的最大值,而舍棄其他采樣值。FPGA將計算所得采樣數(shù)據(jù)的壓縮比、探頭前沿延時計數(shù)值等數(shù)據(jù)送入相應(yīng)的鎖存器,然后發(fā)出時序復(fù)位命令并發(fā)射,啟動探頭延時計數(shù),延時到后啟動A/D采樣,同時壓縮比計數(shù)器開始計數(shù),在時鐘信號的控制下,每采樣一次,壓縮比計數(shù)器減1,并將當(dāng)前采樣值與前次采樣值比較,如大于則保存,否則舍棄,直至壓縮比計數(shù)到零后,得到一個有效的采樣數(shù)據(jù)。同時壓縮比計數(shù)器自動復(fù)位,重新開始計數(shù),其工作流程如圖4所示。
2.3.3 數(shù)據(jù)緩沖
為了解決前端數(shù)據(jù)采集與后端數(shù)據(jù)傳輸在速率上的不匹配問題,在FPGA內(nèi)部設(shè)置一塊數(shù)據(jù)緩沖FIFO,大小為8K×16 b,壓縮后的數(shù)據(jù)直接存儲到FIFO中,而微處理器對FIFO中數(shù)據(jù)的讀取通過中斷方式完成。數(shù)據(jù)緩沖FIFO通過core generator例化,只需要少量的讀/寫控制邏輯就可以使FIFO正常工作,而且FIFO的大小可以在FPGA提供的RAM位數(shù)范圍內(nèi)靈活設(shè)置。下面給出例化后的FIFO的VHDL語言描述:
保存在FIFO中的數(shù)據(jù)通過這些邏輯控制端口便于微處理器對其進(jìn)行讀取、清零等操作。
3 結(jié)語
設(shè)計的基于AD9446的數(shù)據(jù)采集模塊采用FPGA實(shí)現(xiàn)數(shù)據(jù)采集控制、數(shù)據(jù)壓縮及數(shù)據(jù)緩沖等功能,簡化了硬件電路,提高了模塊的可靠性和穩(wěn)定性,并有利于模塊的功能升級。同時采用高速高精度模/數(shù)轉(zhuǎn)換器滿足了數(shù)字式超聲波探傷系統(tǒng)對數(shù)據(jù)采集精度方面的要求。另外,F(xiàn)P-GA對數(shù)據(jù)進(jìn)行的預(yù)處理,方便了微處理器對數(shù)據(jù)的調(diào)用和后處理。
評論