基于單片機和FPGA的掃頻儀設計
若選取晶振頻率為40 MHz,頻率控制字為24位,相位累加器的位數為31位,則輸出頻率范圍為0.02 Hz~312 kHz,步進頻率為40 MHz/231≈0.02 Hz。
系統(tǒng)采用高速14-bit電流輸出型D/A轉換器DAC904制作DDS掃頻信號源。通過FPGA給其20 MHz的時鐘信號以輸出10 Hz~100 kHz的掃頻信號。該器件制作成的PCB板中,很好地考慮了接地,使得輸出信號在頻率為1 MHz可以達到無明顯失真。DAC904采用內部基準和雙極性接法,輸出信號幅值范圍為0~5 V。其原理圖如圖2所示。本文引用地址:http://www.ex-cimer.com/article/173225.htm
2.2 幅頻特性測試方案
使用集成真有效值轉換器AD637先檢測出信號每個頻率點的有效值,再經過A/D采樣將得到的數據讀到單片機中進行處理即可。該器件外接電路簡單,工作頻帶很寬,與A/D轉換器級聯,可以對任何復雜波形的有效值、平均值、均方值、絕對值進行采樣,測量誤差小于±(0.2%讀數+0.5 mV),可以達到很高的測量精度。
2.3 相頻特性測試方案
采用計數法實現相位的測量。計數法的思想是將相位量轉化為數字脈沖量,然后對數字脈沖進行測量而得到相位差。對轉換后的數字脈沖量進行異或運算,產生脈寬為T0、周期為T的另一路方波,若高頻計數時鐘脈沖周期為TCP,則在一個周期T的時間內的計數數值為:
式中,φx為相位差的度數。
這種方法應用比較廣泛,精度較高,電路形式簡單,適合FPGA實現。
實際測量中,當兩輸入信號頻率較高且相位差很小時,得到的脈沖很窄,這會造成較大誤差。為了克服上述缺陷,引入等精度測量的思想(如圖3),采用多周期同步計數法,利用觸發(fā)器產生一個寬度為被測信號fa整數倍的閘門信號。利用計數器1測量出閘門信號內通過高頻脈沖fm的個數N1,利用計數器2測量出相同時間內閘門信號、異或信號、高頻脈沖三者相與后的脈沖數N2。因此,相位差值為△φ=N2/N1x36 0°。測量相位的同時,在FPGA內部引入一D觸發(fā)器,用一路方波信號控制另一路方波,通過觸發(fā)器輸出的高低以判斷信號相位差范圍是大于180°還是小于180°。
評論