ADALM2000實(shí)驗(yàn):模數(shù)轉(zhuǎn)換
2023-06-09
作者:Andreea Pop,,系統(tǒng)設(shè)計(jì)/架構(gòu)工程師 Antoniu Miclaus,,系統(tǒng)應(yīng)用工程師 Mark Thoren,系統(tǒng)設(shè)計(jì)/架構(gòu)工程師 Doug Mercer,,顧問研究員
來源:ADI
目標(biāo)
本實(shí)驗(yàn)活動(dòng)旨在通過構(gòu)建說明性示例來探討模數(shù)轉(zhuǎn)換的概念,。
背景信息
模數(shù)轉(zhuǎn)換器(ADC)將模擬信號——即溫度、壓力,、電壓,、電流、距離或光強(qiáng)度等實(shí)際信號——轉(zhuǎn)換為該信號的數(shù)字表示,。然后,,系統(tǒng)可以處理、控制,、計(jì)算,、傳輸或存儲此數(shù)字表示。
圖1.模數(shù)轉(zhuǎn)換
ADC以均勻的時(shí)間間隔對模擬波形進(jìn)行采樣,,并將數(shù)字值分配給每個(gè)樣本,。數(shù)字值以二進(jìn)制編碼格式在轉(zhuǎn)換器的輸出端顯示。通過將采樣模擬輸入電壓除以基準(zhǔn)電壓,再乘以數(shù)字碼數(shù)得到此值,。轉(zhuǎn)換器的分辨率由輸出碼中的二進(jìn)制位數(shù)來設(shè)定,。
圖2.數(shù)字輸出碼
ADC執(zhí)行兩個(gè)過程:采樣和量化。ADC將無限分辨率的模擬信號表示為有限分辨率的數(shù)字碼,。ADC會產(chǎn)生2N個(gè)數(shù)字值,,其中N表示二進(jìn)制輸出位數(shù)。由于轉(zhuǎn)換器的分辨率有限,,模擬輸入信號將落在量化電平之間,,從而導(dǎo)致固有的不確定性或量化誤差。該誤差可確定轉(zhuǎn)換器的最大動(dòng)態(tài)范圍,。
圖3.量化過程
采樣過程提供連續(xù)時(shí)域信號,,信號值以離散、均勻的時(shí)間間隔測量,。通過此過程,,根據(jù)奈奎斯特準(zhǔn)則可確定采樣信號的最大帶寬。該理論認(rèn)為,,信號頻率必須小于或等于一半采樣頻率以防混疊,。混疊是指通過采樣過程,,目標(biāo)帶寬內(nèi)出現(xiàn)所需信號頻段之外的頻率信號的情況,。不過,在通信系統(tǒng)設(shè)計(jì)中,,可利用此混疊過程將高頻信號向下轉(zhuǎn)換為低頻信號,。這就是欠采樣技術(shù)。欠采樣的標(biāo)準(zhǔn)就是ADC具有足夠的輸入帶寬和動(dòng)態(tài)范圍來采集最高目標(biāo)頻率信號,。
圖4.采樣過程
采樣和量化都是重要的概念,,因?yàn)樗鼈兇_定了理想ADC的性能極限。在一個(gè)理想ADC中,,碼躍遷恰好相距1 LSB(最低有效位),。因此,對于一個(gè)N位ADC,,共有2N個(gè)數(shù)字碼,,且1 LSB = FS/2N,其中FS為滿量程模擬輸入電壓,。然而,,實(shí)際ADC操作也受到非理想效應(yīng)的影響,所產(chǎn)生的誤差超出了轉(zhuǎn)換器分辨率和采樣速率所決定的誤差,。與ADC相關(guān)的許多交流和直流性能規(guī)格中都會體現(xiàn)這些誤差,。
圖5.理想ADC的轉(zhuǎn)換函數(shù)
在此范圍內(nèi),任何模擬輸入會產(chǎn)生同樣的數(shù)字輸出碼。
材料
▲ADALM2000 主動(dòng)學(xué)習(xí)模塊
▲無焊試驗(yàn)板和跳線套件
▲一個(gè)OP482 運(yùn)算放大器
▲兩個(gè)AD654 電壓頻率轉(zhuǎn)換器
▲三個(gè)1 kΩ電阻
▲五個(gè)10 kΩ電阻
▲一個(gè)1 nF電容
▲一個(gè)SN74HC08與門
▲一個(gè)SN74HC32或門
▲一個(gè)SN74HC04逆變器
▲一個(gè)1 μF電容
▲一個(gè)AD7920 12位ADC
閃存ADC
背景信息
Flash ADC,,也稱為并行ADC,,是將模擬信號轉(zhuǎn)換為數(shù)字信號的最快方法之一。Flash ADC非常適合需要極寬帶寬的應(yīng)用,,但其功耗比其他ADC架構(gòu)高且通常限制為8位分辨率,。典型示例包括數(shù)據(jù)采集、衛(wèi)星通信,、雷達(dá)處理、采樣示波器和高密度硬盤驅(qū)動(dòng)器,。
Flash ADC由高速比較器級聯(lián)而成,。對于一個(gè)N位轉(zhuǎn)換器,電路采用2N -1個(gè)比較器,,同時(shí)有2N個(gè)電阻提供基準(zhǔn)電壓,。當(dāng)比較器的模擬輸入電壓高于所施加的基準(zhǔn)電壓時(shí),其輸出1,。否則,,比較器輸出0。代碼從1變?yōu)?的點(diǎn)就是輸入信號小于相應(yīng)比較器基準(zhǔn)電壓電平的點(diǎn),。
請看圖6所示的電路,。
圖6.Flash ADC—模擬側(cè)電路
此電路表示2位Flash ADC的模擬側(cè),其架構(gòu)稱為溫度計(jì)代碼(一元碼)編碼,。對于此類電路,,需要使用額外的邏輯電路將一元碼解碼成適當(dāng)?shù)臄?shù)字輸出碼。通過使用邏輯與門,、或門和非門,,我們可以構(gòu)建專有編碼器。其輸出為原始數(shù)值的二進(jìn)制表示,,最高有效輸入位從0開始,。
圖7.Flash ADC—編碼輸出
圖8.Flash ADC試驗(yàn)板連接
如前所述,F(xiàn)lash ADC使用高速比較器構(gòu)建而成,,但為了方便起見,,我們將使用OP482四通道運(yùn)算放大器來介紹工作原理?;蛘?,可以使用四個(gè)AD8561比較器來構(gòu)建此電路。
硬件設(shè)置
在無焊試驗(yàn)板上構(gòu)建圖7所示的電路,。這是一個(gè)用于具有編碼輸出的2位Flash ADC的電路,。
程序步驟
向電路提供±5 V電源電壓。在Scopy中將信號發(fā)生器的AWG1配置為具有5 V峰峰值幅度、2.5 V偏移和100 Hz頻率的上升斜坡鋸齒波,。將AWG2用于為ADC提供5 V恒定基準(zhǔn)電壓,。
配置邏輯分析儀,使得數(shù)字通道DIO0,、DIO1和DIO2形成一個(gè)針對一元碼解碼的通道組,,通道DIO6和DIO7形成一個(gè)針對并行輸出解碼的通道組。
輸出信號波形如圖9所示,。
圖9.Flash ADC—輸出碼
一元組通道表示2位Flash ADC的輸出溫度計(jì)代碼,,通過在整個(gè)可用范圍(0 V至5 V)內(nèi)改變輸入模擬電壓來提供所有可能的輸出值。并行通道表示相當(dāng)于ADC輸出狀態(tài)的二進(jìn)制值,。
電壓頻率轉(zhuǎn)換器用作ADC
背景信息
在這個(gè)特殊應(yīng)用中,,AD654電壓頻率轉(zhuǎn)換器用作ADC。
圖10.電壓頻率轉(zhuǎn)換器用作ADC
為了實(shí)現(xiàn)轉(zhuǎn)換,,應(yīng)將轉(zhuǎn)換器的輸出端連接到集成間隔定時(shí)器/事件計(jì)數(shù)器的微型計(jì)算機(jī),。
計(jì)數(shù)期間的信號邊沿(上升或下降)總計(jì)數(shù)與輸入電壓成正比。在此特定設(shè)置下,,1 V滿量程輸入電壓會產(chǎn)生100 kHz信號,。如果計(jì)數(shù)周期為100 ms,則總計(jì)數(shù)將為10,000,。然后依據(jù)與該最大值的比例便可確定輸入電壓,。因此,計(jì)數(shù)為5000時(shí),,相應(yīng)的輸入電壓為0.5 V,。
硬件設(shè)置
構(gòu)建試驗(yàn)板電路以將電壓頻率轉(zhuǎn)換器用作ADC,如圖11所示,。
程序步驟
向電路提供5 V電源電壓,。將信號發(fā)生器的AWG1配置為1 V恒定電壓。
配置示波器,,使通道1上顯示輸出信號,,并從通道1“測量”選項(xiàng)卡中啟用頻率測量。輸出信號波形如圖12所示,。
圖11.電壓頻率轉(zhuǎn)換器用作ADC—試驗(yàn)板連接
圖12.滿量程輸入電壓下電壓頻率轉(zhuǎn)換器用作ADC
圖12中的曲線顯示了電壓頻率轉(zhuǎn)換器采用1 V滿量程輸入電壓時(shí)的輸出信號波形,。請注意,相應(yīng)輸出頻率為100 kHz,。
現(xiàn)在將輸入電壓設(shè)置為0.5 V,。輸出信號波形如圖13所示。
圖13.半量程輸入電壓下電壓頻率轉(zhuǎn)換器用作ADC
圖中顯示了電壓頻率轉(zhuǎn)換器采用0.5 V半量程輸入電壓時(shí)的輸出信號波形,。請注意,,輸出頻率現(xiàn)在為50 kHz,。
逐次逼近寄存器(SAR) ADC
背景信息
逐次逼近寄存器(SAR) ADC在每次轉(zhuǎn)換時(shí),針對所有可能的量化電平,,通過二進(jìn)制搜索將連續(xù)模擬波形轉(zhuǎn)換為離散數(shù)字表示,,最后匯聚為數(shù)字輸出。
通常,,SAR ADC電路由四個(gè)子電路組成:
▲用于采集輸入電壓(VIN)的采樣保持電路(S/H),。
▲模擬電壓比較器,它將VIN與內(nèi)部DAC的輸出進(jìn)行比較并將比較結(jié)果輸出至SAR,。
▲SAR子電路,,用于向內(nèi)部DAC提供VIN的近似數(shù)字碼。
▲內(nèi)部基準(zhǔn)DAC,,向比較器提供相當(dāng)于SAR數(shù)字碼輸出的模擬電壓,。
圖14.SAR ADC的典型架構(gòu)
對SAR進(jìn)行初始化,使最高有效位(MSB)等于數(shù)字1,。將此代碼輸入DAC,然后DAC將此數(shù)字碼的模擬等效信號(VREF/2)提供給比較器電路,,以便與采樣輸入電壓進(jìn)行比較,。如果此模擬電壓超過VIN,則比較器使SAR重置此位,;否則,,此位將保留為1。然后將下一位設(shè)置為1并進(jìn)行相同的測試,,持續(xù)執(zhí)行此二進(jìn)制搜索直到SAR中的每個(gè)位都已經(jīng)過測試,。所得到的代碼是采樣輸入電壓的數(shù)字近似值,并最終由SAR在轉(zhuǎn)換結(jié)束(EOC)時(shí)輸出,。
圖15.4位SAR ADC示例
圖15顯示了4位轉(zhuǎn)換的一個(gè)示例,。y軸表示DAC輸出電壓。在此示例中,,第一次比較顯示VIN < VDAC,。因此,位3設(shè)置為0,。然后將DAC設(shè)置為0100并進(jìn)行第二次比較,。由于VIN > VDAC,位2保持為1,。然后將DAC設(shè)置為0110并進(jìn)行第三次比較,。將位1設(shè)置為0,然后將DAC設(shè)置為0101進(jìn)行最終比較,。最后,,由于VIN > VDAC,,位0保持為1。
硬件設(shè)置
為了利用ADALM2000重點(diǎn)說明SAR ADC的工作原理,,對于DAC器件將使用在下次實(shí)驗(yàn)中探討的電路,,但此設(shè)置中將使用4位DAC(而不是8位)。DAC的輸出端將連接到比較器,,同時(shí)通過腳本對SAR進(jìn)行仿真,,該腳本基于比較器的輸出執(zhí)行二進(jìn)制搜索并生成正確的二進(jìn)制值。
圖16.SAR ADC原理圖
構(gòu)建SAR ADC的試驗(yàn)板電路,,如圖17所示,。
圖17.SAR ADC試驗(yàn)板連接
將OP484集成電路中的兩個(gè)精密軌到軌運(yùn)算放大器用于該SAR ADC,一個(gè)用于R-2R梯形DAC,,另一個(gè)作為DAC輸出和輸入電壓之間的比較器,。
程序步驟
向電路提供±5 V電源電壓。配置示波器,,使通道1上顯示比較器輸出信號,,通道2上顯示DAC輸出信號。
將邏輯分析儀中的前4個(gè)數(shù)字通道分組,,并將解碼器設(shè)置為并行,。
下載SAR ADC腳本,并使用Scopy界面運(yùn)行腳本,。
使用逐次逼近法,,根據(jù)從比較器輸出端收到的反饋更新數(shù)字碼。
利用示波器在時(shí)域內(nèi)實(shí)現(xiàn)DAC輸出的逼近行為可視化,。產(chǎn)生的波形如圖18所示,。
圖18.SAR ADC逐次逼近波形
經(jīng)過幾個(gè)逼近步驟后,輸出值接近輸入值(設(shè)置為2 V),。
AD7920 12位ADC
背景信息
AD7920是一款12位高速,、低功耗SAR ADC。它可以采用單電源供電,,電源電壓范圍為2.35 V至5.25 V,。此ADC支持串行接口。串行時(shí)鐘提供轉(zhuǎn)換時(shí)鐘,,并在轉(zhuǎn)換期間控制來自AD7920的信息傳輸,。轉(zhuǎn)換過程和數(shù)據(jù)采集過程通過/CS和串行時(shí)鐘進(jìn)行控制,從而為器件與微處理器或DSP接口創(chuàng)造了條件,。輸入信號在/CS的下降沿進(jìn)行采樣,,而轉(zhuǎn)換同時(shí)在此處啟動(dòng)。圖19顯示了ADC采樣階段和轉(zhuǎn)換階段的簡化原理示意圖,。
在采樣階段,,SW2閉合且SW1置于A,。在此設(shè)置下,比較器保持在平衡狀態(tài),,采樣電容采集VIN的信號,。為使ADC啟動(dòng)轉(zhuǎn)換,SW2斷開,,而SW1移至位置B,,使比較器變得不平衡??刂七壿嫼碗姾稍俜峙銬AC可以加上和減去采樣電容中的固定電荷數(shù)量,,使得比較器恢復(fù)到平衡狀態(tài),進(jìn)而轉(zhuǎn)換完成,。
硬件設(shè)置
圖21給出了AD7920的典型連接設(shè)置,。VREF取自內(nèi)部VDD,因此其應(yīng)充分解耦,。這將提供0 V到VDD的模擬輸入范圍,。轉(zhuǎn)換結(jié)果以16位字輸出,前4位為0,,后12位或10位MSB為結(jié)果,。
圖19.AD7920采樣和轉(zhuǎn)換階段
圖20.AD7920試驗(yàn)板連接
圖21.AD7920典型連接
程序步驟
打開Scopy,使能正電源為3 V,。配置信號發(fā)生器的通道1為0 V到3 V之間的某一恒定值,例如該域的中間值1.5 V,??梢栽谑静ㄆ魃媳O(jiān)視這些電壓的實(shí)際值。
圖22.VIN(通道1)和VREF(通道2)電壓
在邏輯分析儀中,,將DIO0,、DIO1和DIO2配置為一個(gè)組通道。將該組通道設(shè)置為SPI,,各通道設(shè)置為對應(yīng)的SPI信號——DIO0為CS#,,DIO1為CLK,DIO2為MISO,。當(dāng)CS#下降沿啟動(dòng)數(shù)據(jù)傳輸時(shí),,應(yīng)將DIO0觸發(fā)器設(shè)置為下降沿。將DIO1觸發(fā)器設(shè)置為低電平,,并從觸發(fā)器設(shè)置中將“觸發(fā)器邏輯”設(shè)置為AND,。DIO2是ADC的輸出信號,不需要觸發(fā)器設(shè)置,。使能邏輯分析儀,,它應(yīng)在等待觸發(fā)信號,。
在模式發(fā)生器中配置時(shí)鐘信號。使能DIO1通道,,將其“模式”設(shè)置為5 MHz頻率的時(shí)鐘,,然后單擊Run(運(yùn)行)??梢詮臄?shù)字IO工具控制CS#,。當(dāng)切換配置為輸出引腳的DIO0引腳時(shí),轉(zhuǎn)換機(jī)會開始,。如果CS#的下降沿和CLK的低電平狀態(tài)同時(shí)發(fā)生,,轉(zhuǎn)換將啟動(dòng),應(yīng)能在邏輯分析儀中看到輸出信號和MISO十六進(jìn)制數(shù)據(jù),,如圖23所示,。
圖23.AD7920的SPI接口
可以使用ADC轉(zhuǎn)換函數(shù)的公式檢查結(jié)果,其中MISO數(shù)據(jù)為數(shù)字輸出碼,,示波器通道1上讀取的電壓為模擬輸入,,示波器通道2上讀取的電壓為基準(zhǔn)輸入,N為AD7920的位數(shù),。
以上計(jì)算得出的結(jié)果是ADC輸入電壓為1.5 V,,在示波器通道1上讀出的也是該值。
額外活動(dòng):雙斜率ADC
雙斜率ADC(或變體)是許多高精度數(shù)字電壓表的核心器件,。此架構(gòu)具有幾個(gè)有用的特性:由于大多數(shù)誤差源都會抵消,,因此只需要幾個(gè)精密元件,還可以通過配置來抑制特定噪聲頻率,,如50 Hz或60 Hz線路噪聲,,并且對高頻噪聲不敏感。
圖24.雙斜率ADC結(jié)構(gòu)
轉(zhuǎn)換器的工作原理如下:在固定時(shí)間內(nèi)對積分器施加未知輸入電壓(稱為上坡(runup)),,然后對積分器施加與輸入極性相反的已知基準(zhǔn)電壓(稱為下坡(rundown)),。因此,輸入電壓可以根據(jù)基準(zhǔn)電壓和下坡-上坡時(shí)間比計(jì)算得到:
圖25.雙斜率ADC積分器輸出波形
可以看出,,雙斜率轉(zhuǎn)換器的精度不受大多數(shù)元件容差的影響:
▲積分器的電阻和電容容差會影響輸出斜率,,但同時(shí)也會影響上坡和下坡。
▲用于設(shè)置上坡時(shí)間和測量下坡時(shí)間的時(shí)基誤差對兩個(gè)時(shí)間的影響是相同的,。
基準(zhǔn)電壓必須準(zhǔn)確,,因?yàn)樗鼤苯佑绊憸y量結(jié)果。另一個(gè)誤差源是積分器電容中的電介質(zhì)吸收,,因此聚丙烯或聚苯乙烯是理想選擇,,而鋁電解不太合適。
圖26.雙斜率ADC積分器輸出波形
圖26所示為雙斜率ADC的頻率響應(yīng),。在固定時(shí)間間隔(上坡)內(nèi)對輸入采樣,,上坡開始時(shí)電壓對結(jié)果的影響與上坡結(jié)束時(shí)電壓對結(jié)果的影響一樣,。有時(shí)也將此稱為箱式平均值,它能夠抑制在1/T,、2/T,、3/T等頻率下發(fā)生的干擾(噪聲)。200 ms積分時(shí)間對應(yīng)于10個(gè)周期的50 Hz噪聲和12個(gè)周期的60 Hz噪聲,;由于它能夠抑制線路噪聲,,因此通常將其作為上坡時(shí)間。
仿真
打開這里提供的LTspice?文件DualSlope.asc,。
圖27.雙斜率ADC積分器原理圖
運(yùn)行仿真,,探測Vintegrate節(jié)點(diǎn)。
圖28.雙斜率ADC積分器仿真1
該仿真將60 Hz線路噪聲添加到直流輸入電壓中,。通過,。step指令運(yùn)行幾種情況——1 V、2 V,、3 V,、4 V 5 V輸入電壓以及60 Hz線路噪聲的幾個(gè)不同相位。由于200 ms上坡時(shí)間是60 Hz線路周期的整數(shù),,所以噪聲在頻率響應(yīng)中為零,,并且無論相位如何,下坡時(shí)間都不受影響,。將頻率更改為62.5 Hz,,使其處于頻率響應(yīng)的峰值。
圖29.雙斜率ADC積分器仿真2
硬件設(shè)置
為雙斜率ADC構(gòu)建試驗(yàn)板電路,,如圖30所示,,并按照圖示對M2K進(jìn)行連接。
圖30.雙斜率ADC積分器試驗(yàn)板電路
程序步驟
打開Scopy,。內(nèi)核Scopy初始化文件Dual_slope_scopy_setup.ini以幫助設(shè)置。
電源:使能跟蹤,,設(shè)置為±5 V,。
數(shù)字IO:DIO2設(shè)置為OUT,設(shè)置為1,。
模式發(fā)生器:組DIO0,、DIO1,模式:導(dǎo)入(加載文件dual_slope_pattern.csv),。頻率設(shè)置為5 Hz,。
信號發(fā)生器:通道1初始設(shè)置為恒定2.5 V。
示波器:200 ms時(shí)基,,通道1設(shè)置為400 mV/刻度,。下降沿觸發(fā)器,,200 mV(將在積分器重置間隔開始時(shí)觸發(fā)M2K)。
圖31.雙斜率ADC積分器波形
當(dāng)基準(zhǔn)電壓源連接到-5 V電源并將輸入電壓設(shè)置為2.5 V時(shí),,請注意下坡為2格(400 ms),,而上坡為1格(200 ms)。因此:
VIN = 5 V × (200 ms / 400 ms) = 2.5 V
通過改變輸入電壓,,可以看到上坡時(shí)間發(fā)生變化,。波形如圖32所示。
圖32.不同輸入電壓的雙斜率ADC積分器波形
實(shí)際實(shí)現(xiàn)雙斜率轉(zhuǎn)換器時(shí),,將使用一個(gè)微控制器來控制積分器并設(shè)置上坡/測量下坡時(shí)間,。大多數(shù)微控制器都提供計(jì)數(shù)器外設(shè),因而很容易實(shí)現(xiàn),。
更多精彩內(nèi)容歡迎點(diǎn)擊==>>電子技術(shù)應(yīng)用-AET<<