本实用新型涉及网络通讯接口技术领域,特别涉及一种有源配电网实时仿真器的网络通讯接口。
背景技术:
分布式发电、柔性输配电技术及智能配用电技术的不断发展与应用正在引起传统配电网结构和功能的深刻变化。有源配电网在传统配电网基础上接入了多种分布式电源和大量电力电子设备,其动态过程与传统配电网相比更为复杂,对其进行实时仿真研究是认知有源配电网动态特性、开展关键设备测试的重要方法。然而,有源配电网实时仿真面临着仿真规模大、步长要求小和精度要求高的难题,需要依赖更为快速高效的计算方法和硬件平台。
现场可编程门阵列fpga(field-programmablegatearray)作为一种新型的可编程逻辑器件,具有内在的高度并行性,在高性能计算领域正在得到推广应用。利用fpga作为实时仿真计算硬件,可以降低成本、提高仿真速度、扩大仿真规模,因此,利用fpga进行有源配电网实时仿真正在成为研究热点。
为了完善有源配电网实时仿真器的功能,需要向实时仿真器中加入同上位机进行通信的网络通讯接口,以便利用计算机系统及配套软件实现对fpga实时仿真器的访问,从而为fpga实时仿真器实现更加良好的人机交互界面,扩展fpga实时仿真器的应用场景。
在fpga实时仿真器中实现高速网络接口模块存在以下难点:①实现一个多功能的网络接口模块要求同时支持多种复杂的网络协议;②网络接口模块与承担实时计算任务的模块处于同一fpga中,要求网络接口模块占用极少的硬件资源,从而减小对fpga实时仿真器仿真能力的影响;③传统的硬件中断方式在处理实时网络数据流时对处理器要求过高,在小步长仿真以及使用精简的处理器时,无法确保数据的实时传输;④精简的处理器没有足够速度实现大量实时数据流的i/o。
技术实现要素:
本实用新型的目的在于提供一种有源配电网实时仿真器的网络通讯接口,以解决基于fpga的实时仿真器与计算机系统之间通信困难的技术问题。
为实现上述目的,具体方案如下:
一种有源配电网实时仿真器的网络通讯接口,包括:仿真数据接收模块、共享存储器、网络通信处理器、mac模块、网络数据收发模块和内存管理器;
所述仿真数据接收模块接收实时仿真器的仿真结果数据,将所述仿真结果数据写入共享存储器的空闲数据存储区域,当保存仿真结果数据的所述数据存储区域已满时,向所述内存管理器发送控制信号申请分配新的数据存储区域;
所述共享存储器存储所述仿真结果数据和所述网络数据收发模块写入的网络数据包,当保存仿真结果数据的数据存储区域已满时,将所述仿真结果数据发送给所述网络通信处理器;
所述网络通信处理器实现各模块间的数据通信,对所述mac模块进行初始化,将开始数据传输控制信号写入所述共享存储器,对所述仿真结果数据进行处理生成网络数据包,向所述内存管理器发送控制信号,将所述网络数据包发送给所述网络数据收发模块;
所述mac模块实现所述实时仿真器和计算机系统的数据通信;
所述网络数据收发模块接收所述mac模块发送的网络数据包,将所述网络数据包写入所述共享存储器,写入完成后向所述内存管理器发送控制信号;
所述内存管理器根据控制信号为所述仿真数据接收模块、所述网络通信处理器和所述网络数据收发模块分配互不冲突的内存区域。
可选地,所述网络通信处理器包括:指令存储器、指令解码模块、控制模块、跳转处理模块、算术处理模块和寄存器组;
其中,所述指令解码模块读取指令存储器中的指令并解码;
所述算术处理模块从所述控制模块接收数据并进行算术运算;
所述跳转处理模块根据控制器发送的跳转指令实现所述网络通信处理器的选择、循环和停机功能;
所述寄存器组存储指令和所述算术处理模块、所述跳转处理模块的输出结果;
所述控制模块访问寄存器组和共享存储器读取操作数,向算术处理模块和跳转处理模块发送控制信号,将算术处理模块和跳转处理模块的输出结果写入寄存器组和共享存储器。
可选地,所述内存管理器根据控制信号为所述仿真数据接收模块、所述网络通信处理器和所述网络数据收发模块分配互不冲突的内存区域具体包括:所述控制信号为所述网络通信处理器发送的申请存储区域控制信号、所述仿真数据接收模块的接收数据控制信号和所述网络数据收发模块发送的开始数据传输控制信号。
可选地,所述仿真数据接收模块的接收数据控制信号输出接口与所述内存管理器的接收数据控制信号输入接口连接,所述仿真数据接收模块的数据输出接口与所述共享存储器的数据输入接口连接,所述仿真数据接收模块的仿真结果数据输入接口与所述实时仿真器的仿真数据输出接口连接。
可选地,所述共享存储器的数据输入接口与所述仿真数据接收模块的数据输出接口连接,所述共享存储器的数据输出接口与所述网络数据收发模块的数据输入接口连接,所述共享存储器的开始数据传输控制信号输入接口与所述网络通信处理器的开始数据传输控制信号输出接口连接。
可选地,所述网络通信处理器的申请存储区域控制信号输出接口与所述内存管理器的申请存储区域控制信号输入接口连接,所述网络通信处理器的开始数据传输控制信号输出接口与所述共享存储器的开始数据传输控制信号输入接口连接,所述网络通信处理器的启动信号输出接口与所述实时仿真器的启动信号输入接口连接,所述网络通信处理器的初始化信号输出接口与所述mac模块的初始化信号输出输入接口连接。
可选地,所述网络数据收发模块的开始数据传输控制信号输出接口与所述内存管理器的开始数据传输控制信号输入接口连接,所述网络数据收发模块的数据输入接口与所述共享存储器的数据输出接口连接,所述网络数据收发模块的网络数据输入输出接口与所述mac模块的网络数据输入输出接口连接。
可选地,所述仿真数据接收模块的接收数据控制信号输出接口与所述内存管理器的接收数据控制信号输入接口连接,所述仿真数据接收模块的数据输出接口与所述共享存储器的数据输入接口连接,所述仿真数据接收模块的仿真数据输入接口与所述实时仿真器的仿真数据输出接口连接。
可选地,所述mac模块的初始化信号输出输入接口与所述网络通信处理器的初始化信号输出接口连接,所述mac模块的网络数据输入输出接口与所述网络数据收发模块的网络数据输入输出接口连接,所述mac模块的以太网通讯接口连接计算机系统。
可选地,所述网络通信处理器的启动信号输出接口与实时仿真器的启动信号输入接口连接,所述仿真数据接收模块的仿真数据输入接口与实时仿真器的仿真数据输出接口连接。
本实用新型公开了一种有源配电网实时仿真器的网络通讯接口,包括:仿真数据接收模块、共享存储器、网络通信处理器、mac模块、网络数据收发模块和内存管理器;所述仿真数据接收模块接收实时仿真器的仿真结果数据,将所述仿真结果数据写入共享存储器的空闲数据存储区域,当保存仿真结果数据的所述数据存储区域已满时,向所述内存管理器发送控制信号申请分配新的数据存储区域;所述共享存储器存储所述仿真结果数据和所述网络数据收发模块写入的网络数据包,当保存仿真结果数据的数据存储区域已满时,将所述仿真结果数据发送给所述网络通信处理器;所述网络通信处理器实现各模块间的数据通信,对所述mac模块进行初始化,将开始数据传输控制信号写入所述共享存储器,对所述仿真结果数据进行处理生成网络数据包,向所述内存管理器发送控制信号,将所述网络数据包发送给所述网络数据收发模块;所述mac模块实现所述实时仿真器和计算机系统的数据通信;所述网络数据收发模块接收所述mac模块发送的网络数据包,将所述网络数据包写入所述共享存储器,写入完成后向所述内存管理器发送控制信号;所述内存管理器根据控制信号为所述仿真数据接收模块、所述网络通信处理器和所述网络数据收发模块分配互不冲突的内存区域。
本实用新型的提供的有源配电网实时仿真器的网络通讯接口,是一种基于fpga的有源配电网实时仿真器以太网通讯接口,充分考虑了仿真数据输出的需求与特点,利用了fpga的高速计算能力和高速网络通信能力,在保证仿真数据输出的实时性的情况下,提高了仿真数据输出的速度,满足了仿真步长仅为几微秒的小步长有源配电网实时仿真器数据输出要求,为利用计算机系统保存与分析fpga有源配电网实时仿真器的结果奠定了基础。
附图说明
为了更清楚地说明本实用新型实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本实用新型的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请一种有源配电网实时仿真器的网络通讯接口的系统示意图;
图2为本申请一种有源配电网实时仿真器的网络通讯接口的结构示意图。
具体实施方式
本实用新型实施例提供了一种有源配电网实时仿真器的网络通讯接口,以解决基于fpga的实时仿真器与计算机系统之间通信困难的技术问题。
下面将结合本实用新型实施例中的附图,对本实用新型实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本实用新型一部分实施例,而不是全部的实施例。基于本实用新型中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本实用新型保护的范围。
本实用新型一种有源配电网实时仿真器的网络通讯接口的实施例,包括:仿真数据接收模块1、共享存储器2、网络通信处理器3、mac模块4、网络数据收发模块和内存管理器6;
所述仿真数据接收模块1接收实时仿真器的仿真结果数据,将所述仿真结果数据写入共享存储器2的空闲数据存储区域,当保存仿真结果数据的所述数据存储区域已满时,向所述内存管理器6发送控制信号申请分配新的数据存储区域;
所述共享存储器2存储所述仿真结果数据和所述网络数据收发模块写入的网络数据包,当保存仿真结果数据的数据存储区域已满时,将所述仿真结果数据发送给所述网络通信处理器3;
所述网络通信处理器3实现各模块间的数据通信,对所述mac模块4进行初始化,将开始数据传输控制信号写入所述共享存储器2,对所述仿真结果数据进行处理生成网络数据包,向所述内存管理器6发送控制信号,将所述网络数据包发送给所述网络数据收发模块;
所述mac模块4实现所述实时仿真器和计算机系统的数据通信;
所述网络数据收发模块接收所述mac模块4发送的网络数据包,将所述网络数据包写入所述共享存储器2,写入完成后向所述内存管理器6发送控制信号;
所述内存管理器6根据控制信号为所述仿真数据接收模块1、所述网络通信处理器3和所述网络数据收发模块分配互不冲突的内存区域。
本实施例中,仿真数据接收模块1是在收到实时仿真器当前步长仿真结束信号时,将仿真结果数据写入共享存储器2中的空闲数据存储区域,当仿真结果数据所在数据存储区域已满时,将仿真结果数据移交至网络通信处理器3,并向内存管理器6申请分配新的空闲数据存储区域。
具体的,仿真数据接收模块1的接收数据控制信号输出接口e1连接内存管理器6的接收数据控制信号输入接口a2,仿真数据接收模块1的数据输出接口e2连接共享存储器2的数据输入接口b3,仿真数据接收模块1的仿真数据输入接口e3连接有源配电网实时仿真器的仿真数据输出接口g2。
本实施例中,共享存储器2用于存储仿真结果数据和网络数据包,共享存储器2的开始数据传输控制信号输入接口b1连接网络通信处理器3的开始数据传输控制信号输出接口c2;共享存储器2的数据输出接口b2连接网络数据收发模块的数据输入接口d2;共享存储器2的数据输入接口b3连接仿真数据接收模块1的数据输出接口e2。
共享存储器2中设置8个数据存储区域和一个临时变量存储区域,每个数据存储区域的长度为n字节,n是不小于1500的正整数,在内存管理器6中设置8个状态变量,第i个数据存储区域的状态变量为sig_statei,其中i∈[1,8],i为正整数,第i个状态变量sig_statei包括空闲状态sig_statei,0、接收网络数据状态sig_statei,1、接收仿真数据状态sig_statei,2、发送网络数据状态sig_statei,3、网络通信处理器3状态sig_statei,4。
本实施例中,网络通信处理器3用于内存管理器6、共享存储器2、网络数据收发模块、mac模块4、有源配电网实时仿真器之间的数据和控制指令的通信。具体的,网络通信处理器3的申请存储区域控制信号输出接口c1连接内存管理器6的申请存储区域控制信号输入接口a2;网络通信处理器3的开始数据传输控制信号输出接口c2连接共享存储器2的开始数据传输控制信号输入接口b1;网络通信处理器3的启动信号输出接口c3连接有源配电网实时仿真器的启动信号输入接口g1;网络通信处理器3的初始化信号输出接口c4连接mac模块4的初始化信号输出输入接口f1。
本实施例中,网络通信处理器3是由一个指令解码模块32、一个控制模块33、一个算术处理模块35、一个跳转处理模块34、一个指令存储器31和一个寄存器组36组成。
具体的,指令解码模块32的控制信号输出端与控制模块33的控制信号输入端连接,所述指令解码模块32的指令输入端与指令存储器31的指令输出端连接,指令解码模块32的跳转指令输入端与跳转处理模块34的跳转指令输出端连接,控制模块33的3个指令输出端分别与算术处理模块35,跳转处理模块34和寄存器组36的指令输入端连接,控制模块33的开始数据传输控制信号输出接口作为网络通信处理器3的开始数据传输控制信号输出接口,控制模块33的启动信号输出接口作为网络通信处理器3的启动信号输出接口,控制模块33的初始化信号输出接口作为网络通信处理器3的初始化信号输出接口,跳转处理模块34的申请存储区域控制信号输出接口作为网络通信处理器3的申请存储区域控制信号输出接口。
本实施例中,mac模块4用于实现计算机系统和fpga之间的数据传输。具体的,mac模块4的初始化信号输出输入接口f1连接网络通信处理器3的初始化信号输出接口c4,mac模块4的网络数据输入输出接口f2连接网络数据收发模块的网络数据输入输出接口d3,mac模块4的以太网通讯接口f3连接计算机系统的通讯接口h1。
本实施例中,网络数据收发模块是在收到mac模块4通过avalon-st总线传输的网络数据包时,将网络数据包写入空闲数据存储区域,写入完成后,网络数据收发模块向内存管理器6发送申请存储区域控制信号,将网络数据包移交至网络通信处理器3,并向内存管理器6申请分配一个新的空闲数据存储区域;当收到内存管理器6的开始数据传输控制信号时,将网络通信处理器3生成的网络数据包通过avalon-st总线传输至mac模块4。
具体的,网络数据收发模块的开始数据传输控制信号输出接口d1连接内存管理器6的开始数据传输控制信号输入接口,网络数据收发模块的数据输入接口d2连接共享存储器2的数据输出接口,网络数据收发模块的网络数据输入输出接口d3连接mac模块的网络数据输入输出接口f2。
本实施例中,内存管理器6是根据状态变量sig_statei为网络通信处理器3、网络数据收发模块4和仿真数据接收模块1分配互不冲突的内存区域,当内存管理器6收到由网络通信处理器3、网络数据收发模块4和仿真数据接收模块1发出的控制信号时更新状态变量sig_statei,实现数据存储区域的移交。
具体的,内存管理器6的申请存储区域控制信号输入接口a2连接网络通信处理器3的申请存储区域控制信号输出接口c1;内存管理器6的接收数据控制信号输入接口a1连接仿真数据接收模块1接收数据控制信号输出接口e1;内存管理器6的开始数据传输控制信号输入接口a3连接网络数据收发模块4的开始数据传输控制信号输出接口d1。
有源配电网实时仿真器实现有源配电网的实时仿真和数据传出。具体的,有源配电网实时仿真器的启动信号输入接口g1连接网络通信处理器3的启动信号输出接口c3,有源配电网实时仿真器的仿真数据输出接口g2连接仿真数据接收模块1的仿真数据输入接口e3。
本实用新型实施例提供的有源配电网实时仿真器的网络通讯接口,是一种基于fpga的有源配电网实时仿真器以太网通讯接口,充分考虑了仿真数据输出的需求与特点,基于fpga的有源配电网实时仿真器具有步长小、速度快、精度高的优点,利用了fpga的高速计算能力和高速网络通信能力,在保证仿真数据输出的实时性的情况下,提高了仿真数据输出的速度,满足了仿真步长仅为几微秒的小步长有源配电网实时仿真器数据输出要求,为利用计算机系统保存与分析fpga有源配电网实时仿真器的结果奠定了基础。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本实用新型。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本实用新型的精神或范围的情况下,在其它实施例中实现。因此,本实用新型将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
1.一种有源配电网实时仿真器的网络通讯接口,其特征在于,包括:仿真数据接收模块、共享存储器、网络通信处理器、mac模块、网络数据收发模块和内存管理器;
所述仿真数据接收模块接收实时仿真器的仿真结果数据,将所述仿真结果数据写入共享存储器的空闲数据存储区域,当保存仿真结果数据的所述数据存储区域已满时,向所述内存管理器发送控制信号申请分配新的数据存储区域;
所述共享存储器存储所述仿真结果数据和所述网络数据收发模块写入的网络数据包,当保存仿真结果数据的数据存储区域已满时,将所述仿真结果数据发送给所述网络通信处理器;
所述网络通信处理器实现各模块间的数据通信,对所述mac模块进行初始化,将开始数据传输控制信号写入所述共享存储器,对所述仿真结果数据进行处理生成网络数据包,向所述内存管理器发送控制信号,将所述网络数据包发送给所述网络数据收发模块;
所述mac模块实现所述实时仿真器和计算机系统的数据通信;
所述网络数据收发模块接收所述mac模块发送的网络数据包,将所述网络数据包写入所述共享存储器,写入完成后向所述内存管理器发送控制信号;
所述内存管理器根据控制信号为所述仿真数据接收模块、所述网络通信处理器和所述网络数据收发模块分配互不冲突的内存区域。
2.根据权利要求1所述的有源配电网实时仿真器的网络通讯接口,其特征在于,所述网络通信处理器包括:指令存储器、指令解码模块、控制模块、跳转处理模块、算术处理模块和寄存器组;
其中,所述指令解码模块读取指令存储器中的指令并解码;
所述算术处理模块从所述控制模块接收数据并进行算术运算;
所述跳转处理模块根据控制器发送的跳转指令实现所述网络通信处理器的选择、循环和停机功能;
所述寄存器组存储指令和所述算术处理模块、所述跳转处理模块的输出结果;
所述控制模块访问寄存器组和共享存储器读取操作数,向算术处理模块和跳转处理模块发送控制信号,将算术处理模块和跳转处理模块的输出结果写入寄存器组和共享存储器。
3.根据权利要求1或2所述的有源配电网实时仿真器的网络通讯接口,其特征在于,所述内存管理器根据控制信号为所述仿真数据接收模块、所述网络通信处理器和所述网络数据收发模块分配互不冲突的内存区域具体包括:所述控制信号为所述网络通信处理器发送的申请存储区域控制信号、所述仿真数据接收模块的接收数据控制信号和所述网络数据收发模块发送的开始数据传输控制信号。
4.根据权利要求3所述的有源配电网实时仿真器的网络通讯接口,其特征在于,所述仿真数据接收模块的接收数据控制信号输出接口与所述内存管理器的接收数据控制信号输入接口连接,所述仿真数据接收模块的数据输出接口与所述共享存储器的数据输入接口连接,所述仿真数据接收模块的仿真结果数据输入接口与所述实时仿真器的仿真数据输出接口连接。
5.根据权利要求4所述的有源配电网实时仿真器的网络通讯接口,其特征在于,所述共享存储器的数据输入接口与所述仿真数据接收模块的数据输出接口连接,所述共享存储器的数据输出接口与所述网络数据收发模块的数据输入接口连接,所述共享存储器的开始数据传输控制信号输入接口与所述网络通信处理器的开始数据传输控制信号输出接口连接。
6.根据权利要求5所述的有源配电网实时仿真器的网络通讯接口,其特征在于,所述网络通信处理器的申请存储区域控制信号输出接口与所述内存管理器的申请存储区域控制信号输入接口连接,所述网络通信处理器的开始数据传输控制信号输出接口与所述共享存储器的开始数据传输控制信号输入接口连接,所述网络通信处理器的启动信号输出接口与所述实时仿真器的启动信号输入接口连接,所述网络通信处理器的初始化信号输出接口与所述mac模块的初始化信号输出输入接口连接。
7.根据权利要求6所述的有源配电网实时仿真器的网络通讯接口,其特征在于,所述网络数据收发模块的开始数据传输控制信号输出接口与所述内存管理器的开始数据传输控制信号输入接口连接,所述网络数据收发模块的数据输入接口与所述共享存储器的数据输出接口连接,所述网络数据收发模块的网络数据输入输出接口与所述mac模块的网络数据输入输出接口连接。
8.根据权利要求7所述的有源配电网实时仿真器的网络通讯接口,其特征在于,所述仿真数据接收模块的接收数据控制信号输出接口与所述内存管理器的接收数据控制信号输入接口连接,所述仿真数据接收模块的数据输出接口与所述共享存储器的数据输入接口连接,所述仿真数据接收模块的仿真数据输入接口与所述实时仿真器的仿真数据输出接口连接。
9.根据权利要求8所述的有源配电网实时仿真器的网络通讯接口,其特征在于,所述mac模块的初始化信号输出输入接口与所述网络通信处理器的初始化信号输出接口连接,所述mac模块的网络数据输入输出接口与所述网络数据收发模块的网络数据输入输出接口连接,所述mac模块的以太网通讯接口连接计算机系统。
10.根据权利要求9所述的有源配电网实时仿真器的网络通讯接口,其特征在于,所述网络通信处理器的启动信号输出接口与实时仿真器的启动信号输入接口连接,所述仿真数据接收模块的仿真数据输入接口与实时仿真器的仿真数据输出接口连接。
技术总结