CN118041959A - 基于Aurora协议互联的数据采集系统及方法 - Google Patents
基于Aurora协议互联的数据采集系统及方法 Download PDFInfo
- Publication number
- CN118041959A CN118041959A CN202410432403.7A CN202410432403A CN118041959A CN 118041959 A CN118041959 A CN 118041959A CN 202410432403 A CN202410432403 A CN 202410432403A CN 118041959 A CN118041959 A CN 118041959A
- Authority
- CN
- China
- Prior art keywords
- packet
- node
- data
- board
- main control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 239000005441 aurora Substances 0.000 title claims abstract description 43
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000003993 interaction Effects 0.000 claims abstract description 33
- 230000005540 biological transmission Effects 0.000 claims abstract description 18
- 238000004891 communication Methods 0.000 claims abstract description 7
- 238000012545 processing Methods 0.000 claims abstract description 7
- 230000015654 memory Effects 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 15
- 230000007246 mechanism Effects 0.000 claims description 10
- 239000013307 optical fiber Substances 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 6
- 239000000872 buffer Substances 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 14
- 238000013507 mapping Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于Aurora协议互联的数据采集系统及方法,涉及数据采集技术领域。该系统包括:上位机、交换机、多个主控板和多个子板,每个主控板和其所控制的多个子板组成一个子系统;其中上位机用于板卡控制、系统资源扫描、板卡更新;交换机用于处理系统内数据交互,并为各个子系统分配主控板ID和子板卡ID;主控板用于对其所管理的各个子板进行直接控制,搜集各个子板的设备信息及系统内数据交互;子板用于实现各类应用,包括数据采集等;上位机、交换机、主控板和子板之间通过Aurora协议进行数据通信。本发明提高了系统内各节点的数据交互效率,实现了高带宽、低延迟的数据传输。
Description
技术领域
本发明涉及数据采集技术领域,具体涉及一种基于Aurora协议互联的数据采集系统及方法。
背景技术
数据采集系统起始于上世纪50年代,并随着集成电路制造技术的发展和高速通信协议的革新,国内外学者为满足各种应用场景提出了各种各样的数据采集方案。目前,国内外市场上已具有众多高速数据采集产品,其大多采用PCIE协议进行数据传输,但PCIE需要外接PCIE芯片或者内嵌PCIE核,大大增加了系统实现成本。为降低系统构建成本,现有技术相继提出了基于Aurora协议的数据采集系统,通过采用AMD XILINX公司的免费Aurora IP核,大大减小了系统的实现成本。但是,目前已有设计方案的应用场景有限,无法满足多阵列、大范围采集控制的要求,因此,如何高效管理大阵列与大范围的采集系统,提高数据传输速率成为数据采集系统的主要研究方向。
发明内容
为了解决上述技术缺陷,本发明提出一种基于Aurora协议互联的数据采集系统及方法。
根据本发明的一方面,提出一种基于Aurora协议互联的数据采集系统,该系统包括:上位机、交换机、多个主控板和多个子板,每个主控板和其所控制的多个子板组成一个子系统;其中,
上位机用于板卡控制、系统资源扫描、板卡更新;
交换机用于处理系统内数据交互,并为各个子系统分配主控板ID和子板卡ID;
主控板用于对其所管理的各个子板进行直接控制,搜集各个子板的设备信息以及系统内数据交互;
子板用于实现各类应用,包括数据采集、数据上传、本地硬件控制;
上位机、交换机、主控板和子板之间通过Aurora协议进行数据通信。
在其中一种可能的实现方式中,上位机、交换机、主控板和子板之间进行数据交互的事务包包含路由信息、包类型、包标志、包状态、有效数据长度、数据字段。
在其中一种可能的实现方式中,所述事务包的包类型包括写寄存器包、写寄存器完成包、读寄存器包、读寄存器完成包、读数据包、读数据完成包、写数据包和写数据完成包。
在其中一种可能的实现方式中,所述写寄存器包用于对目标节点寄存器地址空间进行写操作,所述写寄存器完成包用于目标节点在收到请求节点的写寄存器包后发出响应包;所述读寄存器包用于对目标节点寄存器地址空间进行读请求操作,所述读寄存器完成包用于目标节点在收到请求节点的读寄存器包后发出响应包;所述写数据包用于对目标节点存储器地址空间进行写操作,所述写数据完成包用于目标节点在收到请求节点写数据包中标识当前包为最后一包时发出响应包;所述读数据包用于对目标节点存储器地址空间进行读请求操作,所述读数据完成包用于目标节点在收到请求节点的读数据包后发出响应包。
在其中一种可能的实现方式中,所述事务包的路由信息包括:原主控板ID、原子板卡ID、目标主控板ID、目标子板卡ID;所述事务包的包标志包括:重传标志、应答标志、结尾标志、中断请求标志;所述事务包的包状态包括:正常、路由信息错误、校验错误、其他错误;根据包类型的不同,所述事务包的数据字段定义可变。
在其中一种可能的实现方式中,所述子板包括低性能子卡和高性能子卡;其中,对于低性能子卡,主控板直接使用RS422接口与其进行数据交互;对于高性能子卡,使用Aurora IP核实现主控板与子板的数据交互;所述交换机、所述主控板、所述子板均具有4G寄存器寻址空间和4G存储器寻址空间。
根据本发明的另一方面,提出一种基于Aurora协议互联的数据采集方法,所述方法基于上述所述的任一种基于Aurora协议互联的数据采集系统实现,所述方法包括:
上电后对每个主控板节点和子板节点的ID进行分配,以建立上位机与任意节点、节点与节点之间的数据传输链路;
子板节点进行数据采集,并与上位机进行数据交互、与子系统内其他子板节点进行数据交互、与其他子系统的子板节点进行数据交互。
在其中一种可能的实现方式中,所述上电后对每个主控板节点和子板节点的ID进行分配包括:交换机节点使用写寄存器包对多个主控板节点的ID寄存器进行写操作,收到写寄存器完成包则标识当前光纤连接的子系统ID分配成功;交换机节点对主控板节点ID分配成功后,使用写寄存器包对主控板节点的ID分配请求寄存器进行写1操作,请求主控板节点对子板节点进行ID分配,主控板节点返回写寄存器完成包至交换机节点;主控板节点使用写寄存器包对多个子板节点的ID寄存器进行写操作,收到写寄存器完成包则标识当前链路的子板节点ID分配成功。
在其中一种可能的实现方式中,在进行数据交互时设计超时错误重传机制,以使得检测到完成包超时或包状态错误时重发请求包,所述超时错误重传机制包括超时重传和错误重传。
在其中一种可能的实现方式中,对于高性能子卡对应的子板节点,在使用AuroraIP核实现主控板节点与子板节点的数据交互时,利用Aurora IP核自带的NFC接口进行流量控制,以防止目标节点缓冲区溢出;所述NFC接口允许接收方通过指定必须放入数据流中的空闲数据节拍数来控制接收数据的速率,或通过请求发送器暂时只发送空闲数据来完全关闭数据流。
本发明的有益技术效果是:
本发明提出一种基于Aurora协议互联的数据采集系统及方法,即提出一种分布式同步采集系统设计方案,所述系统包括上位机、交换机、多个主控板和多个子板,每个主控板和其所控制的多个子板组成一个子系统;其中,上位机用于板卡控制、系统资源扫描、板卡更新;交换机用于处理系统内数据交互,并为各个子系统分配主控板ID和子板卡ID;主控板用于对其所管理的各个子板进行直接控制,搜集各个子板的设备信息以及系统内数据交互;子板用于实现各类应用,包括数据采集、数据上传、本地硬件控制;上位机、交换机、主控板和子板之间通过Aurora协议进行数据通信。本发明具有更广泛的应用场景、灵活选择且简易的控制方式、高效的数据传输效率和高精度同步采集等特点。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例所述的一种基于Aurora协议互联的数据采集系统的结构示意图;
图2是本发明实施例中通用事务包格式示例图;
图3(a)是本发明实施例中写寄存器包格式示例图;
图3(b)是本发明实施例中写寄存器完成包格式示例图;
图4(a)是本发明实施例中读寄存器包格式示例图;
图4(b)是本发明实施例中读寄存器完成包格式示例图;
图5(a)是本发明实施例中写数据包格式示例图;
图5(b)是本发明实施例中写数据完成包格式示例图;
图6(a)是本发明实施例中读数据包格式示例图;
图6(b)是本发明实施例中读数据完成包格式示例图;
图7是本发明实施例中ID分配和路由示例图;
图8是本发明实施例中超时重传示意图;
图9是本发明实施例中错误重传示意图;
图10是本发明实施例中流量控制原理图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行清楚、完整的描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。
现有的基于Aurora协议互联的数据采集系统,一般由工控机、节点与子节点三部分构成。工控机负责对整个系统的任务调度及数据传输;节点对上位机负责,响应工控机的控制流程,并对子节点进行采集控制和数据传输;子节点位于系统的最底层,主要负责对传感器数据进行采集,并将数据打包,通过Aurora接口上传到节点。Aurora协议是一个用于在点对点串行链路间移动数据的可扩展轻量级链路层协议。这为物理层提供透明接口,让专有协议或业界标准协议上层能方便地使用高速收发器。虽然使用的逻辑资源非常少,但Aurora能提供低延迟高带宽和高度可配置的特性集。在 Xilinx FPGA 上使用是免费的,而且在 ASIC 上能以名义成本通过单独的许可证协议得到支持。
现有的数据采集系统虽然具有高速采集的优点,但其大多只考虑一个节点,不能对大范围、多阵列的应用方向提出可行性方案,并且其控制方式复杂,流程繁琐,执行效率较低。因此,针对大范围、多阵列的应用方向,本发明提出了一种基于Aurora协议互联的数据采集系统及方法。本发明在现有方案的基础上,增加了节点的数量,扩展了系统的采集范围,并且子节点可以支持MCU、DSP,FPGA、ZYNQ主流芯片,大大扩展了系统的应用领域。进一步,为简化数据采集系统控制方式和提高系统各节点的交互效率,本发明在基于Aurora协议的基础上实现了事务包、数据路由、流量控制、错误处理、重传机制,从而实现了高带宽、低延迟、可靠的数据传输。
本发明实施例提出一种基于Aurora协议互联的数据采集系统,如图1所示,该系统包括:上位机、交换机、多个主控板和多个子板,每个主控板和其所控制的多个子板组成一个子系统;其中,上位机用于板卡控制、系统资源扫描、板卡更新;交换机用于处理系统内数据交互,并为各个子系统分配主控板ID和子板卡ID;主控板用于对其下的各个子板进行直接控制,搜集各个子板的设备信息以及系统内数据交互;子板用于实现各类应用,包括数据采集、数据上传、本地硬件控制。
根据本发明实施例,数据采集系统由上位机、交换机、主控板、子板四部分组成,上位机负责板卡控制、系统资源扫描、板卡更新,交换机主要负责系统间数据交换、为各个子系统分配主板卡(Host)ID和子板卡(Card)ID、与上位机交互,主控板负责对下面各个子板直接控制、搜集各个子板的设备信息(设备类型、接口信息等)、系统间数据交换,子板负责实现数据采集、数据上传、本地硬件控制等应用。
子板可支持MCU、DSP、FPGA、ZYNQ等主流芯片,对于低性能子卡,使用MCU或DSP芯片,主控板直接使用RS422接口与其进行数据交互;对于高性能子卡,需要使用Xilinx具有高速收发器的FPGA或者ZYNQ芯片,应用Aurora IP核实现主控板与子卡的高速数据交互。在制定系统采集方案时,可根据具体应用需求,选择合适的采集方案,极大地拓宽了系统的应用场景,提高了数据采集系统的通用性。
交换机、主控板、子板所有节点具有4G寄存器寻址空间和4G存储器寻址空间,系统地址空间映射包括寄存器地址空间映射和存储器地址空间映射,大小均为4G寻址空间。寄存器空间映射0x00000000-0x00100000为系统已经映射好,主要用来存放ID寄存器、板卡设备信息寄存器、状态信息寄存器、系统控制寄存器等,用户不能在该范围地址定义寄存器,其余地址所有节点均可自定义寄存器。存储器地址空间映射不做限制,节点的ADC、DAC、UART、SENT、CANFD、大缓冲区等外设和内存均可做映射。随着系统功能逐步标准化,寄存器映射和存储器映射逐步标准化,系统也会面向操作标准化。
系统内数据交互主要包括:上位机与各个子板间的数据传输、每个子系统内各子板间的数据传输、各个子系统间多个子板的数据传输。本发明提供了一套专用的事务包,以实现系统内任意节点间的数据交互,其类型分别为:写寄存器包(WRP)、写寄存器完成包(WRCP)、读寄存器包(RRP)、读寄存器完成包(RRCP)、读数据包(RDP)、读数据完成包(RDCP)、写数据包(WDP)和写数据完成包(WDCP)。通过这些事务包可实现各种应用业务,包括上位机系统资源扫描、上位机对节点进行固件更新、上位机对子板进行采集及控制、节点和节点实时数据传输等。
本实施例中,事务包支持Aurora协议和串口协议,事务包内包含了路由信息(原主控板ID、原子板卡ID、目标主控板ID、目标子板卡ID)、包类型、包标志(重传标志、应答标志、结尾标志、中断请求标志)、包状态(正常、路由信息错误、校验错误、其他错误)、有效数据长度、数据字段;其中,不同事务包的数据字段含义不同,根据包类型不同,数据字段定义可变。
图2展示了通用事务包的格式。表1是对图2中每个字段的详细说明,表2是对包类型字段的详细说明,表3是对包状态字段的详细说明。
表1
表2
表3
1)写寄存器包(WRP)、写寄存器完成包(WRCP)
写寄存器包(WRP)用于对目标节点寄存器地址空间进行写操作,写寄存器完成包(WRCP)用于目标节点在收到请求节点的写寄存器包后的响应包(不带数据)。写寄存器包数据域包含3个双字,分别是地址、掩码和数据,地址是用来标识访问目标节点哪个地址的寄存器,掩码可以控制位操作,数据是用来标识对32位寄存器要写的值。写寄存器包和写寄存器完成包格式如图3(a)和图3(b)所示。
2)读寄存器包(RRP)、读寄存器完成包(RRCP)
读寄存器包(RRP)用于对目标节点寄存器地址空间进行读请求操作,读寄存器完成包(RRCP)用于目标节点在收到请求节点的读寄存器包后的响应包(带数据)。读寄存器包数据域只包含地址信息,地址信息是用来标识读取目标节点哪个地址的寄存器;读寄存器完成包负责返回对应地址的32位数据给请求节点。读寄存器包和读寄存器完成包格式如图4(a)和图4(b)所示。
3)写数据包(WDP)、写数据完成包(WDCP)
写数据包(WDP)用于对目标节点存储器地址空间进行写操作,写数据完成包(WRCP)用于目标节点在收到请求节点写数据包FNS字段为1时的响应包(不带数据)。写数据包数据域包含地址和数据,地址是用来标识访问目标节点存储器起始地址。写数据包和写数据完成包格式如图5(a)和图5(b)所示。
4)读数据包(RDP)、读数据完成包(RDCP)
读数据包(RDP)用于对目标节点存储器地址空间进行读请求操作,读数据完成包(RDCP)用于目标节点在收到请求节点的读数据包后的响应包(带数据)。读数据包数据域只包含地址信息,地址信息是用来标识读取目标节点存储器起始地址;读数据完成包负责返回对应起始地址的数据给请求节点。读数据包和读数据完成包格式如图6(a)和图6(b)所示。
本发明另一实施例提出一种基于Aurora协议互联的数据采集方法,所述方法基于上述基于Aurora协议互联的数据采集系统实现,所述方法包括:首先,上电后对每个主控板节点和子板节点的ID进行分配,以建立上位机与任意节点、节点与节点之间的数据传输链路;然后,子板节点进行数据采集,并与上位机进行数据交互、与子系统内其他子板节点进行数据交互、与其他子系统的子板节点进行数据交互。
根据本发明实施例,如图7所示,系统节点分为3层,交换机节点默认主控板ID和子板卡ID即Host ID为0、Card ID为0,交换机节点对外可接入多个子系统,例如16个子系统。具体每个主控板节点和子板节点的Host ID和Card ID上电会自动分配,分配流程如下:
①系统上电后,交换机节点会使用写寄存器包(src_Host_ID为0、src_Card_ID为0、dest_Host_ID无效、dest_Card_ID无效)对16个主控板节点的ID寄存器(0x00000000地址)进行写操作,该寄存器低16位有效,写入的数据低8位为0(Card_ID),高8位为光纤编号(Host_ID),超时会写3次,连续3次超时则认为当前光纤无连接子系统,如果收到写寄存器完成包则标识当前光纤连接的子系统ID分配成功。
②交换机节点对主控板ID分配成功后,交换机节点会使用写寄存器包(src_Host_ID为0、src_Card_ID为0、dest_Host_ID为光纤编号、dest_Card_ID为0)对该主控板节点的ID分配请求寄存器(0x00000004地址)进行写1操作,请求主控板节点对子板节点进行ID分配,主控板节点返回写寄存器完成包至交换机节点。
③主控板节点使用写寄存器包(src_Host_ID为ID寄存器高8位、src_Card_ID为ID寄存器低8位、dest_Host_ID无效、dest_Card_ID无效)对15个子板节点的ID寄存器(0x00000000地址)进行写操作,超时会写3次,连续3次超时则认为当前链路无连接子板节点,如果收到写寄存器完成包则标识当前链路子板节点的ID分配成功。
所有节点ID分配完成后,上位机与任意节点、节点与节点的数据传输链路建立完成。分配完成后所有节点Host ID和Card ID如图7所示。
链路上所有包的路由信息中都包含原主控板ID、原子板卡ID、目标主控板ID、目标子板卡ID(src_Host_ID、src_Card_ID、dest_Host_ID、dest_Card_ID),根据这些信息可以确定一个包唯一的传输路径。传输包过程中每个节点需要遵循系统路由机制,接收方根据接收到包dest_Host_ID和dest_Card_ID来判定该包是否需要进行向上或者向下路由,如图7所示,详细的路由机制如下:
①上位机读子板节点1寄存器:上位机需要组织读寄存器包并通过网络发给交换机节点(src_Host_ID为0、src_Card_ID为0、dest_Host_ID为7、dest_Card_ID为1),交换机节点检测dest_Host_ID为7,则将包通过光纤口7转发至子系统7的主控板节点,期间包路由信息不变,主控板节点检测dest_Card_ID为1,则将该包通过编号为1的Aurora接口或者串口接口转发给子板节点,子板节点1检测到目的地址和本地ID一致,则接收并处理该包,并发送读寄存器完成包(src_Host_ID为7、src_Card_ID为1、dest_Host_ID为0、dest_Card_ID为0)到发送链路,主控板节点收到该包后检测到dest_Host_ID为0,则将包通过编号为0的光纤转发至交换机节点,交换机节点检测到目的地址和本地ID一致,接收并处理该包,并将读到的信息转发至上位机。
②子系统间子板节点15读子板节点2寄存器:子系统11的子板节点15发送读寄存器包至链路(src_Host_ID为11、src_Card_ID为15、dest_Host_ID为16、dest_Card_ID为2),主控板节点检测到dest_Host_ID为16则将包通过链路0转发给交换机节点,交换机节点检测到dest_Host_ID为16则将包通过编号为16的光纤口转发至子系统16的主控板节点,主控板节点检测dest_Card_ID为2,则将该包通过编号为2的Aurora接口或者串口接口转发给子板节点,子板节点检测到目的地址和本地ID一致,则接收并处理该包,并发送读寄存器完成包(src_Host_ID为16、src_Card_ID为2、dest_Host_ID为11、dest_Card_ID为15)至链路,主控板节点收到该包后检测到dest_Host_ID为11,则将包通过编号为0的光纤转发至交换机节点,交换机节点检测到dest_Host_ID为11,则将包通过光纤口11转发至子系统11的主控板节点,主控板节点检测dest_Card_ID为15,则将该包通过编号为15的Aurora接口或者串口接口转发给子板节点15,子板节点15检测到目的地址和本地ID一致,则接收并处理该包。
③子系统内子板节点1读子板节点2寄存器:子板节点1发送读寄存器包至链路(src_Host_ID为11、src_Card_ID为1、dest_Host_ID为11、dest_Card_ID为2),主控板节点检测到dest_Host_ID为11且dest_Card_ID为2,则将该包通过编号为2的Aurora接口或者串口接口转发给子板节点2,子板节点2检测到目的地址和本地ID一致,则接收并处理该包,并发送读寄存器完成包(src_Host_ID为11、src_Card_ID为2、dest_Host_ID为11、dest_Card_ID为2)到链路,主控板节点收到该包后检测到dest_Host_ID为11且dest_Card_ID为1,则将该包通过编号为1的Aurora接口或者串口接口转发给子板节点1,子板节点1检测到目的地址和本地ID一致,则接收并处理该包。
进一步地,考虑到硬件链路可能会受到电磁干扰,本发明设计了超时错误重传机制,即发送节点检测完成包超时、完成包状态错误时会重发读写请求包,超时3次则系统报错,硬件为每个节点设置了通信错误指示灯,当出现错误时系统灯会快闪烁100ms,该指示灯也可以标识连接、虚焊、线路老化出现的常规错误。
为了提高通讯效率,发送节点对其他采用非阻塞方式进行读写请求包传输,也就是不会等到本次读写请求包完成后才会发送下一包,因此保证发送节点需要识别错误的完成包对应于之前发送哪一个请求包,序列号和确认应答号,以保证出现错误时,发送节点可以快速找到对应包进行重新发送,具体机制如下所述。
①超时重传:超时重传主要由于丢包引起,节点A发送序列号为1的读写请求包给节点B,节点A到了特定时间未收到节点B的完成包,则会重发序列号为1的包给节点B,最多发3次,3次还没收到则报传输错误,错误灯快闪100ms,流程如图8所示。
②错误重传:错误重传主要由于包效验错误引起,节点A发送序列号为1的读写请求包给节点B,节点B检测到该包校验错误,则会返回完成包,并将包状态字段标识为校验错误,节点A收到完成包检测到校验错误时启动重发,如图9所示。
进一步地,为了防止目标节点缓冲区溢出提出流量控制。Aurora IP核自带的NFC接口即可实现流量控制,该接口允许接收方通过指定必须放入数据流中的空闲数据节拍数来控制接收数据的速率,甚至可以通过请求发送器暂时只发送空闲数据(XOFF)来完全关闭数据流,详细流量控制原理如图10所示。
当节点A接收引擎检测到本地接收缓冲区将溢出时,发送NFC包请求节点B插入空闲时钟或者停止发送,节点B的Aurora 核内部接收到NFC包,会将IP核的发送引擎设置为忙状态,节点B用户逻辑检测到忙,则进入等待状态。本实施例中所有相邻两个节点的流量控制均采用这个机制。
根据本发明实施例的一种基于Aurora协议互联的数据采集方法的未详述部分,还请参考以上关于系统实施例的具体描述。
需要说明的是,本发明所用术语仅为了描述特定实施例,而非限制本申请范围。如本发明说明书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。
以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案。
Claims (10)
1.基于Aurora协议互联的数据采集系统,其特征在于,包括:上位机、交换机、多个主控板和多个子板,每个主控板和其所控制的多个子板组成一个子系统;其中,
上位机用于板卡控制、系统资源扫描、板卡更新;
交换机用于处理系统内数据交互,并为各个子系统分配主控板ID和子板卡ID;
主控板用于对其所管理的各个子板进行直接控制,搜集各个子板的设备信息以及系统内数据交互;
子板用于实现各类应用,包括数据采集、数据上传、本地硬件控制;
上位机、交换机、主控板和子板之间通过Aurora协议进行数据通信。
2.根据权利要求1所述的基于Aurora协议互联的数据采集系统,其特征在于,上位机、交换机、主控板和子板之间进行数据交互的事务包包含路由信息、包类型、包标志、包状态、有效数据长度、数据字段。
3.根据权利要求2所述的基于Aurora协议互联的数据采集系统,其特征在于,所述事务包的包类型包括写寄存器包、写寄存器完成包、读寄存器包、读寄存器完成包、读数据包、读数据完成包、写数据包和写数据完成包。
4.根据权利要求3所述的基于Aurora协议互联的数据采集系统,其特征在于,所述写寄存器包用于对目标节点寄存器地址空间进行写操作,所述写寄存器完成包用于目标节点在收到请求节点的写寄存器包后发出响应包;所述读寄存器包用于对目标节点寄存器地址空间进行读请求操作,所述读寄存器完成包用于目标节点在收到请求节点的读寄存器包后发出响应包;所述写数据包用于对目标节点存储器地址空间进行写操作,所述写数据完成包用于目标节点在收到请求节点写数据包中标识当前包为最后一包时发出响应包;所述读数据包用于对目标节点存储器地址空间进行读请求操作,所述读数据完成包用于目标节点在收到请求节点的读数据包后发出响应包。
5.根据权利要求2所述的基于Aurora协议互联的数据采集系统,其特征在于,所述事务包的路由信息包括:原主控板ID、原子板卡ID、目标主控板ID、目标子板卡ID;所述事务包的包标志包括:重传标志、应答标志、结尾标志、中断请求标志;所述事务包的包状态包括:正常、路由信息错误、校验错误、其他错误;根据包类型的不同,所述事务包的数据字段定义可变。
6.根据权利要求1所述的基于Aurora协议互联的数据采集系统,其特征在于,所述子板包括低性能子卡和高性能子卡;其中,对于低性能子卡,主控板直接使用RS422接口与其进行数据交互;对于高性能子卡,使用Aurora IP核实现主控板与子板的数据交互;所述交换机、所述主控板、所述子板均具有4G寄存器寻址空间和4G存储器寻址空间。
7.基于Aurora协议互联的数据采集方法,其特征在于,所述方法基于权利要求1-6中任一项所述的基于Aurora协议互联的数据采集系统实现,所述方法包括:
上电后对每个主控板节点和子板节点的ID进行分配,以建立上位机与任意节点、节点与节点之间的数据传输链路;
子板节点进行数据采集,并与上位机进行数据交互、与子系统内其他子板节点进行数据交互、与其他子系统的子板节点进行数据交互。
8.根据权利要求7所述的基于Aurora协议互联的数据采集方法,其特征在于,所述上电后对每个主控板节点和子板节点的ID进行分配包括:交换机节点使用写寄存器包对多个主控板节点的ID寄存器进行写操作,收到写寄存器完成包则标识当前光纤连接的子系统ID分配成功;交换机节点对主控板节点ID分配成功后,使用写寄存器包对主控板节点的ID分配请求寄存器进行写1操作,请求主控板节点对子板节点进行ID分配,主控板节点返回写寄存器完成包至交换机节点;主控板节点使用写寄存器包对多个子板节点的ID寄存器进行写操作,收到写寄存器完成包则标识当前链路的子板节点ID分配成功。
9.根据权利要求7所述的基于Aurora协议互联的数据采集方法,其特征在于,在进行数据交互时设计超时错误重传机制,以使得检测到完成包超时或包状态错误时重发请求包,所述超时错误重传机制包括超时重传和错误重传。
10.根据权利要求7所述的基于Aurora协议互联的数据采集方法,其特征在于,对于高性能子卡对应的子板节点,在使用Aurora IP核实现主控板节点与子板节点的数据交互时,利用Aurora IP核自带的NFC接口进行流量控制,以防止目标节点缓冲区溢出;所述NFC接口允许接收方通过指定必须放入数据流中的空闲数据节拍数来控制接收数据的速率,或通过请求发送器暂时只发送空闲数据来完全关闭数据流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410432403.7A CN118041959A (zh) | 2024-04-11 | 2024-04-11 | 基于Aurora协议互联的数据采集系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410432403.7A CN118041959A (zh) | 2024-04-11 | 2024-04-11 | 基于Aurora协议互联的数据采集系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118041959A true CN118041959A (zh) | 2024-05-14 |
Family
ID=90989842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410432403.7A Pending CN118041959A (zh) | 2024-04-11 | 2024-04-11 | 基于Aurora协议互联的数据采集系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118041959A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209607A (zh) * | 2019-05-13 | 2019-09-06 | 北京遥感设备研究所 | 一种多通道雷达中频数据采集回放系统 |
CN114297118A (zh) * | 2021-12-30 | 2022-04-08 | 杭州电子科技大学富阳电子信息研究院有限公司 | 一种基于FPGA的40Gbps高速通信系统及方法 |
CN115543888A (zh) * | 2022-09-16 | 2022-12-30 | 哈尔滨工业大学 | 一种基于MiniVPX构架的机载测试系统 |
CN116679986A (zh) * | 2023-08-02 | 2023-09-01 | 苏州浪潮智能科技有限公司 | 寄存器的访问方法、装置、服务器、系统及存储介质 |
-
2024
- 2024-04-11 CN CN202410432403.7A patent/CN118041959A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209607A (zh) * | 2019-05-13 | 2019-09-06 | 北京遥感设备研究所 | 一种多通道雷达中频数据采集回放系统 |
CN114297118A (zh) * | 2021-12-30 | 2022-04-08 | 杭州电子科技大学富阳电子信息研究院有限公司 | 一种基于FPGA的40Gbps高速通信系统及方法 |
CN115543888A (zh) * | 2022-09-16 | 2022-12-30 | 哈尔滨工业大学 | 一种基于MiniVPX构架的机载测试系统 |
CN116679986A (zh) * | 2023-08-02 | 2023-09-01 | 苏州浪潮智能科技有限公司 | 寄存器的访问方法、装置、服务器、系统及存储介质 |
Non-Patent Citations (1)
Title |
---|
邵芸松: "《基于分布式的回收控制器通用自动测试平台的研究与实现》", 《中国优秀硕士学位论文全文数据库(工程科技Ⅱ辑)》, no. 02, 15 February 2024 (2024-02-15), pages 7 - 57 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220214919A1 (en) | System and method for facilitating efficient load balancing in a network interface controller (nic) | |
JP2518986B2 (ja) | 汎用アダプタ | |
US6757768B1 (en) | Apparatus and technique for maintaining order among requests issued over an external bus of an intermediate network node | |
JP4242835B2 (ja) | 高データレートのステートフルプロトコル処理 | |
KR101077900B1 (ko) | 네트워크 효율성을 고려한 SoC 기반 시스템 네트워크에서의 인터페이스 장치의 통신방법 및 그에 의해 통신하는 인터페이스 장치 | |
US20080126564A1 (en) | Multiple context single logic virtual host channel adapter supporting multiple transport protocols | |
JP2006502642A (ja) | トランザクションを確立するための集積回路および方法 | |
CN100535886C (zh) | 一种节点之间的数据传输系统和装置及方法 | |
JP2005538588A (ja) | リモート・ダイレクト・メモリ・アクセス対応ネットワーク・インタフェース・コントローラのスイッチオーバーとスイッチバックのサポート | |
KR20210033996A (ko) | 전용 저 레이턴시 링크를 사용한 다수의 하드웨어 가속기에 대한 통합된 어드레스 공간 | |
US7895329B2 (en) | Protocol flow control | |
CN102868604B (zh) | 一种应用于片上网络的二维Mesh双缓冲容错路由单元 | |
WO2001018988A1 (en) | Bridge between parallel buses over a packet-switched network | |
US20080059686A1 (en) | Multiple context single logic virtual host channel adapter supporting multiple transport protocols | |
CN101599991A (zh) | 一种基于高速通信协议的提升网络文件系统性能的方法 | |
JP4920036B2 (ja) | メモリチャネル上の応答のスケジューリング | |
US6856619B1 (en) | Computer network controller | |
CN108280041A (zh) | 一种内部集成电路主机的通信方法和装置 | |
CN101227388A (zh) | 具有网络接口重发的计算机系统 | |
US6816889B1 (en) | Assignment of dual port memory banks for a CPU and a host channel adapter in an InfiniBand computing node | |
CN100401279C (zh) | 支持包处理的可配置的多端口多协议网络接口 | |
JP2008541276A (ja) | 同時読み出し応答確認拡張ダイレクト・メモリ・アクセス・ユニット | |
JP5731108B2 (ja) | 中継手段、中継システム、中継方法およびプログラム | |
CN118041959A (zh) | 基于Aurora协议互联的数据采集系统及方法 | |
JP4104939B2 (ja) | マルチプロセッサシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |