基于FPGA的高速數(shù)據(jù)采集控制模塊設(shè)計
摘要 以Spartan-3E系列FPGA為核心控制模塊,結(jié)合AD10242模數(shù)轉(zhuǎn)換芯片和MXP-123MD-F光收發(fā)模塊,實現(xiàn)了高速數(shù)據(jù)采集和光纖傳輸 其中FPGA用于實現(xiàn)數(shù)據(jù)控制、雙口RAM和8B/10B編解碼等功能。該數(shù)據(jù)采集控制模塊具有性能可靠、實時性強、集成度高、擴展靈活等特點,并且通過試驗驗證了其功能的正確性。
關(guān)鍵詞 數(shù)據(jù)采集;FPGA;8B/10B編解碼;光纖傳輸
在雷達、通信、氣象、軍事監(jiān)控及環(huán)境監(jiān)測等領(lǐng)域,現(xiàn)場信號具有重要的作用。這些信號的主要特點是:實時性強、數(shù)據(jù)速率高、數(shù)據(jù)量大、處理復(fù)雜。為能夠完整、準(zhǔn)確地捕獲到各種信號并及時進行處理,需要臨測系統(tǒng)能夠具備任意長度連續(xù)采集和存儲的功能,且具有較高的數(shù)據(jù)傳輸率??紤]到FPGA擁有豐富的可編程I/O引腳、時鐘頻率高、時序控制精確、運行速度快、編程配置靈活等特點,采用其作為核心控制模塊。因為光纖通信使用簡單的點到點互連,具有傳輸損耗低、傳輸頻帶寬、速率高和抗電磁干擾等優(yōu)點,在增加可靠性的同時降低了電纜連接的復(fù)雜程度,所以采用光纖作為信號傳輸媒介。
這里設(shè)計的數(shù)據(jù)采集控制模塊能夠?qū)?通道模擬信號進行兩種不同頻率的采集,采集時間的長短町以進行控制,并對數(shù)據(jù)進行了編幀,編解碼處理,利用光纖進行數(shù)據(jù)傳輸。
1 模塊結(jié)構(gòu)設(shè)計方案
8通道的模擬信號經(jīng)過信號調(diào)理、A/D模數(shù)轉(zhuǎn)換電路后進入FPGA。上位機發(fā)送的控制幀經(jīng)光收發(fā)模塊、串并轉(zhuǎn)換器后進入FPGA,作為采集數(shù)據(jù)的幀頭部分,該幀中有1 Byte決定了采樣的頻率。上位機向FPGA發(fā)送采樣控制信號:采樣導(dǎo)前信號以及采樣時間長度信號。在FPGA中將8通道采集的數(shù)據(jù)以兩通道為一組分成4份分別與幀頭打包組幀,存入雙口RAM,編碼處理后經(jīng)過并串轉(zhuǎn)換器、光收發(fā)模塊發(fā)送出去。模塊結(jié)構(gòu)設(shè)計框圖如圖1所示。
2 硬件設(shè)計
該數(shù)據(jù)采集控制模塊主要由3部分組成,分別為模擬信號處理部分、邏輯控制部分和光纖通信部分。
采用AD8036實現(xiàn)對模擬信號的調(diào)理,將其控制在ADC轉(zhuǎn)換的電壓范圍內(nèi)。該芯片為單位增益穩(wěn)定型箝位放大器,具有異??焖偾揖_的脈沖響應(yīng)特性,是快速及高分辨率ADC的理想驅(qū)動器及緩沖器。ADC選用AD10242,它是一種高速度、高性能、低功耗的雙通道模數(shù)轉(zhuǎn)換器。40M Hz采樣速率,12位分辨率,片內(nèi)帶有跟蹤/保護放大器(T/H)、基準(zhǔn)電源和輸出緩沖器。片內(nèi)兩個通道完全獨立,均有各自的澤碼和模擬輸入,采用激光修正增益和偏移匹配,可保證兩個通道之間的串?dāng)_<80 dB。ADC的輸出為TTL電平,經(jīng)過電平轉(zhuǎn)換器件SN74LVCC3245A轉(zhuǎn)換為LVT TL電平后送至FPGA。
FPGA采用Xilinx公司Spartan-3E系列的XC3S1200E,它有120萬系統(tǒng)門、136 kB分布式RAM、504 kB塊RAM、8個數(shù)字時鐘管理模塊(Digital ClockManager,DCM)、最大可用I/O數(shù)為304。其內(nèi)部資源以及管腳數(shù)量能夠滿足本模塊的設(shè)計需要。本模塊用兩種方式配置FPGA,在調(diào)試中使用JTAG口配置,在最終產(chǎn)品中使用PROM配置,選用XCF04S芯片。
MXP-123MD-F是HC Genuine公司生產(chǎn)的一種支持熱插拔的高速小型光收發(fā)模塊,用于光電轉(zhuǎn)換,其信號傳輸率為622 Mbit·s-1,輸入輸出電平為差分LVPECL電平。在光纖數(shù)據(jù)接收端通過MAX9376將信號轉(zhuǎn)換為LVDS電平后再通過串并轉(zhuǎn)換器SN65LV1224B送至FPGA。FPGA將采集數(shù)據(jù)輸出給并串轉(zhuǎn)換器SN65LV1023A后經(jīng)過MAX9376轉(zhuǎn)換為LVPECL電平再通過光纖發(fā)送出去。
3 軟件設(shè)計
FPGA編程軟件為Xilinx公司的ISE,分別采用原理圖方式和VHDL硬件編程語言編寫,頂級文件為原理圖方式。
時鐘的管理與控制采用DCM模塊實現(xiàn)。DCM的功能包括消除時鐘的延時、頻率的合成、時鐘相位的調(diào)整等;并能映射到PCB上,用于同步外部芯片,將芯片內(nèi)、外的時鐘控制一體化。在模塊設(shè)計中,DCM將晶振提供的40 MHz時鐘信號,經(jīng)頻率合成為12 MHz、60 MHz時鐘進行邏輯處理;并將時鐘映射在PCB上用于同步并串轉(zhuǎn)換器。
數(shù)據(jù)的緩存使用雙口RAM,利用FPGA內(nèi)部的邏輯資源實現(xiàn)。其中大容量的緩存使用塊RAM,使用它們可以達到較高的讀寫速度,同時不會占用邏輯資源。小容量的緩存使用分布式RAM。
8B/10B編碼技術(shù)具有很好的直流平衡特性,具有一定的抗干擾和檢錯能力,適用于高速串行光纖傳輸系統(tǒng)。它將8 bit的基帶數(shù)據(jù)按照3B/4B和5B/6B兩個編碼映射成10 bit的數(shù)據(jù)進行發(fā)送,防止在基帶數(shù)據(jù)中有過多的0碼流或1碼流,保證輸出碼流的直流平衡。該技術(shù)能夠有效地檢測錯誤;提供有效的比特變化密度用于時鐘恢復(fù);可以抵抗較差傳輸信道的干擾;實現(xiàn)相對簡單,以廉價的方式制造可靠的收發(fā)器。
FPGA的邏輯框圖如圖2所示。輸入數(shù)據(jù)包括8組12位的A/D數(shù)字信號;串并轉(zhuǎn)換器的輸出恢復(fù)時鐘及10位并行數(shù)據(jù);上位機發(fā)送的采樣導(dǎo)前信號(DQ)以及采樣時間長度信號(ES)。FPGA的輸出數(shù)據(jù)包括4路并串轉(zhuǎn)換器的參考輸入時鐘及4組10位的并行信號。
為提高信道利用率,每兩組A/D數(shù)據(jù)組合在一起。如圖3所示,24 bit數(shù)據(jù)以20 MHz速率緩存后再通過60 MHz的計數(shù)器分為3 Byte。
FPGA收到的10位并行數(shù)據(jù),經(jīng)過10B/8B解碼、數(shù)據(jù)判斷、幀提取后得到12 MHz速率的數(shù)據(jù)幀。根據(jù)系統(tǒng)通信協(xié)議,取出數(shù)據(jù)幀的一部分緩存入雙口RAM作為采集數(shù)據(jù)的幀頭。數(shù)據(jù)幀第2個Byte的第3位確定采樣頻率,當(dāng)其為1時采樣頻率為20 MHz,當(dāng)其為0時采樣頻率為2MHz。FP GA接收到上位機發(fā)送的采樣導(dǎo)前信號后將幀頭以60 MHz速率緩存,當(dāng)采樣時間長度信號到來后按照所需的采樣頻率開始進行采樣,同樣以60 MHz速率緩存。然后將幀頭和采集數(shù)據(jù)經(jīng)過組幀、8B/10B編碼后發(fā)送出去。
圖4為經(jīng)光纖收到的數(shù)據(jù)在解碼后的處理結(jié)果。其中clk12為12 MHz的時鐘;dina為解碼后的數(shù)據(jù)幀;st與數(shù)據(jù)幀的第1個Byte對齊,方便后續(xù)編程工作的進行。由于數(shù)據(jù)幀的第2個Byte AE的第3位為1,所以采樣頻率為20 MHz。
圖5為采樣數(shù)據(jù)處理結(jié)果。其中es為采樣時間長度信號;clk為40 MHz的時鐘;d為40 MHz采樣數(shù)據(jù);clk60為60 MHz時鐘;dz為d經(jīng)20 MHz采樣,轉(zhuǎn)換為3個Byte后的數(shù)據(jù)。例如示例中d為A6F56E,287E11,E9AA14,41F19C,CF9D0D,448E4F等,dz取其中的隔項,如:A6F56E,E9AA14,CF、9DOD等,將每項轉(zhuǎn)換為3 Byte,如A6,F(xiàn)5,6E,E9,AA,14,CF,9D,0D等。
4 結(jié)束語
文中所設(shè)計的高速數(shù)據(jù)采集控制模塊以FPGA為核心,配以信號調(diào)理、模數(shù)轉(zhuǎn)換、光收發(fā)模塊等電路,實現(xiàn)了高速數(shù)據(jù)采集和光纖傳輸。該模塊具有精度高,處理速度快,實時性好等特點,已經(jīng)成功應(yīng)用于某項目中,經(jīng)試驗驗證,完全滿足系統(tǒng)對信號采集和處理的實際要求。