任意函數(shù)發(fā)生器AFG作為電子工程師常用的測試測量儀器之一,說到任意函數(shù)發(fā)生器,我們都知道它可以用來輸出各種實驗室測試所需要的波形。廣泛用于研究、時鐘和系統(tǒng)同步、復(fù)現(xiàn)真實環(huán)境信號、元器件和電路表征和驗證、嵌入式電路設(shè)計和測試等。
大多數(shù)電子器件、電路和系統(tǒng)都是為處理某種形式的信號設(shè)計的。這些信號有時很簡單,有時很復(fù)雜,AFG可以既可以創(chuàng)建簡單信號,也可以產(chǎn)生復(fù)雜信號。任意函數(shù)發(fā)生器AFG內(nèi)置正弦波、方波、鋸齒波、脈沖、噪聲等常用基本波形;AFG更重要的功能就是可以任意編輯波形,如何實現(xiàn)快捷編寫編輯任意波形自動發(fā)送到AFG中?
另外,有些特殊場合,由于安全問題,需要把函數(shù)發(fā)生器AFG放到封閉實驗室環(huán)境下進行測試,也需要編程控制AFG輸出信號安全地完成測試任務(wù)。
實現(xiàn)對任意函數(shù)發(fā)生器AFG的自動輸出基本波形和任意波形,成為很多前沿科學(xué)研究和實驗,以及生產(chǎn)自動化的必需環(huán)節(jié)。
由于Python免費、開源、語法簡單、開發(fā)效率高,深受廣大工程師的喜愛。下面將以文章和視頻的方式詳細講解如何利用Python語言編程控制泰克的AFG輸出基本波形,以及編輯任意波形數(shù)據(jù)自動發(fā)送到AFG內(nèi)存中,讓任意函數(shù)發(fā)生器AFG輸出信號隨心所欲。
1、AFG編程前的準備工作
利用Python控制儀器,需要安裝相應(yīng)的功能模塊庫才能實現(xiàn)控制儀器。下面介紹Python編程之前的準備工作。
1.安裝Python
可登錄Python官方網(wǎng)站www.python.org下載Python,然后安裝Python 3.10.4新版。
2. 安裝PyVISA
PyVISA是用來控制各種測量儀器的Python包,可支持GPIB、RS232、USB、Ethernet等接口??梢宰杂傻倪\行在Windows,Linux和Mac上,適用于不同儀器廠家。PyVISA也可以通過pip命令安裝(pip install pyvisa)。
3.安裝NI-VISA
為了PyVISA可靠工作,還需要安裝一個VISA。建議安裝NI-VISA庫,可以去NI官方網(wǎng)站下載安裝(http://www.ni.com)。
4.控制接口的選擇
根據(jù)AFG支持的接口,可選用USB、Ethernet等接口來編程控制AFG,本文利用Python通過USB口編程控制任意函數(shù)發(fā)生器AFG為例。
控制接口的選取
a. LAN
[TCPIP0::192.168.9.13::inst0::INSTR]
b. USB
[USB::XXX::XXX::XXX::INSTR],
如: [USB::0x0699::0x035E::C014327::INSTR]
2、Python編程控制AFG實例
下面的編程實例以AFG31000為例,利用Python控制任意函數(shù)發(fā)生器AFG,通過發(fā)送SCPI指令實現(xiàn)對AFG的控制和操作,設(shè)置AFG輸出波形類型、輸出頻率、輸出幅度等參數(shù);也可以編寫任意波形數(shù)據(jù)自動發(fā)送到AFG內(nèi)存中,讓任意函數(shù)發(fā)生器AFG輸出測試所需的任意信號。
1.導(dǎo)入功能庫
利用import導(dǎo)入相關(guān)的功能庫。
2.連接AFG
AFG可以支持USB和Ethernet等接口,本文利用USB口控制AFG為例。
3.詢問AFG IDN
利用query發(fā)送SCPI命令詢問AFG的產(chǎn)品信息,可以得到產(chǎn)品的廠家、型號、序列號、固件版本等。
4.設(shè)置AFG輸出基本波形
利用Wrtie發(fā)送SCPI命令設(shè)置的參數(shù),命令可參考AFG的編程手冊。
Reset 任意函數(shù)發(fā)生器
設(shè)置AFG輸出基本波形類型和參數(shù)
5.編寫自定義的任意波形數(shù)據(jù)
先用python編寫自定義的任意波形數(shù)據(jù),本文編寫隨機波形數(shù)據(jù)為例。
6.自動發(fā)送自定義數(shù)據(jù)到AFG
由于AFG是14bit,把編寫自定義的波形數(shù)據(jù)進行歸一化到0至16382,然后發(fā)送到AFG的通道內(nèi)存中并輸出。
歸一化數(shù)據(jù)
發(fā)送數(shù)據(jù)到AFG通道內(nèi)存
7.設(shè)置AFG輸出的重復(fù)頻率
設(shè)置AFG輸出信號的重復(fù)頻率和打開輸出通道。
8.斷開儀器連接
利用close斷開與AFG通信連接。
3、總結(jié)
本文詳細介紹利用Python編程控制AFG輸出基本波形,以及編輯任意波形數(shù)據(jù)自動發(fā)送到AFG內(nèi)存中,讓任意函數(shù)發(fā)生器AFG輸出信號隨心所欲。