基于FPGA的高速數(shù)據(jù)采集卡設(shè)計與實(shí)現(xiàn)
引言
數(shù) 據(jù) 采 集 系 統(tǒng) 是 信 號 與 信 息 處 理 系 統(tǒng) 的 重 要 組 成 部 分,隨著信息技術(shù)和高速互聯(lián)技術(shù)的飛速發(fā)展,人們面臨的 信號處理任務(wù)越來越繁重,數(shù)字信號處理的速度和精度也越 來越高,高速數(shù)據(jù)采集卡的重要性日益凸顯。要解決高分辨 率、高精度等問題,對存儲設(shè)備的讀寫速度、高速ADC技 術(shù)指標(biāo)的要求必然會提高。FPGA靈活的配置與驗(yàn)證設(shè)計方 法、豐富的IP核資源,大大簡化了DDR II SDRAM讀寫和以 太網(wǎng)MAC協(xié)議層的設(shè)計,給設(shè)計帶來了便利。
1 高速數(shù)據(jù)采集卡總體方案
系統(tǒng)以FPGA器件為核心,DDR II SDRAM為存儲設(shè)備,14-bit高精度ADC為核心模數(shù)轉(zhuǎn)換芯片,使用以太網(wǎng)技術(shù)作 為數(shù)據(jù)傳輸協(xié)議,設(shè)計了高速數(shù)據(jù)采集卡解決方案。數(shù)據(jù)采集卡的核心控制芯片是Xilinx公司的Virtex-5系列 的FPGA,主要完成整個采集卡的配置、存儲設(shè)備以及以太網(wǎng)的接口,觸發(fā)邏輯和測頻邏輯設(shè)計。高速數(shù)據(jù)采集卡最高
圖1 系統(tǒng)整體結(jié)構(gòu)圖
設(shè)計采樣率可達(dá)到212.5MSPS,采樣精度12-bit,具有高輸入范圍、512MB深存儲容量等特性,具有多種觸發(fā)模式、頻率 檢測等功能。
高速采集卡系統(tǒng)的面板上總共有6個接插件, 分別為 CH0、CH1、TRIG、CLK In、CLK Out、AUX I/O。CH0和 CH1是兩路模擬輸入接口,TRIG是外部觸發(fā)接口,CLK In 和CLK Out是外部輸入時鐘和輸出參考時鐘的接口,AUX用 于軟件測試階段配置信息傳輸。
系統(tǒng)大致分為如下幾個模塊:兩路模擬通道、觸發(fā)模 塊、時鐘模塊、電源模塊、數(shù)據(jù)獲取模塊、抽取模塊、板載 存儲模塊、以太網(wǎng)接口、信號輸入輸出模塊和板載存儲模塊 等。其中數(shù)據(jù)獲取模塊、抽取模塊、信號輸入輸出模塊、部 分存儲模塊和部分以太網(wǎng)接口等多個功能模塊在FPGA內(nèi)部 通過可編程邏輯門陣列實(shí)現(xiàn),系統(tǒng)結(jié)構(gòu)如圖1所示。
系統(tǒng)硬件設(shè)計中各功能模塊的主要功能為:
1、兩路模擬通道 該模塊主要指從雙通道模擬信號的輸入到ADC模數(shù)轉(zhuǎn)
圖2 FPGA數(shù)字電路原理框圖
換器的部分,由于存在多種滿量程輸入范圍和垂直偏置,因 此輸入的模擬信號需要經(jīng)過模擬調(diào)制,調(diào)制過程包括輸入阻 抗的匹配、耦合方式、放大衰減、原始信號調(diào)零與垂直偏置 等。通過一系列的電路調(diào)制,最終在進(jìn)入ADC之前將多種 模擬滿量程基本統(tǒng)一到同一個電壓等級上。由于項(xiàng)目要求12-bit分辨率,并考慮設(shè)計余量,所選的ADC應(yīng)大于12-bit分 辨率。
圖3 嵌入式邏輯分析儀抓取ADC通道1信號波形
圖4 DDR II SDRAM讀操作仿真圖
2、觸發(fā)模塊 觸發(fā)模塊實(shí)現(xiàn)外部觸發(fā)和通道觸發(fā),可通過編程實(shí)現(xiàn)
觸發(fā)源的切換。外部輸入的觸發(fā)信號可經(jīng)過DAC和比較器電 路經(jīng)過比較產(chǎn)生。通道觸發(fā)可通過模擬輸入經(jīng)過調(diào)制之后進(jìn) 入ADC之前的信號引入比較,產(chǎn)生觸發(fā)信號。
3、時鐘模塊
時鐘模塊主要需要設(shè)計板載時鐘電路和FPG A時鐘電 路, 選擇合適的VCXO作為時鐘源, 與外部輸入時鐘經(jīng)過 PLL和時鐘分發(fā)產(chǎn)生合適的時鐘用于ADC采樣和FPGA對數(shù) 字信號的獲取。
4、電源模塊 電源模塊分為模擬電源部分和數(shù)字電源部分,多數(shù)電源芯片供應(yīng)商對FPGA及其外圍電路電源設(shè)計都有推薦電源 模塊及設(shè)計指導(dǎo),模擬電源部分要考慮一顆電源芯片帶動多 個芯片工作,驅(qū)動電流和功耗都是設(shè)計中需要注意的問題。
5、板載存儲模塊 設(shè)計要求單通道512MB的存儲深度,由存儲深度及數(shù)據(jù)流的傳輸速度,考慮使用雙倍數(shù)據(jù)率的SDRAM實(shí)現(xiàn),兩
路模擬通道共需1GB的存儲量,至少需要1GB的存儲單元。
2 FPGA數(shù)字邏輯設(shè)計
FPGA的設(shè)計主要包括各芯片控制模塊、DDR II SDRAM 存儲接口設(shè)計、以太網(wǎng)數(shù)據(jù)傳輸接口設(shè)計、觸發(fā)控制設(shè)計和 測頻計數(shù)邏輯設(shè)計五部分。整個FPGA數(shù)字電路原理框圖如 圖2。A D C 是 系 統(tǒng) 采 樣 的 核 心 器 件 , 選 用 A D I 公 司 生 產(chǎn) 的
A D 9 6 4 3 , 它 是 一 款 雙 通 道 、 1 4 位 、 采 樣 速 率 最 高 達(dá) 2 5 0MSPS的模數(shù)轉(zhuǎn)換器,使用三線SPI協(xié)議來配置寄存器。每 行存儲器映射寄存器表有8-bit空間。存儲器映射分為三部 分:芯片配置寄存器(地址0x00~0x02)、通道索引和傳輸 寄存器(0x05、0xFF)、ADC功能寄存器,包括設(shè)置、控制 和 測 試 ( 地 址0x08~0x59)。 表 1 列 出 了 需 要 手 動 修 改 的 非 默 認(rèn) 值 寄 存 器 及 修 改值 。 其 他 寄 存器 都 保 持 默 認(rèn)配置不變。
通過嵌入式邏輯分析儀Chipscope驗(yàn)證ADC配置的正確 性,輸入的測試信號為600mVpp的周期性正弦模擬信號,頻 率為5MHz,經(jīng)過通道1調(diào)理到±1V電壓范圍后,進(jìn)入ADC 前加入-40mV的直流偏置。
使用嵌入式邏輯分析儀抓取信號如圖3。經(jīng)過計算可知 進(jìn)入ADC前的模擬信號為523mVpp,并加入了-40mV的直流 偏置。換算成14-bit數(shù)字量分別為4890和-370,而根據(jù)邏輯分 析儀抓取的信號Max=2045,Min=-2806計算可得對應(yīng)的數(shù)字 量分別為4850和-380,誤差范圍達(dá)到了設(shè)計要求。
存儲器控制器狀態(tài)機(jī)使用的初始化順序遵循 DDR I I SDRAM 標(biāo)準(zhǔn)規(guī)范。接口需符合存儲器的電壓要求。因此在 經(jīng)過固定步驟的初始化后,控制器進(jìn)入空閑模式,等待讀寫 操作。如圖4是DDR II SDRAM存儲設(shè)備控制器的讀操作的仿 真實(shí)現(xiàn)。
評論