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