【導(dǎo)讀】基于Hein van den Heuvel的電路,構(gòu)建了一個(gè)經(jīng)典的、三運(yùn)放、狀態(tài)變量振蕩器,并用一小粒小麥燈泡作為振幅穩(wěn)定電路。對(duì)電路中運(yùn)算放大器的各級(jí)負(fù)載進(jìn)行了一天的擺弄,成功地將諧波失真產(chǎn)物降至-95 dBc以下,滿足了當(dāng)時(shí)的需求。
幾年前曾需要一個(gè)快速、低頻、且失真極低的源來測試片上微控制器ADC,看它是否接近數(shù)據(jù)手冊(cè)所給出的有效位數(shù)(ENOB)和線性度。
凌特公司的設(shè)計(jì)失真度很低,不過設(shè)計(jì)有些復(fù)雜,對(duì)于那時(shí)的需要來說,似乎有點(diǎn)大材小用了。最后,基于Hein van den Heuvel的電路,構(gòu)建了一個(gè)經(jīng)典的、三運(yùn)放、狀態(tài)變量振蕩器,并用一小粒小麥燈泡作為振幅穩(wěn)定電路。
對(duì)電路中運(yùn)算放大器的各級(jí)負(fù)載進(jìn)行了一天的擺弄,成功地將諧波失真產(chǎn)物降至-95 dBc以下,滿足了當(dāng)時(shí)的需求。
雖然可以構(gòu)建分立式振蕩器電路,但調(diào)試起來比較復(fù)雜。還有溫度問題,如幅度漂移、頻率漂移、啟動(dòng)和穩(wěn)定時(shí)間等。同樣,我認(rèn)為將來如果有一個(gè)快速設(shè)置振蕩器,具有2.5至+/-10v的多路輸出,這樣就可以實(shí)現(xiàn)一個(gè)通用ADC測試平臺(tái),可快速測量任何16位精度的ADC。
通用ADC測試平臺(tái)
該測試平臺(tái)如果采用模擬方案,實(shí)施起來太慢了,這讓我想起不知道專業(yè)音頻分析儀的源是如何實(shí)現(xiàn)的?我想要么是構(gòu)建精密的分立式DDS,要么使用高分辨率I2S音頻DAC。
然后,開始瀏覽TI應(yīng)用手冊(cè),了解他們的超低失真測試振蕩器是如何實(shí)現(xiàn)的。果不其然,使用了一款Burr Brown的 帶I2S的音頻DAC,后接了一些高性能低通濾波器。
我買了幾個(gè)I2S DAC,將它們連接到我的一個(gè)微控制器演示板上,大約一天時(shí)間,I2S就開始運(yùn)行了,并且系統(tǒng)中產(chǎn)生出了一些基本像樣的信號(hào)。I2S的奇妙之處在于,它可以連接到處理器的DMA,使99%的數(shù)據(jù)傳輸對(duì)處理器透明。處理器所要做的就是,每隔一段時(shí)間把DMA管道充滿。
這只是一次體驗(yàn),在經(jīng)濟(jì)上并沒有優(yōu)勢,因?yàn)門I的電路售價(jià)才不到300美元,不過沒有公開API接口,無法從自己的測試程序來控制他們的解決方案。
然后我想,“USB聲卡加密狗怎么樣?它們也許既好用又便宜?!?/p>
快速搜索后發(fā)現(xiàn),Creative Labs確實(shí)有一款成本很低、但性能又非常高的16/24位USB加密狗,其名字令人印象深刻:“Creative Labs Sound Blaster Play!3"。這款不到20美元的設(shè)備,竟然具有24位/96 kHz的數(shù)據(jù)速率。我相信Creative Labs制造的不會(huì)是“垃圾”,所以買了來試用。
使用18位FFT分析儀進(jìn)行的初步測試表明,筆記本電腦不僅聽起來音質(zhì)更好,而且性能確實(shí)達(dá)到了16位失真水平,噪聲基底非常干凈。
對(duì)于我的通用ADC測試平臺(tái)來說,這種方法確實(shí)是一種“快速”解決方案,因?yàn)樗熊浖伎梢栽趯?shí)驗(yàn)室電腦上運(yùn)行;如今,我擁有了一套頻率和幅度都“可控”的信號(hào)源,并且運(yùn)行在我自己的電腦上,這樣就可以擁有獨(dú)立的應(yīng)用程序,甚至可以構(gòu)建API,以便在以后需要時(shí)納入自動(dòng)測試套件。
這就解決了很多問題,通過使用外部聲卡,精確的振幅和已知的質(zhì)量可以在任何測試平臺(tái)之間轉(zhuǎn)移,因?yàn)槲业臏y試筆記本電腦內(nèi)部聲卡的輸出振幅和真實(shí)音質(zhì)因地可變。
使用筆記本電腦作為測試控制器的另一個(gè)好處是,可以拔出電源適配器并用電池供電,從而消除了試圖快速更換地點(diǎn)并完成工作時(shí)經(jīng)常出現(xiàn)的許多接地回路問題。
聲霸(Blaster)放大器
現(xiàn)在需要的是用于聲霸加密狗(sound blaster dongle)的模擬接口板,以獲得“通用”測試裝置所需的輸出。
我在300歐姆的指定耳機(jī)負(fù)載上測量聲霸音頻輸出,并使用了一些測試音,滿量程輸出測量到一致的0.37V峰值,并與使用的PC或操作系統(tǒng)無關(guān)。
表1列出了常見的ADC輸入范圍。我認(rèn)為,如果覆蓋了常見的ADC輸入范圍,則通過音量控制來調(diào)整幅度,就可以實(shí)現(xiàn)范圍內(nèi)任何輸入的測量,不過這最終會(huì)降低可實(shí)現(xiàn)的信噪比(SNR ),然而,聲霸的SNR已足以滿足所預(yù)期的所有測量應(yīng)用。
表1:表中所列涵蓋了幾乎所有常見的ADC輸入范圍,這些是計(jì)算聲霸加密狗輸出端放大器所需增益和偏置的基礎(chǔ)。
表中的3.3V峰值范圍貌似有點(diǎn)奇怪,但在分辨率較低的設(shè)計(jì)中仍然會(huì)出現(xiàn),無論如何,基本設(shè)計(jì)大多是10位或12位ADC,因此決定在這些應(yīng)用中只使用音量控制和0-5V范圍,此時(shí)信噪比損失很小。
然后,我設(shè)計(jì)了具有所需的增益和偏置、且稱之為“BlasterAmp”的放大器,能夠轉(zhuǎn)換0.37峰值,即聲霸加密狗的滿量程輸出,以與表2中的數(shù)值匹配。
表2:BlasterAmp設(shè)計(jì)用于覆蓋表1中的常見電壓范圍,僅有4個(gè)增益步長和3個(gè)偏置設(shè)置。對(duì)于單極性則需要使用三個(gè)偏置電壓。
對(duì)于單極性范圍,有一點(diǎn)需要注意,雖然目前所講的這些范圍都是“軌到軌”,但幾乎總有一點(diǎn)偏差。這將對(duì)任何ADC/緩沖器測試造成嚴(yán)重影響,因?yàn)槿绻肮╇娷墶辈煌耆幱诹汶娖交驖M量程,ADC就會(huì)削波,導(dǎo)致嚴(yán)重失真,從而無法進(jìn)行任何有意義的測量。此外,有時(shí)ADC基準(zhǔn)電壓為2.048或4.096V,而不是2.5和5V。為了應(yīng)對(duì)這些情況,我使用了25圈精密微調(diào)電位器,以便在需要時(shí)對(duì)增益和偏置進(jìn)行微調(diào)。該精密微調(diào)還可以對(duì)聲霸加密狗、電阻容差和運(yùn)算放大器失調(diào)電壓存在的任何細(xì)微差異進(jìn)行補(bǔ)償。
圖1顯示了成品BlasterAmp的一個(gè)通道。根據(jù)需要,短路跳線用于改變偏置和增益,以適應(yīng)所需的各種輸出范圍。
圖1:立體聲聲霸放大器的單通道示意圖。
圖1中,增益和偏置范圍通過可移動(dòng)跳線設(shè)置,然后借助精密的25圈微調(diào)電位器進(jìn)行微調(diào)。U101周圍的電阻網(wǎng)絡(luò)是Vishay (OSOPTC1001AT0)的1 k歐姆匹配網(wǎng)絡(luò)。為了最大限度地減少電阻發(fā)熱和后續(xù)的失真,所有其他電阻的尺寸均為0805,精度為0.1%。為了消除失真,C100和C101必須是薄膜或COG陶瓷電容。
對(duì)于放大器,選用了久經(jīng)考驗(yàn)的Burr-Brown OPA1611,這是一款失真超低的音頻運(yùn)算放大器,其性能符合數(shù)據(jù)手冊(cè)所列,可以說非常出色。
對(duì)于偏置基準(zhǔn)電壓,用的是TI REF5050,為一款5V精密基準(zhǔn)電壓源。
由于期望該電路用在測試工作臺(tái)上,因此將其設(shè)計(jì)成由+/-15v電壓軌供電,并使用了另一個(gè)久經(jīng)考驗(yàn)的HP6234A雙線性電源,將其放在工作臺(tái)上以備此類場合使用。使用HP6234A這類的線性電源非常有用,因?yàn)樗哂械驮肼?、低IO電容設(shè)計(jì),而且沒有開關(guān)電源到處冒出的共模電流。如果供電設(shè)計(jì)必須使用一個(gè)開關(guān)的話,應(yīng)在電路中使用一些線性、低壓差調(diào)節(jié)器和大共模扼流圈,以盡可能地消除電路板上的開關(guān)噪聲。值得信賴的HP6234A消除了所有這些問題。
最后,將雙通道BlasterAmp PCB放在一個(gè)小尺寸的Hammond外殼中,沒有蓋上外殼,因?yàn)檫@樣可以方便地進(jìn)行各種跳線更換和可調(diào)電位器調(diào)整,見圖2。
圖2:完整的聲霸放大器示意圖。
圖中,印刷電路板被安裝在一個(gè)沖壓外殼中進(jìn)行保護(hù)。PCB右上角的黑色電纜為聲卡的音頻電纜。電源由 HP6234A線性工作臺(tái)電源,并通過PCB中間右側(cè)的導(dǎo)線連接器供電。
測試軟件
使用聲霸卡確實(shí)大大簡化了設(shè)計(jì),節(jié)省了開發(fā)時(shí)間,但還需要一種方法將大動(dòng)態(tài)范圍測試信號(hào)播放到聲霸卡中。我嘗試了大概十幾種音頻測試音軟件解決方案,其中大多數(shù)的失真水平都只有60 dBc或更低,這對(duì)于聽力測試來說還好,但對(duì)于我的應(yīng)用來說就不夠了,我的應(yīng)用需要將失真降至16位水平。
互聯(lián)網(wǎng)上有幾個(gè)發(fā)燒友網(wǎng)站提供了非常低失真的測試文件。為了回放,需要一個(gè)WAV或MP3文件播放器,循環(huán)播放時(shí)沒有死區(qū)時(shí)間。使用中發(fā)現(xiàn)這個(gè)“foobar2000” 程序雖然命名愚蠢,但卻是一個(gè)極好的選擇。最初使用該程序在筆記本電腦上播放白噪音,試圖在睡覺時(shí)淹沒外來聲音,另外,當(dāng)循環(huán)播放白噪音文件時(shí),不能有任何點(diǎn)擊或彈出,否則就會(huì)立即醒來。foobar2000程序非常適合BlasterAmp和睡眠。
這些預(yù)先錄制好的測試文件的頻率固定,但振幅可以根據(jù)需要通過聲霸放大器中的微調(diào)電位器或電腦的音量控制來微調(diào)。
至于能夠以編程方式設(shè)置頻率和音量,我發(fā)現(xiàn)了一個(gè)名為PyAudio 的Python庫,它可以生成特定幅度的精密正弦波信號(hào),然后能夠直接從Python腳本中播放。這已經(jīng)證明可以產(chǎn)生失真非常低的信號(hào),如圖3所示。
圖3:在DMT9000 FFT分析儀上測量聲霸放大器范圍設(shè)置為+/-10V時(shí)的測量結(jié)果??梢钥闯?,滿量程失真產(chǎn)物為滿量程以下16位,即-96 dBc。
然而,在產(chǎn)生任何測試音時(shí)都必須小心。要么必須為測試創(chuàng)建一個(gè)連續(xù)且足夠長的文件,要么必須連續(xù)循環(huán)。循環(huán)時(shí),只需確保波形的起點(diǎn)和終點(diǎn)完全對(duì)齊,否則會(huì)出現(xiàn)不連續(xù),這會(huì)增加循環(huán)點(diǎn)的失真。
關(guān)于使用聲霸加密狗進(jìn)行精確音調(diào)生成的最后一點(diǎn)注意事項(xiàng)是,請(qǐng)務(wù)必關(guān)閉正在播放PC上的任何音頻均衡器或控制程序,以確保沒有不可預(yù)見的問題出現(xiàn)。
(參考原文:An easier way to test integrated analog-to-digital converters,本文為《電子工程專輯》2022年10月刊雜志文章)
(來源:EDN電子設(shè)計(jì),作者:Steve Hageman,Embedded.com特約作者)
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請(qǐng)聯(lián)系小編進(jìn)行處理。
推薦閱讀:
用PLC實(shí)現(xiàn)步進(jìn)電機(jī)的直接控制
低Iq LDO 對(duì)可穿戴設(shè)備實(shí)現(xiàn)長電池壽命有多重要?
利用3D NAND克服工業(yè)數(shù)據(jù)存儲(chǔ)問題
同相運(yùn)算放大器電壓增益、輸入/輸出阻抗計(jì)算方法