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