趙 云,郭 慶,羅蘇笙,蘇海濤
(桂林電子科技大學電子工程及自動化學院,廣西桂林 451004)
Altera公司提出的片上可編程系統(System-ona-Programmable-Chip,SOPC)解決方案可將 CPU、儲存器、I/O接口、鎖相環(PLL)等系統設計所必須的模塊集成到一片FPGA上,構成一個可編程的片上系統,Nios嵌入式處理器正是借助于這種片上可編程系統實現的,因此用戶可以輕松地根據儀器設計的需求,創建合適的硬件。SOPC解決方案使得FPGA在開發嵌入式儀器的設計領域地位越來越重要。設計基于FPGA實現高速FIFO存儲體和DDS IP核,設計了高性能的模擬控制電路。將數字示波器和函數信號發生器兩種常用儀器,進行了儀表合一的設計。
系統主要由數字示波器和函數信號發生器組成,系統整體實現框圖如圖1所示。其中數字示波器主要包括信號調理與程控增益模塊、A/D數據采集模塊、FPGA和人機接口模塊。函數信號發生器主要包括FPGA、D/A轉換模塊和人機接口模塊。信號調理電路與程控增益模塊主要完成阻抗變換,程控增益放大;FPGA主要實現頻率測量模塊、FIFO模塊、鍵盤掃描模塊、高速數字時鐘系統以及DDS IP核;人機接口模塊采用矩陣鍵盤和TFT液晶屏,D/A轉換模塊采用D/A及濾波放大模塊。

圖1 系統整體實現框圖
模擬信號調理電路包括信號輸入阻抗變換、程控增益。阻抗變換及程控增益電路如圖3所示,模擬信號輸入可選擇交流或直流耦合,采用精密放大器AD845構成電壓跟隨器實現阻抗變換,提高輸入阻抗。

圖2 阻抗變換及程控增益電路
程控增益放大器采用 AD603實現,AD603在-10~30 dB時典型帶寬為90 MHz。控制電壓為-0.5~0.5 V的差分輸入電壓,采用由使用外部基準電壓輸出的10位數模轉換器TLC5615提供,并由運算放大器OP07將輸出的0~VREF電壓轉換為-0.5~0.5 V的控制電壓,外部基準電壓由MC1403產生。控制電壓產生電路如圖3所示。

圖3 控制電壓產生電路
根據垂直靈敏度20 mV/div~1 V/div,ADC最大輸入為1 V,可計算出增益范圍為-12~22 dB。AD603可控增益范圍-10~30 dB,由于AD845輸入采用1/3分壓方式,AD603實際增益范圍為-19.6~20.4 dB。
ADC連接電路如圖4所示,ADS830采樣率為60 MSa/s,前級采用寬帯儀表運放OPA2681構成前級調理電路,并使用精密多圈電位器作直流偏移電平調整。通過調理電路的調理,使信號輸入端的模擬輸入電壓范圍擴展至-1.00~1.00 V,并保證模擬輸入為0 V時輸出的數字量為01111111。
FPGA模塊使用Altera公司的開發板DE2進行開發與擴展。設計原則是最大程度地使用片上軟硬件資源,減少外圍附加電路。
2.2.1 FIFO模塊
利用Quartus中的LMP定制了兩個8 kB的FIFO保存雙路A/D采集數據。另外FIFO模塊中同時設計了掃描觸發模塊。其工作原理為啟動A/D采樣后,采集數據與觸發字進行比較,根據觸發源選擇信號,一旦滿足設定條件產生觸發信號,送至FIFO控制器端。由于A/D采樣時鐘與寫入時鐘同步,采集數據根據寫時鐘寫入到FIFO中。當FIFO未達到預觸發深度時,FIFO只寫入數據,不讀出數據,并且此過程中觸發信號是被抑制的。

圖4 高速模數轉換器ADS830的連接電路
2.2.2 頻率測量模塊
采用周期同步測頻法對觸發信號進行測頻,根據測得頻率選擇對應的采樣率。在被測信號邊沿到來時同時對被測信號和基準信號進行計數,計數閘門時間1 s,當基準信號計數完成時停止對被測信號計數,將對被測信號的計數結果除以計數的時間即可得到實際頻率。設計被測信號采用32位計數器,測頻范圍約為0 ~60 MHz,最小分辨率為5 Hz。
2.2.3 高速數字時鐘系統
高速數字時鐘系統采用Quartus中的LMP定制的鎖相環將晶振信號倍頻,送至時基產生模塊產生同步的A/D采集時鐘與FIFO控制器時鐘。
2.2.4 DDS IP核的實現
數字直接合成頻率技術(DDS)的基本原理是利用采樣定理,通過查表法產生波形。DDS IP核實現了波形選擇、頻率和幅度調節功能。
系統軟件開發任務是在Nios IDE下完成。主流程圖如圖5所示,軟件主要包括以下工作:
系統初始化。對液晶屏復位并繪出顯示框架、初始化函數信號發生器的輸出、對FPGA進行復位等。
按鍵處理。當FPGA響應鍵盤產生的中斷后讀取按鍵值,判斷并對按鍵產生響應,在運行示波器功能時,通過按鍵實現采樣參數的改變、顯示參數的改變等;在運行函數信號發生器功能時,通過按鍵設置函數信號發生器參數的改變。
采樣參數設置。包括通過控制繼電器改變輸入信號耦合方式、控制產生數模轉換器輸出的增益電壓等。
顯示參數設置。顯示參數包括波形的水平、垂直移動、測量得到的頻率、幅度和周期等。
函數信號發生器參數的設置。包括幅度、頻率設置以及波形的切換。

圖5 系統軟件主流程圖
測試用的儀器為TDS2012示波器及TFG6050 DDS函數信號發生器。將TFG6050輸出的信號連至TDS2012與待測數字示波器上,逐個觀察三者頻率與幅度。如此改變TFG6050輸出信號的頻率與幅度進行數字示波器功能及指標測試。測得FPGA數字示波器的性能指標如下,垂直分辨率為8 bit,垂直靈敏度范圍為20 mV/div~1 V/div,最大實時采樣率為60 Msample/s,可測頻率范圍為200 Hz~6 MHz,掃描速度范圍為100 ns/div~0.1 s/div,輸入阻抗為1 MΩ,波形顯示結果良好。
將待測函數信號發生器的輸出接至TDS2012,觀測波形及其頻度、幅度。可以測得函數信號發生器性能,頻率范圍為1 Hz~10 MHz,幅度范圍0.1 ~9 Vpp,可以產生正弦波、方波、鋸齒波和三角波。
經過測試結果表明,設計中示波器和函數信號發生器均可較好完成測試工作,充分發揮了FPGA并行執行的特點,實現數字示波器和函數信號發生器的功能,充分顯示了FPGA在儀表控制方面的優勢。
[1] HOWARD J.高速數字設計[M].北京:電子工業出版社,2003.
[2] 陳尚松,郭慶,雷加.電子測量與儀器[M].2版.北京:電子工業出版社,2009.
[3] 李世文,潘中良,何道清.數字存儲示波器中觸發電路的FPGA設計與實現[J].中國儀器儀表,2009(3):68-71.
[4] 江國強.EDA技術與應用[M].北京:電子工業出版社,2010.
[5] 葉苑,周建明,張沁川.高速數字存儲示波器實現技術[J].電子測量與儀器學報,2005,19(3):42-45.