本帖最后由 linwei_jinan_fpga 于 2014-6-28 21:40 编辑
图2中的“特征量计算子模块”计算保护算法所需的各种特征量(例如变压器保护中的各相差动电流三次谐波幅值)、生成处理过的采样值序列(例如对原始采样值序列执行滤波算法得到的各次谐波采样值序列),其间需要进行大量运算,这正是FPGA提供的分布式运算资源的用武之地。以此为基础,尽可能并行地进行各种特征量计算、采样值处理,同时对具体运算过程予以流水线化:每个运算单元每接收到一帧新的采样值数据,就将其中的各采样值与历史数据组合成一个新的数据窗,生成一个新的特征量、新的处理后采样值,同时打上这个新输入采样值帧携带的时标。各个特征量、采样值序列的计算由硬件上独立的模块予以并行执行,相较于CPU/DSP基于对运算单元进行时分复用的串行运算,具有显著的速度优势。
“保护算法数据源调度子模块”根据“起动元件子模块”、“保护特征算法实现子模块”、“特殊工况识别子模块”包含的各种具体算法的需要,对各种特征量数据流、处理过的采样值数据流、开入量数据流、定值控制字、压板信息、配置及其变更信息等进行挑选、复制、组合,以采样间隔为节拍,每节拍发送由一个采样脉冲对应的数据生成的数据集,并行分配到这三个子模块内部各算法单元的数据入口(同时提供时标),使这些算法单元可以专注于各自所负责算法的实现。
“起动元件子模块”、“动作特征算法实现子模块”、“特殊工况识别子模块”中的各算法单元在每个节拍(亦即采样间隔,下同)并行接收“保护数据源调度子模块”提供的数据集,并行、独立完成各自负责的起动条件判断算法、动作算法、特殊工况识别算法,输出相应的起动信号集合、动作信号集合、特殊工况识别信号集合(三者都携带时标)到“跳闸逻辑综合判断子模块”。
特别指出:在此环节,由于动作算法与起动条件判断算法、特殊工况识别算法并行实现,其所输出的动作信号未接受启动信号、特殊工况识别信号的约束,所以不能直接用于跳闸。
实现上述三个子模块,应采用与“特征量计算子模块”类似的流水线处理机制,即,每个算法单元每接收到一组新的特征量数据、处理过的采样值(都带时标),就将其与历史数据组合,形成一个新的数据窗,结合当前的(必要时调取历史的)开入量信息、各类定值/控制字表、压板信息、处理过的采样值数据集、配置信息等,在本节拍内完成各自所负责的算法,生成相应的带时标的起动信号、动作信号、特殊工况识别信号。
为此,在这三个子模块以及“特征量计算子模块”中,各个运算单元的每节拍数据处理周期都必须小于原始采样值数据的采样周期并留有裕度。以现代FPGA的速度,对于某个由专用硬件资源实现的具体的运算单元来说,在一个采样周期(例如20us,相当于4000个耗时5ns的FPGA主频时钟周期)内完成这些工作是完全有可能的 – 极端情况下(比如设计出了非常复杂的新算法或者算法要求的采样率非常高)还可以增加此单元所占用的节拍数,这将导致与此单元关联的保护动作时间相应加长。
“跳闸逻辑综合判断子模块”在每个节拍并行接收上述三个子模块输出的起动信号集、动作信号集、特殊工况识别信号集,将时标相同的三个信号集组合起来(即按时标对齐),形成一个二级集合。然后,在每个节拍,根据各种保护跳闸逻辑(例如零序过流保护跳闸逻辑)对信号源的要求,将一个二级集合(必要时调取历史二级集合)内各动作信号以及与之对应的起动信号集、特殊工况识别信号集选出来,进行逻辑运算(即用本节拍的各起动信号、特殊工况识别信号决定本节拍的各动作信号是否有效),最后将与各动作信号组合所对应的、并行完成的逻辑运算结果输出,形成本节拍输出的跳闸信号集。如果在相邻节拍某些跳闸信号出现“跳—不跳—跳”的循环,则需要根据设计需求、具体的保护算法,结合各种配置、状态、实时数据信息进行分析、权衡,综合判断最终输出的跳闸信号状态。
鉴于FPGA提供了海量运算资源,可以考虑在获取SV数据源时大幅度提高采样率,在“特征量计算子模块”中用高阶滤波器提升滤波性能、增加运算环节以补偿ALF性能的差异、降低对ALF性能的依赖程度,以及并行滤出更多物理量的两相/三相更多种频率、更高次的谐波数据序列,并对这些谐波数据序列并行进行二阶、三阶甚至更高阶的微分计算,同时详细记录其时标信息。保护算法工程师可以考虑在上述五个子模块中充分利用这些数据开发新的保护算法。
例如,构思基于多点密集采样值的用于以更高精度计算物理量幅值的新算法以替代经典的三点采样值积算法,对并行滤出的多个物理量的两相、三相高次谐波的幅值、相位之间的多重量值关系、时序关系进行关联分析,对并行滤出的多个物理量的两相、三相高次谐波的幅值、相位数据序列的n阶微分量之间的多重量值关系、时序关系进行关联分析,上述关联分析可以在多个、多种物理量的多种阶次的微分量(包括来自远端的处理后数据信息)之间以多种组合方式交叉进行、并行运算。这些工作的目的是提高运算速度/精度、发现新的故障特征信息 -- 众所周知,新故障特征信息的发现、有效提取,是继电保护技术获得突破的关键之一。
在“跳闸逻辑综合判断子模块”,可以采用受限于更多条件、更复杂的条件间逻辑关系、时序关系的跳闸判据,以期获得更好的可靠性、速动性、选择性、灵敏性。
在基于CPU/DSP的平台上,上述技术手段、思路往往因为运算量太大而被理所当然地视为纸上谈兵。现在,FPGA的资源优势为此类保护新算法的探索、开发、实现提供了硬件基础。
图3给出了上述流水线策略的一个简化示例。
图3中各物理量名称中横线后面的数字是时标的简化形式,表示参与生成这个物理量的最后一个采样值(此为示例,可以考虑倒数第m个采样值 -- 各特征量的m取值可以彼此不同,本身也可以随时间变化,以为保护算法提供尽可能多的技术手段)由第几个采样脉冲获得;图中加黑的物理量表示起动条件得到满足、动作信号有效、出现特殊工况、跳闸信号有效,对应的信号不加黑表示相反的状态。表格内的空白单元表示本采样间隔内相应的数据、状态是无效的。
本示例假设:采样间隔n生成的采样值在采样间隔n+1可用,对应的采样值时标为n;计算特征量1需要积累3个采样值1,计算特征量2需要积累4个采样值1以及4个采样值2;起动条件1、动作信号1、特殊工况1的判断都需要积累特征量1、开关量1各2个,起动条件2、动作信号2、特殊工况2的判断都需要积累特征量2、开关量2各2个;发出跳闸信号1需要动作信号1有效,并且起动条件1满足、特殊工况1、2都不被检出;发出跳闸信号2需要动作信号2有效,并且起动条件2满足、特殊工况2不被检出。
对图3的补充说明:由此前的叙述可知,流水级3中各子模块所包含的各算法单元是互相独立、并行运行的,这三个子模块之所以在图2、图3中分别加以表示,是为了适应保护算法的应用特征。从实现的角度来看,完全可以将其合并为一个包含三类算法单元的大的子模块。
进而,图3中的流水级也是可以合并的。例如,只要运算时间(略小于一个采样间隔)够用,流水级2就可以并入流水级1;在更理想的情况下,流水级1的最后一个节拍可以与流水级2、流水级3的第一个节拍合并为一个节拍。这种形式的节拍数减少将缩短保护动作时间,在实现过程中如何进行优化,取决于具体的设计目标、保护算法、保护算法的实现策略、FPGA应用设计代码的优化策略。
再进一步,基于FPGA的海量运算能力,利用上述实现策略,传统的启动算法+动作算法+特殊工况识别算法的架构也是可以考虑予以简化的。也就是说,以时标为基础,把三种算法及其综合判断运算合并执行(在图3中表现为将流水级2、3、4合并为一个流水级),取消各自的独立性并予以归并化简,每个节拍输出一个最终的跳闸信号集。
4. 结语
以FPGA为核心实现继电保护装置,将CPU、DSP架构下的“运算能力天花板”抬升到了前所未有的高度,为各种新算法的开发、实现提供了坚实的基础。采取“以硬件资源换性能”的策略提高保护装置的性能,需要各方面技术人员的通力协作,尤其需要保护算法设计师在设计理念上进行一定程度的调整,需要电力系统故障分析师、保护算法设计师、FPGA应用研发设计师、PCB设计师密切配合,甚至可能需要借鉴大型机系统架构设计师的经验,需要多方协作进行大量的理论探索、算法研究、实践验证,不可能一蹴而就。这个过程尽管困难重重、成本高昂,但其率先成功实施者的产品将在性能上取得显著的优势。
同时,实践“以硬件资源换性能”的策略,将不可避免地增加FPGA芯片的成本。对此,笔者认为:首先,鉴于继电保护装置在电力系统中所起的重要作用,相对于其性能提升所带来的经济效益、社会效益来说,几千元、上万元的芯片成本应该是可以考虑的;其次,在进行FPGA应用研发过程中,可以采取各种技术手段以尽可能控制硬件资源占用量;最后,这样的成本是否物有所值,应该由用户、市场做出最终的仲裁。
-------------------
感谢:在此特别感谢我的同事魏欣先生,他在我构思此方案时提供了重要的继电保护专业知识,补充了我在这方面的不足,为本文成稿提供了重要帮助。
参考文献:
[1]
张桂青等.
继电保护系统级专用芯片的设计,电力系统自动化,2001-25
[2]
何人望等. FPGA
在基于IEC61850
的馈线保护中的应用,华东交通大学学报,2010-27
[3]
阮建国等.
基于FPGA
的数字保护中卡尔曼滤波的实现,电力系统保护与控制,2009-37
[4]
张桂青等.
基于IP
核的智能化电器SOC
设计与实现,电工技术学报,2003-18
[5]
陈志敏等.
电力系统继电保护的FPGA
方案设计与研究,华中电力,2007-20
[6]
李英明等.
一种智能变电站合并单元关键环节的实现方法,电力系统自动化,2013-37
[7]
胡国等.
数字化变电站新型合并单元的研制,电力系统自动化,2010-34
[8]
徐成斌等.
智能变电站SV
网数据交换装置设计,电力系统自动化,2013-37


全部回复(2 )
只看楼主 我来说两句抢地板有位网友告知:挑战杯竞赛中已经有人做出了相关的尝试。
笔者查到这一项目名称是:一种基于FPGA的新型微机继电保护装置,但没找到原文。
从挑战杯官网的介绍(在其官网搜索FPGA即能找到)来看,这个项目应该能够作为“FPGA可以适用于继电保护装置”的一个实例,具有重要的参考价值 -- 在此向这位网友表示感谢!
这一成果结合本人提出的“以硬件资源换性能”的设计原则、用FPGA实现继电保护算法的总体策略,相信会有助于大家深入理解本人着重强调的“FPGA技术之于保护算法开发的开创性意义”、“FPGA必将淘汰DSP”的命题、深入理解本人提出的“将更多资源投入到这一充满创新机会的领域”这一倡议。
希望有影响力的业内人士能藉此充分认识到这一倡议的重要性、紧迫性。
回复 举报
敝文《以FPGA为核心实现继电保护装置:暂态保护--多种小波基实时处理多路采样值》已经发布在本版,请参阅,
欢迎积极参与讨论!
回复 举报