崔 淵,高大慶,周忠祖,吳鳳軍,黃玉珍,張華劍,張 帥,李繼強(qiáng),譚玉蓮,3
(1.中國(guó)科學(xué)院 近代物理研究所,甘肅 蘭州 730000;2.中國(guó)科學(xué)院大學(xué),北京 100049;3.惠州離子科學(xué)研究中心,廣東 惠州 516003)
強(qiáng)流重離子加速裝置(HIAF)已在中國(guó)廣東惠州開始建設(shè)。HIAF由強(qiáng)流超導(dǎo)離子源、強(qiáng)流超導(dǎo)離子直線加速器、增強(qiáng)器、高精度環(huán)形譜儀、低能核結(jié)構(gòu)譜儀、強(qiáng)流離子束輻照終端、放射性次級(jí)束流分離器、外靶實(shí)驗(yàn)終端、電子-離子復(fù)合共振譜儀等構(gòu)成,是探索原子核存在極限和奇特結(jié)構(gòu)、宇宙中大多數(shù)元素來源等重大前沿科學(xué)問題的基礎(chǔ)大科學(xué)物理裝置[1]。
加速器磁場(chǎng)控制的精度和穩(wěn)定性對(duì)HIAF束流品質(zhì)影響較大,而決定磁場(chǎng)動(dòng)態(tài)控制的核心在于磁鐵勵(lì)磁電源的運(yùn)行性能,這就要求作為勵(lì)磁電源運(yùn)行核心的控制器需具備高精度、高可靠性能。而由于HIAF的設(shè)計(jì)規(guī)模龐大,其勵(lì)磁電源的種類繁多,用于電源控制的數(shù)字控制器還需具備極強(qiáng)的功能兼容能力,以滿足各類電源的控制需求。針對(duì)以上設(shè)計(jì)要求,本文研發(fā)1套基于高速總線的加速器電源數(shù)字控制器(APSDC),并設(shè)計(jì)1套基于串行收發(fā)器的高速同步數(shù)據(jù)總線(HSB),以實(shí)現(xiàn)數(shù)字控制器子板間通信數(shù)據(jù)帶寬達(dá)2 Gbps,且同步誤差低于1 ns。
表1所列為各大加速器電源數(shù)字控制器實(shí)現(xiàn)方案[2-3],可看出,除GSI的ACU采用總線外,其他均采用單芯片集成方式。
表1 各大加速器電源數(shù)字控制器實(shí)現(xiàn)方案Table 1 Digital controller implementations of major accelerators
單芯片集成方式的優(yōu)勢(shì)為系統(tǒng)硬件結(jié)構(gòu)相對(duì)簡(jiǎn)單、開發(fā)周期較短、后期調(diào)試安裝難度較低,適應(yīng)于功能相對(duì)單一的控制器系統(tǒng)。但對(duì)于HIAF控制器多版本兼容的要求,該方式會(huì)耗費(fèi)更多的開發(fā)周期和維護(hù)時(shí)間成本,造成各型電源控制器之間無法快速兼容的問題[4]。GSI的電源控制器ACU雖采用了多模塊總線式系統(tǒng)架構(gòu),但由于其USI總線采用HiSPi技術(shù)架構(gòu),總線帶寬最高僅支持50 Mbps,導(dǎo)致其系統(tǒng)響應(yīng)僅能支持ms級(jí)控制,無法滿足更高實(shí)時(shí)響應(yīng)要求;且其缺乏控制器內(nèi)部板級(jí)時(shí)鐘同步網(wǎng)絡(luò),數(shù)字控制器各計(jì)算控制節(jié)點(diǎn)的同步延時(shí)數(shù)據(jù)無法精確給出,因此無法實(shí)現(xiàn)高精度實(shí)時(shí)同步控制。
而PCI-e總線架構(gòu)[5]是目前較為通用的系統(tǒng)總線解決方案,其通信帶寬已接近單芯片實(shí)現(xiàn)方案的數(shù)據(jù)交互速度。因此本文設(shè)計(jì)研發(fā)了1套以HSB作為控制器內(nèi)部總線的模塊化APSDC。
由于HIAF對(duì)各勵(lì)磁電源的輸出精度要求較高,而作為多模塊總線式架構(gòu)的APSDC,制約其控制精度及系統(tǒng)響應(yīng)的關(guān)鍵在于系統(tǒng)總線的數(shù)據(jù)帶寬和數(shù)據(jù)傳輸同步性能。表2列出了APSDC的設(shè)計(jì)參數(shù)。
表2 APSDC的設(shè)計(jì)參數(shù)Table 2 Design parameter of APSDC
相對(duì)于應(yīng)用在蘭州重離子加速器(HIRFL)和重離子治癌醫(yī)療設(shè)備(HIMM)中的數(shù)字電源調(diào)節(jié)系統(tǒng)(DPSRS)控制器,APSDC采用了不同于傳統(tǒng)片上系統(tǒng)的多模塊總線架構(gòu)。DPSRS結(jié)構(gòu)如圖1所示[6]。
圖1 DPSRS結(jié)構(gòu)Fig.1 Structure of DPSRS
由圖1可知,DPSRS將電源的所有輸入、輸出模塊直接連接到1片F(xiàn)PGA處理核心芯片上,所有的控制及調(diào)節(jié)計(jì)算由單個(gè)芯片完成。由于不同電源需單獨(dú)開發(fā)不同的控制器,當(dāng)電源種類較多時(shí),控制器的種類也會(huì)隨之增多,所以這一設(shè)計(jì)方案并不適用于HIAF系統(tǒng)。而APSDC將各功能模塊獨(dú)立設(shè)計(jì),針對(duì)各種電源類型,只需配備與其相適應(yīng)的功能模塊即可實(shí)現(xiàn)電源的控制調(diào)節(jié),無需對(duì)整個(gè)控制器進(jìn)行重新設(shè)計(jì)研發(fā)。APSDC將控制器劃分為5個(gè)獨(dú)立的功能子板:時(shí)間系統(tǒng)板(TSB)、人機(jī)接口板(HIB)、回路控制板(MCB)、調(diào)節(jié)計(jì)算板(RAB)、模數(shù)轉(zhuǎn)換板(ADB)。各子板依照HSB協(xié)議與其他子板進(jìn)行控制數(shù)據(jù)交互,最終實(shí)現(xiàn)對(duì)電源的控制和調(diào)節(jié)。HSB由控制器同步觸發(fā)脈沖驅(qū)動(dòng)實(shí)現(xiàn)數(shù)據(jù)對(duì)齊(圖2)。其中TSB負(fù)責(zé)處理中央授時(shí)系統(tǒng)發(fā)布的時(shí)間信息,并由中央授時(shí)系統(tǒng)發(fā)布的同步時(shí)鐘為參考生成APSDC內(nèi)部同步觸發(fā)脈沖;HIB負(fù)責(zé)同中央控制系統(tǒng)的數(shù)據(jù)對(duì)接,由Linux操作系統(tǒng)為計(jì)算平臺(tái),將中央控制系統(tǒng)發(fā)送的控制指令解析后發(fā)送到RAB和MCB上,同時(shí)通過千兆網(wǎng)絡(luò)將ADB的回讀數(shù)據(jù)上報(bào)到中央控制系統(tǒng)中;MCB負(fù)責(zé)解析來自HIB和RAB的控制數(shù)據(jù)并執(zhí)行相關(guān)電源主回路繼電控制,并返回電源運(yùn)行狀態(tài)信息到HIB;RAB負(fù)責(zé)完成電源閉環(huán)調(diào)節(jié)計(jì)算,向MCB發(fā)送開關(guān)器件調(diào)節(jié)數(shù)據(jù);ADB將電源輸出電流進(jìn)行采樣后向RAB和HIB發(fā)送反饋數(shù)據(jù)和回讀數(shù)據(jù)。
圖2 APSDC結(jié)構(gòu)Fig.2 Structure of APSDC
1) 精確時(shí)間計(jì)算實(shí)現(xiàn)
TSB通過光纖網(wǎng)絡(luò)接收并解析中央授時(shí)系統(tǒng)發(fā)布的同步時(shí)間信息,由FPGA內(nèi)部的時(shí)鐘數(shù)據(jù)恢復(fù)(CDR)模塊產(chǎn)生總時(shí)鐘同步信號(hào)。在TSB上,需對(duì)該時(shí)鐘同步信號(hào)與本地時(shí)鐘信號(hào)進(jìn)行同步延時(shí)誤差計(jì)算,并最終得到APSDC與中央授時(shí)系統(tǒng)之間的精確時(shí)間延時(shí)數(shù)據(jù)。這就要求在TSB上實(shí)現(xiàn)高精度時(shí)間數(shù)字轉(zhuǎn)換(TDC)算法。
由于FPGA的進(jìn)位邏輯單元的傳播延遲小、線路位置獨(dú)立及延遲時(shí)間固定,TDC精度可達(dá)到ps量級(jí)。因此,本文采用FPGA芯片存儲(chǔ)單元的內(nèi)部邏輯(如多路復(fù)用器、觸發(fā)器、內(nèi)部緩沖器等)來實(shí)現(xiàn)TDC算法。對(duì)比目前較為通行的兩種TDC算法:抽頭延時(shí)線法(TDL)和多相時(shí)鐘采樣法(MPCS)[7],考慮到資源消耗和數(shù)據(jù)結(jié)構(gòu)的穩(wěn)定性,最終確定采用電路資源消耗較少且較穩(wěn)定的MPCS算法。圖3為MPCS算法原理圖。
在MPCS算法中,設(shè)輸入信號(hào)的時(shí)間間隔為ΔT,則:
ΔT=Δt1+NTCLK-Δt2
(1)
根據(jù)式(1),延時(shí)時(shí)間間隔的計(jì)算公式為:
ΔT=NcoarseTco+ΔnfineLSBfine
Δnfine=n2-n1
(2)
其中:ΔT為任意停止位與起始位之間的時(shí)間間隔;N為粗計(jì)數(shù)上升沿的數(shù)量;TCLK為粗計(jì)數(shù)的時(shí)鐘周期;Δt1為起始位粗計(jì)數(shù)和細(xì)計(jì)數(shù)之間的相差數(shù);Δt2為停止位粗計(jì)數(shù)和細(xì)計(jì)數(shù)之間的相差數(shù);LSBfine為MPCS算法中精細(xì)計(jì)數(shù)分辨率;Ncoarse為停止位置和粗計(jì)數(shù)器起始位置之間的參考時(shí)鐘上升沿的數(shù)量;Tco為粗計(jì)數(shù)器參考時(shí)鐘周期。
圖3 MPCS算法原理圖Fig.3 Schematic diagram of MPCS
2) 同步總線實(shí)現(xiàn)
由于APSDC包含5個(gè)功能獨(dú)立的控制器子單元,各單元通過控制器總線互聯(lián)實(shí)現(xiàn)全數(shù)據(jù)接口控制。由此可對(duì)電源控制器各關(guān)鍵計(jì)算節(jié)點(diǎn)進(jìn)行分立式處理,避免各節(jié)點(diǎn)間數(shù)據(jù)沖突導(dǎo)致的控制失效。另外,APSDC提供基于星型拓?fù)涞臅r(shí)鐘同步網(wǎng)絡(luò),可實(shí)現(xiàn)控制器內(nèi)部亞ns級(jí)時(shí)鐘絕對(duì)同步,保證控制器各節(jié)點(diǎn)數(shù)據(jù)絕對(duì)同步。
目前工業(yè)控制領(lǐng)域的高速總線多采用標(biāo)準(zhǔn)PCI-e協(xié)議實(shí)現(xiàn),直接采用標(biāo)準(zhǔn)化橋接芯片[8](如PLX公司出產(chǎn)的PEX8311)或封裝了標(biāo)準(zhǔn)PCI-e硬件IP核的FPGA芯片實(shí)現(xiàn)系統(tǒng)內(nèi)部高速總線互聯(lián)。由于無需對(duì)PCI-e協(xié)議的內(nèi)部進(jìn)行詳細(xì)解析,只需開發(fā)相對(duì)簡(jiǎn)單的用戶接口驅(qū)動(dòng)即可實(shí)現(xiàn)數(shù)據(jù)通信,所以采用這一方式的優(yōu)勢(shì)在于開發(fā)周期較短、成本相對(duì)低廉。但由于標(biāo)準(zhǔn)PCI-e協(xié)議需兼容多種傳輸級(jí)別的數(shù)據(jù)交互[9],屬于非同步型數(shù)據(jù)總線架構(gòu),而HIAF電源控制器要求嚴(yán)格的同步數(shù)據(jù)通信。針對(duì)這一問題,APSDC對(duì)標(biāo)準(zhǔn)PCI-e做了總線協(xié)議層裁剪,定制了1套基于高速數(shù)據(jù)同步式架構(gòu)的HSB,并采用ALTERA出產(chǎn)的Cyclone Ⅳ芯片(EP4CGX15BF14C8N)作為總線轉(zhuǎn)換芯片[10]。圖4為PCI-e與HSB的對(duì)比,HSB將PCI-e協(xié)議的事務(wù)層和數(shù)據(jù)鏈路層中用于設(shè)備握手、版本識(shí)別、用戶層擴(kuò)展等功能移除,保留用于高速通信的字節(jié)對(duì)齊、校驗(yàn)編碼、速率匹配、相位校準(zhǔn)等部分物理層,新增了用于板間同步的數(shù)據(jù)同步層。
HSB采用星型拓?fù)渫接|發(fā)網(wǎng)絡(luò)+菊花鏈?zhǔn)礁咚贁?shù)據(jù)傳輸通道結(jié)構(gòu),實(shí)現(xiàn)控制器內(nèi)部數(shù)據(jù)高速同步傳輸。TSB由獲取的總同步時(shí)鐘(頻率125 MHz)產(chǎn)生1 MHz的控制器內(nèi)部同步觸發(fā)信號(hào)。該信號(hào)以星型拓?fù)浞绞缴瘸龅?個(gè)子板上,保證每個(gè)子板的HSB通信觸發(fā)時(shí)機(jī)嚴(yán)格同步,4個(gè)觸發(fā)信號(hào)與總同步時(shí)鐘保持低于250 ps的延時(shí)誤差。而各子板間通過菊花鏈?zhǔn)礁咚俅型愤M(jìn)行數(shù)據(jù)傳輸??刂破鞲髯影彘g的數(shù)據(jù)傳遞嚴(yán)格遵照總線觸發(fā)信號(hào)執(zhí)行,確保APSDC各控制計(jì)算節(jié)點(diǎn)間的數(shù)據(jù)同步。圖5為通過Quartus Ⅱ軟件的SignalTap Ⅱ Logic Analyzer工具在線JTAG調(diào)試時(shí)得到的HSB數(shù)據(jù)傳輸時(shí)序圖,采用100 MHz時(shí)鐘作為時(shí)鐘刻度。
圖4 PCI-e與HSB的對(duì)比Fig.4 Comparison of PCI-e and HSB
圖5 HSB數(shù)據(jù)傳輸時(shí)序圖Fig.5 Diagram of HSB data timing
HSB在處于觸發(fā)等待狀態(tài)時(shí),總線數(shù)據(jù)保持K28.5碼用于數(shù)據(jù)時(shí)鐘對(duì)齊;當(dāng)觸發(fā)到來時(shí),切換到K28.4碼用于數(shù)據(jù)的位對(duì)齊;而后轉(zhuǎn)入K28.5再次校準(zhǔn)數(shù)據(jù)時(shí)鐘;然后轉(zhuǎn)入K27.7碼用于數(shù)據(jù)的字對(duì)齊。完成數(shù)據(jù)及時(shí)鐘對(duì)齊后,HSB開始數(shù)據(jù)傳輸,并進(jìn)行循環(huán)冗余碼校驗(yàn)(CRC)計(jì)算。數(shù)據(jù)可靠傳輸完成后,HSB再次轉(zhuǎn)入觸發(fā)等待狀態(tài),繼續(xù)保持K28.5碼用于數(shù)據(jù)時(shí)鐘對(duì)齊。
對(duì)于高速串行數(shù)據(jù)通信,總線信號(hào)眼圖是總線方案可行性及穩(wěn)定性的基本判定標(biāo)準(zhǔn)[11]。圖6為APSDC的HSB運(yùn)行眼圖(運(yùn)行在2 Gbps數(shù)據(jù)帶寬下)。眼圖的眼高為360 mV、眼寬為1.4 ns。由于高速收發(fā)模塊執(zhí)行的是1.5 V-PCML電平[12],其工作有效差分電壓范圍為300~450 mV,所以根據(jù)眼圖中眼高的實(shí)際測(cè)量值,可確定高速差分布線是符合電平設(shè)計(jì)要求的。由于數(shù)據(jù)帶寬為2 Gbps,即有效數(shù)據(jù)位時(shí)間周期應(yīng)大于1 ns,去除電平閾值影響,HSB符合數(shù)據(jù)傳輸可靠性要求。
圖6 HSB數(shù)據(jù)眼圖Fig.6 HSB eye diagram
HSB數(shù)據(jù)傳輸?shù)拈L(zhǎng)期可靠性對(duì)于APSDC至關(guān)重要,本文對(duì)HSB進(jìn)行了32 h長(zhǎng)期可靠性測(cè)試。測(cè)試從任意子板經(jīng)HSB向另一子板不間斷地發(fā)送預(yù)先設(shè)置的數(shù)據(jù),在接收數(shù)據(jù)的子板上進(jìn)行數(shù)據(jù)誤碼統(tǒng)計(jì)。該測(cè)試中HSB始終處于數(shù)據(jù)傳輸狀態(tài),屬于總線誤碼率飽和測(cè)試。誤碼統(tǒng)計(jì)結(jié)果在經(jīng)過32 h連續(xù)運(yùn)行后未發(fā)生傳輸誤碼,符合APSDC對(duì)HSB數(shù)據(jù)傳輸可靠性的要求。
APSDC的時(shí)間同步性能由總同步時(shí)鐘與各子板同步觸發(fā)信號(hào)之間的延時(shí)抖動(dòng)決定。本文分別對(duì)4塊子板的同步觸發(fā)信號(hào)和總同步時(shí)鐘進(jìn)行延時(shí)抖動(dòng)實(shí)驗(yàn),結(jié)果如圖7所示。4塊子板的同步觸發(fā)信號(hào)和總同步時(shí)鐘之間的最大延時(shí)抖動(dòng)均低于250 ps,優(yōu)于控制器實(shí)時(shí)同步誤差1 ns的性能要求,達(dá)到了設(shè)計(jì)指標(biāo)。
圖7 各觸發(fā)時(shí)鐘間同步誤差Fig.7 Synchronization error among each trigger
APSDC采用高速總線架構(gòu),具備優(yōu)良的可擴(kuò)展性,在實(shí)時(shí)性、通用性和可靠性等方面,相對(duì)于片上型的DPSRS有了大幅提升。通過對(duì)定制的HSB及相關(guān)控制器的功能實(shí)驗(yàn),APSDC各項(xiàng)性能達(dá)到了設(shè)計(jì)指標(biāo),可滿足HIAF對(duì)加速器電源控制器的要求。