《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的PMC數(shù)據(jù)采集卡的設計
基于FPGA的PMC數(shù)據(jù)采集卡的設計
2014年電子技術應用第10期
崔迎煒1,,李 猛2
1.北京方天長久科技有限公司,,北京100084; 2.沈陽航空航天大學 電子信息工程學院,,遼寧 沈陽110136
摘要: 為了提高數(shù)據(jù)采集系統(tǒng)中信號采集、處理,、傳輸?shù)膶崟r性及可靠性,,分別以AD9248為ADC、以AD5547為DAC,,設計了一種基于PMC規(guī)范的數(shù)據(jù)采集卡,。
中圖分類號: TP334.4
文獻標識碼: A
文章編號: 0258-7998(2014)10-0027-03
中文引用格式:崔迎煒,李猛.基于FPGA的PMC數(shù)據(jù)采集卡的設計[J].電子技術應用,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的標準,作為一個IEEE標準,,PMC確保了任何符合該標準的主板或者模塊能夠與其他按照該標準設計的主板或者模塊兼容[2],。從而用戶可以任意組合、搭配主板及模塊,,具有很強的靈活性,。依照這種結構組合,用戶可以靈活設計具有不同I/O前端接口的模塊,,通過改變PMC上FPGA代碼來實現(xiàn)所需功能,。同時,相對于傳統(tǒng)的以單片機為核心的數(shù)據(jù)處理系統(tǒng),,F(xiàn)PGA(現(xiàn)場可編程門陣列,,field programmable gate array)以其高速、靈活,、高集成度,、高性能、抗干擾,、現(xiàn)場可編程等優(yōu)點,,在數(shù)據(jù)采集系統(tǒng)中得到了廣泛應用[3]

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

1 總體方案設計

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

qrs6-t1.gif

2 硬件電路設計

2.1 FPGA芯片選型與設計

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

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

qrs6-t2.gif

2.2 A/D電路設計

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

qrs6-t3.gif

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

qrs6-t4.gif

2.3 D/A電路設計

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

qrs6-t5.gif

2.4 時鐘及電源的設計

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

    電子系統(tǒng)中,,電源的設計是保證系統(tǒng)正常工作的關鍵因素,。電源設計需要考慮紋波和功耗等因素,。本采集卡所有功率由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,。各模擬電壓通過各數(shù)字電壓LC濾波獲得。所有芯片電源管腳都配有足夠的電容網(wǎng)絡,,使電源紋波工作在容許范圍內(nèi),,保證芯片穩(wěn)定工作,。

3 FPGA程序設計

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

qrs6-t6.gif

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

qrs6-t7.gif

4 結果分析與結論

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

qrs6-t8.gif

qrs6-t9.gif

qrs6-t10.gif

參考文獻

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

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

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

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

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

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