你的位置:首頁 > 測試測量 > 正文

利用CPLD數(shù)字邏輯和FPGA實現(xiàn)ADC

發(fā)布時間:2014-10-12 責(zé)任編輯:echolady

【導(dǎo)讀】用CPLD和FPGA在印制電路上將功能元件和存儲器、處理器粘合以其實現(xiàn)數(shù)字設(shè)計是工程師的強項。除了這項功能,CPLD和FPGA能夠使用簡單的電阻電容電路、CPLD或者FPGA數(shù)字邏輯單元、LVDS輸入來實現(xiàn)共模功能,構(gòu)建數(shù)模轉(zhuǎn)換器。ADC在與數(shù)字邏輯連接時作為模擬功能塊存在。本文中詳細解析了利用FPGA和CPLD數(shù)字邏輯實現(xiàn)低頻率(DC至1K Hz)和高頻率(高達50K Hz)ADC。根據(jù)實例驗證語音通信系統(tǒng)中的頻率檢測。

低頻/最小邏輯ADC實現(xiàn)
 
在低頻/最小邏輯實現(xiàn)情況中,采樣控制模塊控制逐次逼近寄存器,相關(guān)的輸出信號隨時加到RC電路。因此RC電路的電壓上升或下降,以響應(yīng)相關(guān)的輸出狀態(tài),輸出狀態(tài)是變化的。LVDS輸入比較模擬輸入與RC電路電壓的變化。因此,RC電路的電壓是用來“發(fā)現(xiàn)”模擬輸入電壓。圖2的例子中,靜態(tài)模擬輸入(由橙色虛線來表示)設(shè)置為不到整個輸入電壓范圍的一半。垂直的黑色虛線表示SAR采樣點之間的時鐘數(shù)目,用綠色虛線來表示。
 
第一次測量需要8個時鐘,下一次需要4個時鐘,等等類似。最初,通過在相關(guān)輸出上加邏輯“1”,RC電路被設(shè)置為模擬輸入的整個電壓擺幅的一半。一旦電壓達到這個點的一半,LVDS輸入的輸出將指示模擬輸入值是否高于或低于RC電路電壓。
 
如果模擬電壓較高,數(shù)字輸出的最高有效位是邏輯“1”。如果模擬電壓較低,則數(shù)字輸出為邏輯“0”。SAR移到下一位,采樣時間減半(為整個電壓擺幅的四分之一)。這個過程不斷重復(fù),直到A/D轉(zhuǎn)換器達到所需的精度。在圖1中的例子中,觀察RC電路電壓是如何逐漸接近模擬輸入值。在這個簡單例子中,SAR(0101)的4位數(shù)字輸出展示在圖的底部。
 
利用CPLD數(shù)字邏輯和FPGA實現(xiàn)ADC
圖1:基于SAR的 A/D轉(zhuǎn)換器運作實例
 
低頻設(shè)計可以用來監(jiān)測幾個模擬電壓的電平,這些電平表示各種電源電壓和環(huán)境傳感器的輸出。CPLD實現(xiàn)可以監(jiān)控PCB的電源電壓(3.3V,2.5V和 1.8V),以及溫度和濕度傳感器和開放式機箱的報警。為測量多個模擬輸入,可針對每個模擬電壓連同附加的RC電路采用一個LVDS輸入。由于模擬電壓是緩慢改變的,LVDS輸出可多路復(fù)用,這樣在每個輸入之間就可以共享數(shù)字邏輯功能。
 
低頻/最小邏輯ADC的測試結(jié)果
 
無需可選數(shù)字濾波電路的低頻/最小邏輯電路已經(jīng)用一塊*估板在萊迪思的MachXO CPLD上實現(xiàn),并使用電壓范圍為0V至3.3V的0.8Hz輸入信號。如圖2所示,采用可選的存儲器緩沖區(qū)及萊迪思ispLEVER設(shè)計軟件的 Reveal Logic Analyzer功能。該功能將緩沖存儲器添加至目標設(shè)計,并加入控制數(shù)字信號采集、數(shù)據(jù)緩沖和通過JTAG電纜輸出數(shù)據(jù)到計算機所需的邏輯。在測試過程中,使用PScope軟件在捕獲的數(shù)據(jù)上運行FFT。該電路對0.8Hz模擬輸入的響應(yīng)顯示在圖2的上半部分。
 
 
利用CPLD數(shù)字邏輯和FPGA實現(xiàn)ADC
圖2:A/D轉(zhuǎn)換器的結(jié)果實例:低頻和高頻選項
 
接收到的數(shù)字信號顯示在PScope屏的頂部窗口中??v軸用來測量代碼步長(0到255),橫軸用來測量采樣(在這個例子中有1024個樣本)。在邊欄的右上角報告頻率,如f1(基本)頻率。FFT的結(jié)果顯示在窗口的下面,根據(jù)它們的dB水平通過縱軸顯示諧波頻率。從FFT產(chǎn)生的關(guān)鍵參數(shù)顯示在右下側(cè)欄,其中包括有效位數(shù)(ENOB)和信噪比(SNR)。這些結(jié)果表明,輸入信號已成功轉(zhuǎn)換為具有好的分辨率和信噪比的數(shù)字信號。
[page]
 
模數(shù)轉(zhuǎn)換器的實現(xiàn)
 
一個簡單的模數(shù)轉(zhuǎn)換器可以通過添加一個簡單的RC電路至FPGA或CPLD 的LVDS輸入來實現(xiàn)。正如圖1的左下角所示,RC網(wǎng)絡(luò)在LVDS輸入的一端,模擬輸入則在另一端。 LVDS輸入將作為一個簡單的模擬比較器,如果模擬輸入電壓高于RC網(wǎng)絡(luò)的電壓,將輸出數(shù)字“1”。通過改變RC電路的輸入電壓(來自FPGA/CPLD 的通用輸出),LVDS比較器可用于分析模擬輸入電壓,以創(chuàng)建一個準確的數(shù)字表示。
 
模擬至數(shù)字控制模塊可以用多種方式實現(xiàn),取決于模擬輸入的頻率、所需的分辨率和可用的邏輯資源。用簡單的逐次逼近寄存器可以處理低頻信號,如圖3左上角的選項1。實現(xiàn)較高頻率的情況如圖3右上角所示,可以用 Δ-Σ調(diào)制器功能來實現(xiàn),它由采樣寄存器和級連梳狀(CIC)濾波器組成。
 
一旦構(gòu)建了數(shù)字信號,就可以對數(shù)字輸出進行可選的過濾,以去除任何由于系統(tǒng)噪音或反饋抖動所引入的不必要的高頻分量。在可選數(shù)字濾波模塊后面,可選的存儲器緩沖區(qū)可用于調(diào)試/測試目的。通過存儲緩沖器對數(shù)字輸出采樣,然后通過JTAG端口掃描輸出,到達運行信號分析軟件的個人計算機。
 
利用CPLD數(shù)字邏輯和FPGA實現(xiàn)ADC
圖3:模數(shù)轉(zhuǎn)換器基本框圖:低頻和高頻情況
 
實現(xiàn)更高頻率的ADC
 
圖 1右上角的較高頻ADC的前端仍然采用RC電路和LVDS輸入。過采樣觸發(fā)器捕獲LVDS輸入的比較結(jié)果。通過驅(qū)動RC電路的通用LVCMOS輸出反饋這個信號。如果比較器輸出為邏輯“1”,這意味著模擬輸入高于RC電路的電壓。邏輯“1”通過觸發(fā)器采樣,并反饋到RC電路,使RC電路的電壓上升。如果比較器輸出為邏輯“0”,反饋信號將為邏輯“0”,這將會使得RC電壓更低。通過這個簡單的反饋機制,數(shù)字值“跟蹤”模擬輸入頻率。
圖4的右下方展示了一個用紅色表示的采樣模擬輸入波形的示例,以及采樣觸發(fā)器的輸出:藍色的列代表一個邏輯“1”,白色列代表一個邏輯“0”。注意在通用脈沖編碼調(diào)制(PCM)格式中“1”和“0”的改變方式。
使用級聯(lián)積分梳狀(CIC)濾波器,PCM輸入數(shù)據(jù)可轉(zhuǎn)換成反映模擬輸入流頻率的輸出流。CIC的功能基本集成(增加或減少)單個位PCM信號,以生成所需比特數(shù)的連續(xù)輸出信號。在圖4下方的例子中,將藍色位視為一個“1”,白色位作為“-1”,可以清楚地看到,求和(積分)運算將產(chǎn)生輸入波形的數(shù)字表示。 (請注意,輸出波形將移位約半周期,因為一個“1”序列將對應(yīng)數(shù)字值的增加,在圖4中, “1”序列在波形的“高”部分產(chǎn)生,而一系列“0”在波形的“低”部分產(chǎn)生。)
 
由于反饋環(huán)路的“跟蹤”過程,RC電路電壓可能圍繞模擬輸入電平擺動。當過采樣觸發(fā)器在“1”和“0”之間變化時,RC電路的電壓會從稍高于模擬輸入電平下降至稍低于模擬輸入電平。這個過程一直持續(xù)到模擬輸入電平發(fā)生變化。這種高頻率噪音可以通過使用可選的數(shù)字濾波器來消除。
 
利用CPLD數(shù)字邏輯和FPGA實現(xiàn)ADC
圖4:Δ-Σ調(diào)制器的轉(zhuǎn)換階段的結(jié)果
 
較高頻率的設(shè)計可以監(jiān)測多個用于工作和環(huán)境狀況通信的音頻附加信號。例如,可定期發(fā)出5k和12K Hz信號,以指示遠程音頻監(jiān)控系統(tǒng)的狀態(tài)。這些信號可以指示設(shè)備的環(huán)境情況(溫度和濕度)。正如前面的例子,通過簡單地添加更多的LVDS輸入,可以支持多路模擬信號。該設(shè)計可作為8個模擬信號的中心。通過時分多路復(fù)用輸入,僅需要使用一個數(shù)字邏輯的副本。
 
利用CPLD數(shù)字邏輯和FPGA實現(xiàn)ADC
 
較高頻率的ADC測試結(jié)果
 
較高頻率的ADC電路已用*估板在Lattice XP2-17 FPGA上實現(xiàn)。測試期間使用具有0V至3.3V擺幅的15K Hz輸入信號。使用方案選項2的電路來處理模擬信號,圖2所示的方案選項2使用數(shù)字濾波器。結(jié)果顯示在圖1的下半部分,窗口的上方顯示接收信號,F(xiàn)FT在底部,F(xiàn)1頻率為15.1K Hz。下邊欄的結(jié)果給出9情況下的 ENOB以及61 dB的信噪比。這些結(jié)果表明,輸入信號已成功轉(zhuǎn)換為具有良好分辨率和信噪比的數(shù)字信號。

結(jié)語:經(jīng)過實驗證明,利用FPGA和CPLD數(shù)字邏輯能夠成功實現(xiàn)ADC,測試結(jié)果表明輸入信號成功轉(zhuǎn)換為具有良好分辨率和信噪比的數(shù)字信號。

相關(guān)閱讀:

專家支招:如何“消滅”ADC噪聲?
電子工程師筆記:高速ADC設(shè)計中的PCB布局布線技巧
有效降低整個ADC信號鏈路功耗的設(shè)計指要
要采購轉(zhuǎn)換器么,點這里了解一下價格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
壓控振蕩器 壓力傳感器 壓力開關(guān) 壓敏電阻 揚聲器 遙控開關(guān) 醫(yī)療電子 醫(yī)用成像 移動電源 音頻IC 音頻SoC 音頻變壓器 引線電感 語音控制 元件符號 元器件選型 云電視 云計算 云母電容 真空三極管 振蕩器 振蕩線圈 振動器 振動設(shè)備 震動馬達 整流變壓器 整流二極管 整流濾波 直流電機 智能抄表
?

關(guān)閉

?

關(guān)閉