《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的PMC數(shù)據(jù)采集卡的設(shè)計(jì)
基于FPGA的PMC數(shù)據(jù)采集卡的設(shè)計(jì)
2014年電子技術(shù)應(yīng)用第10期
崔迎煒1,李 猛2
1.北京方天長(zhǎng)久科技有限公司,北京100084; 2.沈陽(yáng)航空航天大學(xué) 電子信息工程學(xué)院,遼寧 沈陽(yáng)110136
摘要: 為了提高數(shù)據(jù)采集系統(tǒng)中信號(hào)采集、處理、傳輸?shù)膶?shí)時(shí)性及可靠性,分別以AD9248為ADC、以AD5547為DAC,設(shè)計(jì)了一種基于PMC規(guī)范的數(shù)據(jù)采集卡。
關(guān)鍵詞: 數(shù)據(jù)采集 FPGA PMC ad DA
中圖分類號(hào): TP334.4
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2014)10-0027-03
中文引用格式:崔迎煒,李猛.基于FPGA的PMC數(shù)據(jù)采集卡的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2014,40(10):27-29.
Design of PMC data acquisition card based on FPGA
Cui Yingwei1,Li Meng2
1.Beijing Fountain Microsystems Co.,Ltd.,Beijing 100084,China;2.Electronic and Information Department,Shenyang Aerospace University,Shenyang 110136,China
Abstract: To improve real-timing and reliability of signal acquisition,processing and transmission in data acquisition system, this design develops a data acquisition card based on PMC,which uses AD9248 as ADC and AD5547 as DAC.With effective FPGA algorithm on the PMC,the design meets requirements of real-timing and high reliability well.After being tested,each function of the card has met the requirements,and the card has been used in practical application.
Key words : data acquisition;FPGA;PMC;A/D;D/A

0 引言

    PCI[1]夾層卡PMC(PCI Mezzanine Cards)是IEEE P1386.1的標(biāo)準(zhǔn),作為一個(gè)IEEE標(biāo)準(zhǔn),PMC確保了任何符合該標(biāo)準(zhǔn)的主板或者模塊能夠與其他按照該標(biāo)準(zhǔn)設(shè)計(jì)的主板或者模塊兼容[2]。從而用戶可以任意組合、搭配主板及模塊,具有很強(qiáng)的靈活性。依照這種結(jié)構(gòu)組合,用戶可以靈活設(shè)計(jì)具有不同I/O前端接口的模塊,通過(guò)改變PMC上FPGA代碼來(lái)實(shí)現(xiàn)所需功能。同時(shí),相對(duì)于傳統(tǒng)的以單片機(jī)為核心的數(shù)據(jù)處理系統(tǒng),F(xiàn)PGA(現(xiàn)場(chǎng)可編程門陣列,field programmable gate array)以其高速、靈活、高集成度、高性能、抗干擾、現(xiàn)場(chǎng)可編程等優(yōu)點(diǎn),在數(shù)據(jù)采集系統(tǒng)中得到了廣泛應(yīng)用[3]。

    根據(jù)應(yīng)用需求,本設(shè)計(jì)在PMC規(guī)范基礎(chǔ)之上,結(jié)合高效FPGA算法,設(shè)計(jì)出一款實(shí)時(shí)存儲(chǔ)數(shù)據(jù)、事后讀取數(shù)據(jù)的數(shù)據(jù)采集系統(tǒng)。

1 總體方案設(shè)計(jì)

    PMC數(shù)據(jù)采集卡板載4路A/D和2路D/A,以FPGA芯片為控制核心,其總體方案設(shè)計(jì)如圖1所示。A/D原始輸入信號(hào)為單端信號(hào),電壓范圍為±2.5 V,通過(guò)前面板SMA連接器進(jìn)入A/D調(diào)理電路。信號(hào)經(jīng)AD8138調(diào)理之后,由單端轉(zhuǎn)為差分,電壓范圍調(diào)理為AD9248的輸入范圍±1 V,之后信號(hào)進(jìn)入AD9248進(jìn)行A/D轉(zhuǎn)換;轉(zhuǎn)換后數(shù)據(jù)經(jīng)AXM連接器送入FPGA數(shù)據(jù)處理中心XC6SLX150,結(jié)合高效FPGA算法進(jìn)行數(shù)據(jù)存儲(chǔ)、讀取等操作。根據(jù)應(yīng)用需求,D/A最終輸出信號(hào)范圍為±5 V。經(jīng)FPGA處理后數(shù)據(jù)首先由AD5547進(jìn)行D/A轉(zhuǎn)換,再由AD8620調(diào)理放大,通過(guò)SMA連接器輸出。高速A/D、D/A轉(zhuǎn)換,F(xiàn)PGA數(shù)據(jù)存儲(chǔ)、處理,實(shí)現(xiàn)了數(shù)據(jù)的實(shí)時(shí)采集,達(dá)到了應(yīng)用需求。

qrs6-t1.gif

2 硬件電路設(shè)計(jì)

2.1 FPGA芯片選型與設(shè)計(jì)

    為實(shí)現(xiàn)數(shù)據(jù)采集、處理的最佳性能,綜合考慮FPGA內(nèi)部存儲(chǔ)單元數(shù)量、IO引腳數(shù)量、成本及功耗等因素,選擇Xilinx公司的XC6SLX150用于功能模塊開發(fā)。XC6SLX150可提供147 443個(gè)邏輯單元,提供全新且更高效的雙寄存器6 輸入查找表(LUT)邏輯和一系列豐富的內(nèi)置系統(tǒng)級(jí)模塊。

    FPGA控制邏輯作為本數(shù)據(jù)采集卡的控制核心,主要涉及上位機(jī)接口模塊、ADCFIFO模塊、DACFIFO模塊、DPRAM模塊等功能模塊,其功能結(jié)構(gòu)劃分如圖2所示。通過(guò)上位機(jī)接口模塊,數(shù)據(jù)采集卡與上位機(jī)進(jìn)行通信,實(shí)現(xiàn)數(shù)據(jù)采集、存儲(chǔ)、顯示功能。ADCFIFO模塊、DACFIFO模塊分別對(duì)A/D及D/A轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行緩存。同時(shí),A/D轉(zhuǎn)換后的數(shù)據(jù)存儲(chǔ)于DPRAM模塊中,可以隨時(shí)從該模塊中讀取數(shù)據(jù),進(jìn)行分析。

qrs6-t2.gif

2.2 A/D電路設(shè)計(jì)

    數(shù)據(jù)采集卡的A/D原始輸入信號(hào)為單端信號(hào),電壓范圍為±2.5 V,而ADI公司的A/D轉(zhuǎn)換芯片AD9248信號(hào)輸入范圍為±1 V,且輸入為差分信號(hào)時(shí)達(dá)到最佳性能,故需將采集到的單端信號(hào)轉(zhuǎn)換為差分信號(hào),且將信號(hào)電壓范圍調(diào)理到AD9248的輸入范圍。設(shè)計(jì)中利用ADI公司的AD8138芯片進(jìn)行信號(hào)調(diào)理,其差分調(diào)理電路基本模型如圖3所示。

qrs6-t3.gif

    采集到的信號(hào)經(jīng)AD8138調(diào)理后,直接接入AD9248。AD9248是一款雙核、3 V、14 bit、20/40/65 MS/s模數(shù)轉(zhuǎn)換器(ADC),集成了兩個(gè)高性能采樣保持放大器和一個(gè)基準(zhǔn)電壓源。它采用多級(jí)差分流水線架構(gòu),內(nèi)置輸出糾錯(cuò)邏輯,在最高65 MS/s數(shù)據(jù)速率時(shí)可提供14 bit精度,并保證在整個(gè)工作溫度范圍內(nèi)無(wú)失碼[4]。A/D工作時(shí)序如圖4所示。

qrs6-t4.gif

2.3 D/A電路設(shè)計(jì)

    經(jīng)FPGA核心處理器處理后的數(shù)據(jù),根據(jù)設(shè)計(jì)需求,在輸出之前需經(jīng)過(guò)D/A轉(zhuǎn)換、調(diào)理放大等處理。D/A轉(zhuǎn)換芯片選用ADI公司的AD5547,其為單電源供電。為保證D/A轉(zhuǎn)換有足夠高的精度,需為D/A轉(zhuǎn)換芯片提供非常穩(wěn)定的電壓源,故本設(shè)計(jì)采用ADR02精密帶隙基準(zhǔn)電壓源,作為D/A芯片的參考電壓。ADR02能在較寬的電壓范圍內(nèi)提供極穩(wěn)定的輸出電壓,具有高精度、高穩(wěn)定性和低功耗等特性,將12 V的電壓通過(guò)ADR02轉(zhuǎn)換成穩(wěn)定的5 V,供D/A芯片使用,從而保證了足夠高的D/A轉(zhuǎn)換精度。同時(shí),采用AD8620做為D/A外加運(yùn)放使用。AD8620為兩通道運(yùn)放,是高精度的JFET的放大器。兩路D/A,每一路使用一片AD8620,其中一個(gè)通道用于參考電壓的調(diào)制,另一個(gè)通道用于電流到電壓的轉(zhuǎn)換[4]。D/A工作時(shí)序如圖5所示。

qrs6-t5.gif

2.4 時(shí)鐘及電源的設(shè)計(jì)

    在數(shù)字電路中,時(shí)序的同步對(duì)系統(tǒng)的穩(wěn)定性起著關(guān)鍵性的作用。本設(shè)計(jì)中,F(xiàn)PGA、DPRAM和AD9248都需要一個(gè)20 MHz的時(shí)鐘。為保證時(shí)序同步,采集卡將板載的20 MHz時(shí)鐘分成兩路,分別利用MC74VHC1G進(jìn)行時(shí)鐘緩沖,一路供板載的AD9428使用,一路供FPGA使用。

    電子系統(tǒng)中,電源的設(shè)計(jì)是保證系統(tǒng)正常工作的關(guān)鍵因素。電源設(shè)計(jì)需要考慮紋波和功耗等因素。本采集卡所有功率由PMC載板提供,并留有余量。本采集卡的電源涉及到模擬12 V和數(shù)字12 V、模擬-12 V和數(shù)字-12 V、模擬3.3 V和數(shù)字3.3 V、模擬5 V和數(shù)字5 V及D/A參考電壓5 V。各模擬電壓通過(guò)各數(shù)字電壓LC濾波獲得。所有芯片電源管腳都配有足夠的電容網(wǎng)絡(luò),使電源紋波工作在容許范圍內(nèi),保證芯片穩(wěn)定工作。

3 FPGA程序設(shè)計(jì)

    本采集卡FPGA邏輯設(shè)計(jì)采用Verilog代碼[5]實(shí)現(xiàn),主要實(shí)現(xiàn)數(shù)據(jù)采集、存儲(chǔ)、讀寫等命令控制,其主流程圖如圖6所示。在PCI BAR2地址空間,分別定義了ADCFIFO寄存器、DACFIFO寄存器,通過(guò)這些寄存器分別控制A/D、D/A的狀態(tài)。

qrs6-t6.gif

    ADCFIFO模塊內(nèi)定義了中斷閾值可設(shè)的FIFO,F(xiàn)PGA使能A/D后,將A/D數(shù)據(jù)采樣到FIFO中,當(dāng)FIFO中的數(shù)據(jù)采集到設(shè)定的閾值后停止采樣,發(fā)出中斷給上位機(jī),收到中斷的上位機(jī)將數(shù)據(jù)讀取到系統(tǒng)指定位置存儲(chǔ)并顯示。DACFIFO模塊通過(guò)讀寫DAC模塊所映射的寄存器控制D/A工作,模塊內(nèi)定義了中斷閾值可設(shè)的FIFO,通過(guò)本地接口邏輯向FIFO中寫數(shù)據(jù),根據(jù)每個(gè)數(shù)據(jù)高三位的不同組合選擇對(duì)應(yīng)的D/A通道,輸出所需模擬信號(hào)。DPRAM模塊中定義一些和傳輸控制相關(guān)的寄存器,實(shí)現(xiàn)了DPRAM讀寫時(shí)序接口邏輯,能夠正確地讀寫DPRAM端口,實(shí)現(xiàn)了A/D采集后數(shù)據(jù)的快速上傳。DPRAM讀寫時(shí)序如圖7所示。

qrs6-t7.gif

4 結(jié)果分析與結(jié)論

    仿真結(jié)果如圖8~圖10所示。由實(shí)驗(yàn)結(jié)果可知,采集系統(tǒng)將數(shù)據(jù)通過(guò)FPGA內(nèi)部中的FIFO進(jìn)行緩存,并根據(jù)相關(guān)指令,成功將數(shù)據(jù)存儲(chǔ)于DPRAM中。上位機(jī)發(fā)出讀取數(shù)據(jù)指令,并加以顯示。該P(yáng)MC數(shù)據(jù)采集系統(tǒng)成功實(shí)現(xiàn)了數(shù)據(jù)的實(shí)時(shí)采集、存儲(chǔ)、顯示等功能,目前已投入實(shí)際應(yīng)用之中,具有較高的使用價(jià)值。

qrs6-t8.gif

qrs6-t9.gif

qrs6-t10.gif

參考文獻(xiàn)

[1] 李貴山,陳金鵬.PCI局部總線及其應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2003.

[2] IEEE P1386.1.Draft standard physical and environmental layers for PCI mezzanine cards:PMC[S].2001.

[3] 羅苑棠.CPLD/FPGA常用模塊與綜合系統(tǒng)設(shè)計(jì)實(shí)例精講[M].北京:電子工業(yè)出版社,2007.

[4] 閻石.數(shù)字電子技術(shù)基礎(chǔ)第四版[M].北京:高等教育出版社,2004.

[5] 夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程[M].北京:北京航空航天大學(xué)出版社,2009.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。