导航定位模组的测试方法、装置、设备及存储介质与流程

文档序号:22253024发布日期:2020-09-18 13:09阅读:378来源:国知局
导航定位模组的测试方法、装置、设备及存储介质与流程

本发明实施方式涉及导航定位技术领域,特别涉及一种导航定位模组的测试方法、装置、设备及存储介质。



背景技术:

全球卫星导航系统也叫全球导航卫星系统(globalnavigationsatellitesystem,gnss),是能在地球表面或近地空间的任何地点为用户提供全天候的3维坐标和速度以及时间信息的空基无线电导航定位系统。为了保证gnss产品的定位性能,gnss产品制造商在gnss产品投入使用前,都会对gnss产品进行测试,具体是通过测试gnss产品中集成的gnss模组或gnss芯片。

但是,由于不同的gnss模组对应的nmea(gps导航设备统一的rtcm标准协议)语句各不相同,比如可能是gpgga(定位信息)、gpgsa(当前卫星信息)、gpgsv(可见卫星信息)、gprmc(推荐定位信息数据格式)、gpvtg(地面速度信息)、gpgll(地理定位信息)等,并且各个语句对应的解析规则版本也有差异,这就导致测试人员对gnss产品中的gnss模组进行测试时,需要预先确定待测试gnss模组生成的待解析数据的nmea语句格式,以及对应的解析规则版本,不仅操作不便,还大大增加了测试人员的工作量。



技术实现要素:

本发明实施方式的目的在于提供一种导航定位模组的测试方法、装置、设备及存储介质,解决上述技术问题。

为解决上述技术问题,本发明的实施方式提供了一种导航定位模组的测试方法,包括以下步骤:

获取待测试导航定位模组提供的待解析数据,从所述待解析数据中提取目标数据类型标识,所述待解析数据为所述待测试导航定位模组定位过程中生成的定位数据;

根据所述目标数据类型标识和所述待解析数据的长度,在预先构建的解析规则集中选取目标解析规则;

根据所述目标解析规则对所述待解析数据进行解析,得到解析结果;

根据所述解析结果确定所述待测试导航定位模组的定位性能,得到针对所述待测试导航定位模组的测试结果。

本发明的实施方式还提供了一种导航定位模组的测试装置,包括:

获取模块,用于获取待测试导航定位模组提供的待解析数据,所述待解析数据为所述待测试导航定位模组定位过程中生成的定位数据;

提取模块,用于从所述待解析数据中提取目标数据类型标识;

选取模块,用于根据所述目标数据类型标识和所述待解析数据的长度,在预先构建的解析规则集中选取目标解析规则;

解析模块,用于根据所述目标解析规则对所述待解析数据进行解析,得到解析结果;

测试模块,用于根据所述解析结果确定所述待测试导航定位模组的定位性能,得到针对所述待测试导航定位模组的测试结果。

本发明的实施方式还提供了一种导航定位模组的测试设备,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上文所述的导航定位模组的测试方法。

本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述的导航定位模组的测试方法。

本发明实施方式相对于现有技术而言,在获取到待测试导航定位模组提供的待解析数据后,通过从待解析数据中提取目标数据类型标识,以及确定待解析数据的长度,进而根据得到的这两个参数便可以自动在预先构建的解析规则集中查找适合当前待解析数据的目标解析规则,并根据查找到的目标解析规则对待解析数据进行解析,获得解析结果,最终根据得到的解析结果确定待测试导航模组的定位性能,得到针对待测试导航定位模组的测试结果,由于整个过程无需测试人员介入,从而大大简化了测试人员的操作,降低了测试人员的工作量。

另外,所述从所述待解析数据中提取目标数据类型标识,包括:

基于预设的正则表达式,从所述待解析数据中提取初始数据类型标识;

从所述初始数据类型标识中提取预设位置的字符数据,得到所述目标数据类型标识。

本实施方式通过采用正则表达式从待解析数据中提取初始数据类型标识,然后从初始数据类型标识中提取预设位置的字符数据作为目标数据类型标识,使得预设位置具有相同字符数据的初始数据类型标识可以统一用一个目标数据类型标识来标识,从而使得确定的目标解析规则能够对一类初始数据类型标识的待解析数据进行解析,实现了对不同数据类型的兼容。

另外,在所述根据所述目标数据类型标识和所述待解析数据的长度,在预先构建的解析规则集中选取目标解析规则之前,所述方法还包括:

将所述待解析数据转换为所述目标数据类型标识对应的标准解析格式,得到标准待解析数据;

其中,所述根据所述目标数据类型标识和所述待解析数据的长度,在预先构建的解析规则集中选取目标解析规则,包括:

根据所述目标数据类型标识和所述标准待解析数据的长度,在预先构建的解析规则集中选取目标解析规则。

本实施方式通过将待解析数据转换为目标数据类型标识对应的标准解析格式,进而得标准待解析数据,从而可以保证确定的长度具有参考价值,使得最终选取的目标解析规则更适合当前待解析数据。

另外,在所述获取待测试导航定位模组提供的待解析数据之前,所述方法还包括:

判断所述待解析数据是否为静态待解析数据,所述静态待解析数据为所述待测试导航定位模组生成的历史定位数据;

若所述待解析数据是所述静态待解析数据,则获取所述静态待解析数据对应的存储路径,并在获取到所述存储路径之后,根据所述存储路径执行获取待测试导航定位模组提供的待解析数据的步骤;

若所述待解析数据不是所述静态待解析数据,则确定与所述待测试导航定位模组匹配的通信协议,采用所述通信协议与所述待测试导航定位模组建立通信连接,并在与所述待测试导航定位模组建立通信连接之后执行获取待测试导航定位模组提供的待解析数据的步骤。

本实施方式通过基于待解析数据的数据源设置不同的待解析数据获取方式,从而可以基于不同类型的待解析数据,实现对待测试导航定位模组的测试。

此外,在待解析数据不是静态待解析数据,即为动态待解析数据(待测试导航定位模组生成的实时定位数据)时,通过确定与待测试导航定位模组匹配的通信协议,并采用确定的通信协议与待测试导航定位模组建立通信连接,从而可以实现与不同待测试导航模组的通信。

另外,所述确定与所述待测试导航定位模组匹配的通信协议,包括:

获取所述待测试导航定位模组的模组型号;

根据所述模组型号,从预设的配置文件中选取所述待测试导航定位模组匹配的通信协议。

本实施方式通过预先构建存储有不同模组型号对应的通信协议的配置文件,从而在确定与当前需要进行测试的待测试导航定位模组匹配的通信协议时,只需获取待测试导航定位模组的模组型号,便可以根据获取到的模组型号在预设的配置文件中快速查找到与之匹配的通信协议,由于整个过程无需测试人员介入,因而在兼容不同类型的待测试导航定位模组的情况下,也进一步简化了测试人员的操作,降低了测试人员的工作量。

另外,在所述采用所述通信协议与所述待测试导航定位模组建立通信连接之后,所述方法还包括:

根据预设测试需求,向所述待测试导航定位模组发送测试指令;

其中,所述获取待测试导航定位模组提供的待解析数据,包括:

获取所述待测试导航定位模组提供的针对所述测试指令生成的待解析数据。

本实施方式为了实现根据动态待解析数据对待测试导航定位模组进行测试,在基于确定的通信协议与待测试导航定位模组建立通信连接之后,通过根据预设测试需求向待测试导航定位模组发送测试指令,从而使得获取到的动态待解析数据为针对测试指令生成的,实现了对待测试导航定位模组特定功能的针对性测试。

另外,在所述根据所述解析结果确定所述待测试导航定位模组的定位性能,得到针对所述待测试导航定位模组的测试结果之前,所述方法还包括:

检查所述解析结果是否存在异常;

若所述解析结果不存在异常,则执行根据所述解析结果确定所述待测试导航定位模组的定位性能,得到针对所述待测试导航定位模组的测试结果的步骤;

若所述解析结果存在异常,则对所述解析结果进行异常标注。

本实施方式通过对解析结果进行异常检测,在确定解析结果存在异常时,通过对解析结果进行异常标注,从而使得测试人员能够快速定位异常原因,进一步降低了测试人员的工作量。

附图说明

一个或多个实施方式通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施方式的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是根据本发明第一实施方式的导航定位模组的测试方法的具体流程图;

图2是根据本发明第二实施方式的导航定位模组的测试方法的具体流程图;

图3是根据本发明第三实施方式的导航定位模组的测试方法的具体流程图;

图4是根据本发明第四实施方式的导航定位模组的测试装置的结结构示意图;

图5是根据本发明第五实施方式的导航定位模组的测试设备的结构示意图。

具体实施方式

为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

以下各个实施方式的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施方式在不矛盾的前提下可以相互结合相互引用。

本发明的第一实施方式涉及一种导航定位模组的测试方法,在获取到待测试导航定位模组提供的待解析数据后,通过从待解析数据中提取目标数据类型标识,以及确定待解析数据的长度,进而根据得到的这两个参数便可以自动在预先构建的解析规则集中查找适合当前待解析数据的目标解析规则,并根据查找到的目标解析规则对待解析数据进行解析,获得解析结果,最终根据得到的解析结果确定待测试导航模组的定位性能,得到针对待测试导航定位模组的测试结果,由于整个过程无需测试人员介入,从而大大简化了测试人员的操作,降低了测试人员的工作量。

下面对本实施方式的导航定位模组的测试方法的实现细节进行说明,以下内容仅为方便理解而提供的实现细节,并非实施本方案的必须。

本实施方式的导航定位模组的测试方法具体是应用于能够执行该方法的任意终端设备,比如个人计算机、平板电脑、智能手机等,此处不再一一列举,本实施方式对此也不做限制。

本实施方式的具体流程如图1所示,具体包括以下步骤:

步骤101,获取待测试导航定位模组提供的待解析数据,从所述待解析数据中提取目标数据类型标识。

具体的说,本实施方式中所说的待测试导航定位模组具体为gnss模组。

应当理解的是,由于本实施方式是针对待测试gnss模组的测试,故而上述所说的待解析数据具体为待测试gnss模组在定位过程中生成的定位数据。

此外,值得一提的是,由于nmea协议定义的语句非常多,比如语句id为“$gpgga”,或者“$gpgsa”,或者“$gpgsv”,或者“$gprmc”,或者“$gpvtg”,或者“$gpgll”,等的语句(即本实施方式中所说的待解析数据)。并且,由于gnss模组供应商的不同,因此即便是用于记录相同信息的语句的id也会有所不同,比如gps(globalpositioningsystem,全球定位系统)类型的gnss模组对应的nmea协议的语句id可以为上述罗列的样式;而gnssl类型的对应的不同语句的id则为“$gngga”,或者“$gngsa”,或者“$gngsv”,或者“$gnrmc”,或者“$gnvtg”,或者“$gngll”;bds(beidounavigationsatellitesystem,中国北斗卫星导航系统)类型对应的不同语句的id则为“$bdgga”,或者“$bdgsa”,或者“$bdgsv”,或者“$bdrmc”,或者“$bdvtg”,或者“$bdgll”。因此,为了实现对不同类型对应的同一类语句,比如“$gpgga”、“$gngga”、“$bdgga”能够采用相同的解析规则进行解析,本实施方式在从待解析数据中提取目标数据类型标识时,具体是基于如下方式实现:

(1)基于预设的正则表达式,从所述待解析数据中提取初始数据类型标识。

通过对现有各gnss模组供应商对不同卫星定位系统命名规则及各nmea语句的语句id的观察可以发现,这些语句id具有一个共性,就是均是以“$”符号开始,并且“$”符号右侧的第3至5位为如下罗列的任意一种:gga、gsa、pgsv、rmc、vtg、gll。

而“$”符号右侧的第1位和第2位的字符数据,则会因为gnss模组的供应商的不同有所差异,但大致是在从字符“a”到字符“z”这26个字母之间。

因此,基于这一规律,在对待测试gnss模组进行测试之前,可以预先构建如下正则表达式:^[\\$][a-z]{2}([rmc]|[vtg]|[gga]|[gsa]|[gsv]|[gll]){3},(.+)\*[\w]{2}。

需要说明的是,上述正则表达式为根据每行完整的nmea语句去除回车字符、换行字符后,整理构建出的。

此外,应当理解的是,在实际应用中,上述正则表达式可以基于不同编程语言的表述习惯稍作调整,本实施方式对此不作限制。

相应地,在基于上述正则表达式从所述待解析数据中提取初始数据类型标识时,按行读取待解析数据,然后将每行数据利用上述正则表达式进行匹配,如果符合上述正则表达式,则将“$”字符数据作为开始字符,到右侧第5位字符数据为止,这连续6位字符数据组成的字符串作为初始数据类型标识。如果不符合上述正则表达式,则判断当前数据是否是最后一行,如果是则结束解析,如果不是则记录此处异常供测试人员分析,同时读取下一行数据进行解析,直到结束。

此外,值得一提的是,上述所说的gga具体为globalpositioningsystemfixdata(全球定位系统固定资料);gsa具体为dopandactivesatellites(当前卫星),gsv具体为satellitesinview(可见卫星),rmc具体为recommendedminimumspecific/transitdata(推荐最小定位信息),vtg具体为trackmadegoodandgroundspeed(地面速度),gll具体为geographicposition(地理位置)。

此外,应当理解的是,以上仅为举例说明,对本实施方式的技术方案并不构成任何限定,在实际应用中,本领域技术人员可以根据现有nmea协议支持的语句的语句id的样式,以及提供gnss模组的供应商,构建能够涵盖现有各种情况的正则表达式,或者初始数据类型标识提取规则,本实施方式对此不做限制。

(2)从所述初始数据类型标识中提取预设位置的字符数据,得到所述目标数据类型标识。

具体的说,通过上述描述不难发现,通常最后3位才是真正标识待解析数据数据类型的,因而在本实施方式中,上述预设位置具体为所述初始数据类型标识的第4位至第6位,这连续3位上的字符数据。

为了便于理解,以下结合实例进行说明:

比如说,待解析数据对应的初始数据类型标识为“$gngga”,则最终确定的目标数据类型为“gga”。

还比如说,在待解析数据对应的初始数据类型标识为“$gpgga”,则最终确定的目标数据类型仍为“gga”。

还比如说,在待解析数据对应的初始数据类型标识为“$bdgga”,则最终确定的目标数据类型仍为“gga”。

也就是说,本实施方式中提取出的目标数据类型标识能够兼容不同厂家的定义情况。

步骤102,根据所述目标数据类型标识和所述待解析数据的长度,在预先构建的解析规则集中选取目标解析规则。

具体的说,随着nmea协议不断的更新迭代,用于解析其包含的各种语句id的待解析数据的解析规则也存在不同的版本。而不同版本之间的区别,主要为增加新的字段参数,即不同版本对应的待解析数据的长度会有所不同。

因此,为了使得最终查找出的目标解析规则,既可以兼顾版本,又可以兼顾类型,本实施方式在从解析规则集中选取目标解析规则时,具体会采用提取的目标数据类型标识和所述待解析数据的长度这两个参数作为选取依据。

此外,值得一提的是,上述所说的目标解析规则是用于对待解析数据中每一个字段的参数进行定义和解释的规则。因此,为了便于快速获取目标解析规则,需要预先收集整理现有nmea协议包含的各种语句id的待解析数据对应的解析规则,并对其进行整理归纳,生成能够兼容不用供应商提供的gnss模组的解析规则,并建立目标数据类型标识和各种类型的待解析数据的长度与解析规则之间的对应关系。

此外,值得一提的是,由于在实际应用,待解析数据中可能会包含可循环显示的信息,比如不同卫星的信息,而在一些情况下,某一待解析数据可能只记录了一个卫星的信息,而另一待解析数据则记录了多个,但是其实这两个待解析数据其实对于的解析规则的版本是一样的,但是其长度却是不相同的。因此,为了保证确定的长度具有参考价值,使得最终选取的目标解析规则更适合当前待解析数据,在执行上述步骤102之前,可以先将所述待解析数据转换为所述目标数据类型标识对应的标准解析格式,进而得到标准待解析数据。

相应地,最终在从预先构建的解析规则集中选取目标解析规则时,是根据述目标数据类型标识和所述标准待解析数据的长度这两个参数。

为了便于理解,本实施方式以待解析数据为数据类型为gsv格式的语句为例,进行说明:

假设gsv格式的语句对应的解析规则有如下两个版本:

版本1:gsv,<1>,<2>,<3>,<4>,<5>,<6>,<7>,…<4>,<5>,<6>,<7>*hh<cr><lf>

版本2:gsv,<1>,<2>,<3>,<4>,<5>,<6>,<7>,…<4>,<5>,<6>,<7>,<8>*hh<cr><lf>

针对上述两个版本,解析规则中对各个字段参数的定义和解释,具体如下:

字段<1>各星系gsv语句的总数;

字段<2>各星系本句gsv的编号;

字段<3>各星系可见卫星的总数;

字段<4>伪随机噪声prn码,在实际应用中,可以理解为卫星编号,各星系卫星编号各厂商规定会有差异;

字段<5>卫星仰角;

字段<6>卫星方位角;

字段<7>信噪比,取值区间在00db~99db,没有跟踪到卫星时为空,前面的0也将被传输;

字段<8>信号频段信息,比如1代表l1频段卫星信号,8代表l5频段卫星信号;

*后面的字段hh是校验值,<cr><lf>分别对应回车和换行。

此外,需要说明的是,在实际应用中,<4>,<5>,<6>,<7>处的信息会按照每颗卫星进行循环显示,每条gsv格式的语句最多可以显示4颗卫星的信息,即<4>,<5>,<6>,<7>这4个字段为一组,最多显示4次,未显示的其他卫星信息将在下一序列的语句中输出。

因此,如果获取到的gsv格式的语句(待解析数据)如下:

$gpgsv,3,3,14,30,24.0,70.0,15.3,31,5.0,125.0,19.6,80,47.0,336.0,20.7,1,*4c

即,<4>,<5>,<6>,<7>这4个字段只出现了3次,因此在将该预计转换为gsv数据类型标识对应的标准解析格式,即设置<4>,<5>,<6>,<7>这4个字段出现4次后,得到的标准待解析数据为:

$gpgsv,3,3,14,30,24.0,70.0,15.3,31,5.0,125.0,19.6,80,47.0,336.0,20.7,,,,,1,*4c

通过对比可以发现,转换后的标准待解析数据的长度满足上述给出的版本2的长度,即需要对字段<8>处的字符数据进行解析。

相应地,基于目标数据类型标识“gsv”和标准待解析数据的长度,在预先构建的解析规则集中选取目标解析规则具体为上述给出的版本2对应的解析规则,即包含了字段<1>至字段<8>这些字段的定义和解释的解析规则。

此外,在实际应用中,还可以按照如下方式确定选取的解析规则的版本,具体的:

首先,将上述语句根据“,”和“*”进行分组,保存在数组linedatas中;

然后,将数组长度除以4,若余1则确定待解析数据的长度为上述给出版本1的长度,若余2则确定待解析数据的长度为上述给出版本2的长度。

为了便于理解,以下给出部分实现代码:

具体的,在实际应用中,可以通过“scount=(len-5)/4”判断卫星数量;通过如下代码实现动态获取卫星信息:

for(inti=0;i<scount;i++){

prn码=linedatas[4+i*4]

卫星仰角=linedatas[5+i*4]

卫星方位角=linedatas[6+i*4]

卫星信噪比=linedatas[7+i*4]

}

其中,scount表示卫星数量,len表示数组长度。

通过上述代码片段不难发现,基于这一方式,不仅可以动态获取卫星信息,还可以判定所得数据是否满足测试需求。

基于上述判断逻辑可以发现,上述待解析数据的长度满足上述给出的版本2的长度,即需要对字段<8>处的字符数据进行解析。

应当理解的是,以上给出的仅为两种具体的实现方式,对本实施方式的技术方案并不构成任何限定,在实际应用中,本领域技术人员可以根据需要设置,本实施方式对此不做限制。

步骤103,根据所述目标解析规则对所述待解析数据进行解析,得到解析结果。

为了便于理解,此处仍以待解析数据为“$gpgsv,3,3,14,30,24.0,70.0,15.3,31,5.0,125.0,19.6,80,47.0,336.0,20.7,1,*4c”,确定的目标解析规则为上述给出的版本2为例,进行说明:

具体的,接过解析,得到的解析结果为:

“$gpgsv”:该待解析数据为gpssatellitesinview(gsv)可见卫星信息;

“3”:本次搜索gps星系的gsv语句总数为3条;

“3”:本条gsv语句是第3条;

“14”:gps星系可见卫星总数为14;

“30”:prn码为30;

“24.0”:卫星仰角为24.0;

“70.0”:卫星方位角为70.0;

“15.3”:信噪比为15.3;

“31”:prn码为31;

“5.0”:卫星仰角为5.0;

“125.0”:卫星方位角为125.0;

“19.6”:信噪比为19.6;

“80”:prn码为80;

“47.0”:卫星仰角为47.0;

“336.0”:卫星方位角为336.0;

“20.7”:信噪比为20.7;

“1”:信号频段为l1频段卫星信号;

“4c”校验码为4c。

应当理解的是,以上给出的仅为一种解析结果的显示格式,在实际应用中,本领域技术人员可以根据需要设置解析结果中记载的上述内容的格式,本实施方式对此不做限制。

步骤104,根据所述解析结果确定所述待测试导航定位模组的定位性能,得到针对所述待测试导航定位模组的测试结果。

具体的说,在根据所述解析结果确定所述待测试导航定位模组的定位性能,以得到针对所述待测试导航定位模组的测试结果时,可以通过将解析结果中记录的各项数据与当前待测试导航定位模组对应的基准信息进行对比,进而确定其定位性能,得到符合当前实际情况的测试结果。

通过上述描述不难发现,本实施方式提供的导航定位模组的测试方法,在获取到待测试导航定位模组提供的待解析数据后,通过从待解析数据中提取目标数据类型标识,以及确定待解析数据的长度,进而根据得到的这两个参数便可以自动在预先构建的解析规则集中查找适合当前待解析数据的目标解析规则,并根据查找到的目标解析规则对待解析数据进行解析,获得解析结果,最终根据得到的解析结果确定待测试导航模组的定位性能,得到针对待测试导航定位模组的测试结果,由于整个过程无需测试人员介入,从而大大简化了测试人员的操作,降低了测试人员的工作量。

本发明的第二实施方式涉及一种导航定位模组的测试方法。第二实施方式在第一实施方式的基础上做了进一步改进,主要改进之处为:在获取待测试导航定位模组提供的待解析数据,对待测试导航定位模组进行测试之前,需要先确定测试所需的待解析数据的来源,即待解析数据是动态待解析数据还是静态待解析数据。

步骤201,判断所述待解析数据是否为静态待解析数据。

具体的说,若通过判断,确定所述待解析数据为静态解析数据,则进入步骤202;若通过判断,确定所述待解析数据不是静态待解析数据,则认为所述待解析数据为动态待解析数据,种情况进入步骤203。

需要说明的是,在本实施方式中,上述所说的静态待解析数据实质为所述待测试导航定位模组生成的历史定位数据,即在对所述待测试导航定位模组进行测试时,所述静态待解析数据已经存在。

相应地,所述动态待解析数据则为所述待测试导航定位模组生成的实时定位数据,即在对所述待测试导航定位模组进行测试的过程中,所述待测试导航定位模组实时生成的定位数据。

步骤202,获取所述静态待解析数据对应的存储路径。

具体的说,在实际应用中,为了便于存储和管理静态待解析数据(可能为多条待解析语句),通常会将静态待解析数据记录在一个文件中,然后将该文件存储在一个指定区域。

因而,在获取所述待解析静态数据对应的存储路径时,只需获取该文件的存储路径即可。

此外,在实际应用中,所述静态待解析数据可以是存储在待测试导航定位模组中的,也可以存储在其他指定设备中,本领域技术人员可以根据需要进行设置,本实施方式对此不做限制。

步骤203,确定与所述待测试导航定位模组匹配的通信协议,采用所述通信协议与所述待测试导航定位模组建立通信连接。

具体的说,由于待测试导航定位模组的供应商不同,因此不同型号的待测试导航定位模组会对应不同的通信协议。因而,为了能够采用与当前待测试导航定位模组匹配的通信协议建立两者之间的通信连接,以保证能够从待测试导航定位模组中获取到动态待解析数据,就需要确定与当前待测试导航定位模组匹配的通信协议。

为了快速确定与当前待测试导航定位模组匹配的通信协议,本实施方式在对待测导航定位模组进行测试之前,会收集整理现有不同待测导航定位模组的模组型号,以及各模组型号的待测试导航定位模组对应的通信协议;然后,建立模组型号与通信协议之间的对应关系,并根据这种对应关系生成记载有适应于各种模组型号的待测试导航定位模组匹配的通信协议的配置文件。

相应地,在确定与所述待测试导航定位模组匹配的通信协议时,通过获取所述待测试导航定位模组的模组型号,进而根据获取到的模组型号在从预设的配置文件中进行查找,便可以快速、准确的查找到所述待测试导航定位模组匹配的通信协议。由于整个过程无需测试人员介入,因而在兼容不同类型的待测试导航定位模组的情况下,也进一步简化了测试人员的操作,降低了测试人员的工作量。

进一步地,在确定与所述待测试导航定位模组匹配的通信协议,并采用所述通信协议与所述待测试导航定位模组建立通信连接之后,为了实现了对待测试导航定位模组特定功能的针对性测试,可以根据预设测试需求,向所述待测试导航定位模组发送对应的测试指令,从而使得步骤204获取的待测试导航定位模组提供的待解析数据为针对所述测试指令生成的动态待解析数据。

关于上述所说的根据预设测试需求,可以是如下给出的任意一种或多:首次定位时间(timetofirstfi,ttff)测试、定位精确度测试、灵敏度测试、重新捕获时间测试、干扰测试、多径测试、变化对流层和电离层条件下测试等。

进一步地,ttff测试又可以细化为冷启动条件下的ttff测试,温启动条件下的ttff测试、热启动条件下的ttff测试;定位精确度测试又可以细化为相对和绝对定位精确度测试,移动定位精确度测试;灵敏度测试又可以细化为捕获灵敏度测试和跟踪灵敏度测试。

应当理解的是,以上仅为举例说明,对本实施方式的技术方案并不构成任何限定,在实际应用中,本领域技术人员可以根据需要设置测试需求,本实施方式对此不做限制。

步骤204,获取待测试导航定位模组提供的待解析数据,从所述待解析数据中提取目标数据类型标识。

应当理解的是,通过上述步骤201至步骤203的描述可知,待解析数据可能是静态待解析数据,也可能是动态待解析数据。因而,针对不同类型的待解析数据,具体的获取方式也会有所不同。

具体而言,在所述待解析数据为静态待解析数据时,具体是根据静态待解析数据的存储路径执行获取待测试导航定位模组提供的待解析数据的操作,即从所述存储路径下获取所述待测试导航定位模组提供的待解析静态数据;在所述待解析数据为动态待解析数据,即实时定位数据时,需要先根据预设测试需求,向所述待测试导航定位模组发送对应的测试指令,然后从所述待测试导航定位模组获取针对所述测试指令的动态待解析数据。

由于待解析数据可能是静态待解析数据,也可能是动态待解析数据,因而在基于第一实施方式中给出的正则表达式从所述待解析数据中提取初始数据类型标识时,会根据数据来源不同做不同处理,为了便于理解,以下进行具体说明:

具体的,如果待解析数据是静态待解析数据,即gnss模组运行后保存的历史数据,则提取初始数据类型标识的操作具体为:将文本格式的待解析数据按行读取,将每行数据利用上述正则表达式进行匹配,若符合正则表达式,则将“$”字符开始,到右侧第5位字符数据为止,这连续6位字符数据组成的字符串作为初始数据类型标识;如果不符合正则表达式,则判断当前数据是否是最后一行,如果是则结束解析,如果不是则记录此处异常供测试人员分析,同时读取下一行数据进行解析,直到结束。

如果待解析数据是动态待解析数据,即gnss模组实时上传的定位数据,则提取初始数据类型标识的操作具体为:将所述待解析数据通过回车换行标识符进行分组,以数组方式缓存这些数据,数组中每个元素代表一行定位信息,然后通过遍历数组中的元素,并利用上述正则表达式判断遍历到的当前字符数据是否符合上述正则表达式规则,如果不符合上述正则表达式规则,则判断当前数组元素是否是最后一个元素,如果是则保存此元素,将此元素与下一次读取数据拼接在一起,然后通过上述解析方式解析接收到数据,直到停止gnss模组数据输出;如果当前数据符合正则表达式规则,则将“$”字符开始,到右侧第5位字符数据为止,这连续6位字符数据组成的字符串作为初始数据类型标识。

步骤205,根据所述目标数据类型标识和所述待解析数据的长度,在预先构建的解析规则集中选取目标解析规则。

步骤206,根据所述目标解析规则对所述待解析数据进行解析,得到解析结果。

步骤207,根据所述解析结果确定所述待测试导航定位模组的定位性能,得到针对所述待测试导航定位模组的测试结果。

不难发现,本实施方式中的步骤204至步骤207与第一实施方式中的步骤101至步骤104大致相同,在此就不再赘述。

由此,本实施方式提供的待测试导航定位模组的测试方法,通过基于待解析数据的数据源设置不同的待解析数据获取方式,从而可以基于对不同类型的待解析数据,实现对待测试导航定位模组的测试。

此外,在待解析数据不是静态待解析数据,即为动态待解析数据(待测试导航定位模组生成的实时定位数据)时,通过确定与待测试导航定位模组匹配的通信协议,并采用确定的通信协议与待测试导航定位模组建立通信连接,从而可以实现与不同待测试导航模组的通信。

本发明第三实施方式涉及一种导航定位模组的测试方法。第三实施方式在第一实施方式的基础上做了进一步改进,主要改进之处为:在根据所述解析结果确定所述待测试导航定位模组的定位性能,得到针对所述待测试导航定位模组的测试结果之前,通过对解析结果进行异常检测,在确定解析结果存在异常时,通过对解析结果进行异常标注,从而使得测试人员能够快速定位异常原因,进一步降低了测试人员的工作量。

步骤301,获取待测试导航定位模组提供的待解析数据,从所述待解析数据中提取目标数据类型标识。

步骤302,根据所述目标数据类型标识和所述待解析数据的长度,在预先构建的解析规则集中选取目标解析规则。

步骤303,根据所述目标解析规则对所述待解析数据进行解析,得到解析结果。

不难发现,本实施方式中的步骤301至步骤301与第一实施方式中的步骤101至步骤103大致相同,在此就不再赘述。

步骤304,检查所述解析结果是否存在异常。

具体的说,若通过检查,发现所述解析结果不存在异常,则直接执行步骤305;否则,执行步骤306。

关于检查所述解析结果是否存在异常的方式,具体可以结合确定的目标解析规则中为每个字段参数的定义及解释进行检查。

仍以第一实施方式中给出的待解析数据为“$gpgsv,3,3,14,30,24.0,70.0,15.3,31,5.0,125.0,19.6,80,47.0,336.0,20.7,1,*4c”为例,根据目标解析规则中针对<4>,<5>,<6>,<7>这4个字段的解释“每条gsv格式的语句最多可以显示4颗卫星的信息”,以及字段<1>定义的各星系gsv语句的总数,字段<2>定义的各星系本句gsv的编号,可知在gps星系的gsv语句总数为3条,当前待解析数据为第三句时,gps星系可见的卫星总数应该是12颗(每一条gsv语句最多可以显示4颗卫星的信息,在3条的情况下最多为12颗),但是字段<3>中记录的可见卫星总数为“14”。

也就是说,通过检查,发现当前解析结果是存在异常的。

步骤305,根据所述解析结果确定所述待测试导航定位模组的定位性能,得到针对所述待测试导航定位模组的测试结果。

不难发现,本实施方式中的步骤305与第一实施方式中的步骤104大致相同,在此就不再赘述。

步骤306,对所述解析结果进行异常标注。

具体的说,在对所说解析结果进行异常标注时,具体是对存在异常的字段内容进行标注,比如采用预设颜色进行高亮标注。

相应地,步骤304中列举的存在异常的内容即为字段<3>对应的具体数据“14”,此时进行的异常标注可以是对字段<3>对应的具体数据“14”进行黄色高亮标注。

进一步地,在对所说解析结果中存在异常的字段进行异常标注后,可以直接将进行异常标注后的解析结果在测试设备的显示界面进行显示,以供测试人员查看;也可以生成异常报文,下发至测试人员预存的指定地址。

应当理解的是,以上仅为举例说明,对本实施方式的技术方案并不构成任何限定,在实际应用中,本领域技术人员可以根据需要进行设置,本实施方式对此不做限制。

通过上述描述不难发现,本实施方式提供的导航定位模组的测试方法,通过对解析结果进行异常检测,在确定解析结果存在异常时,通过对解析结果进行异常标注,从而使得测试人员能够快速定位异常原因,进一步降低了测试人员的工作量。

此外,应当理解的是,上面各种方法实施方式中的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明第四实施方式涉及一种导航定位模组的测试装置,如图4所示,包括:获取模块401、提取模块402、选取模块403、解析模块404和测试模块405。

其中,获取模块401,用于获取待测试导航定位模组提供的待解析数据,所述待解析数据为所述待测试导航定位模组定位过程中生成的定位数据;提取模块402,用于从所述待解析数据中提取目标数据类型标识;选取模块403,用于根据所述目标数据类型标识和所述待解析数据的长度,在预先构建的解析规则集中选取目标解析规则;解析模块404,用于根据所述目标解析规则对所述待解析数据进行解析,得到解析结果;测试模块405,用于根据所述解析结果确定所述待测试导航定位模组的定位性能,得到针对所述待测试导航定位模组的测试结果。

此外,在另一个例子中,提取模块402具体用于基于预设的正则表达式,从所述待解析数据中提取初始数据类型标识;从所述初始数据类型标识中提取预设位置的字符数据,得到所述目标数据类型标识。

此外,在另一个例子中,导航定位模组的测试装置还包括标准化转换模块。

具体的,标准化转换模块,用于将所述待解析数据转换为所述目标数据类型标识对应的标准解析格式,得到标准待解析数据。

相应地,在得到标准待解析数据之后,选取模块403具体用于根据所述目标数据类型标识和所述标准待解析数据的长度,在预先构建的解析规则集中选取目标解析规则。

此外,在另一个例子中,导航定位模组的测试装置还包括数据源确定模块、路径获取模块和通信模块。

具体的,数据源确定模块,用于判断所述待解析数据是否为静态待解析数据。

需要说明的是,上述所说的静态待解析数据为所述待测试导航定位模组生成的历史定位数据。

相应地,在所述待解析数据是所述静态待解析数据时,路径获取模块用于获取所述静态待解析数据对应的存储路径;在所述待解析数据不是所述静态待解析数据时,通信模块用于确定与所述待测试导航定位模组匹配的通信协议,采用所述通信协议与所述待测试导航定位模组建立通信连接。

相应地,在路径获取模块获取到所述存储路径之后,获取模块401具体用于根据所述存储路径执行获取待测试导航定位模组提供的待解析数据;在通信模块与所述待测试导航定位模组建立通信连接之后,获取模块401具体用于获取待测试导航定位模组提供的待解析数据。

此外,在另一个例子中,通信模块具体用于获取所述待测试导航定位模组的模组型号,并根据所述模组型号,从预设的配置文件中选取所述待测试导航定位模组匹配的通信协议。

此外,在另一个例子中,导航定位模组的测试装置还包括测试指令发送模块。

具体的,测试指令发送模块,用于根据预设测试需求,向所述待测试导航定位模组发送测试指令。

相应地,获取模块401具体用于获取所述待测试导航定位模组提供的针对所述测试指令生成的待解析数据。

此外,在另一个例子中,导航定位模组的测试装置还包括异常检测模块和异常标注模块。

具体的,异常检测模块,用于检查所述解析结果是否存在异常。

相应地,在所述解析结果不存在异常时,测试模块405才执行根据所述解析结果确定所述待测试导航定位模组的定位性能,得到针对所述待测试导航定位模组的测试结果的操作;在所述解析结果存在异常时,异常标注模块会对所述解析结果进行异常标注。

不难发现,本实施方式为与第一,或第二,或第三实施方式相对应的装置实施方式,本实施方式可与第一,或第二,或第三实施方式互相配合实施。第一,或第二,或第三实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一,或第二,或第三实施方式中。

值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。

本发明第五实施方式涉及一种导航定位模组的测试设备,如图5所示,包括至少一个处理器501;以及,与所述至少一个处理器501通信连接的存储器502;其中,所述存储器502存储有可被所述至少一个处理器501执行的指令,所述指令被所述至少一个处理器501执行,以使所述至少一个处理器501能够执行上述第一,或第二,或第三实施方式所描述的导航定位模组的测试方法。

其中,存储器502和处理器501采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器501和存储器502的各种电路链接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。

处理器501负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器502可以被用于存储处理器501在执行操作时所使用的数据。

本领域技术人员可以理解实现上述实施方式方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施方式,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1