?

基于龍芯處理器的繼電保護裝置平臺及關鍵技術

2022-03-17 09:44李友軍周華良徐廣輝戴欣欣羅華煜
電力自動化設備 2022年3期
關鍵詞:中斷總線繼電保護

李友軍,周華良,徐廣輝,戴欣欣,羅華煜,夏 雨

(1. 南瑞集團(國網電力科學研究院)有限公司 智能電網保護和運行控制國家重點實驗室,江蘇 南京 211106;2. 國電南瑞科技股份有限公司,江蘇 南京 211106)

0 引言

繼電保護是電網穩定運行的核心二次設備,須保證在任何條件下都能穩定供應和正常運維,設計開發自主可控的繼電保護裝置符合當前實際應用需求。

芯片選型,特別是處理器芯片選型及自主可控程度的定義是開發自主可控的繼電保護裝置首要面臨的問題。其次單板件或整裝置無縫替換在運裝置的需求應優先滿足,確保電網的戰略備用安全。從技術成熟度角度考慮,自主可控繼電保護裝置平臺應向保護專業提供一致兼容的接口,使業務代碼可直接編譯使用,從而提高繼電保護算法的成熟度和軟件兼容性。從可靠性角度考慮,針對現有繼電保護裝置的可靠性已有大量的研究[1-2],開發自主可控繼電保護裝置平臺應繼承這些可靠性研究成果,保持繼電保護裝置的高可靠性。而國產元器件的成熟度和工程應用不足,在可靠性和一致性方面尚待完善[3-4],故需要利用整體體系優化設計彌補部件級技術性能差距,從而實現裝置的整體功能和性能對標在運裝置。從變電站類型角度考慮,目前在運的變電站有傳統變電站、數字化變電站、智能變電站3種。傳統變電站以模擬采樣為主要需求;數字化變電站以采樣和信息數字化為主要特征;智能變電站以數字化技術為基礎,增加了功能集成化、結構緊湊化、狀態可視化等主要特征[5],其核心是二次設備網絡化[6]。因此繼電保護裝置想要適用于上述3 類變電站,必須實現接口網絡化?;谶M口器件的繼電保護接口網絡化技術已經有眾多研究成果[7-10],嵌入式以太網技術也有相關學者進行了研究[11]。

當前繼電保護裝置大多采用分布式架構和多板卡部署[12-14]的方式設計,具有配置靈活、擴展方便的特點。本文繼承已有文獻的成果,基于自主可控元器件設計繼電保護裝置平臺,并針對自主可控芯片的特點進行適配開發,且遵循兼容性、平臺和應用解耦、接口網絡化[15]、可靠性[16-18]等原則。本文主要從自主化芯片選型原則、平臺體系架構、兼容性設計、關鍵代碼實時性優化提升、軟錯誤防護措施等方面詳細介紹自主可控繼電保護裝置平臺及其關鍵技術。由于處理器自主可控涉及領域眾多,包括技術路線來源、自主設計能力、自主生產能力、持續發展能力、生態系統等,且芯片類型眾多,難以逐一闡述,所以本文僅闡述處理器的自主可控選型思路,希望能對業界選型起到參考作用。

1 主控芯片選型

目前還沒有業界公認的自主化芯片定義標準,在研制自主可控的繼電保護裝置平臺時,需定義自主化芯片的選型原則。本文根據文獻[19]的自主可控分級研究結果,針對最新技術進展,給出了芯片自主化分級情況,如附錄A 表A1所示。當前大部分基于ARM 核開發的芯片多為知識產權IP(Intellectual Property)硬核授權,僅能根據市場需求添加外圍設備,其內核為國外設計的成品,不具備缺陷修復和性能提升的條件,僅能達到部分自主化的水平(L2);國內個別企業采用基于ARM 指定版本架構授權設計的芯片,其指令集變更的權限仍由國外公司掌控,后期的發展易受國際環境變化的影響,僅能達到有條件自主化水平(L3);還有部分企業獲得了指令集的永久授權,可根據自身設計需求自主升級指令集,具備高度自主化的條件(L4),龍芯中科基于MIPS 的指令體系架構和申威基于Alpha 的指令體系架構屬于此類自主化水平分類;開源的RISC-V 指令體系也具有高度自主化的條件,但尚無量產的芯片,軟件生態不夠完善,嵌入式通用處理器芯片還處于起步階段。上述幾種指令體系架構的比較如附錄A表A2所示。

從自主化水平來看,Alpha 架構和MIPS 架構的國產處理器芯片滿足高度自主化(L4)的要求,而Alpha 架構的處理器主要用于服務器,不適用于嵌入式應用場景。在嵌入式處理器方面,僅有基于MIPS 架構的龍芯處理器能達到高度自主化的要求,且龍芯處理器經過多年的發展,已在軍工[20]、宇航[21]、工業控制[22]等領域得到了較多應用。本文選用龍芯2K1000 處理器(下文簡稱為2K1000)作為電力二次設備平臺的核心處理器,其采用40 nm 復雜金屬半導體氧化物CMOS(Complementary Metal Oxide Semiconductor)工藝,功耗小于4.5 W,具有高速串行計算機擴展總線PCIe(Peripheral Component Interconnect express)、千兆以太網介質訪問控制GMAC(Gigabit Media Access Controller)等高速通信接口,以及控制器局域網CAN(Controller Area Network)總線、通用串行總線USB(Universal Serial Bus)、集成電路總線I2C(Inter-Integrated Circuit)等低速接口,可以滿足電力二次設備的嵌入式應用場景;處理器片內集成2 個64 位的雙發射GS264 處理器核,主頻可達1 GHz,每個核具有獨立的32 KByte的一級指令緩存及一級數據緩存;另外處理器片內還集成了豐富的高速和低速外設接口,如附錄A 圖A1所示。

2 基于2K1000的繼電保護裝置平臺設計

針對2K1000 的外設接口特點,本文采用PCIe高速接口外加現場可編程門陣列FPGA(Field Programmable Gate Array)擴展以太網增加站控層網絡接口和過程層網絡接口,實現接口網絡化。各個模件通過背板總線進行數據交換,實現分布式架構的搭建。

2.1 分布式架構設計

繼電保護裝置平臺通常包括管理模件、啟動模件、保護模件、智能模件、采樣模件、開入開出等模件。本文采用分布式架構,所有模件均通過背板總線接入系統進行數據交換,實現數據共享和邏輯控制?;?K1000的繼電保護裝置平臺架構如圖1所示。

圖1 基于2K1000的繼電保護裝置平臺架構示意圖Fig.1 Schematic diagram of architecture of relay protection device platform based on 2K1000

平臺背板上布置了高速總線、非實時數據總線、管理數據總線以及數據同步信號線。高速總線采用百兆以太網接口,主要用于傳輸實時數據,如采樣值、實時計算量等;非實時數據總線采用USB 轉以太網接口,主要傳輸事件順序記錄SOE(Sequence Of Event)以及模擬量的幅值、相角等;管理數據總線主要負責模件配置、參數、調試等系統管理類的數據;數據同步信號線主要用于繼電保護裝置平臺內部各模件之間的數據同步,由管理模件發出同步脈沖,其他模件利用該信號同步自身的數據。模件根據自身功能類型選擇總線類型,所有模件均接入管理數據總線和數據同步信號線,從而能夠接收和響應管理模件的命令、參數等報文,并定時向管理總線發送心跳報文。另外,管理模件、保護模件、啟動模件和智能模件還接入高速總線和非實時數據總線;采樣模件還接入高速總線;開入開出還接入非實時數據總線。

2.2 實時數據共享方案

實時數據共享是繼電保護裝置平臺各個模件進行協同計算和邏輯控制的關鍵。通過模件間的數據共享,保護模件、啟動模件、智能模件、采樣模件可以按照各自的邏輯獨立運行并相互協同。模件間的實時數據交換框架示意圖如圖2所示。

保護模件按3 層軟件架構實現,分別為應用程序、平臺程序和驅動程序。模件數據共享框架也分3 層實現,分別是應用程序、內存共享空間、數據幀接收和發送。應用程序根據業務需要定義輸入數據、輸出數據。平臺程序根據應用程序定義的輸入數據源,預先申請模件的共享數據區,如圖2 的共享空間中的模件1、模件2、…、模件n等空間所示,其中包含自身輸出數據區。模件接收高速總線的所有數據,將數據復制到預先申請的對應共享內存空間。應用程序根據業務需要從共享內存中取數并開展邏輯計算,計算結束后將輸出數據填入自身數據區。業務程序運行結束后,由平臺程序將模件自身數據區通過高速總線進行廣播,完成裝置平臺內部各個模件之間的實時數據共享。

圖2 模件間的實時數據交換框架示意圖Fig.2 Schematic diagram of framework of real-time data exchange between modules

保護模件獲得實時的保護通道采樣數據并進行計算,從而控制出口繼電器。啟動模件獲得實時的啟動通道采樣數據并進行計算,從而控制啟動繼電器。智能模件將網口接收到的數字化采樣數據通過同步和插值計算轉換為模件的輸出數據,并通過高速總線廣播發送。采樣模件獲得的采樣數據通過高速總線廣播發送。其他模件根據自身功能通過高速總線廣播實時數據。

2.3 功能模件設計

管理模件、保護模件、啟動模件、智能模件等核心板卡均基于2K1000設計,其中管理模件部署開源Linux操作系統,其他幾種插件基于裸核運行模式部署自主開發的簡單任務調度框架。

2.3.1 管理模件

管理模件主要負責事件錄波的存儲、系統配置及參數定值的管理分發、人機接口管理、對外網絡及串口通信、命令及調試。管理模件采用硬件層、操作系統層、平臺層及公共模塊層4 層架構,其功能框圖如圖3 所示。平臺層主要負責系統管理、系統監視、時鐘同步、任務監視、數據交換等業務。公共模塊基于平臺層的接口和數據,運行相應業務程序,主要包括事件錄波、通信、液晶菜單、定值管理、配置管理、打印管理等。

圖3 管理模件的層次結構及功能框圖Fig.3 Hierarchical structure and functional block diagram of management module

硬件方面,管理模件通過USB1轉以太網接入非實時數據總線;通過PCIe2接入FPGA,由FPGA 擴展百兆以太網接口接入高速總線,且擴展兼容總線使其可直接無縫替換在運繼電保護裝置的對應插件;通過CAN 接入管理數據總線;分別通過USB2、USB3轉以太網接入液晶模件和調試網口;3 個站控層以太網通信接口通過PCIe1由FPGA擴展。

2.3.2 保護模件和啟動模件

保護模件和啟動模件采用相同的硬件架構和軟件框架,均以2K1000為基礎,采用裸核運行模式,其功能框圖如圖4所示。

圖4 保護或啟動模件的層次結構及功能框圖Fig.4 Hierarchical structure and functional block diagram of protection module or trigger module

1)硬件方面,保護或啟動模件繼承了管理模件的基本接口形式,其總線接口和管理模件相同,但取消了外擴的以太網接口和液晶模件接口。

2)軟件方面,2K1000 的2 個核分別運行獨立的程序,雙核之間通過共享內存交換數據。核1 僅部署平臺程序,其中的數據交換處理模塊負責處理總線上的所有數據,包括數據幀的判斷、數據整理及容錯處理。在報文校驗正確并同步后,將數據放入共享內存,供核0的保護或啟動模塊使用。核0的數據交換處理模塊僅處理共享內存的數據。保護/啟動模塊的輸出數據通過數據交換處理模塊發送給核1并由核1發送,有效分散了計算壓力。保護/啟動模塊可選擇數據發送的通道,數據交換處理模塊根據保護/啟動模塊的指令通過指定通道發送指定的數據。保護模件只處理收到的保護模擬數字AD 轉換器(Analog to Digital converter)數據,啟動模件處理啟動AD 數據,確保相互冗余校驗,滿足保護、啟動分開的要求。

3)通過平臺層程序封裝,上層保護/啟動計算邏輯程序的接口兼容在運裝置,可無縫移植使用。

2.3.3 智能模件

智能模件是繼電保護裝置平臺用于數字化變電站或智能變電站的接口插件,負責接收數字化采樣及處理數字化開入開出,為可選模件。智能模件是在保護或啟動模件的基礎上擴展了8 對光纖以太網接口,其軟件的層次結構基本一致,如圖5所示。

圖5 智能模件的層次結構及功能框圖Fig.5 Hierarchical structure and functional block diagram of intelligent module

智能模件在軟件上為雙核獨立運行,通過共享內存交換數據。面向通用對象的變電站事件GOOSE(Generic Object Oriented Substation Event)模塊和采樣值SV(Sample Value)模塊分別部署在核0 和核1 上,兩者相互解耦,僅通過共享內存交換數據。智能模件也可僅部署GOOSE 模塊或僅部署SV模塊,兼容單板件更換。

在網絡風暴抑制、報文過濾、SV 報文等間隔控制、SV/GOOSE共口發送等方面,本文參考文獻[10]的技術,采用FPGA實現,分擔了處理器的計算壓力。FPGA 將收到的報文分為GOOSE 區和SV 區,并按照GOOSE和SV的特點分別進行報文過濾和校驗,校驗有效的報文通過PCIe接口發送給處理器。PCIe驅動程序收到報文后,將GOOSE 報文發給核0 的GOOSE模塊,將SV報文發給核1的SV模塊。GOOSE模塊將需要發送的報文放入緩沖區,由PCIe 驅動實時讀取并發送給FPGA,FPGA通過光口進行發送。

2.3.4 采樣模件和開入開出模件

采樣模件是基于FPGA、AD設計的,其基本原理是由FPGA控制A/D采樣時序并讀回SV,再由FPGA通過高速總線發給保護模件和啟動模件。采樣模件采用保護和啟動采樣分開雙AD回路設計,將保護采樣數據發給保護模件,啟動采樣數據發給啟動模件。

開入模件采用數字光耦技術,可精確控制開入量的動作電壓和返回電壓值,光耦隔離的輸入和輸出信號為數字信號,不受溫度、傳變比等模擬特性參數的影響,穩定可靠。

開出模件支持大容量、快速跳閘接點,動作時間能控制在3 ms 以內。出口跳閘邏輯經啟動模件和保護模件協同控制,并實時對出口接點狀態進行監視,有效防止保護裝置的單一元件故障造成誤動[12]。

2.3.5 系統監視

實時監視裝置內部程序模塊和模件的狀態,是提高繼電保護裝置運行可靠性的必要措施。本文設計的繼電保護裝置平臺的系統監視主要有以下3個方面。

1)監視裝置內部物理特征,主要包括核心處理器的內部溫度、采樣參考電壓、開出回讀、報警閉鎖回讀、電源輸出電壓和輸入電壓、光模塊的功率及溫度、以太網的鏈接狀態、收發數據包等,這些監視量能夠直觀判斷保護裝置的內部運行狀態和外部線路連接情況等。

2)監視裝置內部通信鏈路,主要包括通信數據流量、數據幀校驗、數據有效性等內容,用于監控內部數據總線通信異常。

3)監視裝置的模件、模塊等。監視各類插件的運行狀態,包括插件的心跳、中斷、主循環、異常中斷等;監視程序模塊,包括模塊的心跳、異常信號、模塊運行周期等,從而跟蹤模塊運行異常信號,回溯異常運行堆棧信息,以便快速找出異常原因。

所有監視信息均記錄在裝置的文件系統中并分類處理(告警或閉鎖)。

3 平臺關鍵技術

3.1 兼容性設計

本文主要通過梳理在運繼電保護裝置的外形、尺寸、界面顯示、按鍵布局、端子規格及其信號定義,確保所設計的自主繼電保護裝置的上述特性和在運裝置完全一致,且性能指標和在運裝置相當,從而實現整裝置的無縫替換。

為實現板件級無縫替換,需要從硬件和軟件兩方面進行兼容設計。硬件方面,本文采取保持在運裝置背板信號線不變,將新增加的信號線全部布置到空閑位置的方法實現硬件兼容。對所有板件均設計了兼容總線,兼容總線覆蓋全部在運裝置的信號線,實現了板件在電氣信號連接上的兼容。軟件方面,本文設計的自主可控繼電保護裝置平臺和在運的繼電保護裝置采用相同的軟件平臺框架,且配置及數據交換定義完全相同、應用程序接口一致,從而實現了軟件兼容。

3.2 關鍵程序優化

因國產數字信號處理器DSP(Digital Signal Processor)在性能、功耗和軟件生態等方面尚無法滿足繼電保護裝置的要求,只能采用國產通用中央處理器(CPU)替代DSP。通用CPU 采用程序和數據共用總線的馮·諾依曼結構,而DSP采用程序總線和數據總線分開的哈弗結構,故在相同的主頻下,通用CPU在算力、中斷響應實時性及中斷執行時間的穩定性方面明顯弱于DSP。本文選取高主頻的2K1000 代替DSP,通過程序優化使其在算力、中斷響應實時性、執行時間穩定性方面滿足繼電保護要求。

采用減少軟件層數的方法提高中斷響應的實時性。如圖5 所示,處理器采用裸核運行模式,在板級支持包BSP(Board Support Package)上部署平臺層程序框架,關鍵任務采用硬中斷直接調度,避免了操作系統任務調度邏輯對中斷響應實時性的影響。

2K1000 為通用CPU,其程序調用通過高速緩沖存儲器加速處理。而指令會被CPU 自動換入換出,經常導致中斷任務的2 次執行時間相差很大。本文以90路模擬量采樣計算和24路邏輯計算為例,測試結果如表1 所示。由表可見,優化前中斷執行時間抖動非常大,如用于繼電保護運算,會導致中斷執行時間超過中斷周期,可能造成繼電保護裝置拒動或誤動。

表1 優化前的中斷執行時間抖動情況Table 1 Jitter of interrupt service run-time before optimization

為解決中斷執行時間抖動的問題,本文將CPU芯片的高速緩沖存儲器分為CPU 使用區和保留區。保留區的大小按照中斷服務程序的大小設定。在引導程序到內存時,將中斷服務程序代碼全部鎖定到CPU 的高速緩沖保留區,阻止CPU 程序代碼的換入換出。這樣CPU 在執行中斷服務程序的過程中,每次都直接從高速緩沖保留區獲取指令,其執行時間抖動變小,可將抖動時間控制在10 μs內。具體原理如附錄A 圖A2 所示。優化后進行和表1 相同的算例測試,結果如表2 所示。由表可見,優化后的中斷執行時間非常穩定,滿足了保護算法執行時間穩定性的要求。

表2 優化后的中斷執行時間抖動情況Table 2 Jitter of interrupt service run-time after optimization

3.3 內存異常變位糾錯設計

嵌入式系統的隨機存取存儲器RAM(Random Access Memory)可能會因生產工藝、空間高能粒子輻射、電磁干擾等原因導致電位異常翻轉,造成保護裝置運行異常、誤動、拒動等問題[23]。2K1000 的RAM控制器不支持硬件的錯誤檢查和糾正技術ECC(Error Checking And Correcting),故須設計軟件的RAM檢查和糾錯方案。

本文將程序空間按重要性進行分區,將中斷服務程序和檢錯糾錯程序鎖入高速緩沖存儲器,并映射為PCIe 空間,由FPGA 通過PCIe 總線直接訪問并計算校驗碼。其他程序、關鍵數據及其備份內容放入RAM 指定區,由檢錯糾錯程序負責校驗和糾錯,如圖6所示。

圖6 RAM異常變位容錯設計框架Fig.6 Error-tolerant design framework of RAM unexpected bit change

經過計算,在PCIe 總線傳輸速率為5 Gbit/s 的條件下,FPGA 在833 μs 的周期內,可以校驗超過400 KByte 的指令代碼,能覆蓋繼電保護程序空間,實現每中斷校驗。對于實時運行程序和數據,由FPGA 每中斷主動讀取并計算校驗碼,通過PCIe 將校驗碼傳遞給處理器。檢錯糾錯程序在中斷頭部讀取該校驗碼并和備份區校驗碼進行比較,若校驗碼一致則不作任何處理,若校驗碼不一致則啟動程序恢復流程,具體流程見附錄A 圖A3。對于非實時運行程序和數據,由檢錯糾錯程序分塊分時計算校驗碼,每次計算完成后,進入校驗環節,若校驗碼不一致,則啟動程序恢復流程。

本方案利用系統已有的FPGA 協助實時計算RAM 存儲器的校驗碼,既降低了對保護邏輯計算程序的干擾,又未明顯增加系統成本。

4 平臺應用

在繼電保護裝置研制上,采用“平臺+應用”的層次化研發模式,基于本文的自主可控繼電保護裝置平臺,應用模塊及算法可直接移植使用,無需進行改動,如附錄A 圖A4 所示。研發過程中,始終貫徹兼容設計的原則,實現整機無縫替換和單板兼容替代,如附錄A圖A5所示。

基于本裝置平臺研制了全電壓等級的全系列保護裝置,包括母線保護、變壓器保護、線路保護等。裝置性能指標和現有保護裝置基本相當,本文以線路差動保護裝置的差動保護和零序過流為例,列出自主可控保護裝置和基于國外芯片的保護裝置的動作時間,如表3 所示。由表可見,自主可控保護裝置比基于國外芯片的保護裝置慢0.7~1.2 ms,主要原因是國產繼電器出口速度稍慢。從2019 年11 月開始,自主可控繼電保護裝置陸續在江蘇1 000 kV 東吳變/泰州變、寧夏750 kV 賀蘭山/杞鄉變、江蘇500 kV茅山變/武南變、220 kV玉峰變/周市變/亭林變以及福建35 kV 漳州變等順利投入掛網試運行,且運行穩定可靠。

表3 自主可控和非自主可控保護裝置動作時間比較Table 3 Actuation time comparison between autonomous controlled and nonautonomous controlled protection devices

5 結語

本文通過研究自主化處理器自主可控標準,選定了2K1000作為繼電保護裝置平臺的核心處理器,設計了繼電保護裝置平臺,解決了板件級和整裝置級兼容替換、通用CPU 中斷運行不穩定及內存異常翻轉的問題。

隨著國產處理器的進步,繼電保護裝置平臺需在整裝置功耗、計算能力、配置靈活性等方面持續提升和迭代,不斷提高基于國產處理器的繼電保護裝置平臺的適用能力和可靠性,使國產繼電保護裝置具備國際市場競爭力。

附錄見本刊網絡版(http://www.epae.cn)。

猜你喜歡
中斷總線繼電保護
“單片機中斷概述”微課教學設計
一種考慮GPS信號中斷的導航濾波算法
電氣控制系統中繼電保護器的整定方法
Linux中斷線程化分析及中斷延時測試
一種基于CAN總線的誤碼測試方法
電力系統及其自動化和繼電保護的關系研究
跟蹤導練(二)(5)
電力系統繼電保護二次回路的維護與檢修
電力系統繼電保護技術的現狀及發展趨勢
CAN總線并發通信時下位機應用軟件設計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合