本发明涉及仿真通信,尤其是涉及一种基于fpga的光纤通信协议帧转换方法和装置。
背景技术:
1、随着经济的快速发展和工业生产规模的不断扩大,人们对能源的需求量也在不断增长,传统的两电平电压源型逆变器已经不能满足人们对高压、大功率的需求,因此越来越多的研发人员对多电平变流器技术(链式无功补偿装置、高压直挂储能、模块化多电平变换器)进行深入研究和应用。传统的电气通信方式在海量电气数据交互过程中存在实时仿真器接口数量不足、信号对接复杂、占地面积大等问题,已经不能满足多电平系统应用测试需求。在如今电力行业的新能源硬件在环测试应用中,通常采用光纤通信方式用于实时仿真器和控制器之间的通信,实现海量电气量数据高速率且低延迟的数据交互,这种交互方式已成为了当今多电平系统硬件在环测试应用中的主流方案。
2、然而,仿真器和控制器可能存在光口速率不一致的问题,且不同的控制器厂家可能使用不同的通信协议,这就需要一个光纤通信协议帧转换装置来实现不同协议之间的无缝转换。因此为了使多电平应用测试更加便捷,需要一种协议转换装置来将仿真器输出的光纤数据帧结构转换为控制器侧采用的的光纤数据帧结构。
技术实现思路
1、本发明的目的就是为了克服上述现有技术存在现有实时仿真器与多电平系统控制器之间光口速率不一致,各厂家通信协议帧结构不一致的缺陷而提供一种基于fpga的光纤通信协议帧转换方法和装置。
2、本发明的目的可以通过以下技术方案来实现:
3、一种基于fpga的光纤通信协议帧转换方法,用于控制器和仿真器之间的数据通信,包括以下步骤:
4、通过上位机配置生成对应的配置文件,并下发到程序模块rt中,所述配置文件包括帧结构配置文件和光纤模式配置文件;
5、通过程序模块rt根据光纤模式配置文件,选择单光纤模式或多光纤模式的fpga比特流加载入fpga,并将帧结构配置文件下发至fpga中;
6、在fpga中解析帧结构配置文件,配置帧结构查找表,配置完成后,切换为运行模式;
7、在运行模式下,fpga接收仿真器或控制器的光纤数据并解帧,根据解帧结果访问所述帧结构查找表,按表重组采样数据,产生所需的帧结构数据,并进行组帧;
8、组帧完成后,fpga根据待发送的控制器或仿真器的接收光口速率,通过对应的光纤通讯协议,发送组帧后的光纤数据。
9、进一步地,所述通过上位机配置生成对应的配置文件的过程具体为:
10、在上位机前端中配置帧结构,该帧结构的配置信息包括下行数据数量、数据类型、物理量、光纤模块数据大小端、光纤模块发送时间间隔、上行数据数据长度、是否使能位拉高、帧同步包头;
11、在上位机后端中根据帧结构的配置信息生成帧结构配置文件,并根据光纤通信结构配置光纤模式配置文件,生成配置文件。
12、进一步地,所述fpga在接收帧结构配置文件的过程中,检验帧结构配置文件的配置开始控制字是否正确,若正确,则开始配置帧结构查找表,配置完成后创建并向程序模块rt反馈配置完成标志;程序模块rt在接收到配置完成标志后,结束帧结构配置文件的发送。
13、进一步地,所述fpga对接收的光纤数据进行解帧的过程具体为:
14、检验fpga的解帧ip接口使能信号是否为可使用状态,若是,则判断接收的光纤数据帧头是否正确,若正确,则获取光纤数据,并将输出存储在fpga中的bram中;
15、对于单光纤模式,则将光纤数据存储在fpga中的bram中;
16、对于多光纤模式,则将不同光纤传输的光纤数据分别存储在fpga中不同的bram中。
17、进一步地,所述fpga对接收的光纤数据进行解帧后,还包括对控制器输出的光纤数据进行误码检测,该误码检测的过程具体为:
18、从fpga中的bram读取脉宽调制信息的低四位数据,并判断码型是否正确,若正确,则刷新光纤数据重新发送,若不正确,则保持上一帧光纤数据发送。
19、进一步地,所述fpga根据帧结构查找表进行数据重组的过程具体为:
20、在单光纤模式下,启用fpga中数据处理ip的所有端口,对获取的解帧结果根据帧结构查找表进行数据重组;
21、在多光纤模式下,对获取的不同光纤传输的解帧结果,分别启用fpga中数据处理ip的一个端口,根据帧结构查找表进行数据重组;
22、对于由仿真器向控制器传输的数据的重组过程包括以下步骤:
23、11):从解帧结果中获取帧数据的帧结构长度;
24、12):根据帧结构长度和已写入的帧数据,判断帧数据配置是否完成,若完成,则结束,若未完成,则执行步骤13);
25、13):检验获取的帧数据是否为常数填充,若是,则获取对应的常数填充值并寄存为一个帧数据,生成所需控制器侧帧数据并存储在bram中;若否,则根据帧数据,通过帧结构查找表获取配置数据类型、大小端、数据初始数据类型和数据位置,根据数据位置产生映射地址,访问映射地址,完成数据类型转换,并寄存为一个帧数据,生成所需控制器侧帧数据并存储在bram中;
26、对于由控制器向仿真器传输的数据的重组过程包括以下步骤:
27、21):从解帧结果中获取帧数据的帧结构长度;
28、22):根据帧结构长度和已写入的帧数据,判断帧数据配置是否完成,若完成,则结束,若未完成,则执行步骤23);
29、23):检验获取的帧数据是否为常数填充,若是,则生成所需仿真器侧帧数据并存储在对应bram中;若否,则根据帧数据,通过帧结构查找表获取配置数据大小端、配置使能位拉高标志、配置数据目标光纤和配置数据位置,并结合控制器发送的帧数据,按照配置数据大小端和配置使能位拉高标志得到目标数据,并刷新对应的位置数据,生成所需仿真器侧帧数据并存储在对应bram中。
30、进一步地,所述组帧过程包括以下步骤:
31、通过fpga检验此时对应的组帧使能信号是否为可使用状态,若是,则开始组帧;
32、在组帧过程中,通过控制组帧使能信号的频率来控制数据发送的时间间隔。
33、进一步地,光纤数据的发送过程中,根据接收侧的控制器或仿真器的接收光口速率,并采用对应的光纤通讯协议进行数据发送。
34、进一步地,在fpga进行数据处理过程中,所述方法还包括:
35、对于由控制器向仿真器传输的数据,在检查控制器发送的脉宽调制信号低四位码型是否正确后,读取帧结构配置文件,完成对脉宽调制信号的使能位操作之后,向程序模块rt上报得到的数据;上报过程中,对于单光纤模式,通过一个地址完成数据上报;对于多光纤模式,通过多个分别对应每个光纤的上报地址进行数据上报;
36、对于由仿真器向控制器传输的数据,在按照帧结构配置文件生成控制器帧结构之后,上报生成的控制器帧结构;上报过程中,对于单光纤模式,则上报被配置的控制器帧结构数据;对于多光纤模式,则在控制器帧结构数据的基础上,增加上报未配置的数据。
37、本发明还提供一种基于fpga的光纤通信协议帧转换装置,包括:
38、上位机,用于生成配置文件,并下发到程序模块rt中,所述配置文件包括帧结构配置文件和光纤模式配置文件;
39、程序模块rt,用于根据光纤模式配置文件,选择单光纤模式或多光纤模式的fpga比特流加载入fpga,并将帧结构配置文件下发至fpga中;
40、fpga,用于解析帧结构配置文件,配置帧结构查找表,配置完成后,切换为运行模式;在运行模式下,fpga接收仿真器和控制器的光纤数据并解帧,根据解帧结果访问所述帧结构查找表,按表重组采样数据,产生所需的帧结构数据,并进行组帧;组帧完成后,fpga根据待发送的控制器和仿真器的接收光口速率,通过对应的光纤通讯协议,发送组帧后的光纤数据;
41、光纤接口,用于不同光纤通信协议的数据的发送和接收,以进行fpga与仿真器和控制器之间的通讯。
42、与现有技术相比,本发明具有以下优点:
43、(1)本发明基于上位机、程序模块rt和fpga进行帧结构配置文件和光纤模式配置文件的设置,fpga针对单光纤模式和多光纤模式的特点,对应设置最优的bram数据存储方式、数据重组方式和数据上报方式;针对上行数据和下行数据的数据传输,选取对应最优的方式进行数据重组,并根据控制器和仿真器端的数据协议和接收光口速率进行输出发送,实现了多光口不同光纤通信帧协议的转换,且通过上位机对配置文件的设置,支持灵活支持自定义修改协议和修改数据发送时间间隔,使处于通信网上采用不同高层协议、不同光口速率的主机相互合作,适配链式无功补偿装置、高压直挂储能、模块化多电平变换器三种多电平应用。
44、(2)本发明还能够在上位机实时观测数据信息,实现了多电平系统中的仿真器和不同控制器之间的高速率且低延迟的海量数据传输。
1.一种基于fpga的光纤通信协议帧转换方法,用于控制器和仿真器之间的数据通信,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于fpga的光纤通信协议帧转换方法,其特征在于,所述通过上位机配置生成对应的配置文件的过程具体为:
3.根据权利要求1所述的一种基于fpga的光纤通信协议帧转换方法,其特征在于,所述fpga在接收帧结构配置文件的过程中,检验帧结构配置文件的配置开始控制字是否正确,若正确,则开始配置帧结构查找表,配置完成后创建并向程序模块rt反馈配置完成标志;程序模块rt在接收到配置完成标志后,结束帧结构配置文件的发送。
4.根据权利要求1所述的一种基于fpga的光纤通信协议帧转换方法,其特征在于,所述fpga对接收的光纤数据进行解帧的过程具体为:
5.根据权利要求1所述的一种基于fpga的光纤通信协议帧转换方法,其特征在于,所述fpga对接收的光纤数据进行解帧后,还包括对控制器输出的光纤数据进行误码检测,该误码检测的过程具体为:
6.根据权利要求1所述的一种基于fpga的光纤通信协议帧转换方法,其特征在于,所述fpga根据帧结构查找表进行数据重组的过程具体为:
7.根据权利要求1所述的一种基于fpga的光纤通信协议帧转换方法,其特征在于,所述组帧过程包括以下步骤:
8.根据权利要求1所述的一种基于fpga的光纤通信协议帧转换方法,其特征在于,光纤数据的发送过程中,根据接收侧的控制器或仿真器的接收光口速率,并采用对应的光纤通讯协议进行数据发送。
9.根据权利要求5所述的一种基于fpga的光纤通信协议帧转换方法,其特征在于,在fpga进行数据处理过程中,所述方法还包括:
10.一种基于fpga的光纤通信协议帧转换装置,其特征在于,包括:
