陈军健,李肖博,姚浩,习伟
(南方电网数字电网研究院有限公司,广东 广州 510663)
近年来,国外垄断的CPU 芯片供应逐渐收紧,作为电网二次设备的核心器件,CPU“命脉”问题严重制约着我国电力产业发展。为了从根本上解决芯片垄断问题以及实现软硬件的自主可控[1],在国家重点研发计划项目支持下,项目团队基于国产自主CPU 内核和境内代工封测技术研发了一款国产电力芯片——伏羲芯片,该芯片针对电力系统智能设备安全互联、现场移动作业的特定需求,有着高性能、低功耗、接口资源丰富、自带电力通信协议报文解析过滤功能等优势。对此,开发一套适用的、能够充分发挥芯片优势的软硬件平台是该芯片推广应用的关键性步骤,也是实现完全国产自主可控的面向智能站继电保护装置的嵌入式系统应用开发的重要一环。
目前,电力自动化嵌入式软硬件开发[2-5]逐步向模块化、插件化、可视化、平台化方向发展。智能站继电保护装置相较于传统继电保护装置,使用SV/GOOSE 通信取代了模拟量采样、开入和开出,因此保护装置基本的功能包含以下几种:SV/GOOSE/MMS 通信功能、各保护计算功能、数据记录功能、液晶显示与指示灯功能等[6-9]。
以上功能需要的硬件支持包括以太网接口、光通信接口、CPU 运算、各存储器接口、各数据通信接口和液晶与指示灯接口等[10-11]。这些硬件接口具有通用性较强的特点,因此可进行模块化设置,将各个硬件接口做成通用的模块插件,从而实现硬件平台化。
在实现硬件平台化的基础上将软件功能进行模块化设计,并详细划分各内核执行的任务,设计合理的各内核间数据交互方式,从而实现软件平台化。
基于这样的理念,本文针对智能站继电保护应用提出一种双CPU(伏羲+伏羲)架构的硬件平台,结合嵌入式实时操作系统,对多核处理器进行功能模块划分和软件应用划分,实现数据的高速交互和信息的高效处理。
由于现代电力系统继电保护装置功能的愈加完善,信息传输量越来越大,对以太网通信和现场总线通信的稳定性、实时性的要求也在提升,对保护可靠性、稳定性的要求尤其突出,单CPU 架构无法满足实际需求,因此,用双CPU 的架构。
伏羲芯片多核性能强大,外设资源丰富,并且具备电力专用功能,其功能特性如图1 所示。
图1 伏羲芯片资源框图
(1)CPU 性能强大
具有一个高性能的双核CK860MP 嵌入式CPU(频率最高可达800 MHz),两个高性能的CK810 嵌入式CPU(频率最高可达800 MHz),两个协处理器CK803S(频率最高可达200 MHz)。两个可编程的DSP,可进行多种VLIW 和SIMD 操作。强大的多核性能充分满足继电保护装置的保护计算性能要求。
(2)外设资源丰富
伏羲芯片包含512 KB 可用片上SRAM,128 KB的ROM 和2KB 的OTP 等。
支持多种存储接口,包含带ECC 的DDR DRAM接口,片外SRAM 接口,SPI NOR-FLASH 接口,支持SD 卡和eMMC 的SDIO 接口等。
支持多种通信接口,包含千兆以太网接口,USB2.0 接口,SPI,I2C,UART,CAN,I2S 等。
丰富的外设资源能够直接支持各种不同应用环境下继电保护装置的存储与通信需求,避免复杂的片外扩展电路。
(3)电力专用功能
伏羲芯片具有基于CK802 内核的加密安全模块,支持真随机数发生(True Random Number Generator,TRNG),支持多种加密算法,包括SM2、SM3、SM4、DES、AES 等。满足电力数据加密的安全需求。
伏羲芯片还具备支持电力专用硬件逻辑功能的以太网MAC,用于处理GOOSE、SV 和MMS,支持滤波器,SV 数据插值,网络风暴抑制,时间校准等功能。支持低功耗管理,微电网控制及继电保护应用。
传统继电保护装置的SV/GOOSE 报文解析、MAC 功能实现与网络流量抑制通常由FPGA 来实现。而伏羲芯片具备电力专用硬件逻辑MAC 功能,能进行SV/GOOSE 报文解析和过滤。
SV 报文用于传输模拟量采集数值,通常为每个工频周期80 点,采集核在解析SV 报文获取数据后还需进行每个工频周期24 点的插值计算,之后将插值结果传输给运算核进行模拟量计算。GOOSE 报文用于传输开入和开出节点状态。
SV/GOOSE 的报文帧格式如表1 所示。
表1 SV/GOOSE 的报文帧格式
针对SV/GOOSE 报文格式,伏羲芯片可通过寄存器设置前导码长度、MAC 地址、以太网类型、帧校验与帧间间隙。
此外,伏羲芯片的MAC 接口还可按照设置的规则对报文进行过滤,包括:非TCP/UDP 的IP 帧过滤、第三层网络层和第四层传输层的报文过滤、VLAN 帧过滤、MAC 地址过滤、广播帧过滤、多播帧过滤、单播帧过滤等。
由于伏羲芯片强大的MAC 功能、SV/GOOSE 报文解析功能与报文过滤功能,使得进行SV/GOOSE通信硬件设计时可以节省一个FPGA 芯片,从而大大降低了装置的硬件成本。同时保证在极端网络环境下,如过程层和站控层网络风暴,不会影响高实时性的计算任务,从而提高了装置的稳定性和可靠性。
伏羲芯片与目前行业内已广泛应用的全志T3pro 芯片对比如下:
CPU 对比:T3pro 具备4 核A7 的CPU,在CPU性能上伏羲与T3pro 相当,但伏羲还有两个DSP,在处理数据计算时更有优势。
外设资源对比:电力常用接口如UART、CAN、IIC、SPI、MAC、GMAC 的数量上,伏羲芯片均多于T3pro。
专用功能对比:T3pro 芯片侧重于视频图像处理,具备GPU、视频引擎与多种输入输出接口,对于智能站继电保护装置来说,这些接口往往无用,并且还会额外增加电能消耗。伏羲芯片则侧重于SV/GOOSE 报文处理、安全加密等电力专用功能,高度契合智能站继电保护装置的应用需求。
伏羲芯片强大的运算能力、丰富的外设资源以及高契合度的电力专用功能使得该芯片能充分满足智能站继电保护装置对CPU 的要求。
由于智能站继电保护装置的开入和开出由GOOSE 报文实现,模拟量采样由SV 报文实现,因此无需传统继电保护装置的开入板、开出板和模拟量采样板。
伏羲芯片具备8 个EMAC 接口,在双CPU 结构下有16 个EMAC 接口,完全能够满足智能站继电保护装置的MMS/SV/GOOSE 报文传输要求,使得CPU 板具备通信板功能。
硬件平台在结构上使用插板式设计,将硬件平台分为CPU 板、电源板和前面板,如图2 所示。
图2 硬件平台化架构
①CPU 板:伏羲控制器的工作板卡,用于装置启动、保护和管理等功能的运行,是装置的核心部分。具备通信板功能。
②电源板:用于将外部交直流输入电压转换为内部板卡供电电压。
③前面板:用于液晶显示、按键操作和指示灯显示。
传统T3pro 芯片的智能站硬件平台由CPU 板、电源板、通信板和前面板组成,其中通信板需有一个兆易创新GD32 系列MCU 和一块FPGA 来实现过程层SV/GOOSE 收发,并且还需要具备通信板与CPU 板的通信交互功能,以便与主CPU 交互GOOSE 和SV 数据,此功能一般采用LVDS 背板总线来实现。因此相较于T3pro 硬件平台,采用伏羲芯片可直接省下一块通信板,并大大简化装置的硬件结构,降低硬件成本,提高开发效率。
1.2.1 继电保护装置硬件平台CPU 板设计
基于智能站继电保护的应用场景需求,采用伏羲芯片设计的CPU 板架构如图3 所示。
图3 硬件平台化设计框图
伏羲芯片的八个EMAC 接口可用于MMS、GOOSE 和SV 通信和调试。一个GMAC 接口可用于双CPU 芯片间数据通信。
一片伏羲处理器做启动功能CPU,通过片内自带的EMAC 接口提供A、B、C 三个以太网接口用于MMS 通信,2 个对外UART 串口分别实现液晶通信和信息打印功能。
另一片伏羲处理器做保护功能CPU,通过片内自带的EMAC 接口提供最多7 个SV/GOOSE 光口,用于收发GOOSE 和SV 报文,基于片内硬件逻辑实现SV 报文接收和GOOSE 报文收发和报文过滤功能,节省一个处理和过滤SV/GOOSE 报文的FPGA[12]。
通过一片FPGA 芯片实现时间同步与采样同步功能:①FPGA 芯片实现接收外部的IRIG-B 信号,实现对时功能。②FPGA 芯片同时给保护CPU 和启动CPU 提供精确的同步中断信号,实现双CPU的时间同步和采样同步功能[13]。
两片CPU 之间通过伏羲处理器内部的GMAC 通信互联,实现两片CPU 之间大数据量的高速内部通信。
1.2.2 继电保护装置硬件平台其他板卡设计
(1)电源板设计:根据外部110 V 或220 V 交直流输入转换为24 V、5 V、3.3 V 等内部板卡所需供电电压,统一输入输出接口。输入端子使用国产卓能连接器,具体参数为:5.08 mm 间距、300 V、10 A。背板端使用国产福迪背板连接器。
(2)前面板设计:前面板液晶使用国产邦鼎液晶,控制器使用国产兆易创新GD32 系列芯片。
软件平台的开发基于上述的硬件平台,同时需结合伏羲芯片的性能及其特有的电力专用属性。一方面,适应现代电力系统的智能化、自动化发展趋势,以及智慧能源的发展需求,对于继电保护处理复杂问题能力的要求不断提升,使得装置配置软件复杂化;相应地,对于其通信速率及其准确性要求更加严苛。因此,如何合理地布局和分配芯片CPU 资源,对于继电保护装置平台化是一重要难题。
伏羲芯片拥有4 个核心,2×CK-860+2×CK-810-0,其中2×CK-860 用于双核运行SylixOS 操作系统,CK-810-0 用于运行SV/GOOSE 采集功能的裸核程序,CK-810-1 用于运行启动/保护功能的裸核程序。采用伏羲+伏羲的双CPU 架构,分为启动CPU 和保护CPU,双CPU 数据互相校核,互为备份,提高运行可靠性。启动CPU 和保护CPU 的软件平台设计方案分别如图4、图5 所示。
图5 软件平台保护CPU 设计框图
启动CPU:
保护CPU:
(1)CK-810-0 作为采集核,未运行任何操作系统,为Baremetal 裸跑模式,主要完成与外设交互、数据预处理和统一时间管理功能,执行SV 接收处理、SV 插值、Goose 收发处理、时间管理等任务软件。此外CK-810-0 还负责加载和启动CK-810-1 与2×CK-860 程序。
(2)CK-810-1 作为运算核,未运行任何操作系统,为Baremetal 裸跑模式,主要用来执行测值计算、启动逻辑、保护逻辑、动作报告、录波处理、自检等任务。
(3)2×CK-860 作为系统管理核,双核运行SylixOS 操作系统,并在该操作系统上运行61850 通信、103 通信、HMI 人机交互等相应的应用软件。
该软件平台的设计在匹配硬件配置的同时,将各项功能依据核特性以及实际需求进行合理规划,满足现代电力系统应用需求复杂化以及实时、大容量通信的需求。具体的软件配置方案如下。
伏羲系统管理核运行的操作系统为翼辉SylixOS 嵌入式实时操作系统。SylixOS 是国际先进、国内领先的嵌入式实时操作系统,经国家工信部评估认证SylixOS 内核自主化率达100%。支持SMP 架构、AMP 架构,拥有先进的硬实时内核设计、先进高效的调度算法,可以跨平台、多架构支持各类硬件平台。
系统管理核应用软件划分为monitor(监视程序)、mainApp(主应用程序)、61850(61850 通信程序)、103(103 通信程序) 和HMI(人机交互程序)等。
①monitor:在该程序中复刻出mainApp,并监视mainApp 执行情况,如果mainApp 非正常退出或执行异常,则会自动重启mainApp 应用;
②mainApp:主要实现启动与保护CPU 间的通信交互,以便于获取CPU 的实时数据和历史数据,并保存在本地的实时数据库和历史数据库中,供其他应用访问。
实时数据包括:遥测、遥信、电能、运行状态等;
历史数据包括:变位报告、动作报告、录波数据、告警报告等;
同时mainApp 也监视其子进程的执行情况,如子进程执行异常则会重启子进程应用;
③61850:61850 MMS 服务程序,从mainApp复刻;
④103:103 通信服务端应用程序(TCP103 和串口103),从mainApp 复刻;
HMI:液晶显示,人机交互程序,从mainApp 复刻。根据液晶尺寸,可能有多种HMI 执行程序可选,如320×240、240×128 等。
应用软件调用关系如图6 所示。
图6 系统管理核软件调用关系图
裸核的软件架构划分为硬件层、驱动层、支撑层和应用层。具体划分如图7 所示。
(1)硬件层:采集核运行于CK-810-0,启动/保护运算核运行于CK-810-1,两者软件架构类似,均为Baremetal 裸跑模式。装置上电后,CK-810-0 负责加载和启动CK-810-1 和2×CK-860 程序。其涉及的硬件外设包括:EMAC(SV/GOOSE 收发)、FPGA、内部通信GMAC、DDR 共享内存等。
①SV 和GOOSE 收发由伏羲自带的EMAC 口进行,最多可支持7 路SV/GOOSE 接口,均由CK-810-0 采集核负责操作,并将SV 和GOOSE 报文解析和SV 插值的结果通过共享内存提供给启动和保护运算核使用;
②FPGA 主要用于实现IRIG-B 校时、双CPU之间的时间同步、双CPU 之间采样插值同步;
③CPU 之间的交互基于两片伏羲各自的GMAC互联实现,其硬件操作由CK-810-0 采集核完成。
④CPU 内核间通信由DDR 共享内存实现。
(2)驱动层:用于实现硬件层与上面的支撑层的解耦。驱动层对下直接驱动各类型的硬件外设、MAC、FPGA、中断等,对上提供统一的驱动接口。
(3)支撑层:支撑层是裸核部分保护单元支撑平台的核心,对下与BSP 驱动层合作完成装置的硬件控制和对外输入输出接口;对上为应用层提供运行支撑。主要功能模块为:
①SV 处理,通过伏羲的EMAC 接收到的SV 报文,经过解包和插值后,存放到DDR 的固定位置,以供保护应用进行调用。
②GOOSE 报文开入采集和处理,并生成变位报告。
③时间管理功能模块,接收FPGA 的时间同步信号进行时间同步核管理。
④设定值模块,包括定值、参数和精度系数,在该平台中,裸核将不再掉电存储这些数据,只是上电或设定值修改后由系统管理核应用推送到裸核侧。裸核只存储当前区的设定值的数值,并对应用层提供这些设定值的读取接口。
⑤开出GOOSE 报文处理,由支撑层直接操作EMAC 驱动实现。
⑥事件报告,支撑平台提供自检报告、动作报告、告警报告生成和维护工作,并对应用层提供报告生成的接口。
⑦录波,进行特定数据的录波处理。
⑧自检模块,支撑平台提供定值、参数、RAM、ROM、FPGA、电源等的自检功能。
(4)应用层:应用层运行于支撑层之上,支撑层提供统一的访问接口及钩子函数,以便应用层代码调用和执行,从而实现应用层代码和装置硬件、运行环境等的全解耦。应用层主要包括:
①算法库:包含傅里叶变换、差值、滤波等算法。
②元件库:包含(充电)过流保护、零序过流保护、三相不一致保护、比例差动保护、复压方向过流保护、零序方向过流保护等保护元件。
③数据模型:图形组态工具装置建模后导出的源代码文件,一般为一些数据结构、数组、宏定义等信息。用于定义装置的输入输出能力、定值、参数等。
④保护控制逻辑:通过图形组态工具的图形组态功能,以T 型图的方式实现保护逻辑,并以C 语言源代码导出。
以上裸核的软件方案,对于CK-810-1 启动/保护运算核和CK-810-0 采集核应用需求是不一样的,可以在该方案的功能模块基础上进行裁剪。
伏羲芯片的片内各核之间可通过共享内存直接交互;两个CPU 间则通过GMAC 进行互联,通信互联方案如图8 所示。
图8 裸核软件数据交互框图
(1)保护运算核和启动运算核之间通信交互
CPU1 和CPU2 之间采用伏羲内置GMAC 进行通信交互,CPU 的GMAC 均由CK-810-0 采集核进行控制,而需要交互的是CPU1-CK-810-1 启动运算核和CPU2-CK-810-1 保护运算核,因此在这两个核进行交互时,需要借助共享内存进行CK-810-1 与CK-810-0 的核间数据转发。
保护运算核和启动运算核之间交互的数据包括:SV 采样值、SV 插值结果、保护核计算后的有效值、GOOSE 开入状态、SV 链路状态信息、GOOSE 链路状态信息、告警信息、动作信息、保护核自检信息、版本信息;启动核传给保护核,启动核闭锁信息、启动信息、定值、软压板状态。
(2)启动运算核和系统管理核之间通信交互
系统管理核运行SylixOS 嵌入式实时操作系统,主要提供HMI 人机交互、IEC61850 通信、打印输出等功能;启动运算核对系统管理核提供测量、开入开出状态、设定值等数据,因此需要实现CK-810-1 启动运算核与2×CK-860 系统管理核之间的通信交互。
由于这两个核在同一CPU 上,因此可以直接通过共享内存进行交互。核间通信需要传输的数据包括:测值、开关量状态、压板状态、保护定值、系统参数、动作报告、告警报告、录波数据等。
基于伏羲芯片的软硬件平台开发了220 kV 智能站母联保护装置。
220 kV 智能站母联保护装置硬件配置:由于该装置仅需采集SV,无模拟量采集,因此无需模拟量采集板。此外CPU 板的通信接口已能满足需求,因此无需通信板。所以该装置硬件由电源板、CPU 板和前面板组成。
电源板输入为110 V 或220 V 交直流电源,输出到背板直流电源为5 V 和24 V,供给CPU 板和前面板。
CPU 板采用伏羲芯片自带的EMAC 完成以太网通信接口。启动CPU 采用3 个EMAC 口进行MMS 通信;保护CPU 采用1 个EMAC 口进行SV 通信,2 个EMAC 口进行GOOSE 通信。
220 kV 智能站母联保护装置软件配置:在装置配置信息工具中根据硬件资源与软件需求配置定值、软压板和事件等。然后在图形化开发工具中选用算法库、元件库、数据模型和保护控制逻辑资源进行失灵启动、三相不一致保护、两段相过流保护、两端零序过流保护和充电保护等。生成逻辑功能模块执行程序,再下装到嵌入式核心支撑层,从而完成保护功能的开发。
对220 kV 智能站母联保护装置样机进行功能测试和电磁兼容测试,如图9 所示。
图9 测试搭建图
与基于T3pro 芯片开发的保护装置相比,伏羲平台开发的保护装置在达到相同性能的前提下,装置模件数更少、体积更小、成本更低。装置的保护功能、通信功能和电磁兼容性能均测试合格。其关键指标如下:保护动作电流精度达到≤±5%或0.02 额定电流;保护动作延时精度达到≤±1%或40 ms;在多主站通信中支持≥16 个MMS 客户端访问链接和≥12 个报告实例;在网络压力测试中装置无死机、重启、面板死机现象,无异常报文。满足保护类设备相关技术规范的要求。
本文针对继电保护装置应用提出一种基于国产电力芯片——伏羲芯片的软硬件平台架构,依托于伏羲芯片CPU 功能强大、外设资源丰富、电力专用、自带报文解析过滤功能的特点,以双CPU(伏羲+伏羲)架构的硬件平台,支撑实现平台的通信、对时、信息采集、信息交互等基本功能的同时,在SV/GOOSE 通信处理上节省了一块FPGA 芯片。结合嵌入式实时操作系统,对多核处理器进行功能模块划分和软件应用划分,实现数据的高速交流和信息的高效管理。
利用本平台,开发出了220 kV 智能站母联保护装置,实现了继电保护装置的小型化、芯片化,并且装置也通过了第三方验证,具备了入网资格,验证了该软硬件平台的可行性。与同类装置对比,在保证性能的前提下,装置模件数更少、体积更小、成本更低。基于伏羲芯片的电力系统继电保护装置的成功研发及量产,对于国家电力能源和信息安全、工控领域科技自主可控具有重大意义。