評估板(EVB)及其隨附軟件可通過即插即用功能輕松評估ADI公司產品的性能。其圖形用戶界面 (GUI) 提供了一種直觀的方法來手動配置和與設備通信。但是,在更復雜的產品中,如果不自動執行這些重復性任務,則在評估所有可用功能的同時掃除所有產品的花里胡哨可能會變得耗時。
本文介紹如何記錄宏以及如何在 Python 和 MATLAB 環境中使用它來自動執行某些評估任務,而無需開發任何復雜的軟件控制器代碼。本文中使用的AD7380和AD7606C-16示例可實現所有用戶交互的自動化,以便它們掃描許多不同的配置并啟動轉換,然后導出結果。本文使用這些示例來自動評估過采樣數字濾波器為模數轉換器(ADC)帶來的性能優勢。雖然本文重點介紹AD7380和AD7606C-16,但本文中的信息也適用于其他ADI產品和應用。??
介紹
ADI提供了輕松評估每個新產品發布的方法,其可實現的性能及其特性。首先,我們的評估板由一個印刷電路板(PCB)組成,該電路板容納主要器件(例如ADC)以及所需的配套產品,如基準電壓源、驅動放大器、時鐘源、電源解決方案等。其次,這些板帶有軟件,可以展示解決方案可以實現的實際性能。它顯示可以通過該平臺獲取的真實數據。在過去的幾年里,ACE軟件1一直是用于此目的的平臺。
在 ACE 平臺中,每個產品都有一個插件,通過干凈、易于導航的 GUI 訪問設備寄存器映射來簡化設備配置。
以ADC為例,ACE通常以波形或直方圖的形式顯示原始數據,并通過FFT計算SNR或THD等交流性能指標。本文介紹如何在不需要軟件開發的情況下自動執行所有這些過程。
ACE 插件
圖2顯示了AD7380插入式芯片視圖,其中提供了幾個按鈕,可輕松配置器件:
REF 允許選擇內部或外部基準
OSC 可以啟用過采樣并設置過采樣率
圖2.AD7380的ACE插件芯片視圖。
圖3顯示了AD7606C-16插件芯片視圖,其中幾個按鈕(以深藍色突出顯示)可用于:
通過單擊 PGA 符號選擇每個通道的模擬輸入范圍
選擇參考源,無論是內部還是外部
選擇過采樣率
配置失調/增益/相位校準功能
配置診斷
圖3.AD7606C-16的ACE插件芯片視圖。
雖然前面的示例使用AD7380和AD7606C-16,但本文的范圍不僅僅是這些產品,而是與使用ACE和自動執行重復性任務相關的所有內容。每個 ACE 插件都有自己的 GUI 布局。但是,隨著產品復雜性的增加和添加的功能(例如,診斷、校準等),手動測試所有這些功能變得越來越復雜和乏味。ACE遙控器提供設置或掃描參數的能力,例如,掃描過采樣率并測量噪聲性能如何改善。
設置 ACE 遙控器
在開始創建代碼以遠程控制 ACE 之前,需要按照以下步驟建立與 ACE 的通信:
打開 ACE 并轉到“設置”
轉到“IPC 服務器”選項卡并確保它已啟用
確保分配了端口,最好是 2357
圖4.設置與 ACE 的通信。
錄制宏并生成腳本
ACE 有一個“宏工具”菜單,通過將配置和設備交互步驟放入宏文件中來記錄這些步驟。生成宏后,可以使用它一次自動重復所有步驟。以下步驟說明如何生成宏:
打開 ACE,然后轉到“工具”>>“宏工具”。
點擊 Record 宏命令按鈕,該按鈕位于圖標右側的藍色區域內,如圖 5 中突出顯示。
開始執行設備交互,例如更改參數、向內存映射上的寄存器輸入值、捕獲數據等。命令窗口將在 GUI 導航和交互時填滿。
記錄所有要輸入的操作/設置后,點擊停止錄制宏命令按鈕。位置與上述相同。然后將自動彈出命令窗口。
例如,在錄制宏時,用戶只需使用圖 2 中說明的按鈕即可配置過采樣率和分辨率模式。命令窗口如圖 5 所示。
圖5.命令窗口和宏工具。
在此窗口中,可以查看記錄的所有步驟,甚至可以跳過/中斷任何不需要的自動生成的步驟,然后將整個程序導出到可選擇的語言腳本中,如圖 5 中以紅色突出顯示的那樣。
錄制宏文件后,可以保存并再次播放以重復先前執行的步驟。ACE 具有內置功能,可生成腳本,這些腳本以所選支持的受支持語言執行錄制的操作。因此,按照上一個列表,接下來的步驟將是:
單擊圖 5 中突出顯示的藍色區域右側的 Generate 圖標,打開腳本生成器窗口。
在C#,MATLAB或Python中選擇所需的語言,然后點擊導出。
然后,可以將此代碼導入到 IDE 中執行。使用此代碼作為基礎,添加儀器控制等附加功能,以具有用于測量的自動測試臺。2Visual Studio Code或MATLAB用于下一節中顯示的示例,這些示例將僅使用產品評估板執行噪聲分析,而無需任何額外的設備。要查找用于操作、存儲或繪制所收集數據的代碼示例(如以下幾節所示),請訪問 wiki.analog.com 并搜索感興趣的評估板。
圖6.使用 Python 語言的 ACE 生成的代碼編輯器。
使用 Python 自動執行評估任務
上一節中生成的.py文件允許輕松啟動和重復一系列先前記錄的操作。此外,編輯這些腳本和自動執行某些任務會帶來更大的好處。按照上一個示例,在AD7380 ACE插件中設置過采樣比和分辨率,對生成的宏進行編輯以允許輸入參數,如圖7所示。請注意,默認情況下,這些宏稱為 execute_macro(),但此名稱可以更改為更具描述性的名稱。
圖7.編輯 Python 函數以使用輸入參數。
現在可以在內部調用此宏進行循環,掃描過采樣比率值,并查看噪聲性能如何隨著過采樣比率的增加而提高,以及看到啟用兩個額外分辨率位的好處。
圖8.這些指令適用于掃描過采樣率并打開和關閉兩個額外分辨率位的循環。
因此,Python 示例代碼訪問導出的數據文件,讀取 ACE 插件測量的 SNR 數據,并通過串行監視器報告這些數據。如表1所示,過采樣可改善噪聲性能3但是,在某一點上,需要額外的兩位分辨率才能看到AD7380顯示為18位字而不是16位字的真正優勢。
OSR | 動態范圍(正常分辨率) | 動態范圍(提升分辨率,18 位) |
1 | 90.8分貝 | 90.8分貝 |
2 | 92.6分貝 | 93.6分貝 |
4 | 94.3分貝 | 96.5分貝 |
8 | 95.8分貝 | 99.2分貝 |
16 | 96.3分貝 | 100.4分貝 |
32 | 96.5分貝 | 100.5分貝 |
使用 MATLAB 自動執行評估任務
與 Python 示例一樣,自動生成的代碼也可以導出到 MATLAB,在本例中生成一個 .m 文件。在這里,宏被定義為一個函數,但也可以編輯這些宏以允許輸入參數。以下MATLAB示例改用AD7606C-16板。
同樣,AD7606C-16過采樣的優勢可以通過自動化ACE輕松評估。圖 9 顯示了一個 MATLAB 函數,經過編輯以接受吞吐量、采樣數、接口類型(串行或并行)、基準源(內部或外部)、過采樣率、數字線路數或模擬輸入范圍等參數。
圖9.編輯 MATLAB 函數以使用輸入參數。
此特定功能可在主代碼中使用,以便快速啟動數據捕獲不同的配置,從而輕松執行多個AD7606C-16比較,例如:
噪聲性能與過采樣比
性能與吞吐量
性能與模擬輸入范圍的關系
內部基準與外部基準
串行接口與并行接口
等等。請注意,這只是AD7606C-16的示例;根據被評估的產品,可能會出現許多不同的性能評估需求。
AD7606C-16的好手可以在 wiki.analog.com 找到,4源代碼可用。這顯示了如何對宏進行編碼,并提供了對數據進行后處理的示例。OversamplingSweep.m 示例掃描過采樣率,并為每個值繪制代碼直方圖。如圖 10 所示,過采樣率越大,代碼直方圖越窄。表2還顯示了代碼的峰峰值分布如何隨著過采樣而減小。
圖 10(續)。代碼直方圖顯示了噪聲性能如何隨著過采樣率而提高。一個簡單的腳本允許掃描許多可用的過采樣率選項(最多 256)。
OSR | 峰峰值 (LSB) |
1 | 16 |
2 | 13 |
4 | 12 |
8 | 10 |
16 | 7 |
32 | 6 |
64 | 4 |
128 | 4 |
256 | 2 |
結論
較新的ACE平臺是最新評估板軟件的框架,對于任何渴望加快ADI產品評估工作的硬件設計人員來說,這是一個有利的工具,因為它具有記錄宏的能力。這些宏通過行業已知的編程語言(如 Python 或 MATLAB)實現測試自動化。反過來,自動化這些任務可以加快產品評估和選擇階段,從而縮短上市時間并縮短硬件設計周期。對于此主題和其他主題,始終可以在 EngineerZone 中找到進一步的支持?,更多遙控器示例可在 wiki.analog.com 中找到。
-
芯片
+關注
關注
459文章
52323瀏覽量
438197 -
轉換器
+關注
關注
27文章
8989瀏覽量
151136 -
寄存器
+關注
關注
31文章
5428瀏覽量
123785
發布評論請先 登錄
10 MHz高速數據轉換器系統評估套件(HSDC-SEK-10)

評論