一种用于节点间实时通信的链路系统的制作方法

文档序号:34029539发布日期:2023-05-05 10:43阅读:37来源:国知局
一种用于节点间实时通信的链路系统的制作方法

本发明涉及量子测控,特别涉及一种用于节点间实时通信的链路系统。


背景技术:

1、当前,实时系统在医疗、加工、汽车等行业都有较多的应用,实时系统具有响应快、延迟短等特点,其响应延迟和计时精度通常在毫秒至微秒量级,这一精度已经能满足当前诸多传统行业的控制需求。现有的实时系统一般使用主频在数百mhz至ghz量级的通用微处理器或微控制器作为控制的主体,以计时器中断和时间片分配等方式实现实时控制。这一方案成立的前提在于,所需的时间控制精度与指令执行频率之间有3-6个数量级的差异,因而通用处理器架构中存在的一些诸如分支预判、乱序执行等导致指令执行顺序不确定的因素以及中断系统中存在的现场保护、控制权交接等额外开销导致的时间控制不确定性可以忽略不计。

2、然而近来随着量子技术的发展,量子物理实验系统也开始产生对数据处理、复杂流程控制和实时控制的需求。不同于传统行业,量子物理实验系统对时间控制的精度和分辨率的要求在纳秒量级、延迟要求在百纳秒至数十微秒量级,与当前微处理器的主频相当,从而前述的现有的实时控制方案难以满足需求。

3、因此早年在量子物理实验领域内,通常用fpga(现场可编程门阵列)设计特定的时序脉冲发生器来产生高时间精度的脉冲序列,以此作为其它实验设备的触发信号,进行准确的时序控制。然而,这种方案的灵活性较差,只能产生预定的序列,无法在实验中对实验数据进行即时的处理,或根据实验的中间结果对后续的流程进行及时的调整。

4、当前领域内针对此问题的主要解决思路为,另置一与时序脉冲发生器紧密连接的通用微处理器,用来对实验数据进行即时处理和产生时序脉冲发生器的后续输出时序,不过此类控制器的配置和驱动往往较为复杂,需要通过usb或网线等与上位机连接,由上位机直接配置和驱动。这一思路能较好的满足小规模实验系统的实时控制需求,而当实验系统的规模较大、一个控制器无法满足要求而需要多个控制器时,控制器之间仅能以触发信号进行简单的同步,难以进行更为复杂灵活的实时交互,因为usb和网络协议存在轮询、握手、仲裁等协议内禀的时序不确定性。然而,对于复杂的量子物理实验,控制器之间的实时数据交换是十分必要的,可能其中某一控制器的输出时序需使用其它控制器所采集到的数据进行计算确定。

5、有鉴于此,本发明提供了一种用于节点间实时通信的链路系统,以解决上述不足。在本发明提出的链路系统中,所有节点与其上级、下级节点之间具有统一、固定且较短的通信延迟,适用于实时控制的场景;并且链路中除了可传递数据,亦可传递指令,方便上级节点对下级节点进行实时的控制,以实现更为复杂的交互功能。


技术实现思路

1、本发明目的之一在于提供了一种用于节点间实时通信的链路系统,该链路系统的拓扑结构为树状结构;上下级节点间使用具有固定通信延迟的点对点协议实现直接通信;链路系统以固定长度的帧为基本通信单元;每个节点都包含链路管理模块,可提供帧的直接收发、转发和广播功能,模块的功能可通过寄存器进行配置。该链路系统可根据不同使用情形实现通信实时性和灵活性的动态平衡。

2、本发明实施例提供的一种用于节点间实时通信的链路系统,包括:

3、由节点组成的硬件系统呈树状结构,节点分为根节点、中间结点和叶节点三类;所述根节点和中间结点拥有一个或多个与其直接相连的下级节点;所述中间结点和叶节点拥有一个与其直接相连的上级节点;

4、用于所述节点间直接通信的物理链路协议为具有固定通信延迟、固定最小通信单元长度的双向点对点通信协议,包括但不限于uart或spi;

5、所述节点间的通信以帧为单位,帧包含魔术字、跳转数、帧类型和载荷4个数据域;其中魔术字用于验证当前帧的有效性;跳转数用于指示当前帧可被转发的次数;帧类型可为数据帧或指令帧,用于指示当前帧的载荷类型;载荷为当前帧所携带的有效信息,根据当前帧的帧类型,载荷可被接收该帧的节点解析为数据或指令;从一个节点向其下级节点发送或转发的帧称为下行帧;从一个节点向其上级节点发送或转发的帧称为上行帧;

6、每个所述节点包含一个链路管理模块,用于实现节点间的通信逻辑功能,包括:

7、功能f1:向上级节点发送上行帧;

8、功能f2:接收并解析来自上级节点的下行帧;

9、功能f3:向指定的下级节点发送下行帧;

10、功能f4:同时向多个指定的下级节点广播同一下行帧;

11、功能f5:接收并解析来自各下级节点的上行帧;

12、功能f6:同时向多个指定的下级节点广播转发来自上级节点的下行帧;

13、功能f7:向上级节点转发来自指定的下级节点的上行帧。

14、优选的,所述链路管理模块包含以下子模块:

15、物理链路0模块:实现与上级节点通信的物理链路逻辑;

16、物理链路x模块:实现与下级节点x通信的物理链路逻辑,此类模块的个数与当前节点所拥有的下级节点的数目相同;在本发明中,使用正整数“x”指代任一不特定下级节点的编号;

17、上级节点收发逻辑模块:与物理链路0模块相连,用于处理来自上级节点的下行帧,或向上级节点发送上行帧,以实现所述功能f1、f2、f6、f7;

18、下级节点x收发逻辑模块:与物理链路x模块相连,用于处理来自下级节点x的上行帧,或向下级节点x发送下行帧,以实现所述功能f3-f7;

19、广播逻辑模块:与所有下级节点收发逻辑模块相连,用于向多个指定的下级节点广播下行帧,以实现所述功能f4、f6;

20、下行帧转发逻辑模块:与上级节点收发逻辑模块及广播逻辑模块相连,用于来自上级节点的下行帧的向下广播转发,以实现所述功能f6;

21、上行帧转发逻辑模块:与上级节点收发逻辑模块及所有下级节点收发逻辑模块相连,用于向上级节点转发来自指定下级节点的上行帧,以实现所述功能f7。

22、优选的,其一,每个节点的所述链路管理模块,都关联以下寄存器:配置寄存器rtcf、广播寄存器rtbc、上行链路寄存器rtd0、下行链路寄存器rtd1、rtd2、……、rtdx;

23、向所述寄存器写入数据,能够调控链路管理模块的不同逻辑功能;从这些寄存器读取数据,可以获取链路管理模块从链路系统中接收到的数据,以及其他相关信息;

24、其二,每个节点都包含一个微处理器,微处理器可以通过指令读取或写入与链路管理模块关联的寄存器,以控制其执行各项逻辑功能。

25、优选的,所述配置寄存器rtcf的功能,包括:

26、其一,向rtcf写入数据,可调整以下配置:

27、配置c1:上行帧发送数据源选择;

28、配置c2:下行帧广播数据源选择;

29、配置c3.x:向下级节点x发送的下行帧数据源选择;

30、配置c4:当前节点发起帧的帧类型和跳转数;

31、配置c5:各物理链路0模块、物理链路x模块运行所需的其它参数;

32、其中,配置c1的可选项为:

33、选项p1.0:来自rtd0;

34、选项p1.x:转发来自下级节点x的上行帧;

35、配置c2的可选项为:

36、选项p2.0:来自rtbc;

37、选项p2.1:转发来自上级节点的下行帧;

38、配置c3.x的可选项为:

39、选项p3.x.0:来自rtdx;

40、选项p3.x.1:来自广播逻辑模块;

41、配置c5可包含多个参数,包括但不限于通信链路的时钟分频系数;

42、其二,从rtcf读取数据,可获得的信息可根据实际需要确定,包括但不限于各物理链路模块的占用状态;

43、所述广播寄存器rtbc的功能,包括:

44、其一,向rtbc写入数据,有如下效果:

45、若rtcf的配置c2设定为选项p2.0,则该写入操作激活广播逻辑模块,向所有rtcf中的配置c3.x被设定为选项p3.x.1的下级节点x广播发送下行帧;该下行帧的帧类型和跳转数由rtcf中的配置c4确定,其载荷为该写入操作向rtbc写入的数据;

46、其二,从rtbc读取数据,可获得的信息可根据实际需要确定;

47、所述上行链路寄存器rtd0的功能,包括:

48、其一,向rtd0写入数据,有如下效果:

49、若rtcf的配置c1设定为选项p1.0,则该写入操作激活上级节点收发逻辑模块,向上级节点发送上行帧;该上行帧的帧类型和跳转数由rtcf中的配置c4确定,其载荷为该写入操作向rtd0写入的数据;

50、其二,从rtd0读取数据,可按接收顺序获得来自上级节点且跳转数为0的下行数据帧的载荷;

51、任一所述下行链路寄存器rtdx的功能包括:

52、其一,向任一rtdx写入数据,有如下效果:

53、若rtcf的配置c3.x设定为选项p3.x.0,则该写入操作激活下级节点x收发逻辑模块,向下级节点x发送下行帧;该下行帧的帧类型和跳转数由rtcf中的配置c4确定,其载荷为该写入操作向rtdx写入的数据;

54、其二,从任一rtdx读取数据,可按接收顺序获得来自下级节点x且跳转数为0的上行数据帧的载荷。

55、优选的,所述上级节点收发逻辑模块包含以下子模块:

56、发送逻辑模块:用于构建上行帧,并交由物理链路0模块发送;

57、接收逻辑模块:用于接收来自上级节点的下行帧,并根据其跳转数和帧类型对其进行进一步处理;

58、先进先出队列模块fifo:用于按顺序存储来自上级节点且跳转数为0的下行数据帧的载荷;

59、其中,发送逻辑模块的运行逻辑包括:

60、若rtcf的配置c1设定为选项p1.0,则当rtd0被写入数据时,所述构建上行帧,并交由物理链路0模块发送;

61、若rtcf的配置c1设定为除选项p1.0外的其它选项,则将来自上行帧转发逻辑模块的上行帧交由物理链路0模块发送;

62、接收逻辑模块的运行逻辑包括:

63、当从物理链路0模块收到来自上级节点的下行帧时,首先比对其魔术字,若无效则立即丢弃;否则:

64、若其跳转数大于0,则将其交由下行帧转发逻辑模块处理;

65、若其跳转数为0,且为指令帧,则将其载荷交由当前节点的微处理器执行;

66、若其跳转数为0,且为数据帧,则将其载荷存入fifo模块;

67、先进先出队列模块fifo的运行逻辑包括:

68、模块内置一可变长度的队列用于存储数据;

69、当有数据帧的载荷需要存入时,将其置于模块内部队列的末尾;

70、当rtd0被读取时,若模块内部队列非空,则读取值设为队列头部元素的值,并将该元素从队列中移除;

71、任一所述下级节点x收发逻辑模块包含以下子模块:

72、发送逻辑x模块:用于构建下行帧,并交由物理链路x模块发送;

73、接收逻辑x模块:用于接收来自下级节点x的上行帧,并根据其跳转数和帧类型对其进行进一步处理;

74、先进先出队列模块fifox:用于按顺序存储来自下级节点x且跳转数为0的上行数据帧的载荷;

75、其中,发送逻辑x模块的运行逻辑包括:

76、若rtcf的配置c3.x设定为选项p3.x.0,则当rtdx被写入数据时,所述构建下行帧,并交由物理链路x模块发送;

77、若rtcf的配置c3.x设定为选项p3.x.1,则将来自广播逻辑模块的下行帧交由物理链路x模块发送;

78、接收逻辑x模块的运行逻辑包括:

79、当从物理链路x模块收到来自下级节点x的上行帧时,首先比对其魔术字,若无效则立即丢弃;否则:

80、若跳转数大于0,则将其交由上行帧转发逻辑模块处理;

81、若跳转数为0,且为数据帧,则将其载荷存入fifox模块;

82、先进先出队列模块fifox的运行逻辑包括:

83、模块内置一可变长度的队列用于存储数据;

84、当有数据帧的载荷需要存入时,将其置于模块内部队列的末尾;

85、当rtdx被读取时,若模块内部队列非空,则读取值设为队列头部元素的值,并将该元素从队列中移除;

86、所述广播逻辑模块的运行逻辑包括:

87、若rtcf的配置c2设定为选项p2.0,则当rtbc被写入数据时,所述构建下行帧,并同时交由所有下级节点收发逻辑模块进一步处理;

88、若rtcf的配置c2设定为选项p2.1,则将来自下行帧转发逻辑模块的下行帧同时交由所有下级节点收发逻辑模块进一步处理;

89、所述下行帧转发逻辑模块的运行逻辑包括:对于上级节点收发逻辑模块交付的下行帧,保持其帧类型和载荷不变,将跳转数改为原有值减1,而后交由广播逻辑模块进一步处理;

90、所述上行帧转发逻辑模块的运行逻辑包括:若rtcf的配置c1设定为除选项p1.0外的任一选项p1.x,则接收下级节点x收发逻辑模块交付的上行帧,保持其帧类型和载荷不变,将跳转数改为原有值减1,而后交由上级节点收发逻辑模块进一步处理。

91、优选的,所述功能f1:向上级节点发送上行帧的实现方法为:

92、步骤f1s1:设置rtcf的配置c1为选项p1.0;

93、步骤f1s2:设置rtcf的配置c4为所需的值;若该上行帧的目标节点为当前节点的上级节点,则跳转数应设为0,若为上级节点的上级节点,则应为1,以此类推;帧类型可根据需要设定;

94、步骤f1s3:向rtd0写入该上行帧的载荷;

95、所述功能f2:接收并解析来自上级节点的下行帧由所述上级节点收发逻辑模块自动实现,无需主动配置;

96、所述功能f3:向指定的下级节点发送下行帧的实现方法为:

97、步骤f3s1:若目标节点为下级节点x,或为下级节点x之下某一层次的下级节点,则设置rtcf的配置c3.x为选项p3.x.0;

98、步骤f3s2:设置rtcf的配置c4为所需的值;若该下行帧的目标节点为当前节点的下级节点,则跳转数应设为0,若为下级节点的某一下级节点,则应为1,以此类推;帧类型可根据需要设定;

99、步骤f3s3:向rtdx写入该下行帧的载荷;

100、所述功能f4:同时向多个指定的下级节点广播同一下行帧的实现方法为:

101、步骤f4s1:对于每个下级节点x,若广播下行帧的目标节点包含该节点,或包含该节点之下某一层次的下级节点,则设置rtcf的配置c3.x为选项p3.x.1;

102、步骤f4s2:设置rtcf的配置c2为选项p2.0;

103、步骤f4s3:设置rtcf的配置c4为所需的值;若该广播下行帧的目标节点均为当前节点的下级节点,则跳转数应设为0,若均为下级节点的某一下级节点,则应为1,以此类推;帧类型可根据需要设定;

104、步骤f4s4:向rtbc写入该广播下行帧的载荷;

105、所述功能f5:接收并解析来自各下级节点的上行帧由任一下级节点x收发逻辑模块自动实现,无需主动配置;

106、所述功能f6:同时向多个指定的下级节点广播转发来自上级节点的下行帧的实现方法为:

107、步骤f6s1:对于每个下级节点x,若广播下行帧的目标节点包含该节点,或包含该节点之下某一层次的下级节点,则设置rtcf的配置c3.x为选项p3.x.1;

108、步骤f6s2:设置rtcf的配置c2为选项p2.1;

109、所述功能f7:向上级节点转发来自指定的下级节点的上行帧的实现方法为:

110、步骤f7s1:若指定的下级节点为下级节点x,则设置rtcf的配置c1为选项p1.x。

111、本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

112、下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

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