新聞中心

EEPW首頁 > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 超聲波隨鉆井徑檢測(cè)儀的數(shù)據(jù)采集與傳輸

超聲波隨鉆井徑檢測(cè)儀的數(shù)據(jù)采集與傳輸

作者: 時(shí)間:2013-04-25 來源:網(wǎng)絡(luò) 收藏

2.1 AD控制模塊的設(shè)計(jì)與實(shí)現(xiàn)
AD控制模塊要實(shí)現(xiàn)的功能是提供AD轉(zhuǎn)換的片選信號(hào)和AD轉(zhuǎn)換時(shí)鐘,以及FIFO的寫時(shí)鐘、FIFO要存儲(chǔ)的16位并行數(shù)據(jù),接收AD轉(zhuǎn)換的串行數(shù)據(jù)并實(shí)現(xiàn)串轉(zhuǎn)并,同時(shí)提供換能器的激勵(lì)信號(hào)。本設(shè)計(jì)中,AD轉(zhuǎn)換芯片采用的是ADI公司的12位AD7352,該芯片具有耐高溫、功耗低等優(yōu)點(diǎn)。片選信號(hào)CS的周期決定了AD采樣的速率,F(xiàn)PGA為AD提供的轉(zhuǎn)換時(shí)鐘SCLK的頻率大小決定了AD的轉(zhuǎn)換時(shí)間,正常工作時(shí),完成一個(gè)數(shù)據(jù)的轉(zhuǎn)換至少需要14個(gè)時(shí)鐘下降沿。在本設(shè)計(jì)中,綜合考慮各方面的因素,AD采樣頻率設(shè)計(jì)為2.5 MHz,完成一個(gè)模擬量的轉(zhuǎn)換采用18個(gè)轉(zhuǎn)換時(shí)鐘,這樣,AD的轉(zhuǎn)換時(shí)鐘SCLK的頻率為45 MHz,該時(shí)鐘由FPGA中鎖相環(huán)對(duì)50 MHz的系統(tǒng)時(shí)鐘分頻得到。片選信號(hào)CS高低電平的控制采用計(jì)數(shù)器對(duì)與轉(zhuǎn)換時(shí)鐘相同的時(shí)鐘計(jì)數(shù)來實(shí)現(xiàn),每當(dāng)該時(shí)鐘的上升沿到來時(shí),計(jì)數(shù)器加1,計(jì)數(shù)器加到17后,又從零開始循環(huán)計(jì)數(shù),當(dāng)計(jì)數(shù)器的值小于14時(shí),將片選信號(hào)CS置低,否則置高。片選信號(hào)與轉(zhuǎn)換時(shí)鐘的時(shí)序如圖3所示。

本文引用地址:http://butianyuan.cn/article/192799.htm

c.JPG


在本部分設(shè)計(jì)中,考慮到實(shí)際應(yīng)用中需要對(duì)四個(gè)換能器接收的數(shù)據(jù)進(jìn)行采集,為了區(qū)別各個(gè)換能器的數(shù)據(jù),設(shè)計(jì)時(shí)在串轉(zhuǎn)并的過程中人為添加了四位數(shù)據(jù)作為標(biāo)志位。為了使AD的采樣率、FPGA中串轉(zhuǎn)并的速率以及FIFO的寫速率保持一致,F(xiàn)IFO的寫時(shí)鐘采用一個(gè)計(jì)數(shù)器對(duì)AD的轉(zhuǎn)換時(shí)鐘計(jì)數(shù)獲得。每當(dāng)轉(zhuǎn)換時(shí)鐘SCLK的下降沿到來時(shí)計(jì)數(shù)器加1,計(jì)數(shù)器從零到13循環(huán)計(jì)數(shù),計(jì)數(shù)器每循環(huán)一個(gè)周期就提供一個(gè)寫時(shí)鐘上升沿(寫時(shí)鐘上升沿有效),使FIFO完成一次寫操作。在AD正常工作時(shí),第一個(gè)時(shí)鐘下降沿會(huì)輸出兩個(gè)前導(dǎo)零,然后從第二個(gè)時(shí)鐘下降沿開始依次從高位到低位輸出12位有效的數(shù)據(jù),并在第13個(gè)下降沿完成最后一位數(shù)據(jù)的輸出,最后在之后的上升沿返回跟蹤模式。因此,在串轉(zhuǎn)并時(shí),要從第二個(gè)時(shí)鐘下降沿開始。
2.2 FIFO的設(shè)計(jì)與實(shí)現(xiàn)
FIFO的主要功能是實(shí)現(xiàn)不同時(shí)鐘域之間的數(shù)據(jù)。FIFO分為同步FIFO和異步FIFO,本設(shè)計(jì)中采用的是異步FIFO,涉及到的主要參數(shù)包括FIFO的深度,F(xiàn)IFO的讀、寫時(shí)鐘,F(xiàn)IFO存儲(chǔ)的數(shù)據(jù)的寬度和讀、寫指針等??紤]到AD采樣速率為2.5 MHz,每次開始轉(zhuǎn)換后持續(xù)的時(shí)間大約為600 μs,因此,F(xiàn)IFO需要緩存的數(shù)據(jù)大約為1 500個(gè),Actel公司的APA075中有12個(gè)256X9的RAM空間,最多能緩存1 536個(gè)16位的數(shù)據(jù)。
為了保險(xiǎn)起見,F(xiàn)IFO的深度設(shè)計(jì)成1 536,根據(jù)實(shí)際應(yīng)用的需求,F(xiàn)IFO的寬度設(shè)計(jì)成16位,寫時(shí)鐘頻率和AD采樣頻率保持一致,讀時(shí)鐘頻率和串口速率保持一致。同時(shí),為了防止數(shù)據(jù)溢出或讀取無效的數(shù)據(jù),F(xiàn)IFO的設(shè)計(jì)采用了空滿標(biāo)志位。當(dāng)FIFO寫滿時(shí),滿標(biāo)志位置1,禁止繼續(xù)向FIFO中寫入數(shù)據(jù):當(dāng)FIFO為空時(shí),禁止從FIFO中繼續(xù)讀取數(shù)據(jù)??諠M標(biāo)志的準(zhǔn)確判斷是FIFO設(shè)計(jì)的一大難點(diǎn),本設(shè)計(jì)中采用了列舉的算法實(shí)現(xiàn)空滿標(biāo)志的判斷。FIFO寫滿有以下兩種情況:第一,寫指針加1等于讀指針,并且寫使能有效,再繼續(xù)寫操作時(shí),F(xiàn)IFO就為滿,滿標(biāo)志位置1;第二,寫指針加1等于FIFO的深度并且讀指針為零,再繼續(xù)寫操作時(shí),F(xiàn)IFO就為滿,滿標(biāo)志位置1。與滿標(biāo)志情況類似,F(xiàn)IFO讀空也有以下兩種情況:第一,讀指針加1等于寫指針,再繼續(xù)讀操作時(shí),F(xiàn)IFO就為空,空標(biāo)志位置1;第二,讀指針加1等于FIFO的深度并且寫指針為零,再繼續(xù)讀操作時(shí),F(xiàn)IFO就為空,這時(shí),空標(biāo)志位置1。
2. 3 串口發(fā)送的設(shè)計(jì)與實(shí)現(xiàn)
串口發(fā)送模塊負(fù)責(zé)把處理后的數(shù)據(jù)從FIFO中讀出,將其按通信協(xié)議傳送給MAX232完成電平轉(zhuǎn)換后送給PC機(jī)。發(fā)送數(shù)據(jù)采用的波特率是9 600,數(shù)據(jù)幀格式如圖4所示。

d.JPG


本設(shè)計(jì)的數(shù)據(jù)幀格式為1位起始位,8位數(shù)據(jù)位,1位停止位,沒有奇偶校驗(yàn)位,本設(shè)計(jì)采用連續(xù)兩次發(fā)送來解決發(fā)送16位數(shù)據(jù)的問題。為了保持讀FIFO的速率與發(fā)送數(shù)據(jù)的速率一致,F(xiàn)IFO的讀時(shí)鐘根據(jù)串口發(fā)送一個(gè)完整數(shù)據(jù)的速度來確定。

3 測(cè)試結(jié)果
在實(shí)驗(yàn)室自制的最小系統(tǒng)板上,模擬換能器給AD提供一個(gè)250 kHz的正弦信號(hào),在上位機(jī)串口調(diào)試小助手上接收到的數(shù)據(jù)運(yùn)用Matlab畫出的圖形如圖5所示。圖5中,縱坐標(biāo)是幅值,橫坐標(biāo)是所取點(diǎn)的個(gè)數(shù)。

e.JPG



4 結(jié)語
可以看出,本設(shè)計(jì)中每個(gè)周期的正弦波包含有10個(gè)點(diǎn)。由于我們輸入的是250 kHz的正弦波,AD采樣頻率是2.5 MHz,通過理論計(jì)算,每個(gè)周期應(yīng)該包含的點(diǎn)數(shù)為2.5 MHz/250 kHz=10,可見設(shè)計(jì)與實(shí)際測(cè)試的結(jié)果相符。另外,從測(cè)試結(jié)果圖中還可以看出,其幅值與所給的幅值也相符,測(cè)試結(jié)果也表明了該設(shè)計(jì)的合理性。

fpga相關(guān)文章:fpga是什么



上一頁 1 2 下一頁

關(guān)鍵詞: 超聲波 隨鉆 檢測(cè)儀 傳輸

評(píng)論


相關(guān)推薦

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

關(guān)閉