如何用單個(gè)賽靈思FPGA 數(shù)字化數(shù)百個(gè)信號(hào)
2016-05-29
作者:William D. Richard,、Mitchell Manar、Jeremy Tang
每個(gè)輸入通道僅使用一個(gè)電阻和一個(gè)電容,,就可以數(shù)字化高頻模擬輸入信號(hào),。
在新型賽靈思 FPGA 上使用低電壓差分信號(hào)(LVDS),,只需一個(gè)電阻和一個(gè)電容就能夠數(shù)字化輸入信號(hào)。由于目前這一代賽靈思器件上提供有數(shù)百個(gè) LVDS 輸入,,理論上使用單個(gè) FPGA 就能夠數(shù)字化數(shù)百個(gè)模擬信號(hào),。
我們團(tuán)隊(duì)近期探索了可能的設(shè)計(jì)領(lǐng)域的一隅,對(duì)中心頻率為 3.75MHz 和精度為 5 位的有限帶寬輸入信號(hào)進(jìn)行了數(shù)字化,,同時(shí)還針對(duì) 128 元線性超聲陣列換能器的輸出信號(hào)研究了多種數(shù)字化方案,。首先讓我們?cè)敿?xì)介紹一下演示項(xiàng)目。
2009 年賽靈思推出了 LogiCORE? 軟 IP 核,。結(jié)合外置比較器,、一個(gè)電阻和一個(gè)電容,就可實(shí)現(xiàn)一種能夠數(shù)字化頻率高達(dá) 1.205kHz[1] 輸入信號(hào)的模數(shù)轉(zhuǎn)換器(ADC),。
用 FPGA 的 LVDS 輸入取代外置比較器,,同時(shí)結(jié)合使用增量調(diào)制器 ADC 架構(gòu),僅使用一個(gè)電阻和一個(gè)電容就能數(shù)字化頻率高得多的模擬輸入信號(hào),。
ADC 拓?fù)浜蛯?shí)驗(yàn)平臺(tái)
使用賽靈思 FPGA 上的 LVDS 輸入實(shí)現(xiàn)的單通道增量調(diào)制器 ADC[2]的方框圖見(jiàn)圖 1,。這里模擬輸入驅(qū)動(dòng) LVDS_33 緩沖器非反相輸入,輸入信號(hào)范圍基本為 0-3.3V,。以比模擬輸入信號(hào)頻率高得多的時(shí)鐘頻率對(duì) LVDS_33 緩沖器輸出進(jìn)行采樣并通過(guò)一個(gè) LVCMOS33 輸出緩沖器和一個(gè)外置一階 RC 濾波器反饋給 LVDS_33 緩沖器的反相輸入,。采用這一電路,只要選擇合適的時(shí)鐘頻率 (F),、電阻 (R) 和電容 (C),,反饋信號(hào)就會(huì)跟隨輸入模擬信號(hào)。
簡(jiǎn)單而且所用元件數(shù)少,,讓這個(gè)方法頗具吸引力,。而且由于 LVDS_33 輸入緩沖器有相對(duì)較高的輸入阻抗,在許多應(yīng)用中傳感器輸出可以直接連接到 FPGA 輸入,,無(wú)需前置放大器或緩沖器,。
作為實(shí)例,圖 2 顯示的是在 F=240MHz、R=2K 和 C=47pF 時(shí)的輸入信號(hào)(黃色,、通道 1)和反饋信號(hào)(藍(lán)色,、通道2)。所示的輸入信號(hào)是用 Agilent 33250A 函數(shù)發(fā)生器使用其 200MHz,、12 位任意輸出函數(shù)功能生成的,。輸入信號(hào)的傅里葉轉(zhuǎn)換由小組使用的Tektronix DPO 3054 示波器計(jì)算完成,顯示為紅色(通道 M),。在這些頻率上,,示波器探頭的輸入電容(以及接地問(wèn)題)不會(huì)降低示波圖所顯示的反饋信號(hào)的質(zhì)量,但圖 2 的確體現(xiàn)了該電路的運(yùn)行情況,。
通過(guò)對(duì) 1 Vpp 3.75MHz 正弦波運(yùn)用布萊克曼–納托爾 (Blackman-Nuttall) 窗口,,我們定義了圖 2 所示的有限帶寬輸入信號(hào)。雖然理論上窗口化信號(hào)的本底噪聲基本比中心頻率的幅度小 100dB,,Agilent 33250A 函數(shù)發(fā)生器的采樣頻率和 12 位精度讓演示信號(hào)質(zhì)量遠(yuǎn)遜于理論水平,。由于換能器的機(jī)械屬性,眾多超聲換能器產(chǎn)生的中心頻率接近 3.75MHz 的輸出信號(hào)自然是有限帶寬信號(hào),,因此對(duì)采用這種方法來(lái)說(shuō)是理想的信號(hào)源,。
我們使用 Digilent Cmod S6 開發(fā)模塊[3]配合安裝在小型 PCB 上的賽靈思 Spartan?-6 XC6SLX4 FPGA,并使用 8 個(gè) RC 網(wǎng)絡(luò)和輸入連接器,,讓圓形系統(tǒng)來(lái)同時(shí)數(shù)字化多達(dá) 8 路信號(hào),,即得到圖 2 所示的圖。每個(gè)通道并聯(lián)端接一個(gè) 50Ω 的接地電阻,,以正確端接信號(hào)發(fā)生器的同軸電纜,。需要注意的是為實(shí)現(xiàn)這樣的性能,我們小組將 LVCMOS33 緩沖器的驅(qū)動(dòng)強(qiáng)度設(shè)置為 24mA,,壓擺率設(shè)置為 FAST,,如圖 5 中的實(shí)例 VHDL 源代碼中記錄的情況。
使用一個(gè)外部電阻和一個(gè)外部電容的單通道增量調(diào)制器 ADC
圖 1 - 使用一個(gè)外部電阻和一個(gè)外部電容的單通道增量調(diào)制器 ADC,。
圖 2 - 該示波圖所示的是 F=240MHz,、R=2K 和 C=47pF 時(shí) Agilent 33250A 函數(shù)發(fā)生器產(chǎn)生的 3.75 MHz 輸入信號(hào)(黃色,通道 1)和反饋信號(hào)(藍(lán)色,,通道 2)。
由 Tektronix DPO 3054 示波器計(jì)算完成的輸入信號(hào)傅里葉轉(zhuǎn)換顯示為紅色(通道 M),。
定制的原型電路板還支持使用 FTDI FT2232H USB 2.0 微型模塊[4],,用于把數(shù)據(jù)包化的串行比特流傳輸?shù)街鳈C(jī) PC 上供分析。圖 3 所示的是當(dāng)饋給圖 2 的模擬信號(hào)時(shí),,原型電路板產(chǎn)生的比特流的傅里葉轉(zhuǎn)換幅度,。與 240MHz 采樣頻率的分諧波有關(guān)的峰值清晰可見(jiàn),另外還有與輸入信號(hào)相關(guān)的 3.75MHz 頻率下的峰值。
大量抽頭
通過(guò)給比特流施加帶通有限脈沖響應(yīng) (FIR) 濾波器,,就能夠產(chǎn)生模擬輸入信號(hào)的 N 位二進(jìn)制表達(dá):ADC 輸出,。但是由于數(shù)字比特流的頻率遠(yuǎn)遠(yuǎn)高于模擬輸入信號(hào),用戶需要使用帶有大量抽頭的 FIR 濾波器,。不過(guò)由于被濾波的數(shù)據(jù)只有 0 和 1 兩個(gè)數(shù)值,,所以無(wú)需使用乘法器(只需要加法器將 FIR 濾波器系數(shù)相加即可)。
圖 4 所示的 ADC 輸出是在主機(jī) PC 上使用我們用免費(fèi)在線 FIR 濾波器設(shè)計(jì)工具 TFilter[5]設(shè)計(jì)的中心頻率為3.75MHz 的 801 抽頭帶通濾波器產(chǎn)生的,。該濾波器在 2.5MHz - 5MHz 通帶外的衰減率為 36dB 甚至更高,,3MHz - 4.5MHz 之間的紋波為 0.58dB。
圖 4 所示的 ADC 輸出信號(hào)的精度大約為 5 位,。這是最終的過(guò)采樣率的函數(shù),,用戶可以使用針對(duì)較低輸入頻率優(yōu)化的設(shè)計(jì)來(lái)獲得更高精度。
圖 4 所示的 ADC 輸出信號(hào)在 240MHz 上也被嚴(yán)重地過(guò)采樣,,可以大幅度縮小 ADC 輸出帶寬,。在帶通濾波器和抽取模塊的硬件實(shí)現(xiàn)中,在通過(guò)抽取將有效采樣率降至 1/16 到 15MHz 時(shí)(比有限帶寬輸入信號(hào)的最高頻率快 3 倍),,可以只計(jì)算第 16 個(gè)濾波器輸出值,從而降低硬件需求,。
圖 3 - 本圖所示的是與圖 2 相關(guān)的配置產(chǎn)生的比特流的傅里葉轉(zhuǎn)換。
圖 4 - 使用中心頻率為 3.75MHz 的 801 抽頭帶通濾波器產(chǎn)生的 ADC 輸出。
圖 5 所示的是與 Digilent Cmod S6 開發(fā)模塊結(jié)合使用,,產(chǎn)生圖 2 所示的反饋信號(hào)以及與圖 3 的傅里葉轉(zhuǎn)換有關(guān)的比特流數(shù)據(jù)的 VHDL 源代碼,。一個(gè) LVDS_33 輸入緩沖器直接實(shí)例化并分別連接到模擬輸入和反饋信號(hào) sigin_p 和 sigin_n。內(nèi)部信號(hào) sig 由 LVDS_33 緩沖器的輸出驅(qū)動(dòng),,并由內(nèi)置的觸發(fā)器采樣,以產(chǎn)生 sigout,。信號(hào) sigout 是經(jīng)濾波用于產(chǎn)生N位ADC輸出的串行比特流,。我們使用免費(fèi)的賽靈思 ISE? Webpack 工具實(shí)現(xiàn)該項(xiàng)目[6],。
圖 5 所示的是 VHDL 代碼和與圖 1 的電路相關(guān)的 UCF 文件部分,。
VHDL 源代碼
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_1164.ALL ; LIBRARY UNISIM ;
USE UNISIM.VCOMPONENTS.ALL ;
ENTITY deltasigma IS
PORT (clk :IN STD_LOGIC ;
sigin_p :IN STD_LOGIC ;
sigin_n :IN STD_LOGIC ;
sigout :OUT STD_LOGIC) ; END deltasigma ;
ARCHITECTURE XCellExample OF deltasigma IS SIGNAL sig :STD_LOGIC ;
BEGIN
myibufds:IBUFDS
GENERIC MAP (DIFF_TERM => FALSE,
IBUF_LOW_PWR => FALSE, IOSTANDARD => “DEFAULT”)
PORT MAP (O => sig,
I => sigin_p, IB => sigin_n);
mydeltasigma:PROCESS(clk) BEGIN
IF (clk = ‘1’ AND clk’EVENT) THEN
sigout <= sig ; END IF ;
END PROCESS mydeltasigma ; END XCellExample ;
UCF文件
NET “clk” LOC = J1 |IOSTANDARD = LVCMOS33; NET “sigin_p” LOC = N12|IOSTANDARD = LVDS_33; NET “sigin_n” LOC = P12|IOSTANDARD = LVDS_33;
NET “sigout” LOC = P7 |IOSTANDARD = LVCMOS33| SLEW = FAST|DRIVE = 24;
圖 5 - VHDL 源代碼和 UCF 文件內(nèi)容
減少元件數(shù)量
本文描述的 ADC 架構(gòu)已經(jīng)被近期發(fā)表的幾篇文章不準(zhǔn)確地引用為德?tīng)査?西格瑪 (ΔΣ) 型架構(gòu)[7],。雖然真正的ΔΣ型 ADC 有優(yōu)勢(shì),,這種方法的簡(jiǎn)便性和元件數(shù)少使之對(duì)部分應(yīng)用有吸引力,。而且由于 LVDS_33 輸入緩沖器有相對(duì)較高的輸入阻抗,,在許多應(yīng)用中傳感器輸出能夠直接連接到 FPGA 輸入,無(wú)需使用前置放大器或緩沖器,。這在許多系統(tǒng)中都能體現(xiàn)出明顯的優(yōu)勢(shì)。
本文方法的另一個(gè)優(yōu)勢(shì)是通過(guò)疊加能夠“混合”多個(gè)串行比特流,,使用單個(gè)濾波器就能恢復(fù)輸出信號(hào)。例如在基于陣列的超聲系統(tǒng)中,,串行比特流可以延遲時(shí)間來(lái)實(shí)現(xiàn)聚焦算法,,然后以向量方式相加,這樣使用一個(gè)濾波器就能恢復(fù)數(shù)字化且聚焦的超聲波向量,。
使用 FIR 濾波器生成 ADC 輸出是一種簡(jiǎn)單直觀的暴力方法,這里主要用于演示目的,。在大多數(shù)設(shè)計(jì)中,,ADC 輸出將使用傳統(tǒng)的積分器/低通濾波器解調(diào)器拓?fù)鋄2]生成。
參考資料
1. XPS 西格瑪-德?tīng)査?ΔΣ)型模數(shù)轉(zhuǎn)換器(ADC) V1.01A,,DS587,,2009 年 12 月 2 日
2. R. Steele, 增量調(diào)制系統(tǒng), Pentech Press (倫敦), 1975 年
3. Digilent Cmod S6 參考手冊(cè),Digilent Inc 公司,, 2014 年 9 月 4 日
4. FT2232H 微型模塊產(chǎn)品說(shuō)明書,,V1.7,,F(xiàn)uture Technology Devices International Ltd.公司,2012 年
5. TFilter,,免費(fèi)在線 FIR 濾波器設(shè)計(jì)工具,http://t-filter.engineerjs.com/
6. USE 深度輔導(dǎo),,UG695 (V13.1),,賽靈思公司,,2011 年。
7. M.Bolatkale 和 L.J,。Breems,,高速和大帶寬西格瑪-德?tīng)査?ΔΣ)型 ADC,,Springer,,2014 年 5 月版