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

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

發(fā)布時間:2014-10-12 責任編輯: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)閉