一种可灵活定制帧格式的测试数据模拟方法和系统
技术领域
本发明专利涉及航天卫星测试数据模拟领域,主要涉及一种可灵活定制帧格式的测试数据模拟方法和系统。
背景技术
随着航天技术的进步,各类卫星功能日趋多样化和复杂化,卫星的地面测试技术也逐步往通用化发展。尤其在卫星数传系统和固存系统的测试中,地面测试设备需要按照系统定义的帧格式,生成符合要求的测试数据,以模拟真实的环境进行系统测试,此类设备称为数据模拟设备。对于不同的单机系统,数据帧格式、接口类型完全不同,因此,开发出帧格式可灵活定制、通用化程度高的数据模拟设备,有助于提高地面测试设备的功能适应性和测试效率。
现有数据模拟设备的数据帧格式固定、接口功能单一、可扩展性差。进行多型号卫星测试时,需要进行帧格式改造和接口改造。在多接口类型、多数据格式的复杂测试场景下,需要通过多台测试设备组合使用,增加了测试系统的复杂性。因此,现有测试数据模拟设备不能灵活修改数据帧格式和接口类型,通用化程度较低,测试数据传输速度慢、测试方法无法定制和修改等问题。
发明内容
鉴于上述问题,提供一种克服上述问题或者至少部分地解决上述问题的一种可灵活定制帧格式的测试数据模拟方法和系统。
本发明提出的技术方案如下:
一种可灵活定制帧格式的测试数据模拟方法,包括:
S100.通过上位机进行测试配置,生成配置文件;所述测试配置包括帧格式的配置、发数速率的配置、数据动态更新配置、错误注入的配置;
S200.将配置文件通过网络通信模块发送到处理器子系统,处理器子系统根据配置文件生成原始测试数据,并将原始测试数据存于内存中,所述原始数据包括辅助数据和净荷数据;
S300.处理器子系统通过SGDMA传输方式与可编程逻辑列阵子系统进行原始测试数据传输,具体传输规则包括:先发指定长度的辅助数据,再发指定长度的净荷数据,循环进行;
S400.处理器子系统和可编程逻辑列阵子系统分别对辅助数据和净荷数据进行动态更新,完成原始测试数据的更新。
S500.进行数据的速率控制和发送时序处理,将完成更新的测试数据放在缓存中;
S600.将更新的测试数据通过接口逻辑单元发送到对应的硬件接口上,完成测试数据模拟过程。
进一步地,所述帧格式的配置包括:对帧格式每个字段的数据内容、区域起点、区域终点加以配置;发数速率的配置包括:配置发送数据有效长度、发送间隔、突发数量、发送数据位宽进行配置;数据动态更新配置包括:定制区域的限定、定制类型的限定进行配置;错误注入的配置包括:在指定区域插入错误,或者修改校验和内容进行配置。
进一步地,所述原始测试文件存于内存中,原始测试文件中的辅助数据和净荷数据存储在不同内存区域。
进一步地,原始测试文件中的辅助数据和净荷数据存储在不同内存区域前,无需预先封装。
进一步地,处理器子系统对辅助数据进行动态更新,具体为:处理器子系统生成并向可编程逻辑列阵子系统发送辅助数据之后,处理器子系统根据数据更新规则,更新辅助数据;同时判断辅助数据内存区的数据是否已经完成发送,若辅助数据内存区的数据已经完成发送,用新生成的辅助数据覆盖已发送内存区。
进一步地,可编程逻辑列阵子系统对净荷数据进行动态更新,具体包括:可编程逻辑列阵子系统接收到原始测试数据后,首先对原始数据进行解析,提取出辅助数据和净荷数据,同时解析数据定制规则与定制参数;根据定制规则和定制参数,对净荷数据进行动态更新。
进一步地,所述接口逻辑单元采用从外部存储区中取出对应的接口程序,完成部分重配置处理。
本发明还公开了一种可灵活定制帧格式的测试数据模拟系统,包括:上位机,网络通信模块,处理器子系统,可编程逻辑列阵子系统,内存模块,SGDMA传输模块,速率控制模块,接口逻辑模块;其中:
上位机,用于进行测试的人机交互处理,进行测试配置,生成配置文件;
网络通信模块,用于上位机向下发配置文件,同时获取控制信息和上报状态信息;
处理器子系统,用于根据配置文件生成原始测试数据,并将所述原始测试数据存放于内存模块中,所述原始测试数据包括辅助数据和净荷数据;
可编程逻辑列阵子系统,用于接受原始测试数据,并对原始数据进行更新;
内存模块,用于储存原始测试数据,并根据发送状态控制内存中测试数据的更新;
SGDMA传输模块,用于将处理器子系统测试数据传输到可编程逻辑列阵子系统;
速率控制模块,用于对测试数据传输速率进行控制;
接口逻辑模块,用于与外部硬件接口进行匹配,完成测试数据模拟。
进一步地,所述处理器子系统包括:辅助数据生成单元,净荷数据生成单元,辅助数据更新单元;
辅助数据生成单元,用于根据配置文件生成辅助数据;
净荷数据生成单元,用于根据配置文件生成净荷数据;
辅助数据更新单元,当处理器子系统生成并向可编程逻辑列阵子系统发送辅助数据之后,辅助数据更新单元根据数据更新规则,更新辅助数据;同时判断辅助数据内存区的数据是否已经完成发送,若辅助数据内存区的数据已经完成发送,用新生成的辅助数据覆盖已发送内存区。
进一步地,所述可编程逻辑列阵子系统包括:净荷数据更新单元,净荷数据更新单元接收到原始测试数据后,首先对原始数据进行解析,提取出辅助数据和净荷数据,同时解析数据定制规则与定制参数;根据定制规则和定制参数,对净荷数据进行动态更新。
本发明与现有技术相比至少具有以下有益效果:
本发明在嵌入式异构系统的基础上实现测试数据的模拟生成和发送,可灵活定制测试数据帧格式,同时可动态修改测试数据内容,提高了星务系统上单机测试的通用化和灵活度,满足了测试数据帧的多样化需求。本发明采用SGDMA的方式进行数据传输,可有效提高数据传输效率。
对于现有测试设备测试接口配置单一的问题,本发明采用PR动态重配置技术实现接口逻辑的动态配置,可实现更丰富的测试接口组合。在多个型号的单机测试任务中,可使用同一套数据模拟设备进行测试,迅速部署测试任务,降低了设备的开发周期和测试成本。
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本发明实施例1中,一种可灵活定制帧格式的测试数据模拟方法流程图;
图2是本发明实施例1中,测试数据区段定义图;
图3是本发明实施例1中,辅助数据动态更新流程图;
图4是本发明实施例1中,净荷数据更新流程图;
图5是本发明实施例2中,一种可灵活定制帧格式的测试数据模拟系统结构图。
具体实施方式
实施例1
本实施例公开了一种可灵活定制帧格式的测试数据模拟方法,其特征在于,包括:
S100.通过上位机进行测试配置,生成配置文件;所述测试配置包括帧格式的配置、发数速率的配置、数据动态更新配置、错误注入的配置。
具体的,如图2,帧格式的配置包括:对帧格式每个字段的数据内容、区域起点、区域终点加以配置说明,比如帧头内容、帧计数器宽度、信号域长度、源地址目的地址、检验和位置和类型等。发数速率的配置:配置发送数据有效长度、发送间隔、突发数量、发送数据位宽等。数据动态更新配置包括:定制区域的限定,定制类型的限定等,比如可配置某4字节长的区域为4字节时间戳,动态更新外部时间。错误注入的配置包括:与数据定制内容类似,可在指定区域插入错误,或者修改校验和内容。完成所有配置后,所有配置信息汇总为一个配置文件。测试数据的区段定义如图2所示,帧格式配置文件,可以定义字段类型、字段的起点和终点、校验和字段类型等。不同的测试任务,会有不同的测试数据帧格式,通过配置文件详细定义其生成规则,由嵌入式软件根据规则生成测试数据。
S200.将配置文件通过网络通信模块发送到处理器子系统,处理器子系统根据配置文件生成原始测试数据,并将原始测试数据存于内存中,所述原始数据包括辅助数据和净荷数据。
具体的,配置文件完成后,启动测试,配置文件通过网络通信模块发送到处理器子系统。测试数据由处理器子系统嵌入式软件生成,嵌入式软件读取配置文件,根据每个区段的长度定义、位置定义和类型定义等。将嵌入式软件生成的没有经过动态修改的测试数据称为原始测试数据,原始测试数据存储于内存中。测试数据一般由辅助数据和净荷数据组成,辅助数据区用以填充测试数据的同步信息、控制信息等,净荷数据区用来封装测试序列或者图像数据。本发明由嵌入式软件生成辅助数据和净荷数据,将辅助数据和净荷数据分中别存储在不同的内存区域,而不是将测试数据帧预先封装好之后放在内存。
S300.处理器子系统通过SGDMA传输方式与可编程逻辑列阵子系统进行原始测试数据传输,具体传输规则包括:先发指定长度的辅助数据,再发指定长度的净荷数据,循环进行。
具体的,处理器子系统向可编程逻辑列阵子系统发送数据时,通过两次SGDMA操作传输数据,先传输特定长度的辅助数据,再传输特定长度的净荷数据。本发明采用SGDMA的高速传输方式。发送数据时,嵌入式软件生成好的辅助数据和净荷数据通过DMA的方式传输到FPGA端。本发明采用SGDMA的方式进行数据传输,可有效提高数据传输效率。
本方法生成测试数据,省去了预先封装好数据再放入内存的过程,避免了复杂的内存地址对齐处理,可适配任意长度的数据区格式定制。
S400.处理器子系统和可编程逻辑列阵子系统分别对辅助数据和净荷数据进行动态更新,完成原始测试数据的更新。
如图3,处理器子系统对辅助数据进行动态更新,具体为:处理器子系统生成并向可编程逻辑列阵子系统发送辅助数据之后,处理器子系统根据数据更新规则,更新辅助数据;同时判断辅助数据内存区的数据是否已经完成发送,若辅助数据内存区的数据已经完成发送,用新生成的辅助数据覆盖已发送内存区。
如图4,可编程逻辑列阵子系统对净荷数据进行动态更新,具体包括:可编程逻辑列阵子系统接收到原始测试数据后,首先对原始数据进行解析,提取出辅助数据和净荷数据,同时解析数据定制规则与定制参数;根据定制规则和定制参数,对净荷数据进行动态更新。例如,如果有n个字段需要修改,则需要知道这n个字段的位置、长度和类型,然后逐步进行每个字段的修改。所有字段完成修改后,将数据发送到后端模块。
本发明采用两级数据更新策略,第一级为辅助数据更新,第二级为净荷数据更新。对于辅助数据部分,嵌入式软件可以动态修改所有字段的内容;对于净荷数据,由FPGA根据修改信息,完成数据的动态修改。数据采用嵌入式软件修改加可编程逻辑修改的两级更新方式,可应对灵活多变的测试需求。
S500.进行数据的速率控制和发送时序处理,将完成更新的测试数据放在缓存中。
具体的,进行数据的速率控制和发送时序处理,将完成更新定制的数据放在缓存中。发送使能以后,接口逻辑开始读缓存,取出数据,生成符合测试要求的数据时序。本方法中将接口时序信息存储在RAM中,发送时从RAM中取出时序参数,形成发送时序。时序参数由嵌入式软件写入RAM,方便测试时由软件更新,不用修改可编程逻辑列阵子系统逻辑程序。
S600.将更新的测试数据通过接口逻辑单元发送到对应的硬件接口上,完成测试数据模拟过程。
本发明通过PR技术实现接口逻辑的动态重配置处理,方便测试过程中,更快速地响应测试需求。由PR控制模块从外部存储区中取出对应的接口程序,完成部分重配置处理。这样,当地面测试设备只有一个接口时,该接口的驱动逻辑可以灵活更换;当地面测试设备有多个接口时,可以实现灵活的接口逻辑组合。
本实施例公开的一种可灵活定制帧格式的测试数据模拟方法,在嵌入式异构系统的基础上实现测试数据的模拟生成和发送,可灵活定制测试数据帧格式,同时可动态修改测试数据内容,提高了星务系统上单机测试的通用化和灵活度,满足了测试数据帧的多样化需求。本发明采用SGDMA的方式进行数据传输,可有效提高数据传输效率。
对于现有测试设备测试接口配置单一的问题,本发明采用PR动态重配置技术实现接口逻辑的动态配置,可实现更丰富的测试接口组合。在多个型号的单机测试任务中,可使用同一套数据模拟设备进行测试,迅速部署测试任务,降低了设备的开发周期和测试成本。
实施例2
本实施例公开了一种可灵活定制帧格式的测试数据模拟系统,包括:上位机1,网络通信模块2,处理器子系统3,可编程逻辑列阵子系统4,内存模块5,SGDMA传输模块6,速率控制模块7,接口逻辑模块8;其中:
上位机1,用于进行测试的人机交互处理,进行测试配置,生成配置文件;在本实施例中,上位机1还用于提供用户操作界面、数据格式定制界面、测试控制界面和测试报告生成界面。与现有技术不同,上位机1不限定测试数据的帧格式,而是通过配置文件对测试数据进行区段定制。
网络通信模块2,用于上位机1向下发配置文件,同时获取控制信息和上报状态信息;本实施例对于网络通信模块2型号不进行限制。
处理器子系统3,用于根据配置文件生成原始测试数据,并将所述原始测试数据存放于内存模块5中,所述原始测试数据包括辅助数据和净荷数据。
处理器子系统包括辅助数据生成单元31,净荷数据生成单元32,辅助数据更新单元33;具体的,测试数据由辅助数据生成单元31和净荷数据生成单元32的嵌入式软件生成,嵌入式软件读取配置文件,根据每个区段的长度定义、位置定义和类型定义等。将嵌入式软件生成的没有经过动态修改的测试数据称为原始测试数据,原始测试数据存储于内存模块5中。测试数据一般由辅助数据和净荷数据组成,辅助数据区用以填充测试数据的同步信息、控制信息等,净荷数据区用来封装测试序列或者图像数据。本发明由嵌入式软件生成辅助数据和净荷数据,将辅助数据和净荷数据分别存储在不同的内存区域,而不是将测试数据帧预先封装好之后放在内存模块5中。
辅助数据更新单元33对辅助数据进行更新,具体为:处理器子系统3生成并向可编程逻辑列阵子系统4发送辅助数据之后,辅助数据更新单元33根据数据更新规则,更新辅助数据;同时判断辅助数据内存区的数据是否已经完成发送,若辅助数据内存区的数据已经完成发送,用新生成的辅助数据覆盖已发送内存区。
可编程逻辑列阵子系统4,用于接受原始测试数据,并对原始数据进行更新;具体的,所述可编程逻辑列阵子系统4包括:净荷数据更新单元41,净荷数据更新单元接收到原始测试数据后,首先对原始数据进行解析,提取出辅助数据和净荷数据,同时解析数据定制规则与定制参数;根据定制规则和定制参数,对净荷数据进行动态更新。
内存模块5,用于储存原始测试数据,并根据发送状态控制内存中测试数据的更新;在本实施例中,所述辅助数据和净荷数据分别存储在不同的内存区域,而不是将测试数据帧预先封装好之后放在内存中。本方法生成测试数据,省去了预先封装好数据再放入内存的过程,避免了复杂的内存地址对齐处理,可适配任意长度的数据区格式定制。
SGDMA传输模块6,用于将处理器子系统3测试数据传输到可编程逻辑列阵子系统4;本实施例中,SGDMA传输模块6分两次传输一个完整帧,即先进行一次辅助数据的传输,后进行一次净荷数据传输。通过SGDMA传输方式可实现非连续内存区域的数据发送,有效降低嵌入式系统负载,提高传输效率。
速率控制模块7,用于对测试数据传输速率进行控制;在本实施例中,速率控制模块用于测试数据的速率控制、突发模式控制等。
接口逻辑模块8,用于与外部硬件接口进行匹配,完成测试数据模拟。本实施例中,通过PR技术实现接口逻辑的动态重配置处理,方便测试过程中,更快速地响应测试需求。由PR控制模块从外部存储区中取出对应的接口程序,完成部分重配置处理。这样,当地面测试设备只有一个接口时,该接口的驱动逻辑可以灵活更换;当地面测试设备有多个接口时,可以实现灵活的接口逻辑组合。
本实施例公开的一种可灵活定制帧格式的测试数据模拟系统,在嵌入式异构系统的基础上实现测试数据的模拟生成和发送,可灵活定制测试数据帧格式,同时可动态修改测试数据内容,提高了星务系统上单机测试的通用化和灵活度,满足了测试数据帧的多样化需求。本发明采用SGDMA的方式进行数据传输,可有效提高数据传输效率。
对于现有测试设备测试接口配置单一的问题,本发明采用PR动态重配置技术实现接口逻辑的动态配置,可实现更丰富的测试接口组合。在多个型号的单机测试任务中,可使用同一套数据模拟设备进行测试,迅速部署测试任务,降低了设备的开发周期和测试成本。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示非排它性的“或者”。