姜群興,胡立生
核級(jí)(安全級(jí))數(shù)字化控制系統(tǒng)是核電數(shù)字化儀控系統(tǒng)的重要組成部分。當(dāng)非安全級(jí)控制系統(tǒng)失效時(shí),它用于保護(hù)核反應(yīng)堆的安全屏障的完整性,當(dāng)反應(yīng)堆安全重要參數(shù)超過(guò)安全極限時(shí),它觸發(fā)反應(yīng)堆緊急停堆系統(tǒng)和/或?qū)TO(shè)安全設(shè)施,因此,核級(jí)控制系統(tǒng)的可靠性成為了核電數(shù)字化儀控系統(tǒng)的關(guān)鍵,而其在很大程度上決定于主控制器的可靠性。類(lèi)似于常規(guī)工業(yè)的數(shù)字化控制系統(tǒng)(DCS),為提高主控制器的可靠性,核級(jí)控制系統(tǒng)采用各種冗余機(jī)制來(lái)實(shí)現(xiàn)主控制器的可靠性。以目前主流的核級(jí)控制系統(tǒng)為例,AREVA核級(jí)控制系統(tǒng)(Teleperm XS)采用輸出仲裁的方法來(lái)實(shí)現(xiàn)主從控制器的冗余,而西屋的Common Q和三菱的核級(jí)控制系統(tǒng),都采用從機(jī)備份主機(jī)寄存器及輸出仲裁的方法,來(lái)實(shí)現(xiàn)多主控制器的冗余方式。采用備份主機(jī)寄存器的冗余方式,可以實(shí)現(xiàn)主從機(jī)之間的無(wú)擾切換,從而大大提高系統(tǒng)的實(shí)時(shí)性及可靠性[1]。
主從控制器之間寄存器備份的關(guān)鍵,是需要提供 CPU之間、CPU與北橋之間的高速數(shù)據(jù)通道。由 Intel公司和AMD公司推出的第三代高速串行通訊總線Hyper transport總線和PCI Express技術(shù),為主控制器CPU與北橋的通訊提供了高速通道。本論文以第三代核級(jí)控制系統(tǒng)主控制器技術(shù)為參考,并結(jié)合自主研發(fā)的核級(jí)控制系統(tǒng)主控制器的特點(diǎn),研究基于寄存器數(shù)據(jù)備份的新一代核級(jí)控制系統(tǒng)主控制器的通訊技術(shù)。
新一代核級(jí)控制系統(tǒng)主控制器采用了Hypertransport和PCI Express通訊總線技術(shù),首先我們來(lái)介紹下這兩種通訊總線的技術(shù)特點(diǎn)和它們相比普通通訊總線所具有的優(yōu)勢(shì)。
Hypertransport總線設(shè)備包括端接口和用戶(hù)接口,端接口連接的是點(diǎn)對(duì)點(diǎn)的單向傳輸?shù)腍ypertransport鏈路。數(shù)據(jù)鏈路有兩條,分別負(fù)責(zé)接收和發(fā)送。每條鏈路由數(shù)據(jù)路徑、控制信號(hào)線和時(shí)鐘信號(hào)線組成。每條鏈路的數(shù)據(jù)路徑可由2到32的數(shù)據(jù)線組成,但是標(biāo)準(zhǔn)的數(shù)據(jù)線數(shù)量是 2、4、8、16、32。數(shù)據(jù)信息、命令信息和控制信息共用數(shù)據(jù)路徑傳輸[2]。Hypertransport總線的一般工作在400MHZ時(shí)鐘頻率下,但是 HyperTransport采用類(lèi)似 DDR的工作方式,所以在400MHz工作頻率下,相當(dāng)于800MHz的傳輸頻率。又由于Hypertransport采用雙向傳輸,在400MHZ的工作頻率下,32位帶寬的數(shù)據(jù)路徑可達(dá)到6.4G的傳輸速度,計(jì)算方法為:400MHz×2×2×32bit÷8=6.4GB/sec[3]。
PCI Express總線也采用了點(diǎn)對(duì)點(diǎn)串行連接的方式,每個(gè)設(shè)備都有自己的專(zhuān)用連接,不需要向整個(gè)總線請(qǐng)求帶寬,這樣就可以把數(shù)據(jù)傳輸率提高到一個(gè)很高的頻率。相對(duì)于傳統(tǒng) PCI總線在單一時(shí)間周期內(nèi)只能實(shí)現(xiàn)單向傳輸,PCI Express的雙單工連接能提供更高的傳輸速率和質(zhì)量[4]。PCI Express采用串行數(shù)據(jù)包方式傳遞數(shù)據(jù),這樣PCI Express接口每個(gè)針腳可以獲得比傳統(tǒng)I/O標(biāo)準(zhǔn)更多的帶寬。由于這些優(yōu)點(diǎn),PCI Express技術(shù)的傳輸速度可達(dá)到5G/s。在兼容性方面,PCI Express在軟件層面上兼容目前的PCI技術(shù)和設(shè)備,支持 PCI設(shè)備和內(nèi)存模組的初始化,也就是說(shuō)采用了PCI Express技術(shù)后目前的驅(qū)動(dòng)程序、操作系統(tǒng)無(wú)需推倒重來(lái)[5]。
Hypertransport和PCI Express通訊總線技術(shù)的數(shù)據(jù)傳輸采用的是差分傳輸?shù)姆绞?,跟USB等數(shù)據(jù)傳輸類(lèi)似。傳輸過(guò)程使用1.2伏的電壓,傳輸時(shí),當(dāng)A線高于B線電壓時(shí)我們認(rèn)為是邏輯‘1’,如果B線電壓高于A線電壓時(shí)我們認(rèn)為是邏輯‘0’。采用差分方式傳輸可以提高抗共模噪音能力。
HyperTransport和PCI Express是高速、高性能的通訊總線。它們相比普通的通訊總線(如PCI,PCI_X等)有著更高的傳輸速度,HyperTransport通訊總線的速度可達(dá)到6.4G/s,PCI Express通訊總線也可達(dá)到5G/s左右的速度。有了高速的通訊總線我們才有條件實(shí)現(xiàn)主從CPU之間的寄存器備份,實(shí)現(xiàn)基于寄存器備份的主從熱冗余機(jī)制,通訊總線速度的提高可以提高CPU讀寫(xiě)內(nèi)存和外設(shè)的速度,可以提高整個(gè)控制器的運(yùn)行速度和響應(yīng)速度,這樣就可以從根本上提高整個(gè)核級(jí)控制系統(tǒng)的響應(yīng)速度。
Hypertransport通訊總線技術(shù)具有故障安全性。Hypertransport通訊總線采用二線制多通道通訊,當(dāng)CPU檢測(cè)到任何一個(gè)通道的故障,都可以通過(guò)自動(dòng)配置通道數(shù),來(lái)實(shí)現(xiàn)原有的通訊功能。Hypertransport的通訊速度遠(yuǎn)遠(yuǎn)高于主控制器冗余對(duì)數(shù)據(jù)交互帶寬的需求,那么任何一個(gè)通道的故障,剩下的通道仍然能滿(mǎn)足主控制器數(shù)據(jù)交互的需求。
第三代通訊總線是串行傳輸數(shù)據(jù)的,相比普通的通訊總線減少了高速線,降低了PCB布線的難度和硬件設(shè)計(jì)的成本。第三代通訊總線采用了差分傳輸方式,提高了抗共模噪音能力。第三代通訊總線還采用了點(diǎn)對(duì)點(diǎn)單向傳輸?shù)姆绞?,提高了抗干擾的能力和傳輸?shù)姆€(wěn)定性。而且在軟件層面上,它們還兼容普通通訊總線的設(shè)備與技術(shù)。
總之,第三代通訊技術(shù)符合核級(jí)控制系統(tǒng)主控制器設(shè)計(jì)的要求,是國(guó)家實(shí)現(xiàn)自主研發(fā)核級(jí)主控制器的關(guān)鍵之一。
核級(jí)控制系統(tǒng)主控制器根據(jù)冗余機(jī)制的需要來(lái)選擇通訊技術(shù)和總線機(jī)構(gòu),因?yàn)橥ㄓ嵖偩€技術(shù)很大程度上決定了核級(jí)控制系統(tǒng)的冗余機(jī)制,下面我們介紹幾種冗余機(jī)制。
常規(guī)的工業(yè)控制系統(tǒng)通常采用基于輸出仲裁的主從熱冗余機(jī)制,當(dāng)仲裁設(shè)備檢測(cè)到主控制器輸出數(shù)據(jù)出現(xiàn)異常時(shí),把通訊總線切換到從控制器上。常規(guī)工業(yè)控制系統(tǒng)采用這種方式主要是由于普通通訊總線速度的瓶頸。西門(mén)子的冗余機(jī)制就是冗余的從控制器不斷備份主控制器的數(shù)據(jù),并監(jiān)視主控制器的輸出,當(dāng)從控制器發(fā)現(xiàn)主控制器輸出數(shù)據(jù)出現(xiàn)問(wèn)題時(shí),從控制器把主控制器與整個(gè)控制系統(tǒng)隔離,并取代主控制器開(kāi)始工作。而隨著通訊總線速度和性能的提高,基于寄存器備份的主從熱冗余機(jī)制已經(jīng)成為核級(jí)數(shù)字化控制系統(tǒng)主控制器技術(shù)的發(fā)展趨勢(shì)。新一代的核級(jí)控制系統(tǒng)控制器是采用寄存器備份的方式,我們?cè)谥鲝目刂破鞯腃PU之間建立一個(gè)高速的通訊通道,從控制器不斷備份主控制器的寄存器的內(nèi)容,一旦發(fā)現(xiàn)主控制器出現(xiàn)問(wèn)題,從控制器把主控制器與整個(gè)控制系統(tǒng)隔離,并取代主控制器開(kāi)始工作。
因?yàn)樾乱淮暮思?jí)控制系統(tǒng)控制器采用寄存器備份的方式,所以我們?cè)谠O(shè)計(jì)控制器時(shí),圍繞CPU構(gòu)建的通訊總線結(jié)構(gòu)如圖1所示,CPU與內(nèi)存、CPU與北橋之間的通訊可采用Hypertransport通訊總線技術(shù),北橋與南橋之間的通訊可采用PCI Express通訊總線技術(shù)。因?yàn)槟蠘蚺c外設(shè)之間的通訊不需要很高的通訊速度,南橋與外設(shè)之間的通訊可采用普通的并行總線。主從控制器的CPU之間有一條高速通訊通道,用于備份數(shù)據(jù),采用Hypertransport通訊總線技術(shù)實(shí)現(xiàn)。北橋芯片和南橋芯片我們都用 FPGA芯片設(shè)計(jì),用FPGA來(lái)實(shí)現(xiàn)Hypertransport通訊接口設(shè)備和PCI Express通訊接口設(shè)備,并在北橋的FPGA內(nèi)部實(shí)現(xiàn)Hypertransport通訊接口設(shè)備和PCI Express通訊接口設(shè)備的連接,使它們之間能進(jìn)行信息的傳輸[6]。
圖1 核級(jí)控制系統(tǒng)主控制器總體架構(gòu)
上面介紹了通訊總線的結(jié)構(gòu),通訊總線接口是實(shí)現(xiàn)通訊總線功能的關(guān)鍵。現(xiàn)在我們介紹在 FPGA中實(shí)現(xiàn)Hypertransport總線接口和PCI Express總線接口的方案。
Hypertransport體系結(jié)構(gòu)包括三部分:物理接口層(Physical Interface),同步對(duì)齊層(Synchronization and Alignment)和協(xié)議接口層(Protocol Interface)。如圖2所示:
圖2 Hypertransport總線設(shè)備的體系結(jié)構(gòu)
物理接口層的功能是把 Hypertransport數(shù)據(jù)鏈路和Hypertransport核連接起來(lái)。它包括接收和發(fā)送兩部分。接收模塊從RxCTL_i、RxCAD_i數(shù)據(jù)線上接收串行的數(shù)據(jù),然后把數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)并傳輸給同步對(duì)齊模塊。Rx時(shí)鐘產(chǎn)生器產(chǎn)生一個(gè)兩倍于 RxClk的時(shí)鐘信號(hào)。接收模塊在該時(shí)鐘信號(hào)的控制下讀取RxCTL_i、RxCAD_i數(shù)據(jù)。
發(fā)送模塊從同步對(duì)齊層得到并行數(shù)據(jù),然后把并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù),再把串行數(shù)據(jù)發(fā)送到Hypertransport數(shù)據(jù)鏈路上。數(shù)據(jù)進(jìn)入這個(gè)模塊時(shí)已經(jīng)被分到了不同的通道上。Tx時(shí)鐘產(chǎn)生器產(chǎn)生一個(gè)兩倍于同步對(duì)齊層的時(shí)鐘信號(hào)。發(fā)送模塊在該信號(hào)的控制下發(fā)送串行信號(hào) TxCTL_i、TxCAD_i。
同步對(duì)齊層負(fù)責(zé)完成鏈路時(shí)鐘域與用戶(hù)接口時(shí)鐘域間的同步,以及實(shí)現(xiàn)數(shù)據(jù)邊界對(duì)齊、CRC生成和檢測(cè)等處理過(guò)程。同步和對(duì)齊層采用CRC編碼來(lái)確保傳輸數(shù)據(jù)的可靠性。
協(xié)議層的功能是調(diào)度數(shù)據(jù)邊界對(duì)齊后的數(shù)據(jù)流,維護(hù)虛通道緩沖區(qū),與用戶(hù)接口進(jìn)行交互。協(xié)議層有三個(gè)全雙工的虛擬通道來(lái)與用戶(hù)進(jìn)行交互。分別為:Non_posted Requests(要求回復(fù)的請(qǐng)求,包括讀請(qǐng)求和部分寫(xiě)請(qǐng)求),Posted Requests(不要求回復(fù)的請(qǐng)求),以及Response(對(duì)Non_posted Requests的回復(fù))。Hypertransport協(xié)議層接口,與PCI Express設(shè)備接口配置兼容,這使我們能把Hypertransport接口和PCI Express接口連接起來(lái)。
PCI Express體系結(jié)構(gòu)包括四部分:應(yīng)用接口層、傳輸層、數(shù)據(jù)鏈路層和物理層。如圖3所示:
圖3 PCI Express總線的體系結(jié)構(gòu)
物理層的功能是把數(shù)據(jù)打包并發(fā)送到總線上或者從總線上接收并解析收到的包。
數(shù)據(jù)鏈接層采用按序的方式交換信息包,信息包是由傳輸層生成,按CRC校驗(yàn)進(jìn)行數(shù)據(jù)保護(hù)的包。這些信息包的內(nèi)容以及校驗(yàn)信息存儲(chǔ)在數(shù)據(jù)鏈接層的緩存內(nèi)。這樣可以確保信息的傳輸不受電子噪音干擾。
傳輸層位于數(shù)據(jù)鏈路層和應(yīng)用層之間,從應(yīng)用層接收讀寫(xiě)請(qǐng)求并創(chuàng)建請(qǐng)求包給數(shù)據(jù)鏈路層,所有采用封包形式的請(qǐng)求都會(huì)被分別處理。同時(shí),傳輸層也接收來(lái)自數(shù)據(jù)鏈路層的響應(yīng)包,并與應(yīng)用層中的原始請(qǐng)求進(jìn)行匹配。所有的包都有唯一的標(biāo)志來(lái)匹配相應(yīng)的請(qǐng)求和響應(yīng),這些包中也含有如優(yōu)先級(jí)、松散排序等屬性選項(xiàng),系統(tǒng)根據(jù)這些屬性在I/O系統(tǒng)中為這些包找到最佳傳輸路徑。
應(yīng)用層主要用來(lái)產(chǎn)生對(duì)外設(shè)的讀寫(xiě)請(qǐng)求。與其他設(shè)備之間的鏈接,例如我們核電控制器中,與Hypertransport設(shè)備連接。
我們選用Altera公司提供的Stratix II GX芯片。它是Altera公司設(shè)計(jì)的大規(guī)模高端 FPGA,適合高端設(shè)計(jì)的應(yīng)用。該芯片為設(shè)計(jì)工程師提供了完善的Hypertransport和PCI Express的開(kāi)發(fā)平臺(tái)。并且使用它的開(kāi)發(fā)平臺(tái)得到的總線接口與業(yè)界標(biāo)準(zhǔn)相一致。
FPGA內(nèi)部主要由三部分組成:Hypertransport總線接口,PCI Express總線接口和連接器。如圖4所示:
圖4 FPGA內(nèi)部的結(jié)構(gòu)
Quartus II 8.1軟件的Magafunction中提供了Hypertransport總線接口和PCI Express總線接口的模塊,而且Magafunction提供的模塊一般在速度和面積上都比我們?cè)O(shè)計(jì)的模塊好很多,所以我們只要會(huì)使用它提供的Hypertransport總線接口和PCI Express總線接口的模塊就可以了。我們?cè)O(shè)計(jì)的方案是首先建立一個(gè)頂層文件,把Magafunction提供的Hypertransport接口模塊和PCI Express接口模塊嵌入到我們的頂層模塊中來(lái),然后我們?cè)僮约簩?xiě)一個(gè)連接器,把Hypertransport總線接口和PCI Express總線接口的控制總線和數(shù)據(jù)總線連接起來(lái)。
Hypertransport總線接口從Hypertransport鏈路上接收串行的信號(hào),然后轉(zhuǎn)換成并行的信號(hào),并對(duì)信號(hào)進(jìn)行解析,如果是需要傳給PCI Express接口的就把信號(hào)通過(guò)連接器送給PCI Express總線接口,同時(shí)Hypertransport總線接口還可以通過(guò)連接器接收PCI Express總線接口傳來(lái)的數(shù)據(jù),再把數(shù)據(jù)發(fā)送到Hypertransport總線上去。同樣,PCI Express總線接口既可把Hypertransport接口傳來(lái)的數(shù)據(jù)輸出到PCI Express總線上,也可以接收外部PCI Express總線上的數(shù)據(jù),并把它傳給Hypertransport總線接口。
本文對(duì)第三代通訊總線Hypertransport和PCI Expres在核級(jí)控制系統(tǒng)主控器中的應(yīng)用進(jìn)行了初步的研究,并給出了我們的設(shè)計(jì)方案。Hypertransport和PCI Express通訊總線的應(yīng)用是未來(lái)核電保護(hù)系統(tǒng)通訊總線的發(fā)展方向,但是我們對(duì)于這些第三代通訊總線的研究使用還處于初步的研究階段,在未來(lái)研究的道路上,我們還需要付出更多的努力。
[1]IEC 60880-2006:Nuclear Power Plants-Instrumentation and Control Systems Important to Safety-Software Aspects for Computer-Based Systems Performing Category A Functions[S],International Electro Technical Commission.May-2006.
[2]Anderson Don, Trodden Jay.Hyper Transport system arthitecture[M].Mindshare InK,Addison Wesley,2003.
[3]裘嶸,郭御風(fēng),江泓,等.新型高性能互連技術(shù)Hyper Transport研究[J].計(jì)算機(jī)應(yīng)用研究,2004,21(5):258-260.
[4]David Mayhew and Venkata Krishnan,PCI Experss and Advanced Switching:Evolutionary Path to Building Next Generation Interconnects,StarGen,In c,2 003.
[5]胡鵬,李瓊,郭御風(fēng),徐煒遐,新一代IO互連PCI Express體系結(jié)構(gòu)研究,第九屆全國(guó)計(jì)算機(jī)工程與工藝學(xué)術(shù)年會(huì)論文集,2005.
[6]Detail Stage 4 of the Process Engineering Description for Safety Instrumentation and Control (Concept Report Level 4).TIANWAN NPP Requirement Specification,PG L52/LYG/2001/48f.July-2005.