一种兼容以太网通信的TTP/C通信节点实现方法
文献发布时间:2023-06-19 11:42:32
技术领域
本发明属于实时通信领域,具体是一种兼容以太网通信的TTP/C通信节点实现方法。
背景技术
近年来,随着嵌入式领域的发展,CPS(cyber-physical system)被提出,作为传统嵌入式系统的外延,CPS集计算、控制与通信与一体,结合计算资源和物理环境,以实现人、机以及环境三者之间的交互。CPS的主要应用场景集中在汽车电子、航空航天或工业自动化等相对复杂的领域,往往需要硬实时的控制系统支持,同时对控制系统的可靠性和安全性有较高要求。
TTA(time-triggered architecture)为这种硬实时的、高可靠性的、高安全性的控制系统提供了一种通用的设计框架,得到了业界的普遍认可。
TTA以节点为基本单位,节点根据职能拥有独立计算能力、控制能力和通信能力,节点之间互相连接构成一个TTA集群,TTA借助时间触发通信机制,在集群内部维护公共的全局时基,在各个节点之间建立一致的时序,从而实现系统与环境的统一。TTP/C协议针对TTA对时间触发通信的需求,为TTA提供包括时钟同步、收发消息、成员身份管理和冗余管理等在内的时间触发通信基本服务。
TT-Tech于2002年正式提出TTP/C协议的标准定义文档,针对TTP/C协议软件设计、硬件规范、以及TTP/C通信集群架构做出了定义。2011年,该标准定义文档经过部分修订后被SAE(society of automotive engineers)标准化,成为了首个得到SAE标准化的时间触发通信协议。
另一方面,对专用设备的依赖极大地限制了时间触发通信的应用,大大提升了部署时间触发通信协议的成本,因此如何在现今流行的以太网通信设备环境下,实现时间触发通信协议的部署,成为了实时通信领域当下的研究热点。TTE(time-triggeredethernet)是TT-Tech公司对兼容以太网的实时通信的探索,其理念是通过引入专用的交换机隔离时间触发通信和以太网通信,虽然能够在一定程度上解决时间触发通信协议和以太网通信协议兼容的问题,但仍无法摆脱对专用设备的依赖。
发明内容
本发明针对现有的时间触发通信协议和以太网通信协议兼容方案中,存在的对专用设备依赖性较强和部署困难的缺陷,提出了一种兼容以太网通信的TTP/C通信节点实现方法,可在通用的开发板上部署通信节点,使用通用的以太网通信设备实现TTP/C通用协议和以太网通信协议的兼容,通过兼容层协调具有不同时间关键性的通信,在保证具有最高时间关键性的通信语义完整的前提下,尽可能地对其他通信进行调度。
具体步骤如下:
步骤一、设计包括虚拟网络接口层,语义层和链路控制层的兼容层。
虚拟网络接口层用于为不同协议栈提供统一的网络接口;
语义层用于混合不同协议栈的数据帧,并按照完整还原最高时间关键性的原则对混合后的数据帧进行调度;
链路控制层负责控制通信设备,并完成对不同硬件平台的适配。
步骤二、在开发板平台上同时实现TTP/C通信协议栈和以太网通信协议栈,并采用硬件隔离实现逻辑上的独立;
所述的TTP/C通信协议栈运行在TTP/C控制器上,包括状态机、服务层和传输控制层三个层级;TTP/C控制器在TTP/C状态机的驱动下调用服务层和传输控制层接口,实现TTP/C协议需要的通信功能;状态机根据当前状态调度相应的例程,例程通过调用服务层的功能接口处理TTP/C协议逻辑;传输控制层与实际的通信接口交互,处理不同规格的通信接口,使其满足TTP/C协议的通信需要。
步骤三、TTP/C通信协议栈和以太网通信协议栈通过虚拟网络接口与兼容层交互;
开发板平台上同时实现两个协议的过程为:
首先,分别各自实现处于同一层级的TTP/C协议栈和以太网协议栈;然后,在逻辑上两个通信议栈之下加入兼容层,通过兼容层提供的虚拟网络接口,以及兼容层内部的帧混合逻辑,实现两个通信协议栈的兼容,最后,在兼容层对以太网卡进行驱动适配,使以太网硬件能够同时完成TTP/C通信和以太网通信。
兼容层为来自以太网协议栈的通信流量添加实时语义,在此语境下是继承自TTP/C协议栈时间触发通信的实时语义。在兼容层机制下,TTP/C协议栈和以太网协议栈对彼此透明,对兼容层不透明,兼容层通过实时语义与TTP/C协议栈达成一致。
步骤四、以太网协议栈在任意时间点发送以太网帧,由虚拟网络接口将以太网帧暂存在兼容层的以太网帧缓冲队列中;
步骤五、TTP/C协议栈在PSP阶段时间触发信号来临时,准备TTP/C帧,通过虚拟网络接口将其写入兼容层提供的TTP/C帧缓冲队列中。
步骤六、兼容层在检测到TTP/C帧准备完成后,开始进行以太网帧和TTP/C帧的混合,并保持对TP阶段时间触发信号的监听。
混合过程为:语义层基于TTP/C协议栈的实时语义,在时隙的PSP阶段获取以太网数据帧,此时以太网通信的原有语义在语义层被TTP/C的实时语义覆盖。
语义层先为TTP/C帧缓冲队列中的TTP/C帧的帧头前添加一个混合帧头,用于标注混合帧中TTP/C帧和以太网帧的分界,然后在此基础上再添加以太网头部,即ETH头,使混合帧能够被以太网卡识别并收发。
随后语义层将以太网帧取出,将其写入TTP/C帧的帧尾后,并更新混合帧头和标注以太网帧的位置,再更新以太网头部的长度域,使帧长度合法;最后,在混合帧头,原TTP/C帧和原以太网帧组成的混合帧尾部添加以太网尾部,即ETH尾。
进一步,在此过程中,如果TP阶段的时间触发信号到来,则立刻放弃帧混合,并开始进行混合帧的发送,此机制称为帧混合回滚。
步骤七、当监听到TP阶段时间触发信号来临,兼容层的发送端将准备好的混合帧发送到通信链路上。
步骤八、以太网通信协议栈捕获到混合帧,结合独立的时钟模块截取接收时间戳,并将时间戳和混合帧打包发送给兼容层的接收端;
步骤九、兼容层接收端对混合帧进行解析,并分别发送给TTP/C协议栈和以太网协议栈;
具体为:
首先,兼容层接收端剥离以太网头部,根据混合帧头中记录的以太网帧偏移量找到原以太网帧位置;
以太网帧偏移量等于原TTP/C帧的实际长度,记录在TTP/C协议栈的调度表中。
然后,将原TTP/C帧和原以太网帧拆出,兼容层将硬件记录的时间戳随同TTP/C帧上发给TTP/C协议栈,将以太网帧上发给以太网协议栈。
进一步、设计混合帧时,TTP/C帧的偏移量固定,等于ETH头和混合帧头的长度之和,以太网帧的偏移量则适应TTP/C帧的大小,保持在TTP/C帧帧尾后,并通过混合帧头标注该偏移量,准备完成后的TTP/C帧直到实际发送前都不再移动或更改,只要兼容层在时间触发信号到来前完成混合帧头部的填写,即可在任意时间点进行混合帧的发送,实现了TTP/C帧的随时就绪,保证了TTP/C帧能够实时地进行发送。
进一步、本发明利用开发板平台实现节点间的实时通信,针对性地修改TTP/C协议栈和兼容层,使TTP/C协议栈的实时性得到保障;
具体包括:修改兼容层的虚拟网络接口,TTP/C协议栈使用专用的TTP/C帧缓冲,该缓冲由TTP/C协议栈与兼容层共享,兼容层封装混合帧时,保持TTP/C帧缓冲不变,直接在该缓冲区前后进行添加,就地封装混合帧,以避免TTP/C帧的二次复制;
TTP/C协议栈中,TTP/C帧的发送和TTP/C帧的接受时间戳截取具有高时间关键性,在实现混合通信时,将TP阶段开始信号以及数据帧到达信号,下放到兼容层完成,避免TTP/C协议栈与兼容层的交互开销影响TTP/C协议实时性;
利用混合帧的实际到达时间与预估到达时间的差值,动态修正TTP/C协议延迟估计值,以保证时钟同步误差的精准。
本发明的优点在于:
1)、一种兼容以太网通信的TTP/C通信节点实现方法,为实现时间触发通信和以太网通信的兼容提供了一种可选的解决方案。
2)、一种兼容以太网通信的TTP/C通信节点实现方法,为相关的研究、验证以及实用提供了低成本的选择项。
附图说明
图1是本发明一种兼容以太网通信的TTP/C通信节点实现方法的流程图;
图2是本发明采用的兼容层结构示意图;
图3是本发明采用的TTP/C协议栈的架构示意图;
图4是本发明TTP/C通信的流程示意图;
图5是本发明中以太网通信的流程示意图;
图6是本发明以太网帧和TTP/C帧形成的混合帧的数据结构;
图7是本发明以ZCU104为目标平台时的通信节点架构示意图;
图8是本发明以ZCU104为目标平台时的block design示意图;
图9是本发明中对TTP/C协议的时钟校正值进行测量的结果图;
图10是本发明中对以太网协议的通信吞吐量进行测试的结果图;
图11是本发明中对以太网协议的额外通信延迟进行测试的结果图。
具体实施方式
下面将结合附图和实施示例对本发明作进一步的详细说明。
本发明通过在NIC物理设备与包含TTP/C协议栈和以太网协议栈的上层协议栈之间插入兼容层,以通信节点为单位实现TTP/C通信协议和以太网通信协议的兼容。逻辑上,TTP/C协议栈和以太网协议栈彼此隔离,按照原本的链路访问机制使用通信链路,通过统一的接口与兼容层进行交互,兼容层处理上层协议栈的链路访问请求,按还原最高时间关键性的原则将其转换为对实际通信链路的访问。
如图1所示,具体步骤如下:
步骤一、设计包括虚拟网络接口层,语义层和链路控制层的兼容层。
如图2所示,兼容层在逻辑上分为三个层级,其中,虚拟网络接口层用于为上层协议栈提供统一的网络交互接口,减少上层协议栈和兼容层的耦合;虚拟网络接口层内部根据上层协议栈的特点,进行针对性的处理:譬如TTP/C协议栈的虚拟网络接口使用共享缓冲区,避免TTP/C帧在后续处理中的二次复制和移动;以太网协议栈的虚拟网络接口额外提供缓冲区暂存以太网帧,以备帧混合时使用等。
语义层用于混合不同协议栈的数据帧,并按照完整还原最高时间关键性的原则对混合后的数据帧进行调度;
语义层的职责是协调不同时间关键性的通信,对数据帧进行调度和分发,管理链路资源的分配。语义层对时间关键性最高的通信语义提供完整的实时支持,需要和时间性最高的通信协议栈在时间关键性上保持一致。当有不同时间关键性的数据帧需要同时发送时,虚拟网络接口层同时处理了来自上层协议栈的具有不同时间关键性的通信流量,此时语义层需要优先调度高时间关键性的通信流量,及时满足其链路访问需求,以维持其实时语义;如果在满足高时间关键性通信流量的实时语义的前提下,无法避免低时间关键性通信流量的实时语义失效,则语义层需要通过调度策略尽可能地减少实时语义失效情况的发生;对于非时间关键的通信流量,譬如以太网通信流量,则以尽力发送的方式,通过合理的调度,在满足时间关键通信的前提下,优化非时间关键通信的性能,主要是吞吐量和平均通信延迟。由于兼容层中数据链路层的影响,不同时间关键性的数据帧被接收时,统一地含有最高时间关键性的实时语义,语义层负责对不同时间关键性的数据帧进行区分,在去除不必要的实时语义后,将数据帧上发至虚拟网络接口层,分发到对应协议栈的vNIC接口。
链路控制层负责控制通信设备,并完成对不同硬件平台的适配。
步骤二、在开发板平台上同时实现TTP/C通信协议栈和以太网通信协议栈,并采用硬件隔离实现逻辑上的独立;
所述TTP/C通信协议栈的实现在不同的硬件平台上基本保持一致,拥有良好的跨平台可移植性;如图3所示,运行在TTP/C控制器上,包括状态机、服务层和传输控制层三个层级;TTP/C控制器在TTP/C状态机的驱动下调用服务层和传输控制层接口,实现TTP/C协议需要的通信功能;状态机是TTP/C协议栈的核心,根据当前状态调度相应的例程,完成TTP/C协议功能。服务层负责TTP/C协议栈的功能实现,状态机例程通过调用服务层的功能接口处理TTP/C协议逻辑;传输控制层负责与实际的通信接口交互,处理不同规格的通信接口,使其满足TTP/C协议的通信需要。
步骤三、TTP/C通信协议栈和以太网通信协议栈通过虚拟网络接口与兼容层交互,两个协议栈之间的数据交换在兼容层完成。
开发板平台上同时实现两个协议的过程为:
首先,分别各自实现处于同一层级的TTP/C协议栈和以太网协议栈;然后,在逻辑上两个通信议栈之下加入兼容层,通过兼容层提供的虚拟网络接口,以及兼容层内部的帧混合逻辑,实现两个通信协议栈的兼容,最后,在兼容层对以太网卡进行驱动适配,使以太网硬件能够同时完成TTP/C通信和以太网通信。
虚拟网络接口为TTP/C协议栈提供无需二次复制的虚拟网络接口,为以太网协议栈提供具有缓冲队列的虚拟网络接口,前者可减少TTP/C协议栈在帧收发上的开销,为其他处理留出余量,后者用于支持兼容层驱动的帧混合机制。
兼容层为来自以太网协议栈的通信流量添加实时语义,在此语境下是继承自TTP/C协议栈时间触发通信的实时语义。在兼容层机制下,TTP/C协议栈和以太网协议栈对彼此透明,对兼容层不透明,兼容层通过实时语义与TTP/C协议栈达成一致。
兼容层通过两种不同的机制实现TTP/C协议和以太网协议的兼容:
第一种方式是使用TTP/C协议设计中的备份链路实现,简称为备份链路方法。
根据AS6003标准的定义,TTP/C协议的实现中包含至少两条链路,用于实现容错设计,发送节点向所有链路发送相同的数据帧,接收方接收所有链路的数据帧后,根据投票算法选出需要进行处理的数据帧。本申请提出的兼容层设计中,兼容层的链路控制层接管了原先TTP/C协议栈的数据链路层,包括用于容错设计的链路,因此可以将原本用于容错的链路用于传输以太网数据,通过牺牲TTP/C协议的部分容错性能,实现以太网数据的无障碍传输,采用这种方式的缺点在于TTP/C协议对传输错误敏感,挪用容错链路会导致出现传输错误的概率上升,出现传输错误时,TTP/C节点可能因为没有收到正确的TTP/C数据帧而判断链路失效,从而陷入静默状态,如果容错链路数量较少,或链路本身质量不佳,可能导致TTP/C节点频繁失效,失去应当发挥的作用。
使用备份链路的方法实现链路上不同时间关键性通信的兼容时,各链路相互独立,TTP/C通信链路使用TTP/C协议栈和兼容层的链路控制层提供的分时隙TDMA机制进行总线的访问控制,以太网通信链路则与一般通信场景下的以太网通信无二,由兼容层的链路控制层按照以太网协议栈的链路层管理机制进行访问控制。由于两条链路彼此独立,以太网通信对TTP/C通信的实时语义不产生影响,因此此时的语义层只需按照链路将收到的数据帧分发到对应的协议栈即可,无需进行额外的语义管理。
第二种方式是将以太网通信视为TTP/C协议的上层应用,将以太网数据帧和TTP/C数据帧进行封装,简称为混合帧方法。这种方式对TTP/C帧本身的语义存在一定影响,需要在语义层对TTP/C帧的语义进行还原,当TTP/C数据帧本身包含TTP/C消息时,需要加入混合帧头,以便于语义层分离帧体中的TTP/C消息和以太网数据帧。
使用混合帧方法实现链路上不同时间关键性通信的兼容时,涉及通信语义的变更,通信链路的使用方式上也有所不同,需要兼容层对以太网通信和TTP/C通信进行统一的管理。
步骤四、以太网协议栈在任意时间点发送以太网帧,由虚拟网络接口将以太网帧暂存在兼容层的以太网帧缓冲队列中;
步骤五、TTP/C协议栈在PSP阶段时间触发信号来临时,准备TTP/C帧,通过虚拟网络接口将其写入兼容层提供的TTP/C帧缓冲队列中。
为TTP/C协议栈使用的虚拟网络接口提供专用的共享缓冲区,TTP/C协议栈直接在该缓冲区中进行TTP/C帧的准备,准备完成后的TTP/C帧直到实际发送前都不再移动或更改。
步骤六、兼容层在检测到TTP/C帧准备完成后,开始进行以太网帧和TTP/C帧的混合,并保持对TP阶段时间触发信号的监听。
混合过程为:语义层基于TTP/C协议栈的实时语义,在时隙的PSP阶段获取以太网数据帧,此时以太网通信的原有语义在语义层被TTP/C的实时语义覆盖。
如图6所示,语义层先为TTP/C帧缓冲队列中的TTP/C帧的帧头前添加一个混合帧头,用于标注混合帧中TTP/C帧和以太网帧的分界,然后在此基础上再添加以太网头部,即ETH头,使混合帧能够被以太网卡识别并收发。
随后语义层将以太网帧取出,将其写入TTP/C帧的帧尾后,并更新混合帧头和标注以太网帧的位置,再更新以太网头部的长度域,使帧长度合法;最后,在混合帧头,原TTP/C帧和原以太网帧组成的混合帧尾部添加以太网尾部,即ETH尾。
进一步,TTP/C帧准备完成后,兼容层开始读取此前驻留的以太网帧,进行帧混合,帧混合的过程中,保持对TP阶段的时间触发信号的监听,帧混合完成后,进行以太网帧缓冲队列的更新,以及混合帧头部的更新,在此过程中,如果时间触发信号到来,则立刻放弃帧混合,并开始进行混合帧发送,此机制称为帧混合回滚;帧混合回滚发生时,以太网帧缓冲队列未被更新,因此相应的以太网帧自动地退回缓冲队列中,即所谓“回滚”。
使用回滚的帧混合策略,保障TTP/C帧准时发送。
步骤七、当监听到TP阶段时间触发信号来临,兼容层的发送端将准备好的混合帧发送到通信链路上。
帧发送时,由独立的时钟模块提供时间触发信号,转化为NIC设备的发送信号,可通过硬连线、硬件DMA、处理器轮询等方式在一定的延迟内完成。
步骤八、以太网通信协议栈捕获到混合帧,结合独立的时钟模块截取接收时间戳,并将时间戳和混合帧打包发送给兼容层的接收端;
帧接收时,由硬件设备截取帧接收信号,配合独立的时钟模块获得时间戳。
步骤九、兼容层接收端对混合帧进行解析,并分别发送给TTP/C协议栈和以太网协议栈;
具体为:
首先,兼容层接收端剥离以太网头部,根据混合帧头中记录的以太网帧偏移量找到原以太网帧位置;
以太网帧偏移量等于原TTP/C帧的实际长度,记录在TTP/C协议栈的调度表中。
然后,将原TTP/C帧和原以太网帧拆出,兼容层将硬件记录的时间戳随同TTP/C帧上发给TTP/C协议栈,将以太网帧上发给以太网协议栈。
进一步、设计混合帧时,TTP/C帧的偏移量固定,等于ETH头和混合帧头的长度之和,前者为标准ETH头部,长度为14字节,后者为自定义的头部,用于记录原ETH帧在混合帧中的偏移量,长度2字节;
以太网帧适应TTP/C帧的大小进行偏移,保持在TTP/C帧帧尾后,并通过混合帧头标注该偏移量,准备完成后的TTP/C帧直到实际发送前都不再移动或更改,只要兼容层在时间触发信号到来前完成混合帧头部的填写,即可在任意时间点进行混合帧的发送,实现了TTP/C帧的随时就绪,保证了TTP/C帧能够实时地进行发送。
进一步、本发明利用开发板平台实现节点间的实时通信,针对性地修改TTP/C协议栈和兼容层,使TTP/C协议栈的实时性得到保障;
具体包括:修改兼容层的虚拟网络接口,TTP/C协议栈使用专用的TTP/C帧缓冲,该缓冲由TTP/C协议栈与兼容层共享,兼容层封装混合帧时,保持TTP/C帧缓冲不变,直接在该缓冲区前后进行添加,就地封装混合帧,以避免TTP/C帧的二次复制;
TTP/C协议栈中,TTP/C帧的发送和TTP/C帧的接受时间戳截取具有高时间关键性,在实现混合通信时,将TP阶段开始信号以及数据帧到达信号,下放到兼容层完成,避免TTP/C协议栈与兼容层的交互开销影响TTP/C协议实时性;
使用实测误差的1/2作为时钟校正值和延迟估计值,利用混合帧的实际到达时间与延迟估计值的差值,动态修正TTP/C协议延迟估计值,在保证延迟估计收敛的前提下避免发生震荡,以额外的收敛周期换取时钟校正值和延迟估计值的精准。
原TTP/C协议中,使用静态配置的延迟估计值计算TTP/C帧的到达时间,以此为依据进行时基校正,该方法要求操作人员对传输延迟具有精准的把控,否则会导致时钟同步误差产生偏差,在实际操作时存在困难。本发明则利用混合帧的实际到达时间与预估到达时间的差值(实际使用该差值的1/2),动态修正TTP/C协议延迟估计值,以保证时钟同步误差的精准。
时钟校正值平稳后,仍存在一定的偏差值,则说明实际本地时基与预期本地时基存在差异,需要对本地时基进行修正,以消除时钟校正值偏差。
本发明提供了在通用硬件平台上实现兼容TTP/C通信协议和以太网通信协议的通信节点的方法,如图7所示,给出了以ZCU104开发板作为目标平台时的通信节点架构示意图。ZCU104开发板作为各种系统验证原型常用的开发平台,拥有数个通用处理器核心,搭载了通用以太网NIC设备,并具备可用于硬件编程的FPGA资源。上述硬件资源可见于大多数中高端的开发板,并能在部分不具备的开发板上找到等效的替代。如图8所示,给出了使用vivado对ZCU104开发板进行硬件连接的block design示意图。
具体实例:
节点实现完成后,按照如下步骤进行兼容TTP/C通信协议和以太网通信协议的通信,TTP/C协议通信和以太网协议通信分别如图4和图5所示。
发送端流程如下:
第一步,以太网协议栈在任意时间点发送以太网帧,由兼容层的虚拟网络接口将以太网帧暂存在缓冲队列中,等待帧混合使用。
第二步,TTP/C协议栈在PSP(pre-send phase)阶段时间触发信号来临时,准备TTP/C帧,将其写入虚拟网络接口提供的共享缓冲区中。
第三步,兼容层在检测到TTP/C帧准备完成后,开始进行帧混合,并保持对TP(transmission phase)阶段时间触发信号的监听。兼容层将暂存在缓冲队列中的以太网帧取出,将其附加到TTP/C帧后,并更新混合帧的头部,使其成为合法的数据帧,能够被通信链路远端的以太网通信设备所识别。设计混合帧时,固定TTP/C帧的偏移量,调整以太网帧用于适应TTP/C帧的大小。
由于TTP/C协议栈为时间关键性最高的通信协议栈,在混合帧结构上,将TTP/C帧安排在混合帧的最前部,当TTP/C帧准备就绪后立刻进行混合帧头以及混合帧ETH头的填写,确保在TTP/C帧就绪后的任何时间点,带有完整TTP/C信息的混合帧都可以被立刻发送。
第四步,兼容层在TP阶段时间触发信号来临时,置位以太网通信设备的发送信号,将准备好的混合帧发送到通信链路上。
接收端流程如下:
第一步,以太网通信设备捕获到接收混合帧,通过硬件结合时钟模块截取接收时间戳。
第二步,兼容层解析混合帧,将原TTP/C帧和原以太网帧拆出,将时间戳和TTP/C帧上发给TTP/C协议栈,将以太网帧上发给以太网协议栈。
使用本发明的兼容以太网通信的TTP/C通信节点实现方法,可以在不具备时间触发专用设备的目标硬件平台上,实现具有时间触发通信能力、同时具备部分以太网通信能力的混合通信节点。通信节点使用专用的混合帧结构,并基于TTP/C协议的链路约束工作,若有纯以太网通信节点在集群中会导致链路冲突,若有纯TTP/C通信节点在集群中则无法正确识别链路上的数据帧结构,因此,通信集群内部所有节点都必须使用本发明提出的架构。
本发明提出的通信节点组成的通信集群(以下简称混合通信集群)能够与纯TTP/C通信集群和纯以太网通信交互,方式如下:
首先,需要在本发明提出的通信节点上加装额外的网络接口,使其成为网桥节点,由兼容层接收到网桥一端的数据帧后,将其转化为网桥另一端的数据帧发送。
如果网桥节点两端分别连接混合通信集群和纯TTP/C通信集群,则额外网络接口必须具备接收纯TTP/C帧的能力,由于一般的网络接口不具备直接接收TTP/C帧的能力,因此需要定制的硬件设备。网桥节点分别监听混合通信集群的广播和纯TTP/C通信集群的广播,确认混合通信集群和纯TTP/C通信集群使用的TTP/C调度表一致,则允许网桥两端进行交互。从混合通信集群向纯TTP/C通信集群方向的混合帧被网桥节点捕获后,截取其中的TTP/C帧部分,转发到纯TTP/C通信集群;从纯TTP/C通信集群向混合通信集群方向的TTP/C帧被加上以太网头后转发到混合通信集群;转发逻辑由硬件实现,以确保延迟满足TTP/C协议的实时性要求。
如果网桥节点两端分别连接混合通信集群和纯以太网通信集群,则额外网络接口可以使用通用的以太网接口。网桥节点分别监听混合通信集群的广播和纯以太网通信集群的数据帧。从混合通信集群向纯以太网通信集群方向的混合帧被网桥节点捕获后,网桥节点抽取其中的以太网帧通过以太网接口发送到纯以太网通信集群;从纯以太网通信集群向混合通信集群方向的以太网帧由兼容层放置在以太网帧缓冲队列中,逻辑上视作网桥节点本身发出的以太网帧,经混合后发送到混合通信集群中。
本发明为如何在不具备时间触发专用设备的通用硬件平台上,实现兼容时间触发通信协议与以太网通信协议的通信节点这一问题,提出了一种可行的解决方案,为低成本的研究、验证和应用提供了一种可选项。
经实验验证,本发明对TTP/C协议的实时性影响在可接受的范围内。实验中,对本发明中TTP/C协议栈所使用的全局时钟校正值进行了测量,其结果如图9所示,该实验结果表明,即便在引入兼容层后,通过一系列实时性设计,TTP/C协议的实时性仍旧能够得到较完整保留,符合AS6003标准相关规定。
本发明中以太网通信的吞吐量进行测试的结果如图10所示,以太网通信吞吐量收到TTP/C协议栈的时隙调度影响,可通过缩短TTP/C协议栈时隙长度的方式得到提高,其极限值则受到TTP/C协议栈和兼容层处理开销的制约,不考虑这些处理开销的前提下,其理论上限与以太网网口极限性能一致。
本发明中对以太网通信引入的额外延迟进行测试的结果,如图11所示,图中显示的是兼容层使用的以太网帧缓冲队列高负载情况下的延迟值。本发明中的以太网通信延迟主要由兼容层使用的以太网帧缓冲队列机制引入,受缓冲队列长度以及TTP/C协议栈的时隙调度影响,通过提高以太网通信吞吐量,缩短时隙长度,降低缓冲队列负载,理论上可减少乃至消除该延迟。
- 一种兼容以太网通信的TTP/C通信节点实现方法
- 一种兼容以太网通信的TTP/C通信节点实现方法