本發(fā)明屬于測(cè)量?jī)x器技術(shù)領(lǐng)域,更為具體地講,涉及一種基于步進(jìn)優(yōu)化的數(shù)字示波器零偏校準(zhǔn)方法。
背景技術(shù):
示波器作為一種使用廣泛的通用儀器,使用非常廣泛。示波器要觀察信號(hào),首先要進(jìn)過模擬通道的調(diào)理后,才能進(jìn)行有效觀察。模擬通道涉及增益調(diào)節(jié)、零偏調(diào)節(jié)、移動(dòng)線性調(diào)節(jié)等。數(shù)字示波器在出廠后,隨著使用時(shí)間的增加,可由用戶對(duì)部分參數(shù)通過自動(dòng)校準(zhǔn)的方式進(jìn)行校準(zhǔn)。示波器的自動(dòng)校準(zhǔn)功能主要包括零偏校準(zhǔn)、移動(dòng)線性校準(zhǔn)、觸發(fā)校準(zhǔn)等。
圖1是示波器的模擬通道示意圖。如圖1所示,信號(hào)在進(jìn)入增益放大器、衰減器之前,通過DAC(Digital to analog converter,數(shù)字模擬轉(zhuǎn)換器)在信號(hào)上加減一個(gè)小的偏置電壓,通過調(diào)整此偏置電壓來改變信號(hào)在后續(xù)用于信號(hào)采集的ADC(Analog-to-Digital Converter模數(shù)轉(zhuǎn)換器)上的輸入電壓,從而實(shí)現(xiàn)移位和零偏調(diào)節(jié)。DAC的調(diào)節(jié)是線性的。例如型號(hào)為MAX5136的16位DAC,每個(gè)步進(jìn)可實(shí)現(xiàn)37.23μV的電壓步進(jìn)。衰減器可采用PE4302,PE4302是6bit數(shù)控衰減器,可調(diào)節(jié)范圍為32dB,步進(jìn)為0.5dB,不同檔位范圍可附加固定倍率的放大、衰減。比如2mV固定放大10倍,5mV~100mV沒有固定衰減和固定放大,200mV~2V固定衰減為20倍,沒有固定放大,5V以上的檔采用1000倍衰減。
零偏校準(zhǔn)的基本原理為:通過調(diào)節(jié)偏置DAC的輸出,使其疊加到理論為0V電平的輸入上,進(jìn)過增益放大、衰減,再通過ADC采集,然后分析ADC量化的數(shù)據(jù),使其讀數(shù)為0V。這個(gè)過程是一個(gè)反復(fù)調(diào)整和逼近的過程。圖2是零偏校準(zhǔn)的基本流程圖。如圖2所示,校準(zhǔn)的速度與等待硬件穩(wěn)定的時(shí)間和循環(huán)的次數(shù)有關(guān)。一次校準(zhǔn)的時(shí)間Cali_Time為:
Cali_Time=Times×(Time_HardSteady+Time_Acq)
其中,Times表示循環(huán)次數(shù),Time_HardSteady表示等待硬件穩(wěn)定時(shí)間,Time_Acq表示采集所需時(shí)間。
一個(gè)系統(tǒng)在硬件設(shè)計(jì)確定后,其Time_HardSteady和Time_Acq是固定的,故可改變的參數(shù)只有循環(huán)次數(shù)Times。如何減少循環(huán)次數(shù),減少數(shù)字示波器自動(dòng)校準(zhǔn)時(shí)間,提高自動(dòng)校準(zhǔn)速度,是數(shù)字示波器自動(dòng)校準(zhǔn)的重要研究方向。
信號(hào)通過模擬通道經(jīng)過偏置調(diào)節(jié)、增益調(diào)節(jié),輸出信號(hào)到ADC采集這個(gè)路徑,軟件讀取ADC的采集數(shù)據(jù)并進(jìn)行分析。一般實(shí)現(xiàn)是以ADC采集的數(shù)據(jù)為屏幕顯示的中間值(通常為128)時(shí),認(rèn)為基線歸零。通過ADC的采集數(shù)據(jù)與目標(biāo)數(shù)據(jù)(128)的差反過來調(diào)整偏置調(diào)節(jié)器(DAC)的輸出(校準(zhǔn)目標(biāo)數(shù)據(jù))。一般情況下,這個(gè)反饋調(diào)整是一個(gè)正反饋調(diào)整。根據(jù)采集數(shù)據(jù)與目標(biāo)數(shù)據(jù)的差來確定調(diào)整DAC的輸出就決定了上圖中循環(huán)次數(shù)。一般情況下,有單步調(diào)整、固定比例調(diào)整等方式,這些方式都有其不同的缺陷。
圖3是通道零偏校準(zhǔn)的原理圖。如圖3所示,附加在輸入信號(hào)上的偏置電壓,要通過增益控制部分,送到ADC進(jìn)行量化。一般不同幅度檔位的固定增益衰減和固定增益放大是確定的(通過繼電器切換實(shí)現(xiàn))。而可變?cè)鲆媸且粋€(gè)可調(diào)節(jié)的變量,其值隨檔位、固定增益衰減和固定增益放大而變化,有時(shí)為了實(shí)現(xiàn)增益的細(xì)調(diào),還要借助ADC的增益調(diào)整來實(shí)現(xiàn)完整的增益控制??勺?cè)鲆嬲{(diào)節(jié)器往往不是幅度線性的,而是dB線性的。所以通過增益的具體值來確定調(diào)整步進(jìn)是困難的,從而導(dǎo)致循環(huán)次數(shù)難以得到有效的控制。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種基于步進(jìn)優(yōu)化的數(shù)字示波器零偏校準(zhǔn)方法,對(duì)校準(zhǔn)步進(jìn)值的計(jì)算方式進(jìn)行優(yōu)化,從而減少循環(huán)次數(shù),提高零偏校準(zhǔn)速度。
為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明基于步進(jìn)優(yōu)化的數(shù)字示波器零偏校準(zhǔn)方法包括以下步驟:
S1:設(shè)置需要零偏校準(zhǔn)的通道和幅度檔位,按照零偏校準(zhǔn)要求對(duì)數(shù)字示波器參數(shù)進(jìn)行設(shè)置,設(shè)置DAC模塊的基線零點(diǎn)電平輸入控制編碼KDAC的初始值,設(shè)置校準(zhǔn)目標(biāo)值C=λ×N,其中N表示ADC采樣的存儲(chǔ)深度,λ表示屏幕顯示區(qū)域中0電平對(duì)應(yīng)的ADC量化值;
S2:ADC采樣得到N個(gè)數(shù)據(jù)dn,n=1,2,…,N,計(jì)算N個(gè)數(shù)據(jù)dn之和
S3:如果|Sum-C|>e,e表示預(yù)設(shè)的采樣數(shù)據(jù)誤差閾值,進(jìn)入步驟S4,否則零偏校準(zhǔn)完成。
S4:計(jì)算得到校準(zhǔn)步進(jìn)值ΔDAC:
其中,γ表示DAC輸出值與目標(biāo)輸出值之間的輸出差與ADC采樣數(shù)據(jù)與目標(biāo)數(shù)據(jù)的差值之間的比例因子,λ表示ADC的單位量化電壓,Afix_A表示當(dāng)前幅度檔位的固定增益放大倍數(shù),Afix_D表示當(dāng)前幅度檔位的固定增益衰減倍數(shù),Tdac表示DAC最小步進(jìn)電壓值;
S5:如果ΔDAC<1,則令ΔDAC=1,進(jìn)入步驟S6,否則直接進(jìn)入步驟S6;
S6:如果Sum>C,令KDAC=KDAC-ΔDAC,否則令KDAC=KDAC+ΔDAC;
S7:判斷校準(zhǔn)時(shí)間是否超過預(yù)設(shè)閾值,如果是,零偏校準(zhǔn)結(jié)束,否則返回步驟S2。
本發(fā)明基于步進(jìn)優(yōu)化的數(shù)字示波器零偏校準(zhǔn)方法,首先設(shè)置數(shù)字示波器的參數(shù),包括設(shè)置DAC模塊的基線零點(diǎn)電平輸入控制編碼和校正目標(biāo)值,將ADC采樣得到的數(shù)據(jù)求和,如果與校正目標(biāo)值的差值較大則計(jì)算得到校準(zhǔn)步進(jìn)值,校準(zhǔn)步進(jìn)值的最小值為1,然后在當(dāng)前基線零點(diǎn)電平輸入控制編碼增加或減去校準(zhǔn)步進(jìn)值,然后繼續(xù)進(jìn)行ADC采樣,直到ADC采樣數(shù)據(jù)與校正目標(biāo)值的差值滿足要求。
本發(fā)明通過分析零偏校準(zhǔn)的原理,對(duì)校準(zhǔn)步進(jìn)計(jì)算方法進(jìn)行改進(jìn),從而減少循環(huán)次數(shù),提高零偏校準(zhǔn)速度。
附圖說明
圖1是示波器的模擬通道示意圖;
圖2是零偏校準(zhǔn)的基本流程圖;
圖3是通道零偏校準(zhǔn)的原理圖;
圖4是本發(fā)明基于步進(jìn)優(yōu)化的數(shù)字示波器零偏校準(zhǔn)方法的具體實(shí)施方式流程圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式進(jìn)行描述,以便本領(lǐng)域的技術(shù)人員更好地理解本發(fā)明。需要特別提醒注意的是,在以下的描述中,當(dāng)已知功能和設(shè)計(jì)的詳細(xì)描述也許會(huì)淡化本發(fā)明的主要內(nèi)容時(shí),這些描述在這里將被忽略。
實(shí)施例
在本發(fā)明基于步進(jìn)優(yōu)化的數(shù)字示波器零偏校準(zhǔn)方法中,對(duì)數(shù)字示波器零偏校準(zhǔn)時(shí)的步進(jìn)調(diào)節(jié)進(jìn)行了優(yōu)化,從而減少循環(huán)次數(shù),提高數(shù)字示波器零偏校準(zhǔn)速度。為了更好地說明本發(fā)明的技術(shù)方案,首先對(duì)本發(fā)明所基于的原理進(jìn)行簡(jiǎn)要說明。
對(duì)于零偏校準(zhǔn)而言,雖然通道的可變?cè)鲆?包括ADC增益調(diào)節(jié))是未知的,但其本質(zhì)上,對(duì)不同檔位來講,增益是線性的。也就是說,一個(gè)輸入為200mV的信號(hào),在200mV檔位觀察,其經(jīng)過ADC后,其數(shù)據(jù)是200mV;如果放在100mV檔來觀察,其數(shù)據(jù)依然應(yīng)該是200mV;放在50mV檔來觀察,其數(shù)據(jù)還是200mV;放在500mV檔來觀察,其數(shù)據(jù)依然是200mV??梢姡谕ǖ涝鲆嬲_的情況下,同一個(gè)信號(hào),進(jìn)過不同的檔位調(diào)整,其最后的觀察數(shù)據(jù)應(yīng)該是一樣的,與處于哪一個(gè)觀察檔位沒有關(guān)系(當(dāng)然前提是可以觀察到)。同樣,對(duì)于一個(gè)0電平的輸入信號(hào),在其上加上一個(gè)偏置電壓后,不管放在哪個(gè)檔位進(jìn)行觀察,其最終的電平數(shù)據(jù)也應(yīng)該是一樣的。
根據(jù)以上對(duì)數(shù)字示波器增益控制的本質(zhì)分析,本發(fā)明中將ADC采樣數(shù)據(jù)與目標(biāo)數(shù)據(jù)的差值,不再以點(diǎn)表示(Δdot),而是轉(zhuǎn)換為以絕對(duì)電壓表示(ΔV)。假設(shè)偏置調(diào)節(jié)DAC輸出值與目標(biāo)輸出值之間的輸出差為Δdac,則Δdac與ΔV之間存在一個(gè)固定的比例因子γ,即γ=Δdac/ΔV。該比例因子γ實(shí)際上就是DAC控制編碼調(diào)節(jié)時(shí),DAC輸出值變化與ADC采集數(shù)據(jù)變化的比值。比例因子γ與通道電路中的分壓比有關(guān),而與可變?cè)鲆嬲{(diào)節(jié)無關(guān)。通道電路中的分壓比在電路確定后,是一個(gè)固定數(shù)據(jù),與幅度檔位無關(guān),并且很容易計(jì)算。
記使用的DAC的最小步進(jìn)以電壓表示為Tdac。本實(shí)施例中DAC采用16位的MAX5136,其電壓調(diào)節(jié)范圍為0~2.44V,則Tdac=2440000/65536=37.23μV。則根據(jù)采集的數(shù)據(jù)與目標(biāo)數(shù)據(jù)的差,折算成絕對(duì)電壓ΔV,記偏置調(diào)節(jié)DAC的調(diào)整步進(jìn)為ΔDAC,則有如下公式:
考慮固定增益放大(Afix_A)和固定增益衰減(Afix_D),以上公式變換為:
記最終的校準(zhǔn)步進(jìn)值為ΔDAC_T,那么其計(jì)算公式為:
通過以上分析可以看出,ADC采集到的數(shù)據(jù)與目標(biāo)數(shù)據(jù)跟DAC的數(shù)據(jù)為嚴(yán)格的線性關(guān)系,其斜率是確定的,因此本發(fā)明根據(jù)此斜率來校準(zhǔn)數(shù)據(jù)將快速逼近目標(biāo)數(shù)據(jù),從而提高自動(dòng)校準(zhǔn)速度。
圖4是本發(fā)明基于步進(jìn)優(yōu)化的數(shù)字示波器零偏校準(zhǔn)方法的具體實(shí)施方式流程圖。如圖4所示,本發(fā)明基于步進(jìn)優(yōu)化的數(shù)字示波器零偏校準(zhǔn)方法包括以下步驟:
S401:數(shù)字示波器參數(shù)設(shè)置:
設(shè)置需要零偏校準(zhǔn)的通道和幅度檔位,按照零偏校準(zhǔn)要求對(duì)數(shù)字示波器參數(shù)進(jìn)行設(shè)置,設(shè)置DAC模塊的基線零點(diǎn)電平輸入控制編碼KDAC的初始值。顯然,KDAC的初始值需要越靠近實(shí)際值越好,一般就設(shè)置為理論值附近的值即可,理論值即為DAC的控制編碼范圍的中間值,以16位DAC為例,其控制編碼范圍為0~65535,那么KDAC的理論值即為32768。
設(shè)置校準(zhǔn)目標(biāo)值C=λ×N,其中N表示ADC采樣的存儲(chǔ)深度,λ表示屏幕顯示區(qū)域中0電平對(duì)應(yīng)的ADC量化值。以位數(shù)為8bit、存儲(chǔ)深度為1000的ADC為例,λ=128,那么C=128000。
S402:ADC采樣:
ADC采樣得到N個(gè)數(shù)據(jù)dn,n=1,2,…,N,計(jì)算N個(gè)數(shù)據(jù)dn之和
S403:判斷是否|Sum-C|>e,e表示預(yù)設(shè)的采樣數(shù)據(jù)誤差閾值,如果是,進(jìn)入步驟S404,否則說明當(dāng)前ADC采樣數(shù)據(jù)與校準(zhǔn)目標(biāo)值的差距很小,零偏校準(zhǔn)完成。
S404:計(jì)算校準(zhǔn)步進(jìn)值:
根據(jù)以下公式計(jì)算得到校準(zhǔn)步進(jìn)值ΔDAC:
其中,γ表示DAC輸出值與目標(biāo)輸出值之間的輸出差與ADC采樣數(shù)據(jù)與目標(biāo)數(shù)據(jù)的差值之間的比例因子,λ表示ADC的單位量化電壓(也就是屏幕上每個(gè)像素點(diǎn)所對(duì)應(yīng)的單位電壓值),Afix_A表示當(dāng)前幅度檔位的固定增益放大倍數(shù),Afix_D表示當(dāng)前幅度檔位的固定增益衰減倍數(shù),Tdac表示DAC最小步進(jìn)電壓值。
S405:判斷是否ΔDAC<1,如果是,進(jìn)入步驟S406,否則進(jìn)入步驟S407。
S406:令ΔDAC=1,進(jìn)入步驟S407。
S407:判斷是否Sum>C,如果是,進(jìn)入步驟S408,否則進(jìn)入步驟S409。
S408:令KDAC=KDAC-ΔDAC,進(jìn)入步驟S410。
S409:令KDAC=KDAC+ΔDAC,進(jìn)入步驟S410。
S410:判斷是否超時(shí),即判斷校準(zhǔn)時(shí)間是否超過預(yù)設(shè)閾值,如果是,零偏校準(zhǔn)結(jié)束,否則返回步驟S402。在此處加入超時(shí)判斷是為了防止在校準(zhǔn)步進(jìn)值ΔDAC為1時(shí),對(duì)基線零點(diǎn)電平輸入控制編碼KDAC持續(xù)進(jìn)行+1和-1,仍然無法達(dá)到校準(zhǔn)目標(biāo)值,從而陷入死循環(huán)。
根據(jù)以上過程可知,本發(fā)明的校準(zhǔn)步進(jìn)值ΔDAC不是人為設(shè)定的值,而是通過采樣數(shù)據(jù)與校準(zhǔn)目標(biāo)值之間的差值計(jì)算得到的。經(jīng)過實(shí)驗(yàn)統(tǒng)計(jì),采用本發(fā)明,在第一次步進(jìn)調(diào)節(jié)時(shí)就可以基本調(diào)節(jié)到位,每個(gè)幅度檔位的有效步進(jìn)調(diào)節(jié)次數(shù)(即循環(huán)次數(shù))可以縮減到2~3次,并且不同幅度檔位的校準(zhǔn)時(shí)間差距不大。可見,采用本發(fā)明可以大大減少零偏校準(zhǔn)的時(shí)間,提高零偏校準(zhǔn)的速度。
盡管上面對(duì)本發(fā)明說明性的具體實(shí)施方式進(jìn)行了描述,以便于本技術(shù)領(lǐng)域的技術(shù)人員理解本發(fā)明,但應(yīng)該清楚,本發(fā)明不限于具體實(shí)施方式的范圍,對(duì)本技術(shù)領(lǐng)域的普通技術(shù)人員來講,只要各種變化在所附的權(quán)利要求限定和確定的本發(fā)明的精神和范圍內(nèi),這些變化是顯而易見的,一切利用本發(fā)明構(gòu)思的發(fā)明創(chuàng)造均在保護(hù)之列。