欧美日韩亚州综合,国产一区二区三区影视,欧美三级三级三级爽爽爽,久久中文字幕av一区二区不卡

你的位置:首頁 > 測試測量 > 正文

如何使用Python編程語言和ADALM2000創建虛擬示波器

發布時間:2022-08-08 來源:ADI 責任編輯:wenwei

【導讀】一個功能齊全的物理實驗室造價不菲,其中的各式實驗儀器常常價格昂貴,而且管理復雜。試想如果能夠構建一個可放入口袋、隨時便攜的虛擬電子實驗室,那么將為未來帶來無限的可能。虛擬電子實驗室,是通過一系列基于軟件的應用來實現的仿真電子儀器所組成的模擬實驗室環境,用戶可以在該環境中開展大量電子實驗。


本文旨在演示用戶如何使用ADI ADALM2000和簡單的開源編程語言Python開發所需的虛擬實驗室儀器。通過Python與ADALM2000相結合,可以開發多種虛擬實驗室儀器,如示波器、信號發生器、數字萬用表等。其中,示波器作為物理電子實驗室中常用的基本儀器之一,是個不錯的入門選擇,將在下文中重點討論。


什么是示波器?


示波器可用于常見電路和復雜電路的信號分析,是電子工程的重要組成部分。如今的示波器能夠與計算機連接,因此在示波器中捕獲的信號能夠以數字形式存儲,供日后分析。


1658742784984133.jpg

圖1.示波器示意圖


示波器用于直觀呈現模擬或數字波形的電壓和時間特性。前面板控件(放大器觸發、掃描時間和顯示屏)用于調整顯示內容,以更好地直觀呈現信號。


示波器可展示信號輸入在特定時間段內的行為,這對于分析常見電路至關重要。此外,它有助于驗證這些電路的功能。這也是示波器成為不可或缺的電子實驗設備的主要原因。ADI允許工程師定制自己的示波器來滿足需求,從而可以改進特定電子電路的分析。


ADALM2000是什么?


ADALM2000是主動學習模塊,具有數字示波器、函數發生器、邏輯分析儀、電壓表、頻譜和數字總線分析儀,以及兩個可編程的電源。對于基礎用戶或學生,可以將Scopy與ADALM2000連接。對于應用開發人員,可使用libm2k庫開發應用接口。對于固件開發人員,還可以選擇開發能夠直接在ADALM2000上運行的定制軟件或HDL。


開始使用


安裝Python和PyCharm


Python是功能強大、簡單易學的開源編程語言。Python可從Python官方網站下載。如果不確定要使用哪個版本,請選擇Python 3.7。


Python可在沒有集成開發環境(IDE)的情況下使用,但為了更輕松地下載庫和進行調試,可以使用PyCharm。PyCharm是一個IDE,為開發人員提供多個必需的工具,因而是用于Python開發的熱門IDE。在JetBrains官方網站下載最新版PyCharm Community。


安裝庫


Python庫包含可用于特定應用的方法或函數。在本文中,將使用libm2k、matplotlib和NumPy。


Libm2k


若要使用Python與ADALM2000交互,需要安裝libm2k庫。這是C++庫,帶有可用于Python、C#、MATLAB?和LabVIEW?的綁定,具備以下功能:


   ○ AnalogIn用于示波器或電壓表。我們將重點介紹該功能。

   ○ AnalogOut用于信號發生器。

   ○ Digital用于邏輯分析儀或模式發生器。

   ○ PowerSupply用于恒壓發電機。

   ○ DMM用于數字萬用表。


安裝Libm2k


安裝該庫的一種方法是按照以下步驟操作:


   ○ 轉到發布頁面。


■下載該庫的最新可執行版本。示例:Libm2k-0.4.0-Windows-Setup.exe


   ○ 運行可執行文件。當“設置”窗口提示選擇其他任務時,請務必選擇安裝libm2k Python綁定。


2.jpg

圖2.Libm2k安裝窗口


   ○ 安裝結束。Libm2k將安裝在Python的默認環境中。


Matplotlib


若要創建示波器顯示,您需要使用matplotlib庫。該庫備受歡迎且易于使用,用于在Python中定制和顯示可視化內容。有關該庫的詳細信息,請訪問matplotlib網站。


NumPy


簡單的示波器仍將需要大量數學計算。NumPy庫可以為復雜的計算提供簡單的函數。有關該庫的詳細信息,請訪問NumPy網站。


安裝Matplotlib和NumPy


若要安裝matplotlib和NumPy,請在PyCharm中按照以下步驟操作:


   ○ 轉到“文件”>“設置”>“項目解釋器”。

   ○ 點擊“設置”窗口右側的+圖標。

   ○ 將出現“可用軟件包”窗口。在搜索框中,搜索matplotlib和NumPy。

   ○ 指定要安裝的版本(選擇最新版本)。

   ○ 點擊安裝軟件包按鈕。


1658742713343599.jpg

圖3.在PyCharm中安裝庫包


硬件設置


在開始編碼前,我們先設置硬件組件。需要使用以下硬件組件:


   ○ 信號源(或信號發生器,如適用)

   ○ ADALM2000

   ○ 探頭和限幅器


如果信號發生器可用,請按照圖4中顯示的配置,使用探頭和/或限幅器將ADALM2000設備連接到通道1和通道2。


1658742696233711.jpg

圖4.使用信號發生器和ADALM2000的實際設置


表1.引腳配置

5.png


對于其他可用的信號源,也可以遵循相同配置。最后,通過USB端口將ADALM2000設備連接到PC。


簡單的虛擬示波器


在這一部分將逐個代碼塊介紹程序,還將討論代碼的作用,并說明以這些方式編寫代碼的原因。隨后的部分中將演示修改基礎代碼,以添加更多功能,從而滿足開發人員用例要求。


首先,導入將用于開發虛擬示波器的三個庫(libm2k、matplotlib和NumPy)。


6.jpg


統一資源標識符(URI)是連接到PC的每個ADALM2000的唯一標識符。該代碼塊確保ADALM2000連接到PC。如果沒有ADALM2000設備插入PC,代碼將自動退出。


7.jpg


通過檢測到的URI連接到ADALM2000。“uri[0]”是在連接了多個設備的情況下檢測到的第一個ADALM2000設備的URI。


8.jpg


對ADC和DAC運行校準。這是確保獲得準確測量的重要步驟。


9.jpg


設置采樣速率和時長。可用采樣速率有1 kHz、10 kHz、100 kHz、1 MHz、10 MHz和100 MHz。采樣速率是在1秒內獲得樣本的次數,時長是獲得這些樣本的持續采樣時間。例如,如果將采樣速率設為1000,時長設為3,那么每秒將獲得1000個樣本,并持續采樣3秒。因此,共有3000個樣本。


10.jpg


啟用并將通道1設置為示波器的模擬輸入。


1658742632445294.jpg


Linspace用于創建等間距的樣本陣列,并可使用該NumPy函數創建時間x軸數據陣列。該函數的第一和第二個參數分別表示陣列的起始和結束值。最后一個參數是希望在起始和結束值范圍內生成的樣本數。


在該示例中,起始值是0,結束值是設置的時長,也就是3。對于樣本數,將duration與sample_rate相乘,即可獲得所需的總樣本數,也就是3000個樣本。這3000個樣本將


均勻放置在0和3之間。該數組將存儲在time_x中。


data_y存儲我們使用ADALM2000設備收集的波形樣本。通道1的樣本存儲在data_y[0]中,通道2的樣本存儲在data_y[1]中。為了顯示精確的波形頻率,必須使用與time_x相同的樣本數量。


12.jpg


創建將處理的圖形。plt.subplots函數將返回圖形對象(存儲在g中)和軸對象(存儲在ax中),這些對象將用于自定義整個圖形。


這里可以添加網格線,作為波形的參考坐標。添加軸標簽和y限制,以添加有關圖形的更多細節。


13.jpg


顯示圖形。


14.jpg


在代碼末尾銷毀上下文。


15.jpg


運行代碼,將會看到類似圖5的圖形。


16.jpg

圖5.單通道正弦波輸出;一個信號發生器輸出:10 Hz,2 V p-p


雙通道虛擬示波器

在這一部分,將使用上一部分中的代碼,并添加更多代碼塊,以創建雙通道虛擬示波器。


若要添加另一個通道,請復制ocsi.enableChannel和ocsi.setRange行代碼,并將第一個參數從


1658742559585018.jpg


在創建圖形時,為通道2添加另一個圖形。通道2的數據在data_y[1]陣列中。也可以自定義兩個圖形的顏色,以便輕松區分二者。在該示例中,通道1使用淺珊瑚色,通道2使用鋼藍色。


18.jpg


運行代碼,應該會得到類似圖6的結果。


19.jpg

圖6.雙通道正弦波輸出。通道1信號發生器輸出:10 Hz,2 V p-p;通道2信號發生器輸出:5 Hz,3 V p-p。


虛擬示波器的其他功能


在這一部分,將為虛擬示波器添加其他功能,以提升交互性。Matplotlib提供我們可以使用的多個小部件。在該示例中,將使用文本標簽和滑塊小部件,并將繼續使用上一部分中的代碼。


為matplotlib滑塊添加另一次導入。


20.jpg


將時間和數據陣列轉換為NumPy陣列。在下一個代碼塊進行的計算中,將使用這些陣列。


21.jpg


獲取所有波形數據后,提取這些波形的特性將不在話下。在以下代碼塊中,從獲取的兩個通道的數據中提取了Vpp、Vave和Vrms。要計算Vpp,將data_y numpy陣列中找到的最大值和最小值的絕對值相加。要計算Vave,只需用Vpp除以pi。要計算Vrms,用Vpp除以2乘以√2。


22.jpg


該代碼塊與前面部分類似。唯一的區別是,為圖形使用NumPy陣列,而不是使用原始陣列。同時還根據圖形創建了波形對象。稍后將使用這些對象。


23.jpg


為了在圖形中顯示計算的Vpp、Vave和Vrms,將利用matplotlib庫中的文本標簽小部件。創建字符串標簽label_ch1和label_ch2,然后連接這兩個字符串,以創建最終標簽n_label。通過使用plt.text創建文本標簽。第一和第二個參數(0.2, 3)是文本的x和y位置。第三個參數是要顯示的字符串。第四和第五個參數分別是文本和框的樣式。


1658742501945304.jpg


接下來,創建偏移滑塊。該滑塊用于調整波形的參考電平。將主圖形向左調整,為滑塊留出空間。plt.axes定義滑塊的尺寸、位置和表面顏色。Slider函數用于為偏移滑塊創建具有特定特性的對象。


25.jpg


創建update_offset函數,并將其注冊到offset_slider對象。每次更改滑塊的值時,該函數都會向波形添加偏移量。


26.jpg


運行代碼,將會看到類似圖7的圖形。


27.jpg

圖7.帶偏移滑塊的默認雙通道正弦波輸出


嘗試使用滑塊調整偏移量。將會看到波形實時上下移動。


1658742462750569.jpg

圖8.調整偏移量滑塊(向左滑動),用于調整兩個通道輸出的偏移量


總結


本文解釋了擁有虛擬電子實驗室的重要性和便利性。文中還演示了如何使用ADALM2000和Python開發虛擬示波器。討論了軟件要求和硬件設置,并提供了3個示例供參考。


關于ADI公司


ADI是全球領先的高性能模擬技術公司,致力于解決最艱巨的工程設計挑戰。憑借杰出的檢測、測量、電源、連接和解譯技術,搭建連接現實世界和數字世界的智能化橋梁,從而幫助客戶重新認識周圍的世界。詳情請瀏覽ADI官網www.analog.com/cn。


關于作者


Arnie Mae Baes于2019年12月加入ADI公司,擔任固件工程師。在進入公司的第一年,她重點負責GUI和固件開發。2020年12月,她加入消費電子軟件工程部門,現在重點負責固件測試開發。她畢業于菲律賓八打雁國立大學,獲電子工程學士學位。聯系方式:arniemae.baes@analog.com。


Christian Jason Garcia是ADI公司的一名固件驗證工程師,工作地點在菲律賓垂亞斯將軍城。他擁有圣托馬斯大學電子和通信工程學士學位,于2018年11月加入ADI公司。他在電動交通部門專門負責SmartMesh網絡的軟件測試和系統驗證。聯系方式:christian.garcia@analog.com。


作者:ADI軟件系統工程師Christian Jason Garcia & Arnie Mae Baes



免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯系小編進行處理。


推薦閱讀:


TDK如何助力于無線耳機音質的不斷發展?

完整教程:設計一款小巧但強大的傳感器

深度解讀鎖存器和開關技術及其應用

如何加速USB快充電池充電器設計

實現小型化電源設計的4個小技巧

特別推薦
技術文章更多>>
技術白皮書下載更多>>
熱門搜索

關閉

?

關閉

欧美日韩亚州综合,国产一区二区三区影视,欧美三级三级三级爽爽爽,久久中文字幕av一区二区不卡
国产精品国产三级国产普通话三级| 国产原创一区二区三区| 欧美日韩一二三| 国产精品一区二区三区四区| 亚洲男人天堂av| 久久人人超碰精品| 欧美天堂一区二区三区| 国产99久久久久| 日韩va亚洲va欧美va久久| 亚洲三级久久久| 日韩精品一区二区三区在线观看| 一本一道久久a久久精品综合蜜臀 一本一道综合狠狠老 | 国产精品1024| 午夜精品在线看| 亚洲欧美在线aaa| 久久久噜噜噜久噜久久综合| 在线电影一区二区三区| 一本大道综合伊人精品热热| 国产精品亚洲午夜一区二区三区| 五月天亚洲精品| 亚洲国产一区二区三区| 中文字幕字幕中文在线中不卡视频| 欧美成人三级在线| 91精品国产色综合久久不卡蜜臀| 欧美视频精品在线观看| av电影在线观看一区| 国产成人午夜99999| 久久99精品久久久久久国产越南| 奇米777欧美一区二区| 亚洲第一电影网| 亚洲成人激情综合网| 一区二区在线观看视频| 亚洲免费观看高清| 亚洲女爱视频在线| 亚洲乱码国产乱码精品精小说| 国产精品久久久久久久久晋中| 久久久久久久综合日本| 久久婷婷国产综合国色天香| 久久老女人爱爱| 国产亚洲精品免费| 国产午夜精品久久久久久免费视| 精品国产污网站| 精品国产青草久久久久福利| 久久婷婷国产综合精品青草| 日本一区二区在线不卡| 国产精品不卡一区| 国产精品美女久久久久aⅴ| 国产精品女同互慰在线看| 国产亚洲女人久久久久毛片| 欧美激情艳妇裸体舞| 欧美国产日韩在线观看| 亚洲视频一二三| 亚洲国产欧美在线| 日韩高清不卡在线| 麻豆91在线观看| 国产成人午夜精品影院观看视频 | 在线亚洲一区二区| 欧美日韩在线播放一区| 欧美丰满嫩嫩电影| 精品国产第一区二区三区观看体验 | 日韩福利视频导航| 久久精品二区亚洲w码| 国产乱子轮精品视频| 成人污污视频在线观看| 欧洲一区二区三区在线| 日韩精品综合一本久道在线视频| 精品国产免费一区二区三区香蕉| 国产精品网站在线| 亚洲国产精品一区二区尤物区| 亚洲地区一二三色| 国模套图日韩精品一区二区| 成人av网址在线| 91精品国产乱码| 国产精品网站一区| 午夜成人免费视频| 丁香亚洲综合激情啪啪综合| 欧美撒尿777hd撒尿| 久久亚洲精华国产精华液 | 欧美日韩在线观看一区二区 | 亚洲精品一区二区三区精华液| 国产精品乱人伦| 亚洲大片免费看| 国v精品久久久网| 欧美在线观看视频在线| 久久久不卡网国产精品二区| 亚洲狠狠爱一区二区三区| 激情久久五月天| 欧美视频在线不卡| 国产精品天美传媒| 麻豆成人91精品二区三区| 91极品视觉盛宴| 国产精品免费视频一区| 裸体在线国模精品偷拍| 欧美在线小视频| 亚洲国产精品99久久久久久久久| 天天射综合影视| 99在线精品一区二区三区| 精品美女在线播放| 亚洲国产综合人成综合网站| 成人精品一区二区三区四区| 91精选在线观看| 一区二区三区自拍| av福利精品导航| 国产午夜一区二区三区| 三级在线观看一区二区 | 一本一道综合狠狠老| 久久久99精品免费观看| 日本网站在线观看一区二区三区 | 国产欧美一区二区三区在线看蜜臀| 婷婷中文字幕综合| 91国产成人在线| 国产精品成人免费精品自在线观看| 久久av老司机精品网站导航| 欧美精品久久天天躁| 亚洲综合成人网| 91福利国产成人精品照片| 亚洲欧洲一区二区在线播放| 国产一区二区三区四区在线观看| 欧美大胆一级视频| 免费在线观看成人| 日韩一区二区在线观看视频| 日韩一区欧美二区| 欧美日韩一二三区| 午夜精品久久久久久久久久久| 在线免费观看视频一区| 亚洲精品亚洲人成人网| 色综合网站在线| 一区二区三区中文字幕在线观看| 波多野结衣视频一区| 亚洲欧洲日韩女同| 91亚洲午夜精品久久久久久| 成人欧美一区二区三区黑人麻豆| 成人av电影免费在线播放| 国产精品少妇自拍| av一区二区三区| 亚洲乱码国产乱码精品精小说| 色婷婷综合视频在线观看| 亚洲小说欧美激情另类| 91国在线观看| 视频一区二区中文字幕| 91精品国产色综合久久| 九色综合狠狠综合久久| 久久久久久久久久久久久久久99| 国产精品亚洲成人| 国产精品青草综合久久久久99| 99v久久综合狠狠综合久久| 亚洲激情在线激情| 欧美日韩国产高清一区二区 | 图片区小说区区亚洲影院| 欧美一级精品在线| 国产精品1区2区| 亚洲色图.com| 6080国产精品一区二区| 精品亚洲成av人在线观看| 欧美激情在线免费观看| 欧美在线观看视频在线| 奇米影视一区二区三区| 久久精品免视看| 91麻豆精品一区二区三区| 丝袜亚洲精品中文字幕一区| 日韩欧美中文一区| 成人网在线免费视频| 亚洲国产视频一区| 久久久久久一级片| 一本大道av伊人久久综合| 日本不卡高清视频| 国产精品蜜臀在线观看| 欧美色区777第一页| 国模娜娜一区二区三区| 亚洲欧美国产三级| 日韩欧美一区二区视频| 成人成人成人在线视频| 五月婷婷久久综合| 亚洲国产精品成人综合| 欧美另类变人与禽xxxxx| 福利一区二区在线| 天天综合网 天天综合色| 久久久午夜电影| 欧美日韩一区三区| 国产成人免费视频一区| 亚洲成年人影院| 国产性色一区二区| 欧美精品18+| 成人免费av在线| 蜜臀av性久久久久蜜臀aⅴ| 国产精品久久久久久久午夜片| 69堂成人精品免费视频| 91蜜桃免费观看视频| 激情另类小说区图片区视频区| 亚洲午夜激情网页| 亚洲欧洲精品一区二区三区不卡 | 国产精品免费免费| 精品人在线二区三区| 欧美吻胸吃奶大尺度电影| 成人h精品动漫一区二区三区| 青青草97国产精品免费观看 | 一区二区理论电影在线观看| 99久久婷婷国产综合精品电影| 国产99一区视频免费| 精品久久久久久久一区二区蜜臀|