陳李勝 孔文浩 黃文勇 胡去峰 陳 卉
(電子科技大學(xué)中山學(xué)院 廣東中山 528402)
雙斜積分式ADC的工作原理是將輸入信號(hào)轉(zhuǎn)換成時(shí)間(脈沖寬度信號(hào)),輸出值正比于輸入信號(hào)在采樣時(shí)間內(nèi)的平均值,然后由計(jì)數(shù)器獲得數(shù)字值。其優(yōu)點(diǎn)是雙斜式積分器對(duì)積分元件以及時(shí)鐘頻率的精度要求不高,具有很強(qiáng)的串模干擾能力。但缺點(diǎn)是轉(zhuǎn)換精度依賴于積分時(shí)間,因此轉(zhuǎn)換速率較低。雙斜積分式ADC是積分式ADC的一種,圖1給出了中雙斜積分式ADC原理圖。
圖1 雙斜積分式ADC原理圖
當(dāng)進(jìn)行AD轉(zhuǎn)換前,計(jì)數(shù)器未使能計(jì)數(shù),并接通S2使電容完全放電,此時(shí)積分器的輸出波形如圖2的0-t1時(shí)間段。轉(zhuǎn)換開(kāi)始后,斷開(kāi)S2,此時(shí)整個(gè)轉(zhuǎn)換過(guò)程分為兩個(gè)階段進(jìn)行。
圖2 雙斜積分式ADC輸出波形
令開(kāi)關(guān)S1置于待測(cè)電壓V1端,積分器對(duì)待測(cè)電壓V1進(jìn)行固定時(shí)間T1的積分,積分器的輸出波形如圖2的t1-t2時(shí)間段。積分結(jié)束時(shí)積分器輸出電壓為:
從上式可以看出,積分器的輸出Uo1與U1成正比。這個(gè)過(guò)程是轉(zhuǎn)換電路對(duì)輸入信號(hào)的采樣過(guò)程。在采樣開(kāi)始的時(shí)候,CPLD控制使能計(jì)數(shù),當(dāng)計(jì)數(shù)器到達(dá)N1時(shí),這個(gè)時(shí)間正好是固定的積分時(shí)間T1。此時(shí)CPLD狀態(tài)機(jī)跳轉(zhuǎn)到下一狀態(tài),令開(kāi)關(guān)S1切換至-VREF端,同時(shí)計(jì)數(shù)器清零,采樣階段結(jié)束。
采樣一段結(jié)束后,因?yàn)閰⒖茧妷?VREFEF的極性與U1相反,積分器反向積分,積分器的輸出波形如圖2的t2-t3時(shí)間段。此時(shí)CPLD使能計(jì)數(shù)器,經(jīng)過(guò)T2時(shí)間,積分器輸出電壓為0,過(guò)零比較器輸出高電平,CPLD關(guān)閉計(jì)數(shù)器,此時(shí)的計(jì)數(shù)器的計(jì)數(shù)值為N2。
同時(shí)通過(guò)CPLD的狀態(tài)機(jī)控制電路使開(kāi)關(guān)S1與V1相接,重復(fù)第一步。雙斜式積分型ADC輸出波形如圖2所示。
分析雙斜積分ADC的工作原理以及波形可以得到:
根據(jù)N1、N2與T1、T2的關(guān)系,最終可以得到:
雙積分式ADC的輸出正比于輸入信號(hào)的平均值,所以它的優(yōu)點(diǎn)是工作性能穩(wěn)定且抗干擾能力強(qiáng)。由公式分析可以看出,積分器的積分過(guò)程的時(shí)間常數(shù)相等,計(jì)數(shù)器的計(jì)數(shù)結(jié)果與RC無(wú)關(guān),所以,該電路對(duì)RC精度的要求不高,而且電路結(jié)構(gòu)簡(jiǎn)單。
有限狀態(tài)機(jī)(Finite-State Machine,F(xiàn)SM)是表示有限個(gè)狀態(tài)以及在這些狀態(tài)之間的轉(zhuǎn)移和動(dòng)作等行為的數(shù)學(xué)模型。反映從系統(tǒng)開(kāi)始到現(xiàn)在時(shí)刻的輸入變化的狀態(tài)。本實(shí)例使用VerilogHDL實(shí)現(xiàn)狀態(tài)機(jī)來(lái)控制雙斜積分ADC的不同工作狀態(tài)。
狀態(tài)機(jī)采用三段式狀態(tài)機(jī)來(lái)進(jìn)行編寫(xiě),第一段用時(shí)序邏輯描述C_state(現(xiàn)態(tài))和N_state(次態(tài)),第二段用組合邏輯描述狀態(tài)轉(zhuǎn)移,第三段用時(shí)序邏輯描述輸出。
第一段用時(shí)序邏輯描述C_state(現(xiàn)態(tài))和N_state(次態(tài)):
第二段用組合邏輯描述狀態(tài)轉(zhuǎn)移,該模塊主要用來(lái)實(shí)現(xiàn)三個(gè)狀態(tài)在什么時(shí)候?qū)崿F(xiàn)狀態(tài)轉(zhuǎn)移。
第三段用時(shí)序邏輯描述輸出,對(duì)應(yīng)各個(gè)狀態(tài)時(shí)各個(gè)控制信號(hào)組合邏輯的輸出。
本實(shí)例所用的主控芯片EPM570T100C5N的工作時(shí)鐘是16MHz,經(jīng)過(guò)時(shí)鐘分頻產(chǎn)生1KHz的時(shí)鐘用于定時(shí)器模塊的工作頻率。整個(gè)雙斜積分式ADC的定時(shí)分為還未進(jìn)行積分階段的放電階段以及積分階段的定時(shí)積分,分別是2ms和20ms。這些定時(shí)值通過(guò)分頻器的方式產(chǎn)生。
整個(gè)雙斜積分式ADC的定時(shí)分為還未進(jìn)行積分階段的放電階段以及積分階段的定時(shí)積分,分別是2ms和20ms。為了計(jì)數(shù)得到反向積分的值,這個(gè)時(shí)候通過(guò)經(jīng)過(guò)分頻產(chǎn)生1MHz的工作頻率,這個(gè)頻率用于計(jì)數(shù)器模塊,求出式3中的N1,N2進(jìn)而計(jì)算出ADC的轉(zhuǎn)換值。
在進(jìn)行測(cè)試的時(shí)候,對(duì)每組電壓值都進(jìn)行多次測(cè)量取平均的方式來(lái)提高測(cè)量精度。
狀態(tài)機(jī)是數(shù)字邏輯設(shè)計(jì)中的重要內(nèi)容,本身相對(duì)復(fù)雜。本教學(xué)實(shí)例結(jié)合積分式模數(shù)轉(zhuǎn)換器的控制方法,引入三段式狀態(tài)機(jī),更利于學(xué)生理解狀態(tài)機(jī)的寫(xiě)法和應(yīng)用。本實(shí)例在加深學(xué)生理解如何使用狀態(tài)機(jī)的同時(shí),也能讓學(xué)生進(jìn)一步掌握積分式模數(shù)轉(zhuǎn)換器的控制方法。從教學(xué)實(shí)踐的結(jié)果來(lái)看,有較好的效果。如何豐富此教學(xué)實(shí)例的外圍,讓學(xué)生在學(xué)習(xí)狀態(tài)機(jī)的同時(shí)也學(xué)習(xí)使用Verilog HDL代碼實(shí)現(xiàn)常用外設(shè)的控制是下一步豐富教學(xué)實(shí)例的重點(diǎn)。讓EDA的學(xué)習(xí)不僅僅是代碼的練習(xí),更是結(jié)合實(shí)際硬件的綜合訓(xùn)練。這樣才能培養(yǎng)出更具有工程應(yīng)用能力的學(xué)生。