本发明涉及一种数据处理方法及装置,具体涉及基于powerpc平台的rapidio数据包处理方法稿。
背景技术:
powerpc(performanceoptimizationwithenhancedrisc–performancecomputing,精简指令集架构的中央处理器)。powerpc处理器有广泛的实现范围,包括从诸如power4那样的高端服务器cpu(centralprocessingunit,中央处理器)到嵌入式cpu市场。powerpc处理器在嵌入式领域中具有优异的性能、较低的能量损耗以及较低的散热量。
由于powerpc平台的优异性能,因此,powerpc平台在雷达信号处理中得到了广泛的应用;进而基于powerpc平台的应用中的信号处理板的型号也越来越多。但是,信号处理板的生产厂家不同,且每个厂家生产的每种型号的信号处理板处理的数据类型也不同、数据接口不同,再加上通信协议的区别导致每种型号的信号处理板的板间通信机制也不相同。譬如t4240型号的信号处理板是通过门铃中断方式来实现板间通信,而8640d型号的信号处理板则是通过网管建立链路的方式来实现板间通信。
在雷达的数据处理机柜进行安装时,需要在物理层面为不同型号的信号处理板安装专用的数据交换板,例如,一个雷达的数据处理机柜中会包含数十个,甚至上百个不同型号的信号处理板,那么就要对应安装这么多数量的专用的数据交换板以及相应的信号线,实现信号处理板与数据采集设备之间的点对点的连接方式,进而导致设计安装过程的工作量较大。
技术实现要素:
本发明所要解决的技术问题在于如何提供基于powerpc平台的rapidio数据包处理方法以降低机柜设计安装过程中的安装工作量。
本发明通过以下技术手段实现解决上述技术问题的:
本发明实施例提供了基于powerpc平台的rapidio数据包处理方法,所述方法包括:
1)、建立包括各种型号的信号处理板所需通信链路的数据收发模型,其中,诉所述数据收发模型具有与各个型号的信号处理板通信的数据接口;
2)、将信号处理板接入到安装有数据收发模型的数据处理设备上,利用所述数据收发模型接收与powerpc平台对应的信号处理板产生的rapidio数据包,并将所述rapidio数据包发送至对应的接收设备。
应用本发明实施例,在信号处理板接入雷达的数据处理机柜后,数据收发模型通过数据接口在软件层面直接从各种型号的信号处理板中获取rapidio数据包,无需在物理层面为各种型号的信号处理板连接专用的数据交换板,一方面免去了接线的工作量,另一方面也免去了使用专用的数据交换板,降低了系统复杂度,因此,本发明实施例可以降低机柜设计安装过程中的工作量。
可选的,所述将所述rapidio数据包发送至对应的接收设备,包括:
21)、判断用于处理rapidio数据包中当前rapidio数据包的数据接收标志位是否有效;
22)、在数据接收标志位无效的情况下,丢弃当前rapidio数据包,接收当前rapidio数据包的下一个rapidio数据包,将下一个rapidio数据包作为当前rapidio数据包,并返回执行步骤21);
23)、在数据接收标志位有效的情况下,将数据接收标志位设为无效,并解析当前rapidio数据包的长度;
24)、在当前rapidio数据包的长度无效的情况下,将当前rapidio数据包的长度设置零,以及将数据接收标志位设为无效,并返回执行步骤21);
25)、在当前rapidio数据包的长度有效的情况下,判断第一缓存区中的数据解析标志位是否有效;
26)、在第一缓存区中的数据解析标志位有效的情况下,返回执行步骤21);
27)、在第一缓存区中的数据解析标志位无效的情况下,将当前rapidio数据包拷贝到第一缓存区中,将数据解析标志位设为有效。
可选的,所述方法还包括:
28)、判断第一缓存区中的数据解析标志位是否有效;
29)、在第一缓存区中的数据解析标志位无效的情况下,获取第一缓存区中在当前rapidio数据包之后所存储的下一个rapidio数据包,并将下一个rapidio数据包作为当前rapidio数据包,返回执行步骤28);
210)、在第一缓存区中的数据解析标志位有效的情况下,判断当前rapidio数据包的数据字头是否有效;
211)、在当前rapidio数据包的数据字头无效的情况下,将数据解析标志位设置位无效,返回执行步骤28);
212)、在当前rapidio数据包的数据字头有效的情况下,判断当前rapidio数据包的数据字尾是否有效;
213)、在当前rapidio数据包的数据字尾无效的情况下,将数据解析标志位设置位无效,返回执行步骤28);
214)、在当前rapidio数据包的数据字尾有效的情况下,将第一缓存区中的当前rapidio数据包拷贝到接收设备的第二缓存区中进行信号处理,同时将解析标志位设为无效;继续接收rapidio数据包,并将所述rapidio数据包作为当前rapidio数据包,返回执行步骤21),直至rapidio数据包被接收完。
本发明实施例还提供了基于powerpc平台的rapidio数据包处理装置,所述装置包括:通信链路模块,用于:
1)、建立包括各种型号的信号处理板所需通信链路的数据收发模型,其中,诉所述数据收发模型具有与各个型号的信号处理板通信的数据接口;
2)、将信号处理板接入到安装有数据收发模型的数据处理设备上,利用所述数据收发模型接收与powerpc平台对应的信号处理板产生的rapidio数据包,并将所述rapidio数据包发送至对应的接收设备。
可选的,所述装置还包括接收rapidio数据包线程模块,用于:
21)、判断用于处理rapidio数据包中当前rapidio数据包的数据接收标志位是否有效;
22)、在数据接收标志位无效的情况下,丢弃当前rapidio数据包,接收当前rapidio数据包的下一个rapidio数据包,将下一个rapidio数据包作为当前rapidio数据包,并返回执行步骤21);
23)、在数据接收标志位有效的情况下,将数据接收标志位设为无效,并解析当前rapidio数据包的长度;
24)、在当前rapidio数据包的长度无效的情况下,将当前rapidio数据包的长度设置零,以及将数据接收标志位设为无效,并返回执行步骤21);
25)、在当前rapidio数据包的长度有效的情况下,判断第一缓存区中的数据解析标志位是否有效;
26)、在第一缓存区中的数据解析标志位有效的情况下,返回执行步骤21);
27)、在第一缓存区中的数据解析标志位无效的情况下,将当前rapidio数据包拷贝到第一缓存区中,将数据解析标志位设为有效。
可选的,所述装置还包括解析rapidio数据包线程模块,用于:
28)、判断第一缓存区中的数据解析标志位是否有效;
29)、在第一缓存区中的数据解析标志位无效的情况下,获取第一缓存区中在当前rapidio数据包之后所存储的下一个rapidio数据包,并将下一个rapidio数据包作为当前rapidio数据包,返回执行步骤28);
210)、在第一缓存区中的数据解析标志位有效的情况下,判断当前rapidio数据包的数据字头是否有效;
211)、在当前rapidio数据包的数据字头无效的情况下,将数据解析标志位设置位无效,返回执行步骤28);
212)、在当前rapidio数据包的数据字头有效的情况下,判断当前rapidio数据包的数据字尾是否有效;
213)、在当前rapidio数据包的数据字尾无效的情况下,将数据解析标志位设置位无效,返回执行步骤28);
214)、在当前rapidio数据包的数据字尾有效的情况下,将第一缓存区中的当前rapidio数据包拷贝到接收设备的第二缓存区中进行信号处理,同时将解析标志位设为无效;继续接收rapidio数据包,并将所述rapidio数据包作为当前rapidio数据包,触发接收rapidio数据包线程模块,直至rapidio数据包被接收完。
本发明的优点在于:
应用本发明实施例,在信号处理板接入雷达的数据处理机柜后,数据收发模型通过数据接口在软件层面直接从各种型号的信号处理板中获取rapidio数据包然后将rapidio数据转发至对应的信号处理板,无需在物理层面为各种型号的信号处理板连接专用的数据交换板,一方面免去了接线的工作量,另一方面也免去了使用专用的数据交换板,降低了系统复杂度,因此,本发明实施例可以降低机柜设计安装过程中的工作量。
附图说明
图1为本发明实施例提供的第一种基于powerpc平台的rapidio数据包处理方法的流程示意图;
图2为本发明实施例提供的第二种基于powerpc平台的rapidio数据包处理方法的流程示意图;
图3为本发明实施例提供的第三种基于powerpc平台的rapidio数据包处理方法的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
图1为本发明实施例提供的第一种基于powerpc平台的rapidio数据包处理方法的流程示意图,如图1所示,所述方法包括:
1)、建立包括各种型号的信号处理板所需通信链路的数据收发模型,其中,诉所述数据收发模型具有与各个型号的信号处理板通信的数据接口;
2)、将信号处理板接入到安装有数据收发模型的数据处理设备上,利用所述数据收发模型接收与powerpc平台对应的信号处理板产生的rapidio数据包,并将所述rapidio数据包发送至对应的接收设备。
示例性的,如图1所示:第一步,上电操作,使各个信号处理板的操作系统正常工作起来。第二步,在vxworks启动完成之前完成vxworks启动参数的配置、rapidio路由表的建立和信号处理板的id分配,然后通过vxworks系统下的api函数建立各个信号处理板的板间通信链路。第三步,若各信号处理板的板间通信链路建立成功,则启动rapidio数据包接收任务,若各信号处理板的板间通信链路未建立成功,继续等待板间通信链路的建立,直至通信链路建立成功。第四步,若rapidio数据包接收任务启动成功,则启动接收rapidio数据包线程,否则,继续等待rapidio数据包接收任务的启动,直至启动成功;第五步,开启解析rapidio数据包线程。
应用本发明实施例,在信号处理板接入雷达的数据处理机柜后,数据收发模型通过数据接口在软件层面直接从各种型号的信号处理板中获取rapidio数据包,无需在物理层面为各种型号的信号处理板连接专用的数据交换板,一方面免去了接线的工作量,另一方面也免去了使用专用的数据交换板,降低了系统复杂度,因此,本发明实施例可以降低机柜设计安装过程中的工作量。
另外,应用本发明实施例,可以在将数据收发模型建立之后,可以直接将该数据收发模型应用于新的雷达的数据处理机柜,不用建立新的数据收发模型,减少了新的机柜的设计安装工作量,提高了设计安装效率。
实施例2
图2为本发明实施例提供的第二种基于powerpc平台的rapidio数据包处理方法的流程示意图,如图2所示,实施例2在实施例1的基础上,将所述rapidio数据包发送至对应的接收设备过程中,增加了以下步骤:
21)、判断用于处理rapidio数据包中当前rapidio数据包的数据接收标志位是否有效;22)、在数据接收标志位无效的情况下,丢弃当前rapidio数据包,接收当前rapidio数据包的下一个rapidio数据包,将下一个rapidio数据包作为当前rapidio数据包,并返回执行步骤21);23)、在数据接收标志位有效的情况下,将数据接收标志位设为无效,并解析当前rapidio数据包的长度;24)、在当前rapidio数据包的长度无效的情况下,将当前rapidio数据包的长度设置零,以及将数据接收标志位设为无效,并返回执行步骤21);25)、在当前rapidio数据包的长度有效的情况下,判断第一缓存区中的数据解析标志位是否有效;26)、在第一缓存区中的数据解析标志位有效的情况下,返回执行步骤21);27)、在第一缓存区中的数据解析标志位无效的情况下,将当前rapidio数据包拷贝到第一缓存区中,将数据解析标志位设为有效。
示例性的,第一步,判断rapidio数据包的数据接收标志位是否有效,若有效,继续接收rapidio数据包,否则,丢弃该包rapidio数据包,准备接收下一包rapidio数据包;第二步,将rapidio数据包的有效标志位设为无效,准备开始接收下一包rapidio数据包;第三步,解析该包rapidio数据包长度;第四步,判断rapidio数据包长度是否有效,若是,则准备解析rapidio数据包,否则,将rapidio数据包长度设为0,同时将数据接收标志位设为无效,准备开始接收下一包rapidio数据包;第五步,判断数据解析标志位是否有效,若是,则表示系统正在解析上一包rapidio数据包,无法及时解析该包rapidio数据包,丢掉该包rapidio数据包,否则,将rapidio数据包拷贝到指定缓存区a中;第六步,将缓存区a中的rapidio数据包的数据解析标志位设为有效。
应用本发明上述实施例,在数据包接收过程中设置数据接收标志位,只有在上一个rapidio数据包被接收完成后,才会接收下一个rapidio数据包,避免了数据紊乱造成的死机。
另外,本发明实施例只开辟一个缓存区来接收rapidio数据包,设计结构简单,便于工程管理和系统联调时问题的定位。
实施例3
图3为本发明实施例提供的第三种基于powerpc平台的rapidio数据包处理方法的流程示意图,如图3所示,实施例3在实施例1的基础上,将所述rapidio数据包发送至对应的接收设备过程中,增加了以下步骤:
28)、判断第一缓存区中的数据解析标志位是否有效;29)、在第一缓存区中的数据解析标志位无效的情况下,获取第一缓存区中在当前rapidio数据包之后所存储的下一个rapidio数据包,并将下一个rapidio数据包作为当前rapidio数据包,返回执行步骤28);210)、在第一缓存区中的数据解析标志位有效的情况下,判断当前rapidio数据包的数据字头是否有效;211)、在当前rapidio数据包的数据字头无效的情况下,将数据解析标志位设置位无效,返回执行步骤28);212)、在当前rapidio数据包的数据字头有效的情况下,判断当前rapidio数据包的数据字尾是否有效;213)、在当前rapidio数据包的数据字尾无效的情况下,将数据解析标志位设置位无效,返回执行步骤28);214)、在当前rapidio数据包的数据字尾有效的情况下,将第一缓存区中的当前rapidio数据包拷贝到接收设备的第二缓存区中进行信号处理,同时将解析标志位设为无效;继续接收rapidio数据包,并将所述rapidio数据包作为当前rapidio数据包,返回执行步骤21),直至rapidio数据包被接收完。
本发明所述解析rapidio数据包线程模块流程图如图3所示:第一步,判断指定缓存区a中数据的数据解析标志位是否有效,若是,则进入下一步解析,否则,丢弃该包数据,准备解析下一包数据;第二步,判断数据解析标志位是否有效,若是,则进入下一步解析,否则,将数据解析标志位设为无效,准备解析下一包数据;第三步,判断数据字尾是否有效,若是,则进入下一步解析,否则,将数据解析标志位设为无效,准备解析下一包数据;第四步,将缓存区a中数据拷贝到缓存区b中,开始信号处理;第五步,将数据解析标志位设为无效。
应用本发明上述实施例,在数据包接收过程中设置数据接收标志位,只有在上一个rapidio数据包被解析完成后,才会解析下一个rapidio数据包,避免了数据紊乱造成的死机。
另外,本发明所述的解析rapidio数据包线程模块按照数据字头和字尾来解析rapidio数据包,设计简单,可以适用于不同项目不同数据类型的数据解析,同时,也方便设计师根据不同的项目的数据解析需要增加不同的数据解析约束条件,进而实现不同的信号处理功能。
实施例4
与本发明实施例1相对应,本发明实施例还提供了基于powerpc平台的rapidio数据包处理装置,所述装置包括:通信链路模块,用于:
1)、建立包括各种型号的信号处理板所需通信链路的数据收发模型,其中,诉所述数据收发模型具有与各个型号的信号处理板通信的数据接口;
2)、将信号处理板接入到安装有数据收发模型的数据处理设备上,利用所述数据收发模型接收与powerpc平台对应的信号处理板产生的rapidio数据包,并将所述rapidio数据包发送至对应的接收设备。
进一步的,所述装置还包括接收rapidio数据包线程模块,用于:
21)、判断用于处理rapidio数据包中当前rapidio数据包的数据接收标志位是否有效;
22)、在数据接收标志位无效的情况下,丢弃当前rapidio数据包,接收当前rapidio数据包的下一个rapidio数据包,将下一个rapidio数据包作为当前rapidio数据包,并返回执行步骤21);
23)、在数据接收标志位有效的情况下,将数据接收标志位设为无效,并解析当前rapidio数据包的长度;
24)、在当前rapidio数据包的长度无效的情况下,将当前rapidio数据包的长度设置零,以及将数据接收标志位设为无效,并返回执行步骤21);
25)、在当前rapidio数据包的长度有效的情况下,判断第一缓存区中的数据解析标志位是否有效;
26)、在第一缓存区中的数据解析标志位有效的情况下,返回执行步骤21);
27)、在第一缓存区中的数据解析标志位无效的情况下,将当前rapidio数据包拷贝到第一缓存区中,将数据解析标志位设为有效。
进一步的,所述装置还包括解析rapidio数据包线程模块,用于:
28)、判断第一缓存区中的数据解析标志位是否有效;
29)、在第一缓存区中的数据解析标志位无效的情况下,获取第一缓存区中在当前rapidio数据包之后所存储的下一个rapidio数据包,并将下一个rapidio数据包作为当前rapidio数据包,返回执行步骤28);
210)、在第一缓存区中的数据解析标志位有效的情况下,判断当前rapidio数据包的数据字头是否有效;
211)、在当前rapidio数据包的数据字头无效的情况下,将数据解析标志位设置位无效,返回执行步骤28);
212)、在当前rapidio数据包的数据字头有效的情况下,判断当前rapidio数据包的数据字尾是否有效;
213)、在当前rapidio数据包的数据字尾无效的情况下,将数据解析标志位设置位无效,返回执行步骤28);
214)、在当前rapidio数据包的数据字尾有效的情况下,将第一缓存区中的当前rapidio数据包拷贝到接收设备的第二缓存区中进行信号处理,同时将解析标志位设为无效;继续接收rapidio数据包,并将所述rapidio数据包作为当前rapidio数据包,触发接收rapidio数据包线程模块,直至rapidio数据包被接收完。
本发明实施例建立信号处理板板间通信链路模块、接收rapidio数据包线程模块和解析rapidio数据包线程模块,其中,
所述建立信号处理板板间通信链路模块负责根据不同厂家、不同型号的信号处理板内部的通信协议,建立板间通信链路,以便信号处理板之间的数据传输。
所述接收rapidio数据包线程模块负责接收来自rapidio的数据;
所述解析rapidio数据包线程模块负责解析接收的rapidio数据包,剔除无效数据,解析出有效数据。
应用本发明实施例,在信号处理板接入雷达的数据处理机柜后,数据收发模型通过数据接口在软件层面直接从各种型号的信号处理板中获取rapidio数据包,无需在物理层面为各种型号的信号处理板连接专用的数据交换板,一方面免去了接线的工作量,另一方面也免去了使用专用的数据交换板,降低了系统复杂度,因此,本发明实施例可以降低机柜设计安装过程中的工作量。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。