gnss北斗定位模块接口数据低延时解析处理方法
技术领域
1.本发明涉及gnss北斗卫星定位技术领域,特别涉及gnss北斗定位模块接口数据低延时解析处理方法。
背景技术:2.传统gnss接收机的系统核心架构主要是采用arm主控模块、gnss高精度定位板卡模块的方案,arm主控模块与gnss高精度定位板卡模块之间通过uart接口通信,受arm主控模块和gnss板卡uart接口数量限制,各种gnss数据报文只能通过一个或两个uart接口传输,arm主控模块从uart接口收到数据后,再按gnss不同类型报文的格式进行解析提取,依次进行分发,整个解析分发流程是串行的,需要依次按照nmea0183、rtcm差分数据、原始观测数据三种格式对数据尝试解析处理,即使gnss板卡模块只输出某一种格式的数据,也需要按三种数据格式依次尝试,因此造成了无谓的处理器资源浪费,导致数据处理存在较大的时间延迟,不适用于对数据传输延迟有较高要求的场景,特别是gnss数据报文输出频率较高时,这种串行处理方式可能造成数据报文来不及解析而丢失,影响用户的使用。
技术实现要素:3.本发明的目的在于提供gnss北斗定位模块接口数据低延时解析处理方法,对gnss数据的解析提取同时并行进行,互不干扰,在gnss数据报文输出频率较高时,优势明显,以解决上述背景技术中提出的问题。
4.为实现上述目的,本发明提供如下技术方案:
5.gnss北斗定位模块接口数据低延时解析处理方法,包括以下步骤:
6.获取gnss数据:北斗gnss定位板卡从uart接口输出多种报文信息,将所述报文信息数据通过uart输送至fpga端;
7.fpga端通过uart接口采集得到多种报文信息,识别所述多种报文信息的数据格式特征,依据所述数据格式特征与特征数据库进行对比,得到对比结果;
8.依据所述对比结果将所述报文信息进行分组和标记,将所述报文信息依据分组进行同步传输;
9.所述北斗gnss定位板卡针对输出的每路数据分别生成相对应的信息标签,依据各路所述信息标签形成若干数据流组;
10.将若干数据流组通过uart接口同步传输至fpga端,同时,通过传输通道与临时存储数据库进行数据的临时储存;
11.数据复制传输:fpga端获取到多数的报文信息数据,将所述报文信息数据复制为三份,同时,建立传输通道,通过所述传输通道分别写入信息解析单元各自的输入ram块中;
12.其中,所述信息解析单元包括nmea0183信息解析单元、rtcm差分数据信息解析单元和原始观测数据信息解析单元;
13.基于所述复制后的若干数据流组获取待创建传输通道,并对所述待创建传输通道
进行读取,确定所述待待创建传输通道的创建数量,其中,所述待创建传输通道为三个,每个所述待创建输通道包括与述若干数据流组对应的的数据类别、数据字节以及对应的源数据端;
14.对所述创建数量进行分析,确定所述待创建传输通道的同步级,并基于所述同步级执行数据传输任务;
15.当执行所述数据传输任务时,基于所述待创建传输通道的属性信息确定所述待创建待传输通道对应的源数据端,并基于所述源数据端传输至目标数据端,其中,所述目标数据端至少为一个;
16.基于所述目标数据端构建交互区块链,同时获取标数据端的ip地址,并基于所述ip地址通过所述交互区块链构建所述fpga端以及ram块的通讯链路;
17.基于所述通讯链路在所述交互区块链中将所述fpga端以及ram块进行双向匹配,并基于匹配结果通过所述通讯链路向所述fpga端以及ram块进行数据双向传输;
18.数据处理:所述ram块分别获取与所述信息解析单元对应的中断信号,并依据所述中断信号通知arm主控单元,所述arm主控单元分别从所述信息解析单元的输出ram块中提取目标数据,将所述目标数据输送至传输接口单元进行分发再处理。
19.进一步的,建立传输通道,通过所述传输通道分别写入信息解析单元各自的输入ram块中,还包括:
20.基于所述数据双向传输通道构建临时实时通讯路由,且所述fpga端以及ram块基于所述临时实时通讯路由进行数据实时储存,并将储存结果反馈至所述交互区块链;
21.基于反馈结果确定在所述交互区块链中对所述报文信息的传输进度进行管理的目标模式,并基于所述目标模式对所述报文信息的传输进度进行数据同步;
22.基于所述数据同步结果建立进度表格,并当所述报文信息完成传输时,完成对所述报文信息的传输任务,同步生成三个中断信号。
23.进一步的,ram块分别获取与所述信息解析单元对应的中断信号,并依据所述中断信号通知arm主控单元,具体包括:
24.所述nmea0183信息解析单元、rtcm差分数据信息解析单元和原始观测数据信息解析单元同时获取所述中断信号;
25.所述nmea0183信息解析单元、rtcm差分数据信息解析单元和原始观测数据信息解析单元同步对各自ram块中数据进行解析;
26.解析成功的信息解析单元将解析出的报文放在指定的输出ram块中,生成硬件中断信号;
27.将所述硬件中断信号传输至arm主控单元,arm主控单元生成报文提取指令;
28.所述arm主控单元依据报文提取指令从所述信息解析单元的输出ram块中提取所述报文。
29.进一步的,建立传输通道,通过所述传输通道分别写入信息解析单元各自的输入ram块中,还包括:
30.基于所述数据双向传输通道构建临时实时通讯路由,在所述fpga端的待传输数据作为原始数据,并将其划分为预设长度的待加密段,确定待加密段的加密序列;
31.根据所述待加密段的数量,基于所述加密序列进行排列,每列所述待加密段的数
量不超过10个,将每列所述待加密段打包生成待加密数据集;
32.基于待加密数据集进行随机加密,同时获取加密密钥,将所述加密密钥建立标签,与所述待加密数据集进行绑定;
33.分别计算每一加密密钥长度,计算得出所述加密系数与ram块接收端的漏洞风险风险指数,根据每个ram块接收端的安全性指数筛选出安全接收端和风险接收端;
34.确认所述风险接收端的风险系数是否大于预设系数,若是,基于双向传输通道将所述待加密数据集传输至fpga端,将所述待加密数据集作为原始数据进行二次加密,若否,则对加密数据集与加密密钥进行分级输送。
35.进一步的,所述待加密数据集传输至fpga端,还包括:
36.将加密后的数据集和加密密钥存储在云网络中的存储节点上,在储存过程中,提取加密密钥的密钥特征,建立密钥特征波形,得到若干个子数据;
37.确定所述每个子数据的特征信息,根据所述特征信息将所述加密密钥与加密密钥与不少于一个存储在云网络中的加密密钥进行一一比对,确定加密密钥之间的特征相似度,将所述若干个加密密钥基于进行特征相似度的顺序,建立排队队列并进行显示;
38.确认每个加密密钥中特征相似度是否大于等于预设阈值,并根据所述特征相似度超出阈值范围计算风险系数,确定所述加密密钥的最大防护等级指数,确认所述最大防护等级指数是否高于预设防护等级指数;
39.若是,确认该加密密钥存在漏洞风险数据,基于双向传输通道将所述加密密钥匹配的待加密数据集传输至fpga端,将所述待加密数据集作为原始数据进行二次加密,若否,确认该加密密钥中未存在漏洞风险数据。
40.进一步的,所述方法包括fpga模块、gnss定位板卡模块和电源管理模块构成的基于fpga的gnss北斗定位模块接口数据低延时解析处理系统,fpga模块与gnss定位板卡模块通过uart接口连接,fpga模块、gnss定位板卡模块与电源管理模块的供电接口连接,所述系统运行时执行权利要求1-5任一项所述gnss北斗定位模块接口数据低延时解析处理方法的步骤。
41.进一步的,所述fpga模块包含信息复制分发单元、arm主控单元、nmea0183信息解析单元、rtcm差分数据信息解析单元、原始观测数据信息解析单元、传输接口单元。
42.进一步的,所述信息复制分发单元将输入gnss定位板卡模块的信息复制三份作为nmea0183信息解析单元、rtcm差分数据信息解析单元、原始观测数据信息解析单元的输入。
43.进一步的,所述nmea0183信息解析单元、rtcm差分数据信息解析单元、原始观测数据信息解析单元同时对各自的输入ram块中数据进行解析,解析成功的信息解析单元将解析出的报文放在指定的输出ram块中,并通过自身的硬件中断信号通知arm主控单元。
44.进一步的,所述nmea0183信息解析单元对gnss定位板卡模块信息进行nmea0183格式信息的解析提取,rtcm差分信息解析单元对gnss定位板卡模块的rtcm差分数据进行解析,原始观测信息解析单元对gnss定位板卡模块的原始观测数据进行解析。
45.与现有技术相比,本发明的有益效果是:
46.1.gnss定位板卡模块通过uart接口输出多种报文信息,当报文信息数据通过uart到达fpga端时,fpga模块的信息复制分发单元将报文信息复制为三份分别写入nmea0183信息解析单元、rtcm差分数据信息解析单元、原始观测数据信息解析单元各自的输入ram块
中,并发出中断信号给到三个数据信息解析单元,此时三个数据信息解析单元同时对各自ram块中数据进行解析,解析成功的信息解析单元将解析出的报文放在指定的输出ram块中,并通过自身的硬件中断信号通知arm主控单元,arm主控从信息解析单元的输出ram块中取出报文交给传输接口单元进行分发再处理,同时并行进行对gnss数据的解析提取,互不干扰,不会造成无谓的处理器资源浪费,因此时间延迟极小,在gnss数据报文输出频率较高时,优势明显,不会出现gnss板卡模块信息来不及解析而丢失的问题,可用于对数据传输实时性和连续性有较高要求的场景。
47.2.通过利用对原始数据进行加密与对应密钥,不仅可以快速完成加密工作,且每一次加密的结果没有规律,难以在大量数据中分辨原始数据,极大限度的保护了原始数据的安全,且通过计算每个数据接收终端的安全性指数可以有效地将风险端和安全端进行区分,也避免了原始数据发生数据丢失或造成风险漏洞降低安全的情况,进一步的,通过加密密钥存储在云网络中的存储节点上进行一一对比,避免随机密码出现重复造成风险系数提升的情况,提高了数据传输的安全性,同时提高了稳定性和数据传输效率。
附图说明
48.图1为本发明的基于fpga的gnss接口数据低延时解析处理方法流程图;
49.图2为本发明的基于硬件解析gnss定位板卡的原理图;
50.图3为本发明的基于硬件解析gnss定位板卡信息的工作流程示意图;
51.图4为本发明的gnss北斗定位模块接口数据低延时解析处理数据传输加密流程图。
具体实施方式
52.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
53.实施例一:
54.为了解决传统gnss接收机的系统需要依次按照nmea0183、rtcm差分数据、原始观测数据三种格式对数据尝试解析处理,造成了无谓的处理器资源浪费,导致数据处理存在较大的时间延迟的技术问题,请参阅图1,本实施例提供以下技术方案:
55.gnss北斗定位模块接口数据低延时解析处理方法,包括以下步骤:
56.获取gnss数据:北斗gnss定位板卡从uart接口输出多种报文信息,将所述报文信息数据通过uart输送至fpga端;
57.数据复制传输:fpga端获取到多数的报文信息数据,将所述报文信息数据复制为三份,同时,建立传输通道,通过所述传输通道分别写入信息解析单元各自的输入ram块中;
58.其中,所述信息解析单元包括nmea0183信息解析单元、rtcm差分数据信息解析单元和原始观测数据信息解析单元;
59.数据处理:所述ram块分别获取与所述信息解析单元对应的中断信号,并依据所述中断信号通知arm主控单元,所述arm主控单元分别从所述信息解析单元的输出ram块中提
取目标数据,将所述目标数据输送至传输接口单元进行分发再处理;
60.所述nmea0183信息解析单元、rtcm差分数据信息解析单元和原始观测数据信息解析单元同时获取所述中断信号;所述nmea0183信息解析单元、rtcm差分数据信息解析单元和原始观测数据信息解析单元同步对各自ram块中数据进行解析;解析成功的信息解析单元将解析出的报文放在指定的输出ram块中,生成硬件中断信号;将所述硬件中断信号传输至arm主控单元,arm主控单元生成报文提取指令;所述arm主控单元依据报文提取指令从所述信息解析单元的输出ram块中提取所述报文。
61.具体的,通过将报文信息数据复制为三份,由信息解析单元同步进行数据解析,缩短了解析的时间,避免传统的信息解析单元依据优先级依次进行解析,降低网络延时产生的干扰,保证接收方最大程度上不中断、不掉点的接收数据。
62.为了解决arm主控模块从uart接口收到数据后,再按gnss不同类型报文的格式进行解析提取,依次进行分发,数据提取流程复杂的技术问题,请参阅图1,本实施例提供以下技术方案:
63.fpga端通过uart接口采集得到多种报文信息,识别所述多种报文信息的数据格式特征,依据所述数据格式特征与特征数据库进行对比,得到对比结果;
64.依据所述对比结果将所述报文信息进行分组和标记,将所述报文信息依据分组进行同步传输;
65.所述北斗gnss定位板卡针对输出的每路数据分别生成相对应的信息标签,依据各路所述信息标签形成若干数据流组;
66.将若干数据流组通过uart接口同步传输至fpga端,同时,通过传输通道与临时存储数据库进行数据的临时储存。
67.具体的,通过从uart接口采集的多种报文信息进行分类,北斗gnss定位板卡针对接收的每路数据分别生成相对应的信息标签,依据各路信息标签形成若干数据流组,简化了分类步骤,提高了分类效率,为后续的数据解析减轻了压力,同时对数据进行临时储存,避免数据丢失。
68.为了解决整个解析分发流程是串行的,这种串行处理方式可能造成数据报文来不及解析而丢失,影响用户的使用的技术问题,请参阅图1,本实施例提供以下技术方案:
69.基于所述复制后的若干数据流组获取待创建传输通道,并对所述待创建传输通道进行读取,确定所述待待创建传输通道的创建数量,其中,所述待创建传输通道为三个,每个所述待创建输通道包括与述若干数据流组对应的的数据类别、数据字节以及对应的源数据端;
70.对所述创建数量进行分析,确定所述待创建传输通道的同步级,并基于所述同步级执行数据传输任务;
71.当执行所述数据传输任务时,基于所述待创建传输通道的属性信息确定所述待创建待传输通道对应的源数据端,并基于所述源数据端传输至目标数据端,其中,所述目标数据端至少为一个;
72.基于所述目标数据端构建交互区块链,同时获取标数据端的ip地址,并基于所述ip地址通过所述交互区块链构建所述fpga端以及ram块的通讯链路;
73.基于所述通讯链路在所述交互区块链中将所述fpga端以及ram块进行双向匹配,
并基于匹配结果通过所述通讯链路向所述fpga端以及ram块进行数据双向传输;
74.基于所述数据双向传输通道构建临时实时通讯路由,且所述fpga端以及ram块基于所述临时实时通讯路由进行数据实时储存,并将储存结果反馈至所述交互区块链;
75.基于反馈结果确定在所述交互区块链中对所述报文信息的传输进度进行管理的目标模式,并基于所述目标模式对所述报文信息的传输进度进行数据同步;
76.基于所述数据同步结果建立进度表格,并当所述报文信息完成传输时,完成对所述报文信息的传输任务,同步生成三个中断信号。
77.具体的,通过对待创建传输通道进行读取,实现对传输通道进行准确有效的创建,同时在创建的过程中实现对传输通道对应的fpga端以及ram块进行准确的匹配,其次,实现fpga端以及ram块的信息进行及时有效的互通,且实时对数据传输进度进行同步管理,保证了数据的完整性。
78.为了解决即使gnss板卡模块只输出某一种格式的数据,也需要按三种数据格式依次尝试,因此造成了无谓的处理器资源浪费,导致数据处理存在较大的时间延迟,不适用于对数据传输延迟有较高要求的场景的技术问题,请参阅图2-3,本实施例提供以下技术方案:
79.所述方法包括fpga模块、gnss定位板卡模块和电源管理模块构成的基于fpga的gnss北斗定位模块接口数据低延时解析处理系统,fpga模块与gnss定位板卡模块通过uart接口连接,fpga模块、gnss定位板卡模块与电源管理模块的供电接口连接,所述系统运行时执行gnss北斗定位模块接口数据低延时解析处理方法的步骤;
80.fpga模块包含信息复制分发单元、arm主控单元、nmea0183信息解析单元、rtcm差分数据信息解析单元、原始观测数据信息解析单元、传输接口单元;信息复制分发单元将输入gnss定位板卡模块的信息复制三份作为nmea0183信息解析单元、rtcm差分数据信息解析单元、原始观测数据信息解析单元的输入;nmea0183信息解析单元、rtcm差分数据信息解析单元、原始观测数据信息解析单元同时对各自的输入ram块中数据进行解析,解析成功的信息解析单元将解析出的报文放在指定的输出ram块中,并通过自身的硬件中断信号通知arm主控单元;nmea0183信息解析单元只对gnss定位板卡模块信息进行nmea0183格式信息的解析提取,rtcm差分信息解析单元只对gnss定位板卡模块的rtcm差分数据进行解析,原始观测信息解析单元只对gnss定位板卡模块的原始观测数据进行解析。
81.需要说明的是,信息复制分发单元对三个数据信息解析单元的输入ram块拥有读写的权限,三个数据信息解析单元对自身的输入ram只拥有读的权限,对输出ram块拥有读写的权限,arm主控单元对三个数据信息解析单元的输出ram块只拥有读的权限。fpga模块、gnss定位板卡模块由电源管理模块进行供电。
82.具体的,通过uart接口传输给fpga模块进行处理,信息复制分发单元负责对gnss定位板卡模块的输出信息进行复制分发,rm主控单元负责对其他各单元进行管理及数据的中转,传输接口单元将arm主控单元输出的数据进行传输,同时并行进行对gnss数据的解析提取,互不干扰,不会造成无谓的处理器资源浪费,因此时间延迟极小,在gnss数据报文输出频率较高时,优势明显,不会出现gnss板卡模块信息来不及解析而丢失的问题,可用于对数据传输实时性和连续性有较高要求的场景。
83.实施例二:
84.为了解决传统的数据传输在加密过程中通过计算得出,加密过程及解密过程存在一定的规律,安全系数较低的技术问题,请参阅图4,本实施例提供以下技术方案:
85.区别于实施例一,建立传输通道,通过所述传输通道分别写入信息解析单元各自的输入ram块中,还包括:基于所述数据双向传输通道构建临时实时通讯路由,在所述fpga端的待传输数据作为原始数据,并将其划分为预设长度的待加密段,确定待加密段的加密序列;根据所述待加密段的数量,基于所述加密序列进行排列,每列所述待加密段的数量不超过10个,将每列所述待加密段打包生成待加密数据集;基于待加密数据集进行随机加密,同时获取加密密钥,将所述加密密钥建立标签,与所述待加密数据集进行绑定;分别计算每一加密密钥长度,计算得出所述加密系数与ram块接收端的漏洞风险风险指数,根据每个ram块接收端的安全性指数筛选出安全接收端和风险接收端;确认所述风险接收端的风险系数是否大于预设系数,若是,基于双向传输通道将所述待加密数据集传输至fpga端,将所述待加密数据集作为原始数据进行二次加密,若否,则对加密数据集与加密密钥进行分级输送;
86.该实例中,加密序列表示待加密段按次序排好的行列;
87.该实施例中,所述待加密数据集传输至fpga端,还包括:将加密后的数据集和加密密钥存储在云网络中的存储节点上,在储存过程中,提取加密密钥的密钥特征,建立密钥特征波形,得到若干个子数据;确定所述每个子数据的特征信息,根据所述特征信息将所述加密密钥与加密密钥与不少于一个存储在云网络中的加密密钥进行一一比对,确定加密密钥之间的特征相似度,将所述若干个加密密钥基于进行特征相似度的顺序,建立排队队列并进行显示;确认每个加密密钥中特征相似度是否大于等于预设阈值,并根据所述特征相似度超出阈值范围计算风险系数,确定所述加密密钥的最大防护等级指数,确认所述最大防护等级指数是否高于预设防护等级指数;若是,确认该加密密钥存在漏洞风险数据,基于双向传输通道将所述加密密钥匹配的待加密数据集传输至fpga端,将所述待加密数据集作为原始数据进行二次加密,若否,确认该加密密钥中未存在漏洞风险数据。
88.该实施例中,原始数据加密与加密密钥的生成同样适用于ram块输出端的数据传输与ram主控接收单元的数据接收。
89.具体的,通过利用对原始数据进行加密与对应密钥,不仅可以快速完成加密工作,且每一次加密的结果没有规律,难以在大量数据中分辨原始数据,极大限度的保护了原始数据的安全,且通过计算每个数据接收终端的安全性指数可以有效地将风险端和安全端进行区分,也避免了原始数据发生数据丢失或造成风险漏洞降低安全的情况,进一步的,通过加密密钥存储在云网络中的存储节点上进行一一对比,避免随机密码出现重复造成风险系数提升的情况,提高了数据传输的安全性,同时提高了稳定性和数据传输效率。
90.以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。