摘要:基于FPGA運用了DDS技術實現信號源的硬件設計和LabVIEW圖形編程工具實現信號源的交互界面,完成了一個基于虛擬儀器平臺的信號源設計。它可以產生峰峰值從0.1V到8.5V可調,頻率從0.005Hz到2MHz可調的正弦波、三角波、方波三種波形產生數字波形。
關鍵詞:信號源;虛擬儀器;DDS;FPGA
中圖分類號:TP391文獻標識碼:A文章編號:1009-3044(2008)31-0979-02
The Design of Signal Source Based on FPGA and LabVIEW
QI Jing-jing, HUANG Cai-xia
(Electroic Information Engineering College,Henan Uinversity of Science Technology, Luoyang 471039, China)
Abstract: Hardware design of signal source use of the DDS technology FPGA-based and the interface of signal source based on LabVIEW graphical programming tools, a signal source design based on virtual instrument platformis completed. It can produce peak-peak from 0.1 V to 8.5 V adjustable, frequencies from 0.005 Hz to 2 MHz adjustable sine, triangle, square wave produced three digital waveform.
Key words: signal source; virtual instrument; DDS; FPGA
1 引言
隨著微電子技術的迅猛發展,現場可編程邏輯器件(Field Programmable Gate Array, FPGA)的規模和速度迅速增大,而價格卻不斷降低。由于FPGA器件編程方便、速度快、開發費用低、周期短等特點,受到了廣大系統設計人員的青睞。DDS作為頻率合成技術使輸出信號受頻率控制碼和相位控制碼以及參考時鐘控制,很容易實現調頻、連續調相、線性調頻和其他各種頻率、相位、幅度調制。具有高速的頻率轉換時間、極高的頻率分辨率、低相位噪聲等優點。[1]正是基于這些特點,本設計基于FPGA運用DDS技術實現信號源的硬件功能。為了更好的實現一個基于虛擬儀器平臺的信號源,系統采用外置型,功能卡與PC通過串口連接。PC端采用LabVIEW圖形編程工具設計實現美觀方便的交互界面完成對信號源各項功能的控制以產生所需信號。雖然虛擬儀器常用PCI總線或ISA總線插卡的方式以提高傳送速率,卻也增加系統設計復雜度,而且內置式可能會同計算機已有可插拔硬件沖突,而設計成外置式虛擬儀器無需驅動,插拔更為方便,避免硬件沖突問題。[2]
2 系統設計
本設計主要有兩大部分組成:LabVIEW部分與FPGA部分,也可以稱之為上位機與下位機。
2.1 方案論證
在本設計中有兩種設計方案:
方案一:用LabVIEW軟件為開發平臺,在LabVIEW程序中進行各個波形數據的采集并把數據發送到串口上,FPGA通過RS-232接受波形數據,串行數據在FPGA中處理后經過一D/A轉換后在示波器上顯示結果。
此方案通過串口發送的是波形數據。設計流程圖如圖1。
■
圖1 方案一流程圖圖2 方案二流程圖
方案二:用LabVIEW軟件為開發平臺,在LabVIEW程序中把各個波形的波形參數(頻率,頻段,峰峰值)發送到串口上,FPGA通過RS-232接受波形指令,波形參數在FPGA中處理后運用DDS技術產生波形經過D/A轉換后在示波器上顯示結果。此方案通過串口發送的是波形指令。設計流程圖如圖2。
方案一發送的是波形數據,根據設計要求生成的最高頻率為2Mhz,當2Mhz時最少需要采樣四個點,每個點都是8Bit,因此需要最低的串口傳送速率為64Mbit/s。優點是FPGA方面不需要太多的編程,只要一個串口接收模塊即可;缺點是串口需要傳輸大量數據。
方案二發送的是波形指令,此方案不需要在 LabVIEW中采樣產生波形數據,是把波形數據直接作成ROM表的形式,當把波形指令發送出來以后,FPGA根據波形參數通過DDS技術產生信號波形。優點是串口傳輸只需要發送很少數據,實時性好;缺點是在FPGA里產生波形受ROM表里波形數據限制,易失真。
通過對上述兩個方案的比較及RS-232串口傳輸最大速率(20Mbit/s)的限制,考慮到波形發生的實時性,本設計采用方案二。把LabVIEW與FPGA結合起來,以發送波形指令的方式控制產生波形信號。
2.2 設計思想
由于選擇的是方案二即發送波形命令的形式來控制波形就大大降低了串口的發送負擔,使得串口的發送速率能夠滿足設計要求達到實時性,具體的設計流程是把每種波形的參數都設定為不同的數字(三角波用0表示,正弦波用1表示,方波用2表示),一共有四個波形參數分別為波形類型,頻率系數(即在某個頻段內的頻率旋鈕調節值),頻段,峰峰值。波形類型由于有三種波形,其參數為0~2(十進制)占一位;頻率系數由于在200K~2Mhz頻段內步進為5Khz,因此可用0~359表示這頻段內的360個不同頻率,占三位。頻段有七段分別為2Hz,20Hz,200Hz,2Khz,20Khz,200Khz,2Mhz.因此用0~6表示,占一位。峰峰值是以0.1V為步進的,而經測量D/A轉換的最大峰峰值為8.5V,可用0~84表示這85個不同值,占2位。這四種參數加起來一共要發送7位的十進制數,把這些數字連接到一起組成一幀按照一定的波特率發到串口,而且每當這七位數字有變化時就把新的數據發送到串口。如發送數據為0123456七位數字,就表示要產生的波形為三角波,頻率系數為123,頻段為4,峰峰值系數為56。之后用FPGA設計一串口接收模塊,按照設定好的波特率及編碼方式解碼,得到的波形指令通過DDS技術產生數字波形,再經過一D/A轉換發送到示波器上驗證結果。
2.3 上位機設計
LabVIEW設計主要運用的是虛擬儀器技術,利用它設計人機交互界面并且送波形參數。主要有以下幾個部分:波形選擇、幅值調節、頻段選擇、頻率調節、串口發送。串口配置為8位數據位、一位停止位、無奇偶校驗。用到了CIN節點、移位寄存器、比較VI、字符串連接VI、輸入輸出顯示VI、邏輯運算VI、VISAVI、CASE結構、IF結構、事件結構等。其程序框圖如圖3。
2.4 下位機設計
下位機設計主要運用DDS技術,它運用VHDL語言編程設計主要有串口接收、串口轉換、地址發生、ROM查詢、波形選擇、峰峰值調節、D/A轉換等模塊完成接收串口數據并運用DDS技術合成數字波形的功能,其流程圖如圖4。在硬件程序設計流程圖中我們可以看到串口接收接受串口數據,頻段選擇模塊根據接收到的頻段參數進行分頻;頻率系數x與地址發生器的步進值n關系為n=x+41;波形類型用于波形類型的選擇;峰峰值參數調節峰峰值。
3 結果測試
下面就是整個系統的結果實時測試如圖5-6,通過操作人機交互界面,產生一個峰峰值為8.0V,頻率為2.05KHz的正弦波,對應的在數字示波器上的顯示波形可以看到正弦波峰峰值為7.99V,頻率為2.053KHz。峰峰值步進為0.1V,誤差0.01V;頻率步進為50Hz,誤差3Hz。結果比較滿意。
■
圖5 實時檢測人機交互界面
■
圖6 實時檢測示波器界面
4 結束語
本文探討了構建虛擬信號源的方法,采用了“FPGA+接口+PC”的設計方案,實現了一個生成頻率0~2MHz,峰峰值0.1~8.5V可調,可產生方波,正弦波,三角波三種波形的信號源。通過此方法,不僅可以實現信號源,而且,可以相繼開發出頻譜分析儀、示波器、掃頻儀、網絡分析儀等常用的電子儀器,構成一個通用靈活的虛擬儀器平臺。“接口”更可以根據條件采用USB、紅外、藍牙等多種方式。
參考文獻:
[1] 廖日坤.CPLD/FPGA嵌入式應用開發技術白金手冊[M].北京:中國電力出版社,2005.
[2] 陳錫輝,張銀鴻.LabVIEW 8.20程序設計從入門到精通[M].北京:清華大學出版社,2007.
[3] NationalIn struments Corporation.LabVIEW:Code Interface Reference Manual[S].2004
[4] National Instruments Corporation.LabVIEW:User Manual[S].2004
[5] 吳立力.信號采集系統中的數據傳輸、顯示與處理[D].北京工業大學,2001.
[6] 應懷樵.“虛擬”儀器與計算機采集測試分析儀器的發展和展望[J].振動.測試與診斷,2000(3).
[7] 季元.LabVIEW及虛擬儀器開發[M].北京:中國互動出版社,2002.
[8] 胡生清,幸國全.未來的儀器儀表——虛擬儀器[J].自動化與儀表,1999,14(6):5-7.