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