劉 艷 高大慶 張華劍 李繼強(qiáng) 高 杰 上官靖斌 李明睿 金雪劍
1(中國(guó)科學(xué)院近代物理研究所 蘭州 730000)
2(中國(guó)科學(xué)院大學(xué) 北京 100049)
Kicker電源是強(qiáng)流重離子加速器(High Intensity Heavy-ion Accelerator Facility,HIAF)實(shí)現(xiàn)束流快速注入引出的關(guān)鍵設(shè)備之一。HIAF-Kicker電源由多個(gè)Kicker電源模塊組成,電源模塊全部放置在加速器隧道外電源間內(nèi),通過(guò)傳輸電纜與負(fù)載磁鐵相連接。單模塊Kicker電源采用氫閘流管作為放電開(kāi)關(guān)和脈沖形成網(wǎng)絡(luò)(Pulse Formed Net,PFN)結(jié)合固態(tài)馬克斯(Marx)發(fā)生器技術(shù)[1]的兩種方案來(lái)獲得脈沖勵(lì)磁電流,單模塊電源工作方式如圖1所示。
圖1 HIAF-Kicker單模塊電源工作框圖Fig.1 The working block diagram of HIAF-Kicker single module
HIAF-Kicker電源對(duì)通信系統(tǒng)提出了以下要求:
1)單個(gè)雙極性固態(tài)PFN-Marx發(fā)生器中絕緣柵雙極型晶體管(Insulated Gate Bipolar Transistor,IGBT)數(shù)量龐大,目前使用64個(gè),之后最大擴(kuò)充至160個(gè)。Kicker電源通信系統(tǒng)需要通過(guò)網(wǎng)絡(luò)將上位機(jī)設(shè)定的160路IGBT的周期、延時(shí)、脈寬控制參數(shù)(大小約1.875 KB)精確下發(fā)至每個(gè)IGBT開(kāi)關(guān),完成多路開(kāi)關(guān)的驅(qū)動(dòng)控制。
2)HIAF-Kicker電源輸出波形速度快,上升、下降時(shí)間在幾十納秒到百納秒范圍內(nèi),平頂寬度約為幾個(gè)微秒。HIAF計(jì)劃采用2.5 GSPS采樣率、12 bit精度的單通道模/數(shù)轉(zhuǎn)換(Analog-to-Digital Converter,ADC)采集卡對(duì)每臺(tái)Kicker電源波形進(jìn)行采集,并將多臺(tái)Kicker波形數(shù)據(jù)在控制器匯總后通過(guò)通信系統(tǒng)回讀至上位機(jī)。為了縮減數(shù)據(jù)量,高速采集卡擬采用截取包含波形脈沖及其前后部分進(jìn)行傳輸?shù)姆桨?,截取波形部分不超過(guò)周期的千分之一,即單個(gè)Kicker采集卡每秒獲得有效數(shù)據(jù)量最大約3.6 MB。根據(jù)HIAF設(shè)計(jì)要求,單個(gè)電源間內(nèi)的Kicker電源最多為13臺(tái),因此通信系統(tǒng)每秒回讀的最大波形數(shù)據(jù)量為46.8 MB,即傳輸速率為374.4 Mbps。為方便將來(lái)提升波形采樣速率,并為Kicker波形數(shù)據(jù)添加控制信息留出余量,要求通信系統(tǒng)預(yù)留千兆級(jí)波形數(shù)據(jù)回讀通路。
3)Kicker電源高電壓大電流工作方式對(duì)通信系統(tǒng)會(huì)造成一定的電磁干擾,要求通信系統(tǒng)工作穩(wěn)定。
在加速器注入引出電源系統(tǒng)中有多種數(shù)據(jù)通信方式。德國(guó)重離子研究中心、大型強(qiáng)子對(duì)撞機(jī)(Large Hadron Collider,LHC)系統(tǒng)和上海同步輻射光 源(Shanghai Synchrotron Radiation Facility,SSRF)采用分布式機(jī)箱、現(xiàn)場(chǎng)總線和基于德國(guó)西門(mén)子(SIEMENS)公司的可編程邏輯控制器(Programmable logic Controller,PLC)的方案用于快Kicker磁鐵和電源的互鎖控制[2-5]。蘭州重離子加速器冷卻儲(chǔ)存環(huán)(Heavy Ion Research Facility in Lanzhou,HIRFL)Kicker電源控制器采用內(nèi)嵌微處理器(Advanced RISC Machine,ARM)的現(xiàn)場(chǎng)可編程門(mén)陣列(Field Programmable Gate Array,F(xiàn)PGA)為核心處理單元[6],通過(guò)軟件操作方式進(jìn)行數(shù)據(jù)通信。其中PLC和分布式機(jī)箱應(yīng)用廣泛,但靈活性不足,且不適用于特殊控制場(chǎng)合。采用可編程片上系統(tǒng)(System On a Programmable Chip,SOPC)技術(shù)和內(nèi)嵌ARM處理器的FPGA方案能提升系統(tǒng)集成度、有效減小硬件的尺寸和功耗[7],但會(huì)大大消耗系統(tǒng)資源、降低CPU的工作效率[8]。而FPGA硬件描述IP核(Intellectual Property Core)的并行處理結(jié)構(gòu)可以提高數(shù)據(jù)的傳輸和處理能力,因此HIAF-Kicker控制器內(nèi)部通信和邏輯單元全部采用硬件描述語(yǔ)言處理方案。在工業(yè)控制領(lǐng)域通信協(xié)議方案中,Modbus因傳輸速度慢、距離短而應(yīng)用受限。Modbus/TCP將Modbus協(xié)議嵌入到TCP協(xié)議的應(yīng)用層,傳輸可靠性高,然而其采用輪詢(xún)式閉環(huán)的通信方式,傳輸效率較低[9],實(shí)時(shí)性不能滿(mǎn)足HIAF-Kicker的需求。TCP協(xié)議適用于可靠性要求高的應(yīng)用環(huán)境,UDP協(xié)議沒(méi)有TCP協(xié)議的3次握手、確認(rèn)應(yīng)答等環(huán)節(jié),因此速度更快,且在點(diǎn)對(duì)點(diǎn)傳輸應(yīng)用中可靠性較高。此外,由于TCP協(xié)議通信方式復(fù)雜,通過(guò)硬件描述方式實(shí)現(xiàn)難度較大,而UDP硬件設(shè)計(jì)的方案復(fù)雜度低、易于實(shí)現(xiàn)[10]。因此采用UDP硬件描述協(xié)議棧的通信方式更適用于HIAF-Kicker電源通信的需求。本文介紹了基于Xilinx Kintex-7 FPGA可編程硬件平臺(tái),采用HDL硬件描述UDP協(xié)議棧的HIAFKicker電源通信系統(tǒng),并通過(guò)多路IGBT通信功能測(cè)試、參數(shù)收發(fā)穩(wěn)定性測(cè)試、回讀通路速率測(cè)試,驗(yàn)證該系統(tǒng)滿(mǎn)足HIAF-Kicker電源通信需求。
TCP/IP是當(dāng)今計(jì)算機(jī)網(wǎng)絡(luò)界廣泛使用的協(xié)議,分為應(yīng)用層、傳輸層、網(wǎng)絡(luò)層和網(wǎng)絡(luò)接口層。UDP協(xié)議屬于TCP/IP結(jié)構(gòu)體系的傳輸層協(xié)議。Kicker通信系統(tǒng)百路IGBT控制參數(shù)下發(fā)和高速波形數(shù)據(jù)回讀保留不同的傳輸通路,兩種數(shù)據(jù)通路都基于相同原理的UDP核作為數(shù)據(jù)通信控制單元。UDP核原理圖如圖2所示,其中UDP核內(nèi)的數(shù)據(jù)發(fā)送和接收實(shí)際是一個(gè)打包和解封的過(guò)程,發(fā)送時(shí)將原始數(shù)據(jù)按照TCP/IP規(guī)定模型從內(nèi)到外依次添加當(dāng)前分層所必須的“首部”信息,最終將打包好的以太網(wǎng)幀發(fā)送到物理層通過(guò)網(wǎng)絡(luò)傳輸出去,數(shù)據(jù)接收過(guò)程則順序相反[11-12]。
圖2 基于HDL硬件描述語(yǔ)言的UDP核原理圖Fig.2 The principle framework of HDL based UDP core
系統(tǒng)采用分層模塊化設(shè)計(jì),既保證設(shè)計(jì)的穩(wěn)定性,同時(shí)提高系統(tǒng)的可維護(hù)性[13]?;贖DL硬件描述語(yǔ)言的UDP核從上到下分為UDP模塊、IP模塊和MAC層模塊。其中,MAC層通過(guò)千兆媒體獨(dú)立接口(Gigabit Medium Independent Interface,GMII)和88E1111以太網(wǎng)芯片進(jìn)行數(shù)據(jù)傳輸。當(dāng)數(shù)據(jù)從主機(jī)通過(guò)網(wǎng)絡(luò)介質(zhì)傳輸至本地控制器時(shí),MAC模塊將經(jīng)過(guò)地址匹配后的數(shù)據(jù)傳輸至網(wǎng)絡(luò)層IP模塊。IP數(shù)據(jù)報(bào)包含版本、首部校驗(yàn)和、源地址和目的地址等信息。UDP TX將數(shù)據(jù)通過(guò)源端口發(fā)送出去,而UDP RX通過(guò)目標(biāo)端口接收數(shù)據(jù)。在接收數(shù)據(jù)時(shí)UDP模塊通過(guò)125 MHz數(shù)據(jù)收發(fā)時(shí)鐘接收從IP模塊傳達(dá)的8 bit的字節(jié)流,然后將這8 bit數(shù)據(jù)流在User Module中進(jìn)行格式重組、解析和數(shù)據(jù)分發(fā)。
硬件UDP核由于可調(diào)用函數(shù)資源較少,為保證邏輯功能完整需要消耗較多芯片資源。為了提高運(yùn)行的穩(wěn)定性,硬件方案選用高性能、高性?xún)r(jià)比的Xilinx Kintex-7 FPGA器件,其相比于傳統(tǒng)FPGA資源豐富,有利于減小因?yàn)檫壿嬞Y源短缺帶來(lái)的故障風(fēng)險(xiǎn)。此外,Kintex-7 FPGA內(nèi)嵌入了數(shù)字信號(hào)處理單元(Digital Signal Processing,DSP)、高速串行擴(kuò)展總 線(Peripheral Component Interconnect Express,PCIE)、高速收發(fā)器(Gigabyte Transceiver,GTX)等,便于升級(jí)優(yōu)化。各模塊采用FPGA并行處理方式,模塊間相對(duì)獨(dú)立、通過(guò)模塊例化方式進(jìn)行不同層級(jí)數(shù)據(jù)流控制。每個(gè)協(xié)議層模塊根據(jù)相應(yīng)協(xié)議處理各自數(shù)據(jù),并使用有限狀態(tài)機(jī)控制數(shù)據(jù)的處理流程。圖3以百路IGBT控制參數(shù)下發(fā)通路中的通信控制單元為例,主要包含:TOP模塊、UDP模塊、IP模塊,每個(gè)模塊初始運(yùn)行在IDLE循環(huán)等待模式下,當(dāng)接收到上位機(jī)發(fā)送的參數(shù)時(shí),每個(gè)模塊內(nèi)部根據(jù)設(shè)定狀態(tài)圖流程處理各自數(shù)據(jù),直至當(dāng)前層數(shù)據(jù)輸出則回到原始狀態(tài),如此循環(huán)。
圖3 數(shù)據(jù)接收狀態(tài)圖Fig.3 The state chart diagram of data receiving
在保證UDP核穩(wěn)定運(yùn)行的基礎(chǔ)上,電源通信系統(tǒng)還需要考慮系統(tǒng)集成度、數(shù)據(jù)收發(fā)穩(wěn)定性等關(guān)鍵問(wèn)題。為此,系統(tǒng)基于中國(guó)科學(xué)院近代物理研究所自主研發(fā)控制器,通過(guò)以太網(wǎng)物理層收發(fā)芯片88E1111、RJ45接口連接千兆網(wǎng)線與PC操作軟件進(jìn)行數(shù)據(jù)通信。此外,為了適應(yīng)HIAF-Kicker高壓強(qiáng)電磁干擾的工作環(huán)境、提高數(shù)據(jù)傳輸?shù)姆€(wěn)定性,采用光纖觸發(fā)模式進(jìn)行IGBT開(kāi)關(guān)控制。具體控制結(jié)構(gòu)為:?jiǎn)文KKicker電源內(nèi)采用主控制器加多模塊光纖扇出子卡的結(jié)構(gòu)??刂破黝A(yù)留多組光纖子卡接口、每個(gè)接口包含4個(gè)IO輸出端口,可根據(jù)所需控制信號(hào)數(shù)量不同增減子卡數(shù)量,子卡配備HFBR2522Z光電接收器和HFBR1522Z光電發(fā)射器。同時(shí)對(duì)控制器外加屏蔽殼以減少電磁干擾、增強(qiáng)了系統(tǒng)的穩(wěn)定性。
通信系統(tǒng)的結(jié)構(gòu)如圖4所示。其中,DATA STREAM1為電源控制參數(shù)下發(fā)通路,由上位機(jī)操作軟件寫(xiě)入?yún)?shù)、通過(guò)千兆網(wǎng)線由RJ45和以太網(wǎng)芯片傳輸至數(shù)字控制器FPGA內(nèi)部,UDP Receive模塊接收、處理參數(shù)后將其傳給Logic1模塊,Logic1模塊經(jīng)過(guò)計(jì)算緩存后把數(shù)據(jù)分發(fā)給不同光纖扇出子卡,最終光纖扇出子卡輸出光控制信號(hào)至各自連接的IGBT驅(qū)動(dòng),由驅(qū)動(dòng)控制電源的各個(gè)IGBT開(kāi)關(guān)。DATA STREAM2為預(yù)留的高速波形數(shù)據(jù)回讀通路。其中,UDP Receive和UDP Send分別為控制參數(shù)下發(fā)通路和波形數(shù)據(jù)回讀通路中的通信控制單元。
圖4 HIAF-Kicker電源通信系統(tǒng)結(jié)構(gòu)圖Fig.4 The structure diagram of HIAF-Kicker communication system
根據(jù)HIAF-Kicker電源多路IGBT的控制需求,Kicker電源上位機(jī)采用Socket套接字通信機(jī)制和C#網(wǎng)絡(luò)編程技術(shù)實(shí)現(xiàn)。操作軟件主要由控制器端口信息設(shè)置區(qū)、電源開(kāi)關(guān)機(jī)按鍵、電源配置參數(shù)設(shè)置區(qū)、信息打印區(qū)4部分組成。通過(guò)C#網(wǎng)絡(luò)編程技術(shù)完成UDP數(shù)據(jù)發(fā)送和接收,設(shè)計(jì)流程包含:創(chuàng)建Socket、設(shè)置服務(wù)端信息、監(jiān)聽(tīng)客戶(hù)端、創(chuàng)建鏈接、接收、發(fā)送數(shù)據(jù)、結(jié)束幾個(gè)環(huán)節(jié),上位機(jī)界面如圖5所示。
圖5 Kicker上位機(jī)用戶(hù)界面Fig.5 User interface of Kicker software in host PC
如圖6所示,通過(guò)Vivado ILA邏輯分析儀觀測(cè)從Kicker上位機(jī)發(fā)送至FPGA內(nèi)的控制參數(shù)。ILA觸發(fā)后在Udp_sdma_rx_data端口接收到的第一組數(shù)據(jù)分別為ff(標(biāo)志位)、01、7d、78、40;00、00、00、01;00、00、00、fa;與圖5配置的Chl_1 Period(周期)、Delay(延時(shí)差)、PWM(Pulse Width Modulation,脈沖寬度調(diào)制)3個(gè)參數(shù):25 000 000、1、250的十六進(jìn)制格式一致,表明多路IGBT控制參數(shù)下發(fā)、解析成功。
圖6 ILA接收數(shù)據(jù)觀測(cè)Fig.6 Receiving data observed in ILA
圖7以HIAF-Kicker電源PFN-Marx發(fā)生器兩路IGBT驅(qū)動(dòng)控制為例。Kicker上位機(jī)發(fā)送chl_1控制參數(shù)為:周期(Period)為1 s,脈寬(PWM)為2μs,延時(shí)差(Delay)為1 ns;chl_2參數(shù)為:周期(Period)為1 s,脈寬(PWM)為2μs,延時(shí)差(Delay)為400 ns。圖7中結(jié)果顯示:通信系統(tǒng)完成上位機(jī)與HIAFKicker電源的數(shù)據(jù)通信,滿(mǎn)足多路IGBT開(kāi)關(guān)精確控制功能。
圖7 上位機(jī)控制Kicker IGBT驅(qū)動(dòng)板波形輸出Fig.7 Output waveform of Kicker IGBT driver controlled by host PC
通過(guò)網(wǎng)絡(luò)調(diào)試助手對(duì)IGBT參數(shù)下發(fā)通路進(jìn)行7次不同數(shù)據(jù)量的UDP回環(huán)測(cè)試。為了模擬HIAFKicker高壓強(qiáng)電磁干擾的工作環(huán)境,測(cè)試在HIRFLCSRe Kicker電源間進(jìn)行。測(cè)試結(jié)果如表1所示,該結(jié)果顯示在Kicker高壓強(qiáng)電磁干擾環(huán)境下多次參數(shù)收發(fā)過(guò)程中無(wú)數(shù)據(jù)丟失與誤碼現(xiàn)象,滿(mǎn)足系統(tǒng)在實(shí)際電源參數(shù)下發(fā)操作中的穩(wěn)定性需求。
表1 參數(shù)收發(fā)穩(wěn)定性測(cè)試Table 1 The stability test of Kicker parameters sending and receiving
通過(guò)抓包工具Wireshark對(duì)系統(tǒng)回讀通路中數(shù)據(jù)發(fā)送速度進(jìn)行測(cè)試,具體過(guò)程如圖8所示。在回讀通路中,當(dāng)UDP Send模塊連續(xù)發(fā)送3 236個(gè)數(shù)據(jù)包至上位機(jī)時(shí),Wireshark軟件抓取3 236個(gè)數(shù)據(jù)包用時(shí)0.028 282 s,其中,每個(gè)數(shù)據(jù)包包含有效數(shù)據(jù)為1 023個(gè)字節(jié),通過(guò)計(jì)算得傳輸速率(傳輸速率=數(shù)據(jù)包個(gè)數(shù)×單數(shù)據(jù)包字節(jié)數(shù)×8/傳輸時(shí)間)約為936.406 Mbps,測(cè)試結(jié)果表明該系統(tǒng)滿(mǎn)足HIAFKicker電源在高速采集波形回讀應(yīng)用中千兆級(jí)通信速率的要求。
圖8 Wireshark軟件抓包測(cè)試回讀速率Fig.8 Communication test of readback rate by Wireshark software
基于硬件語(yǔ)言描述UDP核的HIAF-Kicker電源通信系統(tǒng)具有高速、高穩(wěn)定性、低資源等優(yōu)點(diǎn)。通過(guò)對(duì)多路IGBT控制參數(shù)通信功能測(cè)試、參數(shù)收發(fā)穩(wěn)定性測(cè)試和數(shù)據(jù)回讀通信速率測(cè)試驗(yàn)證該系統(tǒng)滿(mǎn)足HIAF-Kicker電源的通信需求。下一步計(jì)劃將該系統(tǒng)的通信軟件進(jìn)行優(yōu)化升級(jí),并在HIAF-Kicker高速波形采集系統(tǒng)設(shè)計(jì)完成后進(jìn)行實(shí)際的波形回讀應(yīng)用。