劉瑞
摘 要:信號發生器是實驗教學、生產實踐和科學研究中不可缺少的通用電子測量儀器之一,主要用于產生具有不同頻率和幅度的各種波形,為實驗研究提供所需要的特定信號。為此設計了基于Lab VIEW控制的信號發生器。通過USB接口連接已有的便攜式信號發生器,在上位機上使用Lab VIEW所生成的應用程序,對小型信號源進行控制,實現雙通道不同頻率和幅度的各種波形,達到便攜簡單方面的效果。該文主要從Lab VIEW軟件設計方面和利用VISA進行軟硬件通信方面進行介紹,提出了優化方案,給出了實驗結果并對結果進行了分析。
關鍵詞:Lab VIEW VISA 信號發生器
中圖分類號:TN710 文獻標識碼:A 文章編號:1674-098X(2014)09(a)-0048-02
信號發生器是電子實驗室和電子測量中經常使用的一種儀器設備,主要是用來產生不同幅值和頻率的信號,包括常用的正弦波、三角波、方波以及鋸齒波信號等。傳統信號發生器由純粹物理器件及硬件電路構成,存在著一些弊端,如體積較大、質量較重、移動不便、信號失真較大、波形種類較單一、可調范圍小等,而且需要獨立電源供電,容易受其干擾;在科研和生產的一些實際應用中,如工業過程控制、生物醫學、地震模擬機械振動等常常需要用到低頻信號源,由硬件電路構成的低頻信號難以令人滿意。此外,這種獨立的傳統儀器,儀器的旋鈕和開關、內置電路及用戶所能使用的功能都是已經固定了,用戶通常不能對其加以擴展或自定義功能。這些硬件或電路帶來的弊端可通過基于軟件思想的虛擬信號發生器來靈活、高效地克服。
1 系統總體介紹
系統總體介紹如圖1所示,通過Lab VIEW編寫信號發生器程序,利用VISA與硬件相連接。上位機安裝驅動,通過USB接口與信號發生器硬件相連,從而由上位機控制產生波形。此外,根據Lab VIEW編寫程序,仿真出顯示波形。
2 系統硬件介紹
2.1 信號發生器介紹
該文采用的是硬件是MHS2300系列雙通道DDS信號發生器。該儀器采用大規模FPGA集成電路和32位高速ARM微處理器,內部電路采取表面貼片工藝,大大提高了儀器的抗干擾性和使用壽命。信號方面,儀器具有雙路DDS信號輸出,兩路輸出均有正弦波、方波、三角波、鋸齒波脈沖波的標準函數波形的同時,還具有15個1024*10 bits的任意波輸出,掃描方面能夠實現自定義起點終點和掃描時間的頻率掃描、幅度掃描和占空比掃描等三種掃描方式。CH1和CH2兩個通道完全對稱,正弦信號頻率最高為20 MHz,幅度最高可達到20 Vp-p,頻率分辨力最小可達10 uHz,電源供電采用單一5 V供電,極大方便了本機的使用靈活性。在與PC機連接后,能夠使用PC機控制該儀器,并且能夠在PC記上編輯任意波形后下載到儀器輸出波形。本儀器在信號產生、波形掃描、參數測量以及使用方面都有很大的優勢,是電子工程師、電子實驗室、生產線及教學、科研的理想測試、計量設備。
2.2 儀器通信協議
該信號源與PC通過USB接口連接通信,通過安裝CP2102驅動以及遵循該儀器的通信協議。根據協議,我們知道控制指令總體結構采用命令行方式,通信速率為9600,19200,38400和57600bps可選,由PC發出命令,本機解析執行,然后返回結果給PC機,每個命令的結尾符號為換行符(十六進制表示為“0x0a”),以下就不同命令加以說明。
該機器的命令總體結構分三部分,各個指令均以逗號(,)分隔。起始指令包括一個字符的起始標志冒號(:),和十進制表示的本機地址兩個字符,比如,本機地址設定為01,則起始指令就是:01。命令部分可以包含1條或者多條指令同時執行,指令總體有三類,第一類為讀取指令,以小寫字母r開頭;第二類為寫入指令,以小寫字母w開頭;第三類為任意波傳輸指令,以小寫字母a開頭;針對r和w指令,本機定義了若干可以訪問的寄存器地址,讀取或者寫入都是需要指定寄存器地址的,比如,讀取CH1的頻率值的指令為r23,讀取CH1的幅度值的指令為r25。寫入CH2的頻率值為12.45 kHz的指令為w241245000,寫入CH2的幅度值為2.58 V的指令為w26258。結束指令為三位十進制數的LRC校驗值,后面再加換行符0x0a,其中的LRC校驗值為前面所有字符的ASCII值之和再取反加1得到,這個LRC值也可以由本機設定為不進行檢驗和進行檢驗,一般為了簡化操作,本機默認是不進行LRC校驗的。根據通信協議,我們可以利用Lab VIEW中的連接字符串函數,將我們所需要的字符串聯起來。
3 軟件介紹與系統設計
3.1 軟件介紹
簡單信號發生器軟件部分是在Lab VlEW8.6環境中編程實現。Lab VIEW是NI公司的創新軟件產品,是目前應用最廣、發展最快、功能最強的圖形化軟件集成開發環境,使用所見即所得的可視化技術建立人機界面,使用圖標表示功能模塊,使用圖標之間的連線表示各模塊之間的數據傳遞。Lab VIEW擁有一整套工具用于采集、分析、顯示和存儲數據,以及解決用戶編寫代碼過程中可能出現的問題。其提供多種輸入控件和顯示控件用于創建用戶界面,即前面板。輸入控件指旋鈕、按鈕、轉盤等輸入裝置。顯示控件指圖形、指示燈等輸出顯示裝置。創建用戶界面后,可添加各種VI和結構作為代碼,從而控制前面板對象。
VISA是儀器編程的一個標準I/O應用程序編程接口(API)。在框圖中幾乎所有的Lab VIEW儀器驅動程序都使用VISA函數。VISA能夠控制VXI、GPIB、PXI或串行儀器,可以根據使用的儀器類型,調用適當的儀器驅動程序。
3.2 總體程序設計
總體程序設計如圖2所示。
按照硬件電路設計,系統軟件編程的基本思路是首先對硬件初始化,在Lab VIEW中,使用VISA配置串口函數,設置VISA資源名稱、比特率等信息,其他節點選擇默認。之后進入While循環,設置停止按鈕。之后建立層疊式順序結構,設置通道,通道二與通道一相似。具體設計思路以通道一為例。endprint
3.2.1 通信協議指令寫入設計
通信協議指令寫入部分如圖3所示。
寫入部分主要是根據通信協議指令格式,寫入VISA。其中需要設置波形,通過條件循環結構,選擇波形。頻率和幅度通過數字轉字符函數,轉換為字符串,最后通過組合字符串函數,將所有字符組合,最后加入換行符。從而完成對儀器的通信指令寫入。之后在層疊式順序結構中,加入500 ms延時,以便儀器有足夠時間返回數據。
3.2.2 通信協議指令讀取設計
通信協議指令讀取部分如圖4所示。
在對儀器寫入指令之后,通過連接屬性節點,連接VISA讀取函數。讀取緩沖區的字符串,利用截取字符串函數與字符串轉數值函數,獲得需要的返回頻率和返回幅值。從而得到最終輸出的頻率與幅值。由于軟件仿真的頻率與PC機的內存有關,當輸出頻率較大時(約1 MHz,具體與PC機內存配置有關),PC機無法正常仿真,故我們只采取仿真波形與幅值,最終將仿真波形反饋到前面板波形圖中。
4 試驗測試結果和分析
為測試系統的性能,測算并校驗所采集信號,連接儀器與示波器,構建實驗系統,并進行了實際性能測試。
如圖5所示,當通道一選擇方波,通道二選擇正弦波時,可以穩定輸出。當更改任意輸入方式時,均可以達到預想波形且實時性良好。其中信號幅度最高為5 V,正弦信號頻率最高為20 MHz。
5 結語
該文進行了基于Lab VIEW的簡單信號發生器軟件的設計,完成了上位機控制軟件的開發,解決實現了與硬件通信的方案。系統中使用的儀器高度集成,靈活性強;能按要求產生多種常見信號,參數能在較大范圍內連續可調;操作界面簡單,性能穩定可靠,可按需增減其他功能模塊。
參考文獻
[1] 樊煒.虛擬任意波信號發生器研究[D].浙江大學,2003:1-2.
[2] MHS2300系列雙通道DDS信號發生器通信協議[Z].2013.
[3] 張桐,陳國順,王正林.精通LabVIEW程序設計[M].北京:電子工業出版社,2008:277-299.
[4] 王麗君,劉悅.基于LabVIEW的虛擬信號發生器及示波器的設計[J].華北水利水電學院學報,2010,31(3).
[5] 劉麗桑.基于LabVIEW的虛擬信號處理系統[J].光學儀器,2007(9).
[6] National Instruments Corporation.Using NI-DAQmx to Control USB Device[Z].Reference Materials,2005.
[7] National Instruments Corporation.Using External Code in LabVIEW[Z].Reference Materials,2003.endprint
3.2.1 通信協議指令寫入設計
通信協議指令寫入部分如圖3所示。
寫入部分主要是根據通信協議指令格式,寫入VISA。其中需要設置波形,通過條件循環結構,選擇波形。頻率和幅度通過數字轉字符函數,轉換為字符串,最后通過組合字符串函數,將所有字符組合,最后加入換行符。從而完成對儀器的通信指令寫入。之后在層疊式順序結構中,加入500 ms延時,以便儀器有足夠時間返回數據。
3.2.2 通信協議指令讀取設計
通信協議指令讀取部分如圖4所示。
在對儀器寫入指令之后,通過連接屬性節點,連接VISA讀取函數。讀取緩沖區的字符串,利用截取字符串函數與字符串轉數值函數,獲得需要的返回頻率和返回幅值。從而得到最終輸出的頻率與幅值。由于軟件仿真的頻率與PC機的內存有關,當輸出頻率較大時(約1 MHz,具體與PC機內存配置有關),PC機無法正常仿真,故我們只采取仿真波形與幅值,最終將仿真波形反饋到前面板波形圖中。
4 試驗測試結果和分析
為測試系統的性能,測算并校驗所采集信號,連接儀器與示波器,構建實驗系統,并進行了實際性能測試。
如圖5所示,當通道一選擇方波,通道二選擇正弦波時,可以穩定輸出。當更改任意輸入方式時,均可以達到預想波形且實時性良好。其中信號幅度最高為5 V,正弦信號頻率最高為20 MHz。
5 結語
該文進行了基于Lab VIEW的簡單信號發生器軟件的設計,完成了上位機控制軟件的開發,解決實現了與硬件通信的方案。系統中使用的儀器高度集成,靈活性強;能按要求產生多種常見信號,參數能在較大范圍內連續可調;操作界面簡單,性能穩定可靠,可按需增減其他功能模塊。
參考文獻
[1] 樊煒.虛擬任意波信號發生器研究[D].浙江大學,2003:1-2.
[2] MHS2300系列雙通道DDS信號發生器通信協議[Z].2013.
[3] 張桐,陳國順,王正林.精通LabVIEW程序設計[M].北京:電子工業出版社,2008:277-299.
[4] 王麗君,劉悅.基于LabVIEW的虛擬信號發生器及示波器的設計[J].華北水利水電學院學報,2010,31(3).
[5] 劉麗桑.基于LabVIEW的虛擬信號處理系統[J].光學儀器,2007(9).
[6] National Instruments Corporation.Using NI-DAQmx to Control USB Device[Z].Reference Materials,2005.
[7] National Instruments Corporation.Using External Code in LabVIEW[Z].Reference Materials,2003.endprint
3.2.1 通信協議指令寫入設計
通信協議指令寫入部分如圖3所示。
寫入部分主要是根據通信協議指令格式,寫入VISA。其中需要設置波形,通過條件循環結構,選擇波形。頻率和幅度通過數字轉字符函數,轉換為字符串,最后通過組合字符串函數,將所有字符組合,最后加入換行符。從而完成對儀器的通信指令寫入。之后在層疊式順序結構中,加入500 ms延時,以便儀器有足夠時間返回數據。
3.2.2 通信協議指令讀取設計
通信協議指令讀取部分如圖4所示。
在對儀器寫入指令之后,通過連接屬性節點,連接VISA讀取函數。讀取緩沖區的字符串,利用截取字符串函數與字符串轉數值函數,獲得需要的返回頻率和返回幅值。從而得到最終輸出的頻率與幅值。由于軟件仿真的頻率與PC機的內存有關,當輸出頻率較大時(約1 MHz,具體與PC機內存配置有關),PC機無法正常仿真,故我們只采取仿真波形與幅值,最終將仿真波形反饋到前面板波形圖中。
4 試驗測試結果和分析
為測試系統的性能,測算并校驗所采集信號,連接儀器與示波器,構建實驗系統,并進行了實際性能測試。
如圖5所示,當通道一選擇方波,通道二選擇正弦波時,可以穩定輸出。當更改任意輸入方式時,均可以達到預想波形且實時性良好。其中信號幅度最高為5 V,正弦信號頻率最高為20 MHz。
5 結語
該文進行了基于Lab VIEW的簡單信號發生器軟件的設計,完成了上位機控制軟件的開發,解決實現了與硬件通信的方案。系統中使用的儀器高度集成,靈活性強;能按要求產生多種常見信號,參數能在較大范圍內連續可調;操作界面簡單,性能穩定可靠,可按需增減其他功能模塊。
參考文獻
[1] 樊煒.虛擬任意波信號發生器研究[D].浙江大學,2003:1-2.
[2] MHS2300系列雙通道DDS信號發生器通信協議[Z].2013.
[3] 張桐,陳國順,王正林.精通LabVIEW程序設計[M].北京:電子工業出版社,2008:277-299.
[4] 王麗君,劉悅.基于LabVIEW的虛擬信號發生器及示波器的設計[J].華北水利水電學院學報,2010,31(3).
[5] 劉麗桑.基于LabVIEW的虛擬信號處理系統[J].光學儀器,2007(9).
[6] National Instruments Corporation.Using NI-DAQmx to Control USB Device[Z].Reference Materials,2005.
[7] National Instruments Corporation.Using External Code in LabVIEW[Z].Reference Materials,2003.endprint