本发明专利技术涉及一种实时以太网通信调度方法,解决了现有以太网应用在实时控制领域中会导致通信的延迟不确定和链路通信不可靠的技术问题。包括双端口存储器区域划分、虚链路队列控制、流量规整以及通信调度。本发明专利技术能够隔离带宽,从而保证通信延迟确定性和可靠性。
【技术实现步骤摘要】
本专利技术涉及一种实时以太网通信调度方法。
技术介绍
由于以太网技术具有低成本、通用性等特点,目前已逐步应用到一些实时控制领域,以取代原有的专用网络。实时控制领域的数据通信量一般不大,大部分都是控制命令和参数,但其更强调通信延迟的确定性和传输可靠性。以太网数据链路采用尽可能多的传输机制,保证了通信带宽的最大利用率,但网络节点上的多个应用共享一条物理链路时,由于应用之间没有通信带宽隔离机制,通信任务之间会相互影响,可能由于某个应用大量地发送数据,其它的应用不能或不及时地发送数据,导致应用任务通信的延迟不确定和链路通信不可靠。
技术实现思路
本专利技术的目的为提供一种带宽分配策略,将一条物理链路划成多条逻辑上的数据通路即虚链路,从而保证通信延迟确定性和可靠性的实时以太网通信调度方法,其解决了现有以太网应用在实时控制领域中导致通信延迟的不确定和链路通信不可靠的技术问题。本专利技术的技术解决方案为:一种实时以太网通信调度方法,其特殊之处是,包含以下步骤:1]双端口存储器区域划分:根据系统需要实现虚链路的个数n,将双端口存储器划分为n个存储区域,使每个虚链路使用一个存储区域,在逻辑上构成环形缓冲区;2]虚链路队列控制:每个虚链路建立队列控制指针,包括输入指针inptr和输出指针outptr,用于实现虚链路的队列管理;3]流量规整:每个虚链路使用一个计数器实现流量规整,当计数到0时,停止计数,并产生发送令牌信号,通知调度控制处理;4]通信调度:从多个虚链路选取具备发送条件的消息,通过物理链路发送。上述步骤1]中,每个消息帧中第一个字存放消息内容长度,后面紧跟消息内容;发送主机负责将数据帧放入虚链路的环形缓冲区,通信调度控制器负责从环形缓冲区读取数据帧组织发送;所述步骤2]中,主机管理输入指针,调度控制器管理输出指针。上述步骤2]中,当(inptr+1)%QueueLen=outptr,表示队列满;当inptr=outptr,表示队列为空;系统初始化时,将inptr和outptr设置为0;所述步骤3]中,在系统初始化时,主机根据通信消息传输周期的要求,设置虚链路计数器值,并使能计数器;计数器按周期产生发送允许信号;所述步骤4]中,通信调度循环查询每个虚链路消息是否具备发送条件,每个时钟周期查询一个虚链路;如果该虚链路消息不具备发送条件,则查询下一个虚链路;如果该虚链路消息具备发送条件,则根据虚链路ID以及其消息队列的输出指针OutPtr,计算消息-->帧地址,根据消息地址读取消息长度,然后读取消息内容,组织成标准的以太网数据帧提交MAC接口发送;同时调整虚链路对应消息队列的输出指针OutPtr,并复位对应的计数器,使计数器重新开始计数。上述步骤2]中,主机端写入数据帧的流程为:a.读取虚链路的队头和队尾指针的值,即读取InPtr和OutPtr;b.判断队列是否满?如果队列满,则退出;否则,继续进入下一步;c.根据InPtr和虚链路ID计算数据帧地址;d.将数据帧写入到虚链路队列中;e.将InPtr加1写入到存储器对应的寄存器中。f.退出;调度控制器读取数据的流程为:a.读取虚链路的队头和队尾指针的值,即读取InPtr和OutPtr;b.比较虚链路队头、队尾指针是否为空;为空则退出;否则,继续进入下一步;c.根据OutPtr和虚链路ID计算数据帧地址;d.从虚链路中读取数据帧;e.将OutPtr加1写入到存储器对应的寄存器中。f.退出;上述步骤4]中,在虚链路较多时进行分组,实现两级调度加快调度效率;先将虚链路分成等分组,先进行组内调度,每个组内轮询选取组内需要发送的虚链路,然后进行组间调度,选取最终需要发送的虚链路,根据虚链路消息内容长度,读取消息内容,通过物理链路进行发送。上述虚链路数目的范围为64到256。本专利技术具有如下优点:1、故障隔离,通信可靠。将一条物理链路划分为多个逻辑上的虚链路,虚链路带宽是按照应用要求进行分配。各应用任务只使用自己的虚链路带宽,各虚链路之间的通信相互隔离,每个通信任务不会过量的使用通信带宽,保证了通信的可靠性。2、延迟确定性。每个应用使用的虚链路的时间窗口,即计数器的计数周期是确定的,保证了应用的延迟确定性。3、分配效率高。带宽分配采用流量规整器和调度控制器等硬件电路实现,带宽的分配调度效率高。附图说明图1是实时以太网通信调度工作原理图;图2是实时以太网通信调度器功能框图;图3是流量规整器实现原理图。具体实施方式本专利技术是在以太网物理链路基础上,增加了带宽分配和调度策略,将一条物理链路划分为多个逻辑上的虚链路,虚链路带宽是可按照应用要求进行分配。调度器工作原理-->如图1所示。网路节点上的应用使用虚链路进行通信,不同虚链路带宽之间是隔离的,从逻辑上不同应用使用不同虚链路进行通信,从而保证了实时应用通信服务质量的要求。每个应用的通信带宽Bi由通信应用的消息周期Tpi和消息最大长度Lmaxi决定,Bi=Tpi×Lmaxi。所有的虚链路是共享物理链路的,在物理链路上,发送的周期Tsi与实际的消息周期Tpi会有一定的偏差量,该偏差量为抖动Jitter。系统往往要求抖动在一定范围之内(100us~500us),其中,最大。实时以太网通信调度器硬件电路采用虚链路计数器实现每个虚链路通信流量规整,调度器负责从数据帧队列中选取数据帧发送到物理链路。由于不同的虚链路共享真实物理链路,从物理链路上发送的数据流满足了通信任务周期要求,最大抖动在可允许范围内。参见图2,本方法通过下述步骤实现:1、双端口存储器区域划分:采用双端口存储器存放数据帧,按照系统需要实现虚链路个数n,将双端口存储器划分为n个存储区域,每个虚链使用一个存储区域,在逻辑上构成环形缓冲区。每个消息帧中第一个字存放消息长度,后面紧跟消息内容。发送主机负责将数据帧放入虚链路的环形缓冲区,调度控制器负责从环形缓冲区读取数据帧组织发送。2、虚链路队列控制:每个虚链路使用双端口存储器一个区域构成环形缓冲队列,每个虚链路需要建立队列控制指针,包括输入指针inptr和输出指针outptr。主机管理输入指针,调度控制器管理输出指针。当(inptr+1)%QueueLen=outptr表示队列满(QueueLen为队列长度),不能放数据;当inptr=outptr表示队列为空,不能取数据。系统初始化时,将inptr和outptr设置为0;主机端写入数据帧的流程如下:a.读取虚链路的队头和队尾指针的值(InPtr和OutPtr);b.判断队列是否满?如果队列满,则退出;c.根据InPtr和虚链路ID计算数据帧地址;d.将数据帧写入到虚链路队列中;e.将InPtr加1写入到存储器对应的寄存器中。f.返回。3、流量规整:每个虚链路上的流量规整器中使用一个计数器来实现流量规整,计数器较佳的计数周期设置为2nms(n为整数,n∈[0~7])。计数器支持设置、复位和使能,当计数到0时,停止计数,并产生发送令牌信号,通知调度控制器处理。在系统初始化时,主机根据通信消息传输周期的要求,设置虚链路计数器值,并使能计数器。计数器按周期产生令牌,每个虚链路令牌信号作为虚链路数据帧发送的必备条件,从而实现了通信流量规整,保证了消息传输的发送间隔确定,从而保证虚链路消息传输不会因为占本文档来自技高网...
【技术保护点】
一种实时以太网通信调度方法,其特征在于,包含以下步骤:1]双端口存储器区域划分:根据系统需要实现虚链路的个数n,将双端口存储器划分为n个存储区域,使每个虚链路使用一个存储区域,在逻辑上构成环形缓冲区;2]虚链路队列控制:每个虚链路建立队列控制指针,包括输入指针inptr和输出指针outptr,用于实现虚链路的队列管理;3]流量规整:每个虚链路使用一个计数器实现流量规整,当计数到0时,停止计数,并产生发送令牌信号,通知调度控制处理;4]通信调度:从多个虚链路选取具备发送条件的消息,通过物理链路发送。
【技术特征摘要】
1.一种实时以太网通信调度方法,其特征在于,包含以下步骤:1]双端口存储器区域划分:根据系统需要实现虚链路的个数n,将双端口存储器划分为n个存储区域,使每个虚链路使用一个存储区域,在逻辑上构成环形缓冲区;2]虚链路队列控制:每个虚链路建立队列控制指针,包括输入指针inptr和输出指针outptr,用于实现虚链路的队列管理;3]流量规整:每个虚链路使用一个计数器实现流量规整,当计数到0时,停止计数,并产生发送令牌信号,通知调度控制处理;4]通信调度:从多个虚链路选取具备发送条件的消息,通过物理链路发送。2.根据权利要求1所述的调度方法,其特征在于:所述步骤1]中,每个消息帧中第一个字存放消息内容长度,后面紧跟消息内容;发送主机负责将数据帧放入虚链路的环形缓冲区,通信调度控制器负责从环形缓冲区读取数据帧组织发送;所述步骤2]中,主机管理输入指针,调度控制器管理输出指针。3.根据权利要求2所述的调度方法,其特征在于:所述步骤2]中,当(inptr+1)%QueueLen=outptr,表示队列满;当inptr=outptr,表示队列为空;系统初始化时,将inptr和outptr设置为0;所述步骤3]中,在系统初始化时,主机根据通信消息传输周期的要求,设置虚链路计数器值,并使能计数器;计数器按周期产生发送允许信号;所述步骤4]中,通信调度循环查询每个虚链路消息是否具备发送条件,每个时钟周期查询一个虚链路;如果该虚链路消息不具备发送条件,则查询下一个虚链路;如果该虚链路消息具备发送条...
【专利技术属性】
技术研发人员:王红春,陈长胜,
申请(专利权)人:中国航空工业第一集团公司第六三一研究所,
类型:发明
国别省市:87[中国|西安]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。