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

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > ADuC7128實現(xiàn)寬頻帶相位測量系統(tǒng)

          ADuC7128實現(xiàn)寬頻帶相位測量系統(tǒng)

          作者: 時間:2011-09-21 來源:網(wǎng)絡 收藏
          DACOUT 是一個用來設置 內(nèi)部DDS 輸出頻率的一個控制信號,在本設計中,當輸入信號的頻率超過30 kHz 時, 內(nèi)部DDS 保持產(chǎn)生一個與輸入信號頻率相差30 kHz 的正弦波信號,作為頻率轉(zhuǎn)換的參考信號。

          本文引用地址:http://www.ex-cimer.com/article/194733.htm

            經(jīng)過混頻、低通濾波、整形比較之后的兩路正弦波信號,已經(jīng)變成頻率在30 kHz 以下的方波信號Q1 和Q2。IRQ0、IRQ1 是 的兩個中斷引腳,分別將Q1 的輸出端與ADuC7128 的IRQ0 引腳連接,Q2 的輸出端與ADuC7128 的IRQ1 引腳連接。

            IRQ0 用于檢測Q1 信號的下降沿,一旦Q1 信號的下降沿到來時,ADuC7128 內(nèi)部計數(shù)器T1 開始工作,IRQ1 用于檢測Q2 信號的下降沿,一旦Q2 信號的下降沿到來時,ADuC7128 內(nèi)部計數(shù)器T1 停止工作。這樣,計數(shù)器T1 上的累計值就是兩個方波間隔的脈沖數(shù)n,如果已知T1 的計數(shù)間隔Δt',即可知兩個方波的時間間隔Δt:

            

            從而通過公式( 8) 即可計算出兩輸入信號的相位差θ。

            

            2. 2 軟件設計

            本系統(tǒng)的軟件設計主要是完成系統(tǒng)初始化、內(nèi)部數(shù)據(jù)處理、數(shù)據(jù)結(jié)果顯示等功能。圖4 是系統(tǒng)的主程序和流程圖。

            

          主程序和相位測量流程圖

            圖4 主程序和流程圖

            3 測試結(jié)果與分析

            兩路同頻輸入信號是由一個相位差可調(diào)節(jié)的高精度信號源產(chǎn)生。當輸入信號頻率小于30 kHz時,由ADuC7128 內(nèi)部計數(shù)器直接計數(shù),經(jīng)過數(shù)據(jù)處理后得出相位差。輸入信號在進行過零比較時,由于兩路輸入信號之間的電平不相等所引起的幅相誤差,使得整形后產(chǎn)生的方波有所失真。圖5 是兩路輸入信號為100 kHz,相位差75°的正弦波信號,經(jīng)過頻率變換及濾波整形后,兩個信號的相位保持不變,頻率變?yōu)?0 kHz、幅度線性變化,如圖6 所示。

            

            圖5 兩路相位差75°的正弦波信號

            

            圖6 兩路相位差75°的方波信號

            隨機抽取四個不同頻率的輸入信號,分別在相位差為0 ~ 150°的范圍內(nèi)進行測試,測試結(jié)果見表1。

            



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();