一種adc/dac信號數(shù)字校正方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于工業(yè)控制技術(shù)領(lǐng)域,更具體地,涉及一種ADC/DAC信號數(shù)字校正方法及系統(tǒng)。
【背景技術(shù)】
[0002]在控制系統(tǒng)中常見到當(dāng)模數(shù)轉(zhuǎn)換器ADC信號采集完成后如何校準(zhǔn)采集值使之逼近實(shí)際測量值的問題,而輸出基準(zhǔn)源數(shù)模轉(zhuǎn)換器DAC在控制環(huán)路中應(yīng)用時也存在校準(zhǔn)問題。
[0003]在現(xiàn)有技術(shù)常用的ADC信號采集電路中,一般通過機(jī)械式電位器或數(shù)字電位器調(diào)節(jié)自身阻值來改變ADC輸入信號分壓比,從而改變輸入ADC采集器的信號強(qiáng)度,來校準(zhǔn)最終ADC的測量值。同樣的方法也可以實(shí)現(xiàn)調(diào)節(jié)DAC在環(huán)路中的電壓值。采用機(jī)械式電位器校準(zhǔn)ADC或調(diào)節(jié)DAC環(huán)路電位值存在以下不足:1、傳統(tǒng)機(jī)械式電位器在精度上不能保證,而且由于溫度系數(shù)的存在會導(dǎo)致顯示值在整個溫度范圍內(nèi)波動較大;2、通過電位器調(diào)電壓的方式屬于接觸式調(diào)節(jié),使用壽命較短;3、采用硬件調(diào)節(jié),需增加元器件,會增加成本,而且降低可靠性。
[0004]采用數(shù)字電位器技術(shù)雖然是數(shù)控方式,具有使用靈活、精度高、無觸點(diǎn)、低噪聲、體積小、使用壽命長等優(yōu)點(diǎn),但是在調(diào)節(jié)過程中數(shù)字電位器值不是直接輸出的,而是在經(jīng)過調(diào)整后才能輸出期望值。在實(shí)際使用過程中可能會在系統(tǒng)剛上電時造成ADC輸入信號過沖。另外,由于數(shù)字電位器無法實(shí)現(xiàn)連續(xù)調(diào)整,而只能按照數(shù)字電位器電阻網(wǎng)絡(luò)中最小電阻值為步進(jìn)來調(diào)節(jié)。
【發(fā)明內(nèi)容】
[0005]針對現(xiàn)有技術(shù)的以上缺陷或改進(jìn)需求,本發(fā)明提供了一種ADC/DAC信號數(shù)字校正方法及系統(tǒng),其目的在于,能夠高精度、連續(xù)地調(diào)整ADC/DAC信號,解決傳統(tǒng)機(jī)械式調(diào)解方式精度低、成本高的技術(shù)問題,以及現(xiàn)有數(shù)字式調(diào)解方式存在過沖和無法連續(xù)調(diào)整的技術(shù)問題。
[0006]—種ADC信號數(shù)字校正方法,包括以下步驟:
[0007]S1、初始化調(diào)節(jié)參數(shù)K;
[0008]S2、對外部模擬量采樣并轉(zhuǎn)換得到初始數(shù)字量Tempi ;
[0009]S3、將初始數(shù)字量Tempi調(diào)節(jié)為輸出量Vdisp = Templ*K ;
[0010]S4、調(diào)整K值,直到輸出量Vdisp等于輸出目標(biāo)值,保持此時的K值不變,將其作為最終的調(diào)節(jié)系數(shù)K值。
[0011]—種ADC信號數(shù)字校正系統(tǒng),包括:
[0012]存儲器,用于存儲調(diào)節(jié)參數(shù)K值;
[0013]ADC模塊,用于對外部模擬量采樣并轉(zhuǎn)換得到初始數(shù)字量Tempi ;
[0014]處理器,用于從存儲器調(diào)用K值,將初始數(shù)字量Tempi調(diào)節(jié)為輸出量Vdisp =Templ*K,并將輸出量Vdisp通過通信接口傳送給上位機(jī);
[0015]通信接口,用于上位機(jī)與處理器之間的信息交互;
[0016]上位機(jī),用于調(diào)整K值,并將調(diào)整后的K值通過異步收發(fā)傳輸器反饋給中央處理器,直到輸出量Vdisp等于輸出目標(biāo)值,將此時的K值作為最終的調(diào)節(jié)參數(shù)值,并通知處理器將此時的K值保存到存儲器。
[0017]—種DAC信號數(shù)字校正方法,包括以下步驟:
[0018]Tl、初始化調(diào)節(jié)參數(shù),包括高端偏移值DAmax和低端偏移值DAmin ;
[0019]T2、依據(jù)低端輸出目標(biāo)值VsetO和高端輸出目標(biāo)值Vsetl計(jì)算數(shù)字輸入量Temp2=(DAmax-DAmin) * (Vsetl-Vout) / (Vsetl-VsetO) + (K2_DAmax),Vout 為設(shè)定輸出電壓,K2為DAC模塊中寄存器能寫入的最大值;
[0020]T3、DAC模塊將數(shù)字輸入量Temp2轉(zhuǎn)換為模擬量輸出參考值Vref = Temp2*Kl/K2,其中,Kl為輸出參考值Vref可取的最大值;
[0021]T4、DAC模塊將模擬量輸出參考值Vref放大得到實(shí)際輸出電壓Vout '=Vref*K3,K3為DAC模塊的信號放大系數(shù);
[0022]T5、設(shè)定輸出電壓Vout等值于高端輸出目標(biāo)值Vsetl,按照步驟T2?T4處理得到輸出電壓Vout的實(shí)際值,不斷調(diào)整高端偏移值DAmax,直到實(shí)際輸出電壓Vout ' = Vsetl,保持此時的DAmax值不變,將其作為最終的高端偏移值;
[0023]T6、設(shè)定輸出電壓Vout等值于低端輸出目標(biāo)值VsetO,按照步驟T2?T4處理得到輸出電壓Vout的實(shí)際值,不斷調(diào)整低端偏移值DAmin,直到實(shí)際輸出電壓Vout ' =Vset0,保持此時的DAmin值不變,將其作為最終的低端偏移值。
[0024]—種DAC信號數(shù)字校正系統(tǒng),包括:
[0025]存儲器,用于初始化調(diào)節(jié)參數(shù),包括高端偏移值DAmax和低端偏移值DAmin ;
[0026]處理器,用于從存儲器調(diào)用高端偏移值DAmax和低端偏移值DAmin,依據(jù)低端輸出目標(biāo)值VsetO和高端輸出目標(biāo)值Vsetl計(jì)算數(shù)字輸入量Temp2 =(DAmax-DAmin) * (Vsetl-Vout) / (Vsetl-VsetO) + (K2_DAmax),Vout 為設(shè)定輸出電壓,K2 為DAC模塊中的寄存器能寫入的最大值;
[0027]DAC模塊,用于將數(shù)字輸入量Temp2轉(zhuǎn)換為模擬量輸出參考值Vref = Temp2*Kl/K2,進(jìn)而將模擬量輸出參考值Vref放大得到實(shí)際輸出電壓Vout丨=Vref*K3,其中,Kl為輸出參考值Vref可取的最大值,K3為DAC模塊的信號放大系數(shù);
[0028]通信接口,用于上位機(jī)與處理器之間的信息交互;
[0029]上位機(jī),用于首先通知處理器設(shè)定輸出電壓Vout等值于高端輸出目標(biāo)值Vsetl,進(jìn)而不斷調(diào)整高端偏移值DAmax,直到實(shí)際輸出電壓Vout ' = Vsetl,保持此時的DAmax值不變,通知處理器將其作為最終的高端偏移值保存到存儲器;然后通知處理器設(shè)定輸出電壓Vout等值于低端輸出目標(biāo)值VsetO,進(jìn)而不斷調(diào)整低端偏移值DAmin,直到實(shí)際輸出電壓Vout ; = Vset 0,保持此時的DAmin值不變,通知處理器將其作為最終的低端偏移值保存到存儲器。
[0030]一種DAC信號數(shù)字校正方法,包括以下步驟:
[0031]P1、初始化調(diào)節(jié)參數(shù),包括高端偏移值DAmax和低端偏移值DAmin ;
[0032]P2、依據(jù)低端輸出目標(biāo)值VsetO和高端輸出目標(biāo)值Vsetl計(jì)算數(shù)字輸入量Temp2=(DAmax-DAmin) * (Vsetl-Vout) / (Vsetl-VsetO) + (K2_DAmax),Vout 為設(shè)定輸出電壓,K2為DAC模塊中寄存器能寫入的最大值;
[0033]P3、DAC模塊將數(shù)字輸入量Temp2轉(zhuǎn)換為模擬量輸出參考值Vref = Temp2*Kl/K2,其中,Kl為輸出參考值Vref可取的最大值;
[0034]P4、DAC模塊將模擬量輸出參考值Vref放大得到實(shí)際輸出電壓值Vout丨=K3*Vref,K3為DAC模塊的信號放大系數(shù);
[0035]P5、設(shè)定輸出電壓Vout等值于低端輸出目標(biāo)值VsetO,按照步驟T2?T4得到輸出電壓Vout的實(shí)際值,不斷調(diào)整低端偏移值DAmin,直到實(shí)際輸出電壓Vout ' = Vset 0,保持此時的DAmin值不變,將其作為最終的低端偏移值;
[0036]P6、設(shè)定輸出電壓Vout等值于高端輸出目標(biāo)值Vsetl,按照步驟T2?T4得到輸出電壓Vout的實(shí)際值,不斷調(diào)整高端偏移值DAmax,直到實(shí)際輸出電壓Vout ' = Vsetl,保持此時的DAmax值不變,將其作為最終的高端偏移值。
[0037]—種DAC信號數(shù)字校正系統(tǒng),包括:
[0038]存儲器,用于初始化調(diào)節(jié)參數(shù),包括高端偏移值DAmax和低端偏移值DAmin ;
[0039]處理器,用于從存儲器調(diào)用高端偏移值DAmax和低端偏移值DAmin,依據(jù)低端輸出目標(biāo)值VsetO和高端輸出目標(biāo)值Vsetl計(jì)算數(shù)字輸入量Temp2 =(DAmax-DAmin) * (Vsetl-Vout) / (Vsetl-VsetO) + (K2_DAmax),Vout 為設(shè)定輸出電壓,K2 為DAC模塊中的寄存器能寫入的最大值;
[0040]DAC模塊,用于將數(shù)字輸入量Temp2轉(zhuǎn)換為模擬量輸出參考值Vref = Temp2*Kl/K2,進(jìn)而將模擬量輸出參考值Vref放大得到實(shí)際輸出電壓Vout丨=K3*Vref,其中,Kl為輸出參考值Vref可取的最大值,K3為DAC模塊的信號放大系數(shù);
[0041]通信接口,用于上位機(jī)與處理器之間的信息交互;
[0042]上位機(jī),用于首先通知處理器設(shè)定輸出電壓Vout等值于低端輸出目標(biāo)值VsetO,進(jìn)而不斷調(diào)整低端偏移值DAmin,直到實(shí)際輸出電壓Vout ' = VsetO,保持此時的DAmin值不變,通知處理器將其作為最終的低端偏移值保存到存儲器;然后通知處理器設(shè)定輸出電壓Vout等值于高端輸出目標(biāo)值Vsetl,進(jìn)而不斷調(diào)整高端偏移值DAmax,直到實(shí)際輸出電壓Vout ’ = Vsetl,保持此時的DAmax值不變,通知處理器將其作為最終的高端偏移值保存到存儲器。
[0043]總體而言,通過本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,本發(fā)明后臺在線確定調(diào)整用參數(shù),將最終參數(shù)反饋給采樣電路,實(shí)現(xiàn)連續(xù)地、高