一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于光纤和SRIO交换模块的数据采集装置及方法与流程

2023-01-14 19:19:35 来源:中国专利 TAG:

基于光纤和srio交换模块的数据采集装置及方法
技术领域
1.本发明涉及计算机网络通信技术领域,具体地,涉及基于光纤和srio交换模块的数据采集装置及方法。尤其是基于光纤和srio交换模块的高速数据采集装置及方法。


背景技术:

2.随着嵌入式技术的快速发展,应用对总线速度以及带宽需求的提高,一种串行高速互联技术(serial rapid i/o,srio)由于其高速率、低时延、高可靠性的特点已被应用于嵌入式网络通信、航天设备通信等领域。
3.例如专利文献cn114116594a公开了一种基于srio总线的多接口兼容扩展系统及通信方法。该系统包括处理器cpu及fpga芯片,所cpu与fpga通过srio接口连接,多个外部设备通过接口总线连接至fpga的管脚上;cpu包括至少一个outbound空间,空间内划分有多个接口区间,每个接口区间对应于一个寄存器列表,寄存器列表中记载了fpga与各外部设备进行总线通信的协议参数,fpga根据outbound空间的接口区间分配信息,将控制数据映射到对应的外部设备接口ip上,由各接口ip核根据控制数据完成各类总线接口的寄存器配置和数据收发控制。
4.但是,该专利文献cn114116594a没有给出多处理器之间以及对系统中高速传输的srio数据进行远距离实时采集和分析的技术方案。


技术实现要素:

5.针对现有技术中的缺陷,本发明的目的是提供一种基于光纤和srio交换模块的数据采集装置及方法。
6.根据本发明提供的一种基于光纤和srio交换模块的数据采集装置,包括:多处理器信息交换设备、光纤连接设备、数据接收存储设备以及数据解析显示工具;
7.所述多处理器信息交换设备,包括:处理器a、处理器b、srio交换模块;其中,处理器a与处理器b通过srio交换模块进行数据交互;srio交换模块通过外部光纤端口连接光纤连接设备;
8.所述光纤连接设备,实现数据采集存储设备与srio交换模块的通信互联,将采集的数据传输至数据接收存储设备进行存储;
9.所述数据接收存储设备,实现采集的数据的转化和持久化存储;
10.所述数据解析显示工具,在数据采集完成后,实现对数据接收存储设备存储的数据进行解析处理,并进行可视化显示。
11.优选地,所述处理器b利用处理b的pl端的srio核,通过srio总线将数据传输到srio交换模块;
12.所述srio交换模块根据配置的路由信息,将从处理器b的pl端接收的数据转发到处理器a连接的端口;
13.所述srio交换模块根据配置的路由信息,进行实时数据采集,将从处理器b的pl端
接收的数据复制转发到外部光纤端口;
14.所述处理器a通过处理a的pl端的srio核接收端口数据,实现与处理器b的数据通信。
15.优选地,所述srio交换模块内相关通信端口配置为组播模式,处理器b的pl端发送的数据被实时组播发送至处理器a的pl端和外部光纤端口。
16.优选地,发送到外部光纤端口的数据,经过光电转换模块qsfp 后,通过光纤连接设备传输至数据接收存储设备;
17.所述数据接收存储设备接收数据时,经过光纤数据转接板实现对数据的接收和存储。
18.优选地,多处理器信息交换设备需要采集的数据通道被配置为组播模式,将数据通道的输出端口与外部光纤端口配置为同一个组播组;在srio交换模块路由表中配置应用该组播组。
19.优选地,所述处理器a通过srio核发送数据的步骤包括:
20.步骤s11:处理器a的ps主动调用发送函数srio_sendmsg来发送消息;
21.步骤s12:当处理器a的ps判断到处理器a的pl端srio核的状态为空闲时,则处理器a的ps将ps内dma的数据搬移到处理器a的pl端进行缓存;
22.步骤s13:处理器a的pl端监测数据读取完成标志,按照帧协议发送数据,计算发送几包数据,得到消息长度msg_len、消息分段msg_seg;单包数据≤256字节;
23.步骤s14:处理器a的pl端中的srio核物理层对消息包进行数据处理,其中,所述处理包括编码、串并转换;
24.步骤s15:处理器a的pl端根据发送接口控制信号发送数据。
25.优选地,所述处理器a通过srio核接收数据的步骤包括:
26.步骤s20:处理器a的dsp调用接收函数srio_recvmsg来接收消息;
27.步骤s21:处理器a的fpga的srio核调用处理器a的dma将消息写入dsp数据缓存中作为缓存数据;
28.步骤s22:处理器a的fpga的srio核给出中断;
29.步骤s23:处理器a的dsp循环等待处理器a的srio核消息接收中断有效,并在中断有效时,接收所述缓存数据,进行crc校验;
30.步骤s24:判断crc校验是否正确;
31.步骤s25:当crc校验正确时,认为完成此次数据包接收;
32.步骤s26:当crc校验不正确时,则丢弃数据包,重新接收。
33.优选地,所述处理器a通过fpga实现的srio核来发送和/或接收端口数据。
34.根据本发明提供的一种基于光纤和srio交换模块的数据采集方法,利用所述的基于光纤和srio交换模块的数据采集装置对多处理器之间的通信数据进行远程采集。
35.根据本发明提供的一种基于光纤和srio交换模块的数据采集处理方法,利用所述的基于光纤和srio交换模块的数据采集装置对多处理器之间的通信数据进行远程采集,并根据采集到的通信数据对srio通信互联系统进行故障排查或通信数据分析。
36.与现有技术相比,本发明具有如下的有益效果:
37.1、本发明主要针对srio高速通信的故障分析和通信数据远程实时采集的应用需
求,提供一种基于光纤和srio交换模块的数据采集方案,其改进之处于,包括:多处理器信息交换设备、光纤连接设备、数据接收存储设备以及数据解析显示工具。
38.2、本发明能够实现高速数据的远程实时采集,并能够对存储数据进行解析和显示。通过采用光纤通信传输数据,提高了数据采集带宽和传输距离;利用数据解析显示工具,方便用户对数据进行分析。
39.3、本发明通过配置能够对多处理器间高速通信通道的数据进行实时采集。多处理器信息交换设备包括处理器a、处理器b和srio交换模块等,通过srio交换模块,实现对处理器之间高速数据的实时采集存储,并可灵活配置采集和记录的数据通道。
附图说明
40.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
41.图1是本发明数据采集装置结构示意图。
42.图2是本发明中处理器通过srio核消息发送数据处理流程示意图。
43.图3是本发处中处理器通过srio核消息接收数据处理流程示意图。
44.图4是本发明组播机制实现srio数据采集交换结构示意图。
45.图4中:
46.inputbuffer表示输入节点缓冲区
47.crosspointbuffer表示交换数据缓冲区
48.finalbuffer表示终端输出缓冲区
具体实施方式
49.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
50.图1是基于光纤和srio交换模块的数据采集装置示意图,如图1所示,该数据采集装置包括:多处理器信息交换设备、数据接收存储设备以及数据解析显示工具;其中,多处理器信息交换设备包括处理器a(fpga dsp)、处理器b(zynq soc)、srio交换模块、光电转换模块。在更多的实施例中,多处理器信息交换设备还可以包括处理器c(fpga)等更多的处理,即处理器节点可以是两个或者三个以上的多个节点网络交换。
51.srio交换模块采用srio交换机,实现对处理器b发送到处理器a的高速消息数据进行实时采集存储,通过采用光纤通信传输数据,并利用数据解析显示工具进行数据分析与可视化。其中,所述光纤通信传输,利用光电转换模块将srio交换机采集到的数据信息转换光信号传输,通过光纤连接光电转换模块与数据接收存储设备,实现采集数据的远距离光纤传输。
52.所述数据接收存储设备,通过光纤srio数据高速转换板卡完成高速数据接收,实现采集的数据的转化和持久化存储。
53.所述数据解析显示工具,在数据采集完成后,根据具体通信协议实现对数据接收
存储设备存储的采集数据进行解析处理,并进行可视化显示。
54.所述处理器b(zynq soc)与处理器a(fpga dsp)之间通过srio总线进行高速数据交互;所述处理器b(zynq soc)利用pl端的srio核的处理,通过srio总线将数据传输到srio交换模块,完成数据发送。pl即可编程逻辑progarmmable logic。处理器b的pl中含有srio核。如图2所示,处理器a通过srio核消息发送数据处理流程:
55.步骤s11:处理器a的ps主动调用srio_sendmsg发送函数发送消息。其中,ps即处理系统processing system。
56.步骤s12:处理器a的ps判断处理器a的pl端srio核的状态是否空闲,若空闲,则将处理器a中ps的dma数据搬移到处理器a的pl端进行缓存。其中,dma即直接存储器访问direct memory access。
57.步骤s13:处理器a的pl监测数据读取完成标志,按照帧协议发送数据,计算发送几包数据,得到消息长度msg_len、消息分段msg_seg;单包数据≤256字节。
58.步骤s14:处理器a的pl中的srio核物理层对消息包进行编码、串并转换等处理。
59.步骤s15:根据发送接口控制信号发送数据。
60.所述srio交换模块根据配置的路由信息,将从处理器b端口接收的数据转发到处理器a连接的端口。如图4所示,交换模块根据配置的组播路由信息,判断从处理器b端口接收的数据信息,组播复制转发到外部光纤接口。
61.所述处理器a(fpga dsp)通过fpga实现的srio核接收端口数据,实现与处理器b(zynq soc)的高速数据通信。如图3所示,处理器a对处理器b发出消息的接收数据处理流程:
62.步骤s20:处理器a(dsp)调用srio_recvmsg接收函数接收消息。
63.步骤s21:fpga的srio核调用dma将消息写入dsp数据缓存中。
64.步骤s22:给出中断,中断标志。
65.步骤s23:dsp循环等待srio消息接收中断有效。中断有效,则接收缓存数据,进行crc校验;否则:返回步骤s23。
66.步骤s24:crc校验正确;校验正确。
67.步骤s25:完成此次数据包接收;否则:步骤s26:丢弃数据包,重新接收。
68.所述数据接收存储设备,经过光纤数据转接板实现对数据的接收和存储。
69.所述数据采集存储完成后,利用数据解析显示工具实现数据解析和显示,供用户分析使用。
70.根据本发明还提供一种基于光纤和srio交换模块的数据采集方法,其特征在于,利用权利要求1至8中任一项所述的基于光纤和srio交换模块的数据采集装置对多处理器之间的通信数据进行远程采集。
71.根据本发明还提供一种基于光纤和srio交换模块的数据采集处理方法,利用所述的基于光纤和srio交换模块的数据采集装置对多处理器之间的通信数据进行远程采集,并根据采集到的通信数据对srio通信互联系统进行故障排查或通信数据分析。
72.综上,本发明提供的系统和方法实现了通过光纤对处理器之间的srio高速通信数据进行远程实时采集;完成srio交换机组播路由配置后,处理器b通过srio交换模块将数据转发至处理器a,srio交换机接收数据并根据所配置的组播路由信息,同时将数据实时复制
转发至外部数据接收存储设备。之后利用数据解析显示工具对采集的数据进行解析可视化处理,方便用户对数据进行分析。
73.以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献