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