張慧慧, 孟令軍, 韓朝輝
(中北大學(xué) 電子測試技術(shù)國家重點實驗室,儀器科學(xué)與動態(tài)測試教育部重點實驗室,山西 太原 030051)
基于CPCIe的重型采煤機狀態(tài)監(jiān)測信號采集板卡設(shè)計
張慧慧, 孟令軍, 韓朝輝
(中北大學(xué) 電子測試技術(shù)國家重點實驗室,儀器科學(xué)與動態(tài)測試教育部重點實驗室,山西 太原 030051)
針對重型采煤機在線狀態(tài)監(jiān)測對信號采集的需求,提出了一種基于CPCIe架構(gòu)的高速多通道信號采集板卡的設(shè)計方案。方案中使用了Xilinx公司Virtex-6系列的FPGA為主控制器,以TI公司推出的高性能雙通道ADC、DAC芯片為信號采集回放單元,結(jié)合多片大容量的DDR3 SDRAM作為高速緩存單元,采用FPGA內(nèi)部集成的PCIe硬核解決方案來構(gòu)建CPCIe總線接口單元。對信號采集板卡的軟硬件設(shè)計進行詳細的介紹,并進行了仿真測試。實驗驗證,板卡最高可以在100 MHz采樣頻率下同時對4路模擬量信號進行采集和傳輸,PCIe接口數(shù)據(jù)上傳速率不低于800 MB/s;該板卡具有易于升級、靈活性強、應(yīng)用廣泛的特點。
CPCIe總線; 采煤機; 多通道; 信號采集
煤機在運行過程中會出現(xiàn)系統(tǒng)零部件由于沖擊、磨損、老化、疲勞等因素引起的劣化和失效等重要信息,因此,對相關(guān)信號進行監(jiān)測、分析和處理,可以監(jiān)測設(shè)備的運行狀態(tài),對煤機的狀態(tài)監(jiān)測和故障診斷有著至關(guān)重要的作用。要實現(xiàn)對煤機狀態(tài)的實時檢測,需要對信號進行多通道、高速采集,為了滿足這一需求,設(shè)計了一款可靠性強、采樣精度高、數(shù)據(jù)處理實時性強、采樣信號多的信號采集系統(tǒng)。CPCIe(Compact Peripheral Component Interconnect Express)總線以其良好的抗震性和通風(fēng)性得以廣泛的使用,其本質(zhì)上就是使用歐卡的規(guī)格實現(xiàn)PCI Express總線。專用的電纜能夠延伸總線,提高系統(tǒng)的擴展范圍[1-2]。
CPCIe高速多通道信號采集板卡主要完成對數(shù)據(jù)的實時采集和傳輸。該信號采集系統(tǒng)主要包括以下幾個單元:前端AD、DA信號轉(zhuǎn)換單元、DDR3高速緩存單元、PCIe總線接口單元以及主控制器FPGA的協(xié)調(diào)控制單元[3]。其工作原理為:采集到的4路AD信號經(jīng)過高速緩存單元,然后進入到主控制器FPGA,在FPGA內(nèi)部完成信號處理,然后將處理后的結(jié)果通過PCIe接口上傳到主控上位機。同時,也可以將已經(jīng)處理完成的信息經(jīng)過DA轉(zhuǎn)換器,傳輸?shù)较乱患壴O(shè)備。本設(shè)計將信號處理板卡拆分為信號采集卡(子卡)和主控卡(母卡)進行分離設(shè)計。整個信號采集板卡由兩塊子卡和一塊母卡構(gòu)成。子卡和母卡間通過FMC接口進行互聯(lián)[4]。
圖1為所設(shè)計的CPCIe信號采集主控卡與采集子卡。主控卡由兩片Virtex6 LX130T系列FPGA作為核心控制接口芯片,對外實現(xiàn)FMC標(biāo)準(zhǔn)接口, CPCIe總線連接器上連接大量LVDS信號線,方便在背板上實現(xiàn)板卡間的通信。FPGA芯片外掛兩簇大容量256 MB SDRAM進行數(shù)據(jù)緩存。FMC子卡接口連接FPGA大量LVDS信號以及GTP高速串行收發(fā)器,可實現(xiàn)與AD/DA采集子卡之間的數(shù)據(jù)接收與發(fā)射功能。邏輯控制主控卡使用PCIe硬核接口接入系統(tǒng)CPCIe總線,實現(xiàn)與PC主機的數(shù)據(jù)、控制命令之間的狀態(tài)交互。AD/DA采集子卡具有雙收雙發(fā)功能,通過FMC LVDS接口直接將數(shù)據(jù)下載到接口控制主卡上的FPGA上。
2.1 時鐘網(wǎng)絡(luò)設(shè)計
時鐘單元是整個系統(tǒng)工作的心臟。本設(shè)計提出了一種源同步時鐘處理系統(tǒng)[5],所謂的源同步時鐘系統(tǒng),就是指在發(fā)送端所傳輸?shù)臄?shù)據(jù)和時鐘源是同步傳輸?shù)?,而且這兩個信號的傳輸路徑和延時要完全一致。圖2所示為整個板卡的時鐘網(wǎng)絡(luò)設(shè)計框圖。兩片SI5300高精度時鐘單元分別為兩片Virtex 6 FPGA內(nèi)部集成的高速串行收發(fā)器RocketIO GTP提供高精度時鐘,時鐘扇出芯片SY89828為兩片F(xiàn)PGA與CPCIe主機交互通信提供了相同的參考時鐘。信號采集板卡上要滿足4路AD能夠同時進行轉(zhuǎn)換,并且要實現(xiàn)采樣率的可程控化,所以方案中使用了專用時鐘激發(fā)產(chǎn)生芯片AD9517。為了能夠最大程度的實現(xiàn)采樣時鐘的調(diào)控范圍,設(shè)計中使用了4對LVDS標(biāo)準(zhǔn)的時鐘輸出。一對作為ADC芯片的采樣時鐘;一對作為DAC芯片的采樣時鐘;另外兩對通過FMC接口連接到FPGA控制器,實現(xiàn)對采集模塊的邏輯時序控制。
圖2 信號采集板卡時鐘網(wǎng)絡(luò)設(shè)計框圖
2.2 DDR3緩存單元設(shè)計
緩存單元是高速信號傳輸系統(tǒng)設(shè)計中重要的一環(huán)。本設(shè)計采用將級聯(lián)后的DDR3單元封裝成多級Virtual FIFO接口的設(shè)計。這種設(shè)計不僅接口簡單,而且利用率較高,對于數(shù)據(jù)的讀寫空滿狀態(tài)可以根據(jù)需要進行制定,數(shù)據(jù)輸入的位寬也可以自由配置。圖3所示為DDR3的多級Vrtual FIFO設(shè)計框圖。
圖3 DDR3的多級Vrtual FIFO設(shè)計框圖
在DDR3 SDRAM電路設(shè)計中,布局布線也尤為重要。多片DDR3之間設(shè)計為T型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),DDR3與FPGA之間盡可能近點,所有DDR3的電源管腳對應(yīng)一個濾波電容。信號線分組走線。數(shù)據(jù)線每8位一組,外加相應(yīng)的DQS和DQM;地址線、控制線、時鐘線分為一組。布線時同組信號線在同一層走線,且同組信號線長度誤差范圍控制在±0.254 mm內(nèi)。對于差分信號線的等長要使用蛇形走線規(guī)則[6-7]。
2.3 CPCIe總線接口單元的設(shè)計
對于CPCIe板卡的PCIe總線控制器的設(shè)計,采用FPGA內(nèi)部的PCIe IP核實現(xiàn)。Virtex-6 FPGA的PCIe硬核IP兼容PCI Express V1.0和PCI Express V2.0標(biāo)準(zhǔn),由于板卡技術(shù)指標(biāo)要求速率不低于800 MB/s。所以設(shè)計中只需要FPGA工作在V1.0模式下,采用×4通道(傳輸速率為1.25 GB/s)。PCIe硬核接口使用的是FPGA內(nèi)部的高速收發(fā)器(GTX Transceivers)資源,CPCIe總線接口相對于CPCI總線接口來說,需要連接的信號線更少。物理接口和標(biāo)準(zhǔn)的PCIe總線相同,所以在整個板卡的硬件電路的設(shè)計中,使用了CPCIe接口的物理卡槽設(shè)計。其中FPGA與XSP2連接器的連接,完成CPCIe總線架構(gòu)的搭建[8-9]。
2.4 高速電路板卡關(guān)鍵信號仿真分析
對于高速硬件電路板卡的設(shè)計,保證其信號的完整性是必要的工作。所以PCB印制電路板繪制完成后,要對其進行系統(tǒng)的信號完整性分析[9]。主要對設(shè)計中的關(guān)鍵信號進行反射、串?dāng)_以及EMC電磁輻射仿真和分析,這里給出了信號邊沿模式反射仿真結(jié)果和控制信號的串?dāng)_仿真結(jié)果,分別如圖4、5所示。
圖4 信號邊沿模式反射仿真結(jié)果
圖5 FPGA_WE#信號串?dāng)_仿真結(jié)果
圖4是對DDR3模塊的數(shù)據(jù)線data[0]進行仿真分析,驅(qū)動信號為邊沿模式(上升沿)。由仿真結(jié)果可見,data[0]網(wǎng)絡(luò)驅(qū)動端的過沖峰值為5.3 V左右,屬于可以接受的范圍,則該網(wǎng)絡(luò)的布線設(shè)計符合要求。
圖5是FPGA對DDR3單元的寫控制信號的串?dāng)_仿真分析。仿真結(jié)果可以看出,該網(wǎng)絡(luò)的最大串?dāng)_峰值為167.7 mV,小于設(shè)定值200 mV,滿足設(shè)計需求。
3.1 DDR3級聯(lián)緩存單元設(shè)計與仿真
高速緩沖單元是由多片DDR3 SDRAM構(gòu)成的,本設(shè)計采用將級聯(lián)后的DDR3單元封裝成多級Virtual FIFO接口,各個接口之間相互獨立。各FIFO之間的數(shù)據(jù)傳輸主要通過內(nèi)部的3個狀態(tài)控制器實現(xiàn):寫數(shù)據(jù)控制器、命令控制器、讀數(shù)據(jù)控制器[10]。對于DDR3 SDRAM的時序設(shè)計采用的是Xilinx的MIG IP核。設(shè)計中使用了兩簇32位的DDR3緩存單元,一簇設(shè)計為2級Virtual FIFO,作為ADC、DAC和FPGA之間的數(shù)據(jù)緩存。另一簇設(shè)計為單級FIFO接口,實現(xiàn)對CPCIe接口上傳數(shù)據(jù)的緩存[11-12]。圖6所示為DDR3緩存單元的整體設(shè)計結(jié)構(gòu)圖。
圖6 DDR3高速緩存單元程序設(shè)計框圖
圖7所示為DDR3緩存單元在在線邏輯分析儀chipscope中的仿真結(jié)果。其中wr_en為FIFO的寫時能,wr_data為FIFO數(shù)據(jù)輸入端,full為FIFO滿標(biāo)志,高電平表示FIFO寫滿,rd_en為FIFO的讀使能,rd_data為FIFO數(shù)據(jù)輸出,empty為FIFO空標(biāo)志位,高電平表示FIFO讀空。由仿真結(jié)果可知,DDR3級聯(lián)后封裝成的FIFO讀寫邏輯時序正確,滿足DDR3緩存單元設(shè)計要求。
圖7 DDR3緩存單元在chipscope中的仿真結(jié)果
3.2 PCIe接口協(xié)議的邏輯設(shè)計與仿真
使用FPGA控制器實現(xiàn)PCIe總線協(xié)議,對于用戶而言只需要完成事務(wù)處理層包(TLP)的封裝和編碼[13-14]。具體操作就是對用戶接口單元進行編程,把需要傳送的數(shù)據(jù)編碼成TLP包的格式,導(dǎo)入到PCIe硬核單元,然后選擇PCIe的工作模式,實現(xiàn)在PCIe總線上數(shù)據(jù)的傳輸。為了完成800 MB/s速率的數(shù)據(jù)傳輸,選擇了總線主控DMA模式的PCIe操作。Xilinx公司提供了PCIe硬核的時序邏輯程序代碼。程序設(shè)計的總體思路是通過信號采集板卡作為主控,其主動向PC上位機發(fā)起讀寫數(shù)據(jù)請求,PCIe信號采集板卡與PC主控上位機之間的數(shù)據(jù)讀寫操作基本類似。首先需要PC主控機申請一段連續(xù)的物理內(nèi)存空間,不能被其他應(yīng)用程序占用;其次采集板卡根據(jù)用戶數(shù)據(jù)的規(guī)模決定對板卡進行讀寫操作,并向上位機發(fā)送中斷請求;PC接收中斷后,開始對BAR0內(nèi)的相關(guān)寄存器進行配置,配置完成后啟動DMA[15-16];然后板卡內(nèi)部DMA引擎根據(jù)DMA的命令,開始進行存儲器讀寫操作;最后所有數(shù)據(jù)轉(zhuǎn)換結(jié)束后,板卡主動向PC機發(fā)送結(jié)束中斷。圖8所示為信號采集板卡通過DMA方式進行讀寫操作的流程圖。
(a) DMA方式寫數(shù)據(jù)操作
(b) DMA方式讀數(shù)據(jù)操作
圖8 DMA方式讀寫操作流程圖
板卡向上位機發(fā)送了1 KB的數(shù)據(jù),數(shù)據(jù)傳輸位寬為32位,發(fā)送的數(shù)據(jù)內(nèi)容可以通trn_td中看出,其中trn_lnk_up_n代表整個事務(wù)鏈路的配置完成,trn_tsof_n為代表有效數(shù)據(jù)幀的開始,trn_teof_n代表每次數(shù)據(jù)幀的結(jié)束。
圖9所示為PC端與信號采集板卡間數(shù)據(jù)傳輸界面,由圖中可見,數(shù)據(jù)上傳速率為823.1 MB/s,下發(fā)速率為819.5 MB/s。因此,整體系統(tǒng)達到了數(shù)據(jù)傳輸速率不低于800 MB/s。圖10所示為4路AD采集界面,圖中是對4種不同模擬噪聲的采樣結(jié)果,采樣值可以通過左側(cè)的窗口查看,采樣頻率為100 MHz,實現(xiàn)了4路同時采集。
圖10 4路AD采集界面
對所設(shè)計的基于CPCIe的高速多通道信號采集板卡,在規(guī)定條件范圍內(nèi),進行了各項指標(biāo)的檢測,結(jié)果整個板卡總功耗不大于20 W,單板同時具備4路AD信號輸入和4路DA信號輸出,最高采樣頻率100 MHz,傳輸速率不低于800 MB/s,達到了設(shè)計要求。目前已成功進入試用階段。
[1] 王 豐. PCI-E接口技術(shù)研究及其應(yīng)用[D]. 哈爾濱:哈爾濱工業(yè)大學(xué), 2009.
[2] 安 震,張會新.基于PCI總線與FPGA多通道信號采集傳輸系統(tǒng)的設(shè)計[J].科學(xué)技術(shù)與工程.2013,13(3):625-629.
[3] 鄔 琦,楊江濤,馬喜宏.基于FPGA的高速信號采集電路的設(shè)計與實現(xiàn)[J].實驗室研究與探索,2015,34(4):124-128.
[4] 張 喆, 劉數(shù)奇. 基于FMC的高速多通道AD采樣板卡設(shè)計[J]. 數(shù)字技術(shù)與應(yīng)用, 2014(6):167-167.
[5] Bontu C, Wu K T, Mcnicol J,etal. Efficient data transmission and training of data processing functions: US, US 7522841 B2[P]. 2009.
[6] 賀良飛.高速數(shù)字信號完整性設(shè)計[J].安徽電子信息職業(yè)技術(shù)學(xué)院學(xué)報,2014,13(5):1-3
[7] 王曉彬,馬 戎,李樂堯,等.基于FPGA的高速信號采集板卡的設(shè)計[J].測控技術(shù),2011,30(6):25-28.
[8] 信 侃.基于Xilinx FPGA的PCIe總線接口設(shè)計與實現(xiàn)[J].無線電通信技術(shù),2014,40(4):94-96.
[9] 趙宇玲.基于FPGA的信號采集與處理系統(tǒng)設(shè)計與實現(xiàn)[D].南京:南京理工大學(xué),2008
[10] 呂書勇.一種超高速數(shù)據(jù)采集與分析系統(tǒng)設(shè)計[J],煤炭技術(shù),2011,30(6):76-78.
[11] 蘇海冰, 張剛, 郭帥. 高速數(shù)字電路的信號完整性與 電磁兼容性設(shè)計[J]. 單片機與嵌入式系統(tǒng)應(yīng)用, 2010(5):14-17.
[12] Zheng Yongqiu,Ren Yongfeng,Liu Xin,etal.Multi-channel & high-precision data acquisition device for aerospace[J].Journal of Measurement Science and Instrumentation,2013,4(2):184-189
[13] 關(guān)凱鋒.PCIe事務(wù)層及數(shù)據(jù)鏈路層的實現(xiàn)與驗證[D]. 西安:西安電子科技大學(xué),2013.
[14] 方寶林. PCI-E總線高速數(shù)據(jù)采集卡的研制[D]. 北京:北京交通大學(xué), 2014.
[15] 侯杭呈, 王憶文, 李輝. 一種基于PCI Express總線的DMA高速傳輸系統(tǒng)[J]. 微電子學(xué), 2013, 43(3):383-386.
[16] 張 亮. PCI Express協(xié)議的實現(xiàn)與驗證[D]. 西安:西安電子科技大學(xué), 2012.
Heavy Shearer Condition Monitoring Data Acquisition Board Design Based on CPCIe
ZHANGHuihui,MENGLingjun,HANZhaohui
(National Key Laboratory for Electronic Measurement and Technology,Key Laboratory of Instrumentation Science & Dynamic Measurement of Ministry of Education,North University of China, Taiyuan 030051, Shanxi, China)
For requirements for signal online acquisition of heavy shearer, this paper presents a design scheme of high speed multi-channel signal acquisition board based on CPCIe architecture. The scheme uses FPGA of virtex-6 series as the main controller, which is produced by Xilinx company. And this scheme uses high performance dual channel ADC, DAC conversion chip as the signal collecting and reading unit, combining with many pieces of large capacity DDR3 SDRAM as the cache unit. With the use PCIe hard solutions internal integrated in FPGA, the CPCIe bus interface unit has been constructed. In this paper, the hardware and software of the signal acquisition board are introduced in detail and a comprehensive simulation, testing and validation are carried out. Experiments verified that the board can process simultaneously 4 channel analog signal acquisition and transmission at 100 MHz sampling frequency, and the rate of the PCIe interface data upload is not less than 800 MB/s. This board is easy upgraded and flexible, and can be widely used.
CPCIe bus; shearer; multi-channel; signal acquisition
2016-08-10
國家高新技術(shù)研究發(fā)展(863)計劃資助項目(2015AA042601)
張慧慧(1990-),女,山西太原人,碩士生,主要研究方向為FPGA邏輯、電路設(shè)計。
Tel.:18734136441;E-mail:2234887049@qq.com
孟令軍(1969-),男,山東青島人,副教授,碩士生導(dǎo)師,主要從事集成測量系統(tǒng)及儀器、微納儀器及測試技術(shù)方向的研究。
Tel.:18734855988;E-mail:467978439@qq.com
TP 274.2
A
1006-7167(2017)03-0120-05