作者:ADI產品應用工程師Lluis Beltran Gil 摘要 評估板(EVB)及其配套軟件具有即插即用功能,可輕松評估ADI產品的性能。其圖形用戶界面(GUI)提供了直觀的方式,可進行手動配置并與該設備通信。但是,在更復雜的產品中,如果不能自動處理這些重復性任務,那么在評估所有可用功能的同時,掃描產品的所有附加功能可能會變得非常耗時。 文中說明了如何記錄宏,以及如何無需開發復雜的軟件控制器代碼,也能在Python®和MATLAB®環境中使用宏來自動處理某些評估任務。本文以ADI的AD7380和AD7606C-16為例自動處理所有用戶交互,用于掃描不同的配置,發起轉換,然后導出結果。通過使用這些示例,來自動評估過采樣數字濾波器帶給模數轉換器(ADC)的性能優勢。雖然本文著重介紹AD7380和AD7606C-16,但文中的信息也適用于ADI的其他產品和應用。 簡介 ADI提供了一些方法來輕松評估每次發布的新產品及其可實現的性能和特性。首先,我們的評估板由印刷電路板(PCB)(集成主要器件,例如ADC)和所需的配套產品(例如基準電壓源、驅動放大器、時鐘源、電源解決方案等)組成。其次,這些板附帶的軟件可以展示解決方案可實現的實際性能。它展示了使用該平臺可以獲得的真實數據。在過去幾年中,ACE軟件1平臺一直用于此目的。 在ACE平臺中,每個產品都有一個插件,通過簡潔明了的GUI訪問設備寄存器映射,從而簡化了設備配置。 在ADC示例中,ACE通常以波形或直方圖的形式顯示原始數據,并通過FFT計算AC性能指標,例如SNR或THD。本文展示如何無需進行軟件開發自動處理所有這些程序。 圖1.評估板的硬件和軟件交互框圖,包括ACE與Python/MATLAB的通信。 ACE插件 圖2顯示AD7380插件芯片視圖,其中包含多個按鈕,以便輕松配置該器件: 1. REF允許選擇內部或外部基準電壓源 2. OSC可以啟用過采樣,并設置過采樣率 圖2.AD7380的ACE插件芯片視圖 圖3顯示AD7606C-16插件芯片視圖,其中多個按鈕用深藍色突出顯示,可用于: 1. 通過單擊PGA符號選擇每個通道的模擬輸入范圍 2. 選擇內部或外部基準電壓源 3. 選擇過采樣率 4. 配置偏置/增益/相位校準功能 5. 配置診斷 圖3.AD7606C-16的ACE插件芯片視圖 雖然前面的示例使用ADI AD7380和AD7606C-16,但本文不止介紹這些產品,還包括與ACE配套使用和用于自動處理重復性任務的所有其他器件。每個ACE插件都有自己的GUI布局。但是,隨著產品日益變得復雜,添加的功能越來越多(例如診斷、校準等),手動測試所有這些功能也會變得更加復雜和繁瑣。ACE遠程控制能夠設置或掃描參數,例如,掃描過采樣率和測量噪聲性能的改善程度。 設置ACE遠程控制 在開始編寫遠程控制ACE的代碼之前,需要先按照以下步驟與ACE建立通信: 1. 打開ACE,前往設置 2. 找到IPC服務器選項卡,確保已啟動該服務器 3. 確保已分配了一個端口,最好是2357 圖4.與ACE建立通信 記錄宏,生成腳本 ACE提供宏工具菜單,通過將配置和設備交互步驟存入宏文件進行記錄。生成宏之后,可以使用該宏來一次性自動重復所有步驟。以下是生成宏的步驟: 1. 打開ACE,進入工具 >> 宏工具。 2. 點擊圖5中藍色高亮顯示區域中圖標右側的記錄宏命令按鈕。 3. 開始執行設備交互,例如更改參數、向存儲器映射中的寄存器輸入值、捕捉數據等。在瀏覽和使用GUI時,命令窗口中會填入信息。 4. 在記錄要輸入的所有操作/設置之后,點擊停止記錄宏命令按鈕。按鈕在上述同一位置。將會自動彈出命令窗口。 例如,在記錄宏時,用戶使用圖2中所示的按鈕配置過采樣率和分辨率模式。命令窗口如圖5所示。 圖5.命令窗口和宏工具 在這個窗口中,可以查看記錄的所有步驟,甚至可以跳過/中斷任何無需自動生成的步驟,然后將整個程序導出到一個可選擇語言的腳本中,如圖5中紅色高亮部分所示。 記錄宏文件之后,可以再次保存和播放,以重復之前執行過的步驟。ACE有一個內置功能,可以生成腳本,按照所選的受支持的語言執行記錄的操作。所以,按照之前的列表,接下來的步驟是: 1. 點擊圖5中藍色高亮顯示區域右側的生成圖標,打開腳本生成器窗口。 2. 從C#、MATLAB或Python中選擇所需的語言,然后點擊導出。 之后,可以將該代碼導入IDE中執行。以這段代碼為基礎,添加額外的功能,例如儀器控制,構建自動測試臺,以獲取測量結果。2接下來的章節中顯示的示例使用Visual 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位字帶來的真正優勢,需要兩個額外的分辨率位。 表1.AD7380 SNR與過采樣率的關系 OSR 動態范圍 (正常分辨率) 動態范圍 (提高分辨率,18位) 1 90.8 dB 90.8 dB 2 92.6 dB 93.6 dB 4 94.3 dB 96.5 dB 8 95.8 dB 99.2 dB 16 96.3 dB 100.4 dB 32 96.5 dB 100.5 dB 使用MATLAB自動處理評估任務 與Python示例一樣,自動生成的代碼也可以導出用于MATLAB中,在本例中生成一個.m文件。在本例中,宏被定義為一個函數,但可以對宏進行編輯,以便使用輸入參數。以下MATLAB示例使用AD7606C-16板。 同樣,可以通過自動使用ACE來輕松評估AD7606C-16的過采樣優勢。圖9顯示一個MATLAB函數,經過編輯后可以使用多種參數,例如吞吐量、樣本數量、接口類型(串行或并行)、基準電壓源(內部或外部)、過采樣率、數字走線數量或模擬輸入范圍。 圖9.編輯MATLAB函數,以便使用輸入參數 這個特定函數可以在主代碼中使用,以快速啟用不同配置的數據采集,輕松執行多個AD7606C-16指標比較,例如: ► 噪聲性能與過采樣率 ► 性能與吞吐量 ► 性能與模擬輸入范圍 ► 內部基準電壓源與外部基準電壓源 ► 串行接口與并行接口等等。 注意,這只是以AD7606C-16為例;根據所評估的產品不同,可能需要執行多種不同的性能評估。 您可以訪問wiki.analog.com4查看AD7606C-16的使用說明,包括可用的源代碼。其中介紹了如何生成宏代碼,也給出了后期處理數據的示例。OversamplingSweep.m示例掃描過采樣率,針對每個值繪制代碼直方圖。如圖10所示,過采樣率越大,代碼直方圖越窄。表2也顯示代碼的峰峰值分布如何隨過采樣降低。 表2.AD7606C-16的代碼分布與過采樣率的關系 OSR 峰峰值(LSB) 1 16 2 13 4 12 8 10 16 7 32 6 64 4 128 4 256 2 圖10.代碼直方圖顯示噪聲性能如何隨過采樣率改善?墒褂煤唵文_本掃描可用的多種過采樣率選項(高達256個)。 結論 新型ACE平臺可作為新評估板的軟件框架,由于能夠記錄宏,對于希望加快ADI產品評估工作速度的硬件設計人員來說,這是一個有利的工具。這些宏通過行業通用的編程語言,例如Python或MATLAB助力實現測試自動化。自動處理這些任務反過來又會加快產品評估和選型,幫助加快上市時間,縮短硬件設計周期。有關此主題和其他主題,可訪問EngineerZone™獲取更多支持,也可訪問wiki.analog.com,獲取更多遠程控制示例。 參考資料 1 “分析 | 控制 | 評估(ACE)軟件!盇DI公司 2 “AD5791 ACE遠程控制!盇DI公司,2020年2月。 3 Jonathan Colao!斑m用于微型電機驅動應用的快速反應、光學編碼器反饋系統。”模擬對話,第54卷第2期,2020年4月。 4 “AD7606B/C ACE遠程控制。”ADI公司,2021年2月。 關于作者 Lluis Beltran Gil畢業于瓦倫西亞理工大學,于2009年獲電子工程學士學位,2012年獲工業工程學士學位。畢業后,Lluis于2013年加入ADI公司,擔任利默里克精密轉換器部的應用工程師。目前,Lluis就職于儀器儀表事業部SAR ADC應用團隊,工作地點在西班牙瓦倫西亞。他擁有瓦倫西亞大學電氣工程碩士學位。 |