高國(guó)棟 劉 鵬 龍鋒利 季大恒 葉 強(qiáng) 杜垚垚 劉 智 隨艷峰 岳軍會(huì) 唐旭輝 魏書軍 曹建社
1(中國(guó)科學(xué)院高能物理研究所 北京 100049)
2(中國(guó)科學(xué)院大學(xué) 北京 100049)
作為第四代同步輻射光源,高能同步輻射光源(High Energy Photon Source,HEPS)需要將一定頻率內(nèi)的束流軌道變化控制在10%束團(tuán)尺寸以內(nèi)[1]。為了滿足HEPS中束流軌道穩(wěn)定性的要求,建立快速軌道反饋(Fast Orbit Feedback,F(xiàn)OFB)系統(tǒng)是必要的。FOFB系統(tǒng)根據(jù)儲(chǔ)存環(huán)上束流位置探測(cè)器(Beam position Monitor,BPM)測(cè)得的位置信息,計(jì)算得到儲(chǔ)存環(huán)中各個(gè)快校正子需要設(shè)置的工作電流,從而實(shí)現(xiàn)校正子電源的快速響應(yīng)。HEPS要求FOFB系統(tǒng)的有效反饋帶寬應(yīng)不低于500 Hz,這項(xiàng)指標(biāo)將直接影響HEPS的最終性能[2]。
在FOFB系統(tǒng)中,F(xiàn)OFB算法在快速軌道反饋控制器(Feedback Orbit Controller,F(xiàn)OC)中實(shí)現(xiàn),每個(gè)FOC都需要在每次計(jì)算時(shí)收集到全環(huán)的BPM位置信息,利用響應(yīng)矩陣計(jì)算每個(gè)快校正子所需的電流后,將結(jié)果發(fā)送給對(duì)應(yīng)的快校正子電源。FOFB系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)用于描述系統(tǒng)中BPM、快校正子電源與FOC之間如何布局和連接,它直接影響了FOFB系統(tǒng)的數(shù)據(jù)傳輸延時(shí)和FOFB算法的結(jié)構(gòu),是整個(gè)FOFB系統(tǒng)的基礎(chǔ)。國(guó)內(nèi)外主流的FOFB系統(tǒng)拓?fù)浣Y(jié)構(gòu)有兩種:一種是鏈?zhǔn)浇Y(jié)構(gòu),如上海光源(Shanghai Synchrotron Radiation Facility,SSRF)[3]和臺(tái)灣光子源(Taiwan Photon Source,TPS)[4]等;另一種是環(huán)路結(jié)構(gòu),如美國(guó)國(guó)家同步輻射光源(National Synchrotron Light Source-II,NSLS II)、美國(guó)先進(jìn)光子源升級(jí)(Advanced Photon Source-Upgrade,APSU)和巴西光源(Sirius)等[5-8]。其中,APS-U與Sirius作為與HEPS一樣的第四代光源,均采用兩層環(huán)路的集中計(jì)算式結(jié)構(gòu),并使用現(xiàn)場(chǎng)可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)作為FOC的計(jì)算核心,通過(guò)FPGA的高速數(shù)據(jù)傳輸接口實(shí)現(xiàn)系統(tǒng)各模塊之間的通信,最終在主控制器中完成快校正子電流的計(jì)算。本文將在已完成的中國(guó)科學(xué)院高能物理研究所自研數(shù)字BPM電子學(xué)和HEPS快校正子數(shù)字電源的基礎(chǔ)上,為HEPS的FOFB系統(tǒng)設(shè)計(jì)了一種專用的且更為優(yōu)化的雙層環(huán)路式網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),同時(shí)介紹了基于該結(jié)構(gòu)的數(shù)據(jù)傳輸鏈路和各模塊之間的數(shù)據(jù)傳輸方法,估算FOFB系統(tǒng)各部分的延時(shí),并通過(guò)仿真和測(cè)試驗(yàn)證了該結(jié)構(gòu)的可行性。本文介紹的FOFB系統(tǒng)結(jié)構(gòu)和數(shù)據(jù)傳輸方法在滿足系統(tǒng)有效反饋帶寬的同時(shí),兼具靈活性和可拓展性,可以在未來(lái)應(yīng)用于HEPS工程中。
作為一個(gè)反饋控制系統(tǒng),可以將FOFB系統(tǒng)分為三個(gè)子系統(tǒng),分別是BPM系統(tǒng)、FOFB控制器系統(tǒng)和快校正子系統(tǒng)(包含快校正電源、磁鐵與真空盒),三個(gè)系統(tǒng)均使用FPGA作為核心芯片。其中,BPM系統(tǒng)作為整個(gè)控制的傳感器,用于實(shí)時(shí)接收和傳遞束流位置信息;FOFB控制器系統(tǒng)是整個(gè)系統(tǒng)的控制中樞,需要處理信息并計(jì)算得到校正子電源的給定值;而快校正子系統(tǒng)則是系統(tǒng)的執(zhí)行器,負(fù)責(zé)接收控制器送來(lái)的給定值并將其作用于束流。為了提高控制精度,BPM每發(fā)出一組數(shù)據(jù)就需要完成一次閉環(huán)控制,控制頻率為BPM的FA數(shù)據(jù)輸出頻率,即22 kHz。
在每次閉環(huán)控制中,首先由BPM探頭接收束流信號(hào)并通過(guò)電纜傳遞給BPM電子學(xué),并在BPM模擬前端板卡(Analog Front-end Electronics,AFE)中實(shí)現(xiàn)BPM信號(hào)的窄帶濾波、增益控制和ADC采樣等功能。其次在BPM數(shù)字前端板卡(Digital Frontend Electronics,DFE)中依次完成數(shù)字信號(hào)處理、束流位置計(jì)算、數(shù)據(jù)編碼發(fā)送等任務(wù)[9]。然后,通過(guò)SFP+(Small Form-factor Pluggables)接口由FOC 接收BPM發(fā)送的束流位置數(shù)據(jù),完成FOFB算法得到快校正子電流,并將結(jié)果經(jīng)編碼后通過(guò)電源控制接口發(fā)送給后端的快校正子電源控制器(Power Supply Controller,PSC)??煨U与娫磳⒔邮盏降臄?shù)據(jù)轉(zhuǎn)化為負(fù)載電源電流給定值作用于快校正子,最后,通過(guò)快校正子控制儲(chǔ)存環(huán)束流的橫向位置,F(xiàn)OFB系統(tǒng)的基本結(jié)構(gòu)如圖1所示[10]。
圖1 FOFB系統(tǒng)的基本結(jié)構(gòu)圖Fig.1 Basic structure diagram of FOFB system
在設(shè)計(jì)周長(zhǎng)為1 360 m的HEPS儲(chǔ)存環(huán)上,共設(shè)有576個(gè)BPM和384個(gè)快校正子,每個(gè)快校正子需要一臺(tái)快校正子電源控制。儲(chǔ)存環(huán)上共設(shè)有16個(gè)控制站,每個(gè)控制站都需要有一臺(tái)FOC,它的任務(wù)是接收全環(huán)共576個(gè)BPM的所有FA數(shù)據(jù),完成計(jì)算后將結(jié)果(即校正子設(shè)定點(diǎn))發(fā)送給后端的PSC中。為了確保反饋環(huán)路有足夠的帶寬,在短時(shí)間內(nèi)分發(fā)來(lái)自所有存儲(chǔ)環(huán)BPM的22 kHz數(shù)據(jù),設(shè)計(jì)了兩層通信架構(gòu),以確保滿足FOFB系統(tǒng)的時(shí)間預(yù)算。第一層是本地BPM和每個(gè)站點(diǎn)FOC之間的通信,第二層是整個(gè)存儲(chǔ)環(huán)中不同站點(diǎn)FOC之間的通信。
為了將數(shù)據(jù)傳輸?shù)难訒r(shí)降至最低,首先設(shè)計(jì)了一種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),如圖2所示。在儲(chǔ)存環(huán)中共設(shè)置48個(gè)束測(cè)站點(diǎn),每個(gè)站點(diǎn)中放置12臺(tái)BPM,每個(gè)FOC同時(shí)點(diǎn)對(duì)點(diǎn)連接三個(gè)本地站共48臺(tái)BPM,而全環(huán)的16臺(tái)FOC首尾依次相連構(gòu)成FOC數(shù)據(jù)環(huán)路,保證任意一臺(tái)FOC都可以接收到所有的BPM數(shù)據(jù)。同時(shí)基于硬件、延時(shí)等因素考慮,HEPS將采用快校正子電流的分布式計(jì)算方法,即在FOC中只計(jì)算對(duì)應(yīng)的24個(gè)快校正子的設(shè)定電流,再將計(jì)算結(jié)果轉(zhuǎn)化為電流后直接發(fā)送給與FOC相連的24個(gè)PSC中?;诖私Y(jié)構(gòu)可以最大程度減少BPM與FOC之間通信的延時(shí),但是由于一個(gè)FOC需要同時(shí)與36臺(tái)BPM點(diǎn)對(duì)點(diǎn)連接,F(xiàn)OC需要同時(shí)使能至少36個(gè)高速數(shù)據(jù)傳輸接口,一路接口的功耗約為2 W,因此,該方案對(duì)于FOC的硬件和軟件都提出了很高的要求,同時(shí)由于高功耗使系統(tǒng)的可靠性無(wú)法得到保證。
圖2 改進(jìn)前的FOFB系統(tǒng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖Fig.2 Original network topology of FOFB system
鑒于上述原因,我們對(duì)系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)做出了改進(jìn),改進(jìn)后的系統(tǒng)結(jié)構(gòu)如圖3所示。在之前方案的基礎(chǔ)上將每個(gè)束測(cè)站中的12臺(tái)BPM首尾相連構(gòu)成BPM數(shù)據(jù)環(huán)路,并選取其中一臺(tái)BPM與后端的FOC相連。FOC同時(shí)接收三個(gè)束測(cè)站的BPM數(shù)據(jù),因此,改進(jìn)結(jié)構(gòu)后FOC只需要使能5個(gè)高速數(shù)據(jù)傳輸接口,極大程度上減少了功耗。其中BPM與BPM之間用2 m高速銅纜連接,BPM與FOC、FOC與FOC之間用50 m多模萬(wàn)兆光纖連接,數(shù)據(jù)傳輸速率均為10 Gb·s-1。相比于最初的方案,改進(jìn)后的FOFB系統(tǒng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)僅在BPM與FOC的通信間增加了少量延遲的前提下,降低了FOC硬件的功耗及設(shè)計(jì)難度,同時(shí)也有利于未來(lái)在HEPS中的FOFB系統(tǒng)搭建、優(yōu)化和調(diào)試。
圖3 改進(jìn)后的FOFB系統(tǒng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖Fig.3 Improved network topology of FOFB system
使用FPGA的可編程邏輯(Programmable Logic,PL)資源,基于FOFB系統(tǒng)的雙層拓?fù)浣Y(jié)構(gòu)網(wǎng)絡(luò),為系統(tǒng)中的BPM、FOC和PSC分別設(shè)計(jì)相應(yīng)的FPGA固件程序,從而在系統(tǒng)中搭建從BPM到FOC的數(shù)據(jù)傳輸鏈路,最終實(shí)現(xiàn)BPM的ADC數(shù)據(jù)到快校正子電源之間數(shù)據(jù)的處理與傳輸功能。
在HEPS中FOFB系統(tǒng)由576套BPM、16套FOC和384臺(tái)快校正子電源搭建而成,在設(shè)計(jì)固件程序時(shí)應(yīng)保證環(huán)中所有的BPM、FOC與PSC都有著相同的固件程序,以便于儲(chǔ)存環(huán)中任意的一臺(tái)BPM、FOC或PSC可以放置在網(wǎng)絡(luò)結(jié)構(gòu)中與之對(duì)應(yīng)的任意節(jié)點(diǎn)上,從而很大程度地減少了工程的工作量?;谠撛瓌t,可以用一個(gè)數(shù)據(jù)傳輸單元來(lái)表述FOFB系統(tǒng)雙層環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)傳輸鏈路的具體實(shí)現(xiàn)過(guò)程,數(shù)據(jù)傳輸單元由一塊BPM數(shù)字信號(hào)處理板卡、一套FOC和一臺(tái)PSC構(gòu)成,具體結(jié)構(gòu)如圖4所示。
圖4 數(shù)據(jù)傳輸單元結(jié)構(gòu)圖Fig.4 Structure diagram of data transmission unit
如圖4所示,依照在數(shù)據(jù)傳輸鏈路中的功能將數(shù)據(jù)傳輸單元中的各個(gè)模塊分為4個(gè)部分:第一部分包含了FA數(shù)據(jù)處理模塊和FA位置計(jì)算與編碼模塊,在BPM中實(shí)現(xiàn)了束流位置數(shù)據(jù)的輸出功能;第二部分由BPM、FOC環(huán)路數(shù)據(jù)接收轉(zhuǎn)發(fā)模塊組成,用于搭建BPM與FOC之間的數(shù)據(jù)傳輸鏈路,實(shí)現(xiàn)了束流位置環(huán)路傳輸功能;第三部分是FOFB算法模塊,完成了從束流位置信息到校正子強(qiáng)度的計(jì)算;第四部分由PSC數(shù)據(jù)的編碼、解碼模塊組成,是FOFB系統(tǒng)的電源控制接口,用于實(shí)現(xiàn)FOC與PSC之間的數(shù)據(jù)傳輸功能。
BPM電子學(xué)可以提供三種束流位置數(shù)據(jù),分別是逐圈(Turn By Turn,TBT)位置數(shù)據(jù)、快獲?。‵ast Acquisition,F(xiàn)A)位 置 數(shù) 據(jù) 和 慢 獲 ?。⊿low Acquisition,SA)位置數(shù)據(jù),其中FA數(shù)據(jù)將用于FOFB系統(tǒng),數(shù)據(jù)輸出頻率為22 kHz,位置分辨率應(yīng)小于0.3 μm。FA數(shù)據(jù)通過(guò)BPM數(shù)字信號(hào)處理板卡上的ZYNQ芯片對(duì)ADC采樣數(shù)據(jù)進(jìn)行數(shù)字信號(hào)處理后得到,算法結(jié)構(gòu)如圖5所示。ADC首先以119 MHz的采樣頻率對(duì)經(jīng)射頻信號(hào)調(diào)理后的束流信號(hào)進(jìn)行帶通采樣,之后對(duì)信號(hào)進(jìn)行零中頻變換和多級(jí)濾波抽取,用差和比公式計(jì)算出束流的TBT位置數(shù)據(jù),最后再經(jīng)過(guò)10倍低通濾波抽取后得到FA束流位置數(shù)據(jù)[1-3]。
圖5 BPM算法結(jié)構(gòu)圖Fig.5 Schematic diagram of BPM algorithm
在得到FA數(shù)據(jù)之后,還需要對(duì)其進(jìn)行編碼,編碼后的數(shù)據(jù)幀中包含束流X方向位置、束流Y方向位置、BPM地址信息、FA時(shí)間信息和校驗(yàn)位,其中,BPM地址信息用于記錄當(dāng)前BPM在FOFB系統(tǒng)中的物理位置,F(xiàn)A時(shí)間信息用于記錄FA數(shù)據(jù)的輸出時(shí)間,校驗(yàn)位采用奇偶校驗(yàn)方式,在數(shù)據(jù)傳輸?shù)拿恳粋€(gè)站點(diǎn)都對(duì)數(shù)據(jù)幀做誤碼檢測(cè)。經(jīng)編碼后的數(shù)據(jù)幀將直接發(fā)送給后端的BPM環(huán)路數(shù)據(jù)接收轉(zhuǎn)發(fā)模塊以便于完成環(huán)路數(shù)據(jù)傳輸,數(shù)據(jù)幀的輸出頻率為22 kHz,與FA數(shù)據(jù)同步。
FOFB系統(tǒng)將使用FPGA高速收發(fā)器(Gigabyte Transceiver X,GTX)完成環(huán)路中束流位置數(shù)據(jù)幀的傳輸,GTX是集成于FPGA內(nèi)部的高速串行接口,底層采用8 b/10 b編碼,數(shù)據(jù)頻率為125 MHz,數(shù)據(jù)傳輸速率最高可達(dá)到10.312 5 Gb·s-1[14-15]?;贔OFB系統(tǒng)的雙層環(huán)形網(wǎng)絡(luò),分別為BPM和FOC配置GTX接口的驅(qū)動(dòng)程序,在BPM中最少應(yīng)使能3個(gè)數(shù)據(jù)通道,F(xiàn)OC中最少應(yīng)使能5個(gè)數(shù)據(jù)通道,設(shè)定數(shù)據(jù)傳輸速率為10 Gb·s-1。
數(shù)據(jù)接收轉(zhuǎn)發(fā)模塊是實(shí)現(xiàn)儲(chǔ)存環(huán)中束流位置環(huán)路傳輸?shù)暮诵哪K,其性能將直接決定了束流位置傳輸?shù)目傃訒r(shí)。在模塊中將接收的多路GTX數(shù)據(jù)組合為一路數(shù)據(jù)后轉(zhuǎn)發(fā)給下一級(jí),是一個(gè)多通道輸入單通道輸出的模塊,且在模塊中數(shù)據(jù)流的接收和發(fā)送是同時(shí)進(jìn)行的。
以FOC環(huán)路數(shù)據(jù)接收轉(zhuǎn)發(fā)模塊為例,需要同時(shí)接收3個(gè)BPM通道和一個(gè)FOC通道的數(shù)據(jù)共4個(gè)通道的數(shù)據(jù),并分別使用4個(gè)FIFO存儲(chǔ)器暫存收到的數(shù)據(jù)。在轉(zhuǎn)發(fā)邏輯中,需要給每一個(gè)接收通道設(shè)定一個(gè)優(yōu)先級(jí),基于傳輸延時(shí)考慮,BPM通道的優(yōu)先級(jí)應(yīng)高于FOC通道。若某一時(shí)刻有多個(gè)FIFO中有數(shù)據(jù),則根據(jù)設(shè)定的優(yōu)先級(jí)規(guī)則發(fā)送優(yōu)先級(jí)更高通道FIFO中的數(shù)據(jù),從而在避免多余延時(shí)的前提下實(shí)現(xiàn)多路數(shù)據(jù)轉(zhuǎn)化為一路數(shù)據(jù)的輸出。與此同時(shí),設(shè)定相應(yīng)邏輯使得每個(gè)數(shù)據(jù)幀都在BPM環(huán)路或FOC環(huán)路中走完整的一圈,在實(shí)現(xiàn)環(huán)路數(shù)據(jù)實(shí)時(shí)更新的同時(shí)盡可能減小數(shù)據(jù)帶寬。
當(dāng)前束流位置傳輸方案可以在不改變BPM與FOC固件程序的前提下,在FOFB系統(tǒng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中任意增加或減少BPM或FOC的個(gè)數(shù),從而使得整個(gè)系統(tǒng)兼具靈活性和可拓展性,有利于未來(lái)HEPS中FOFB系統(tǒng)的搭建、優(yōu)化和調(diào)試。
FOFB算法模塊運(yùn)行于FOC中,是一個(gè)功能完整且有較好移植性能的計(jì)算核心。為了平衡FPGA內(nèi)部資源損耗和數(shù)據(jù)處理延時(shí),充分利用FPGA的高速并行計(jì)算特點(diǎn),將以流水線形式處理數(shù)據(jù),通過(guò)與BPM數(shù)據(jù)輸出同步的、頻率為22 kHz的外部脈沖信號(hào)觸發(fā),周期性計(jì)算每個(gè)校正子所需的校正量,具體的實(shí)現(xiàn)過(guò)程如圖6所示。
圖6 FOFB算法的流水線實(shí)現(xiàn)Fig.6 Pipeline implementation of FOFB algorithm
在每次FOFB計(jì)算周期中,待接收到觸發(fā)脈沖信號(hào)進(jìn)入T1階段,等待FOC接收到全環(huán)所有BPM的束流位置數(shù)據(jù),解碼數(shù)據(jù)幀后將無(wú)誤碼的數(shù)據(jù)保存在BRAM中的確定地址中。T1階段的等待時(shí)間需要根據(jù)在HEPS中的數(shù)據(jù)傳輸延時(shí)自行設(shè)定,待T1階段結(jié)束則進(jìn)入T2階段,實(shí)時(shí)讀取BRAM對(duì)應(yīng)地址中的數(shù)據(jù)完成1152路的增量式PID運(yùn)算,使用增量式PID運(yùn)算可以盡可能減少某個(gè)BPM數(shù)據(jù)幀誤碼對(duì)計(jì)算結(jié)果的影響,同時(shí)也可以抑制一定頻率范圍內(nèi)的束流軌道擾動(dòng)[16]。隨后將進(jìn)入T3階段,并行執(zhí)行兩個(gè)576×12的矩陣乘法運(yùn)算后得到X、Y兩方向各12個(gè)校正子所需的校正量,執(zhí)行完成后FOFB算法進(jìn)入等待狀態(tài),直到下一個(gè)觸發(fā)脈沖到來(lái)。
計(jì)算需要的各個(gè)參數(shù),包括黃金軌道、PID參數(shù)以及兩個(gè)方向的響應(yīng)矩陣逆矩陣(R-1)參數(shù),都預(yù)先保存在FPGA內(nèi)部或外部的存儲(chǔ)器中(BRAM或DDR),在計(jì)算過(guò)程中直接調(diào)用。上位機(jī)通過(guò)網(wǎng)絡(luò)與FOC進(jìn)行數(shù)據(jù)通信,通過(guò)上位機(jī)可以隨時(shí)更新FOFB算法的各個(gè)參數(shù),同時(shí)也可以獲取到束流位置數(shù)據(jù)、校正量計(jì)算結(jié)果、電源工作狀態(tài)等信息,以便于在上位機(jī)中完成數(shù)據(jù)的分析、顯示和系統(tǒng)故障診斷等功能。
在FOFB系統(tǒng)中通過(guò)電源控制接口實(shí)現(xiàn)FOC與PSC的通信,基于數(shù)據(jù)率、功耗等多方面因素考慮,在HEPS中將使用HFBR-1414作為電源控制接口的發(fā)送端,AFBR-2418作為接收端,傳輸速率設(shè)定為40 Mb·s-1,一路通道所有器件功耗約為0.4 W。
PSC數(shù)據(jù)編碼扇出模塊將FOFB算法計(jì)算得到的24個(gè)電流設(shè)定值分為24個(gè)完全獨(dú)立且同步的數(shù)據(jù)通道,每個(gè)通道與一臺(tái)快校正子電源連接。在每個(gè)通道中,首先將電流設(shè)定值、功能碼、CRC校驗(yàn)碼編碼為新的數(shù)據(jù)幀,之后將數(shù)據(jù)幀通過(guò)雙向符號(hào)編碼方式再次編碼后發(fā)送給PSC,最后由PSC的數(shù)據(jù)解碼模塊對(duì)數(shù)據(jù)流進(jìn)行解碼,得到電流設(shè)定值后直接作用于負(fù)載電源,并通過(guò)外部同步信號(hào)保證所有的快校正子同時(shí)響應(yīng)。
在每發(fā)送一幀數(shù)據(jù)后,F(xiàn)OC還需要接收PSC返回的回讀數(shù)據(jù),包括電源狀態(tài)、電流回采值、電源軟硬件版本等,由此可以在與FOC相連的上位機(jī)中監(jiān)控所有的快校正子電源的工作狀態(tài)。
在實(shí)驗(yàn)室環(huán)境下搭建如圖7所示的FOFB系統(tǒng)測(cè)試平臺(tái),其硬件主要由3套BPM電子學(xué)、1套FOC電子學(xué)、1套PSC電子學(xué)、信號(hào)發(fā)生器、FA觸發(fā)信號(hào)扇出模塊、計(jì)算機(jī)、2 m高速銅纜、50 m多模萬(wàn)兆光纖以及光模塊組成。3套BPM電子學(xué)使用高速銅纜首尾相連組成BPM環(huán)路,同時(shí)使用外部信號(hào)發(fā)生器與FA觸發(fā)信號(hào)扇出模塊輸出3路22 kHz的BPM的FA數(shù)據(jù)觸發(fā)信號(hào),保證所有BPM都在同一時(shí)刻發(fā)出FA數(shù)據(jù)。FOC通過(guò)萬(wàn)兆多模光纖與一臺(tái)BPM相連,在FOC中完成24路快校正子電流的計(jì)算,將其中一路結(jié)果通過(guò)光纖傳輸給后端的PSC,并在每次傳輸完成后繼續(xù)接收PSC發(fā)送的回讀信號(hào),實(shí)時(shí)監(jiān)測(cè)PSC負(fù)載電源電流及其他各項(xiàng)參數(shù)。整個(gè)測(cè)試用于驗(yàn)證FOFB系統(tǒng)數(shù)據(jù)傳輸鏈路的功能并初步估算鏈路中的數(shù)據(jù)傳輸延時(shí),因此對(duì)于各個(gè)數(shù)據(jù)的大小無(wú)具體要求,在測(cè)試中BPM不接外部輸入信號(hào),使用基底噪聲信號(hào)完成測(cè)試,且FOFB算法中的各項(xiàng)參數(shù)為自定義測(cè)試數(shù)據(jù)。
圖7 FOFB系統(tǒng)測(cè)試平臺(tái)結(jié)構(gòu)圖Fig.7 Structure diagram of FOFB system test platform
在實(shí)驗(yàn)中使用FPGA內(nèi)部的集成邏輯分析儀(Integrated Logic Analyzer,ILA)執(zhí)行系統(tǒng)內(nèi)的調(diào)試,通過(guò)在計(jì)算機(jī)Vivado軟件中設(shè)置探針抓取FPGA內(nèi)部的數(shù)字信號(hào),實(shí)時(shí)讀取數(shù)據(jù)鏈路中的數(shù)據(jù)讀數(shù),從而驗(yàn)證FOFB系統(tǒng)數(shù)據(jù)鏈路中的各個(gè)模塊的功能。如圖5所示,在整個(gè)數(shù)據(jù)鏈路中在3個(gè)不同位置設(shè)置了4個(gè)ILA模塊,分別用于檢驗(yàn)FA位置計(jì)算、束流位置傳輸、FOFB算法以及電源控制接口4個(gè)部分的功能。
其中位置1的ILA模塊位于BPM的輸出端,用于檢驗(yàn)FA位置計(jì)算功能。測(cè)試結(jié)果如圖8所示,包含4個(gè)通道的數(shù)字信號(hào)處理結(jié)果輸出、32位的X、Y兩個(gè)方向的束流位置計(jì)算結(jié)果以及編碼后的64位數(shù)據(jù)幀。
圖8 FA位置計(jì)算測(cè)試結(jié)果Fig.8 Calculation result of FA position
位置2的ILA模塊位于FOC的輸入端,用于檢驗(yàn)束流位置傳輸功能,在每次BPM接收到FA觸發(fā)信號(hào)之后,F(xiàn)OC都會(huì)先后接收到BPM03、BPM02、BPM01的束流位置數(shù)據(jù),測(cè)試結(jié)果如圖9所示。圖中t2為BPM01的數(shù)據(jù)傳輸?shù)紹PM02所需的時(shí)間,t1為BPM02的數(shù)據(jù)傳輸?shù)紹PM03所需的時(shí)間與數(shù)據(jù)通過(guò)一級(jí)接收轉(zhuǎn)發(fā)模塊的時(shí)間之和,因此,可以用t2表示數(shù)據(jù)通過(guò)一級(jí)BPM-BPM通道的延遲,如圖所示需要28個(gè)時(shí)鐘沿,約為0.28 μs。將連接BPM的高速銅纜替換為50 m多模萬(wàn)兆光纖,使用類似方法可以測(cè)得數(shù)據(jù)通過(guò)一級(jí)BPM-FOC通道或一級(jí)FOCFOC通道的延時(shí)均為0.48 μs。
圖9 束流位置傳輸測(cè)試結(jié)果Fig.9 Test result of beam position transmission
位置3的ILA模塊位于FOC的輸出端,用于檢驗(yàn)FOFB算法的計(jì)算結(jié)果,如圖10所示,計(jì)算得到了24路校正子電源的電流設(shè)定值結(jié)果。同時(shí)FOFB算法由FOC外部的100 MHz時(shí)鐘驅(qū)動(dòng),完成一次FOFB需要700個(gè)時(shí)鐘沿,即7 μs。
圖10 FOFB算法計(jì)算結(jié)果Fig.10 Calculation result of FOFB algorithm
位置4的ILA模塊同樣位于FOC的輸出端,用于驗(yàn)證電源控制接口部分的功能。測(cè)試結(jié)果如圖11所示,將FOFB算法計(jì)算得到的結(jié)果截?cái)酁?0位電流給定值輸入,編碼為數(shù)據(jù)幀后通過(guò)雙向符號(hào)編碼方式再次編碼后發(fā)送給PSC。同時(shí)在每次發(fā)送完數(shù)據(jù)后繼續(xù)接收回讀數(shù)據(jù),可接收的數(shù)據(jù)包括回讀電流、電源狀態(tài)、電源軟硬件版本等,如圖11所示接收到的回讀電流數(shù)據(jù)與給定電流相差不大。同時(shí),由于電源控制接口中主機(jī)和從機(jī)的程序具有對(duì)稱性,因此數(shù)據(jù)從FOC傳輸?shù)絇SC的延遲約為從開始發(fā)送數(shù)據(jù)幀到接收完第一幀回讀數(shù)據(jù)所需時(shí)間的一半,約為1.5 μs。
圖11 電源控制接口測(cè)試結(jié)果Fig.11 Test result of power control interface
上述測(cè)試結(jié)果可以驗(yàn)證基于雙層環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)傳輸鏈路功能,同時(shí)也通過(guò)設(shè)計(jì)Matlab仿真與Vivado Isim仿真作為三方對(duì)照,驗(yàn)證數(shù)據(jù)鏈路中各部分計(jì)算結(jié)果的正確性。整個(gè)測(cè)試平臺(tái)可以作為一個(gè)局部的FOFB系統(tǒng)用于實(shí)現(xiàn)局部的束流閉軌校正。
系統(tǒng)延遲時(shí)間是FOFB系統(tǒng)的核心指標(biāo)之一,是指從BPM探頭接收到束流信號(hào)開始到快校正子電源完成響應(yīng)之間的延時(shí),將直接決定整個(gè)系統(tǒng)的有效反饋帶寬。因此,為了保證系統(tǒng)的有效反饋帶寬不低于500 Hz,HEPS要求系統(tǒng)的總延遲時(shí)間應(yīng)小于160 μs。
基于雙層環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)傳輸鏈路,將FOFB系統(tǒng)的反饋系統(tǒng)總延時(shí)分為8部分,依據(jù)之前的測(cè)試結(jié)論,分析FOFB系統(tǒng)每一部分的延時(shí),從而估算HEPS的總延遲時(shí)間,如圖12所示。
圖12 FOFB系統(tǒng)延遲時(shí)間說(shuō)明Fig.12 Illustration of FOFB system delay time
圖12中T1是BPM探頭到BPM電子學(xué)輸入的信號(hào)傳輸延時(shí),若在HEPS中使用50 m長(zhǎng)的BPM線纜,信號(hào)在線纜上的傳輸時(shí)間T1約為0.2 μs。
T2定義為BPM接收到首圈信號(hào)到發(fā)出FA數(shù)據(jù)的時(shí)間間隔。具體包含數(shù)據(jù)獲取等待時(shí)間45 μs,數(shù)據(jù)處理時(shí)間50 μs,F(xiàn)A位置計(jì)算及編碼輸出延遲1 μs,因此T2約為96 μs。
T3、T4、T5分別是BPM環(huán)路、BPM到FOC和FOC環(huán)路中的束流位置數(shù)據(jù)的傳輸時(shí)間。由于在每次控制周期中,任意一個(gè)FOC都需要接收到全環(huán)所有的BPM數(shù)據(jù)后才開始進(jìn)行計(jì)算,因此將束流位置傳輸總時(shí)間定義為從BPM發(fā)出FA數(shù)據(jù)到FOC接收到最后一個(gè)BPM數(shù)據(jù)之間的時(shí)間間隔,即一個(gè)數(shù)據(jù)幀先后經(jīng)過(guò)11級(jí)BPM-BPM通道、1級(jí)BPM-FOC通道、15級(jí)FOC-FOC通道所需的時(shí)間。經(jīng)實(shí)驗(yàn)室初步測(cè)量,BPM-BPM的數(shù)據(jù)傳輸時(shí)間約為0.28 μs,BPMFOC通道和FOC-FOC通道的數(shù)據(jù)傳輸時(shí)間約為0.48 μs。同時(shí),作為FOC最后接收到的數(shù)據(jù)幀,可以基本忽略其在數(shù)據(jù)鏈路中的延遲等待時(shí)間。因此束流位置傳輸總時(shí)間T3+T4+T5約為10.76 μs。
T6是FOC中完成FOFB算法的延時(shí),具體定義為從接收到所有BPM數(shù)據(jù)到輸出電流給定值之間的時(shí)間間隔。當(dāng)前在FOC中完成所一次FOFB算法大約需要700個(gè)時(shí)鐘沿,當(dāng)FOFB算法的驅(qū)動(dòng)時(shí)鐘為100 MHz時(shí),F(xiàn)OFB算法延時(shí)T6約為7 μs。
T7是FOC到PSC的數(shù)據(jù)傳輸時(shí)間,經(jīng)實(shí)驗(yàn)室測(cè)量T7約為1.5 μs。
T8定義為從PSC接收到電流給定值到快校正磁鐵磁場(chǎng)開始變化的延遲時(shí)間,約為25 μs。
因此當(dāng)前結(jié)構(gòu)下的FOFB系統(tǒng)總延遲時(shí)間Ttotal約為:
基于上述分析,繪制HEPS中FOFB系統(tǒng)的工作時(shí)序圖(圖13)。其中,在FOC中的延遲時(shí)間為17.76 μs,小于FOFB系統(tǒng)的反饋周期45.45 μs,可以避免在FOC中產(chǎn)生數(shù)據(jù)混疊,同時(shí)也滿足FOFB系統(tǒng)總延遲時(shí)間小于160 μs的要求,由此初步驗(yàn)證了當(dāng)前網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)下FOFB系統(tǒng)的可行性。
圖13 FOFB系統(tǒng)工作時(shí)序圖Fig.13 FOFB system sequence diagram
基于現(xiàn)有的硬件條件,本文根據(jù)HEPS的FOFB系統(tǒng)的有效反饋帶寬需求,提出了一種雙層環(huán)路式的FOFB系統(tǒng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),同時(shí)介紹了基于該結(jié)構(gòu)的數(shù)據(jù)傳輸鏈路設(shè)計(jì)方案,并搭建測(cè)試平臺(tái)驗(yàn)證系統(tǒng)的數(shù)據(jù)傳輸鏈路功能。測(cè)量和分析結(jié)果表明,F(xiàn)OFB系統(tǒng)的數(shù)據(jù)傳輸鏈路中各個(gè)功能模塊都可以正常使用,且系統(tǒng)總延遲時(shí)間約為140.46 μs,已達(dá)到預(yù)定的設(shè)計(jì)目標(biāo)。
FOFB系統(tǒng)是HEPS能否達(dá)到預(yù)期束流軌道穩(wěn)定性的關(guān)鍵一環(huán),設(shè)計(jì)難度大,指標(biāo)要求高。在本文中設(shè)計(jì)的FOFB系統(tǒng)雙層環(huán)形網(wǎng)絡(luò)結(jié)構(gòu)以及相應(yīng)的數(shù)據(jù)傳輸鏈路設(shè)計(jì)方案,一方面為未來(lái)FOFB系統(tǒng)在HEPS儲(chǔ)存環(huán)上的搭建、優(yōu)化和調(diào)試打下了基礎(chǔ),另一方面憑借其良好的靈活性和可拓展性,為將來(lái)在其他儲(chǔ)存環(huán)中通過(guò)束流的快速閉軌校正提升性能提供了可行方案。
作者貢獻(xiàn)聲明高國(guó)棟負(fù)責(zé)研究的提出及設(shè)計(jì),實(shí)驗(yàn)驗(yàn)證,數(shù)據(jù)的收集和整理,文章的起草和最終版本的修訂;劉鵬參與醞釀和設(shè)計(jì)實(shí)驗(yàn),參與實(shí)驗(yàn)驗(yàn)證,對(duì)文章的知識(shí)性內(nèi)容作批評(píng)性審閱,提供系統(tǒng)所需軟硬件及技術(shù)支持;龍鋒利參與醞釀和設(shè)計(jì)實(shí)驗(yàn),對(duì)文章的知識(shí)性內(nèi)容作批評(píng)性審閱,行政、技術(shù)或材料支持,提供系統(tǒng)所需軟硬件及技術(shù)支持;季大恒參與醞釀和設(shè)計(jì)實(shí)驗(yàn),數(shù)據(jù)統(tǒng)計(jì)分析,行政、技術(shù)或材料支持;葉強(qiáng)參與醞釀和設(shè)計(jì)實(shí)驗(yàn),行政、技術(shù)或材料支持,指導(dǎo)及支持性貢獻(xiàn);杜垚垚提供研究經(jīng)費(fèi),對(duì)文章的知識(shí)性內(nèi)容作批評(píng)性審閱,行政、技術(shù)或硬件材料支持,提供系統(tǒng)所需軟硬件及技術(shù)支持;劉智對(duì)文章的知識(shí)性內(nèi)容作批評(píng)性審閱,行政、技術(shù)或硬件材料支持,提供系統(tǒng)所需軟硬件及技術(shù)支持;隨艷峰獲取研究經(jīng)費(fèi),行政、技術(shù)或材料支持,指導(dǎo)及支持性貢獻(xiàn);岳軍會(huì)獲取研究經(jīng)費(fèi),行政、技術(shù)或材料支持,指導(dǎo)及支持性貢獻(xiàn);唐旭輝參與實(shí)驗(yàn)驗(yàn)證,參與系統(tǒng)的前期設(shè)計(jì)工作,提供部分技術(shù)支持;魏書軍負(fù)責(zé)項(xiàng)目的監(jiān)督和管理,醞釀和設(shè)計(jì)實(shí)驗(yàn),對(duì)文章的知識(shí)性內(nèi)容作批評(píng)性審閱,行政、技術(shù)或材料支持,指導(dǎo)及支持性貢獻(xiàn);曹建社負(fù)責(zé)項(xiàng)目的監(jiān)督和管理,醞釀和設(shè)計(jì)實(shí)驗(yàn),對(duì)文章的知識(shí)性內(nèi)容作批評(píng)性審閱,行政、技術(shù)或材料支持,指導(dǎo)及支持性貢獻(xiàn)。