<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 數(shù)字式超聲波探傷儀中高速數(shù)據(jù)采集模塊設(shè)計

          數(shù)字式超聲波探傷儀中高速數(shù)據(jù)采集模塊設(shè)計

          作者: 時間:2010-04-26 來源:網(wǎng)絡(luò) 收藏


          數(shù)字時鐘管理單元(DCM)是FPGA內(nèi)部管理、掌控時鐘的專用模塊,能完成分頻、倍頻、去抖動和相移等功能。通過FPGA的DCM可以很方便地對AD9446的時鐘輸入信號進行掌控。在實際電路中需要注意的是要做到DCM倍頻輸出的時鐘信號與AD9446的時鐘輸入信號保持電平匹配。
          下面給出調(diào)用DCM后時鐘輸出的VHDL語言描述:

          2.3.2 數(shù)據(jù)壓縮
          數(shù)據(jù)壓縮處理是對射頻信號高速采樣后進行前置處理的重要環(huán)節(jié)之一,需要在保持超聲回波信號基本特征前提下對采樣數(shù)據(jù)進行在線壓縮,而且要求壓縮后的數(shù)據(jù)與原始采樣信號的包絡(luò)相吻合。為此,在每次壓縮過程中,只取采樣所得的最大值,而舍棄其他采樣值。FPGA將計算所得采樣數(shù)據(jù)的壓縮比、探頭前沿延時計數(shù)值等數(shù)據(jù)送入相應(yīng)的鎖存器,然后發(fā)出時序復位命令并發(fā)射,啟動探頭延時計數(shù),延時到后啟動A/D采樣,同時壓縮比計數(shù)器開始計數(shù),在時鐘信號的控制下,每采樣一次,壓縮比計數(shù)器減1,并將當前采樣值與前次采樣值比較,如大于則保存,否則舍棄,直至壓縮比計數(shù)到零后,得到一個有效的采樣數(shù)據(jù)。同時壓縮比計數(shù)器自動復位,重新開始計數(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ù)通過這些邏輯控制端口便于微處理器對其進行讀取、清零等操作。

          3 結(jié)語
          設(shè)計的基于AD9446的數(shù)據(jù)模塊采用FPGA實現(xiàn)數(shù)據(jù)控制、數(shù)據(jù)壓縮及數(shù)據(jù)緩沖等功能,簡化了硬件電路,提高了模塊的可靠性和穩(wěn)定性,并有利于模塊的功能升級。同時采用高速高精度模/數(shù)轉(zhuǎn)換器滿足了探傷系統(tǒng)對數(shù)據(jù)采集精度方面的要求。另外,F(xiàn)P-GA對數(shù)據(jù)進行的預(yù)處理,方便了微處理器對數(shù)據(jù)的調(diào)用和后處理。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();