基于1394总线事件消息响应机制的处理方法与流程

文档序号:14870343发布日期:2018-07-06 22:33阅读:340来源:国知局

本发明属于计算机硬件技术,涉及一种基于1394总线事件消息响应机制的处理方法。



背景技术:

1394总线在航空领域应用中,主要采用异步流包传输网络数据。但是异步流消息是不需要应答的,这对于发送出去的关键事件消息,不能确认接收方是否接收到。在ieee1394系列协议中,没有定义对这种关键异步流消息的响应机制应如何处理。



技术实现要素:

本发明的目的:本发明提出一种基于1394总线事件消息响应机制的处理方法,解决关键事件消息的可靠接收问题。

本发明的技术方案:本发明提供一种基于1394总线事件消息响应机制的处理方法,具体可分为发送方处理步骤,和接收方处理步骤。

发送方处理步骤如下:

步骤1:通信配置表中给总线上每条消息分配其帧开始(startofframe,stof)发送偏移时间,并标识需要应答的关键消息,为每条需要应答的消息设计重试次数计数器,加载初始值为系统设置的最大重试次数;

步骤2:驱动接口将需要发送的信息封装,并根据消息属性(是否需要应答)和当前消息的发送情况填充到主存中为空或即将为空的待发送缓冲区中,并在完成数据封装填充后,通知硬件逻辑电路该数据具备发送条件;

步骤3:硬件逻辑电路检查此消息的重试情况,如发送已完成(已被应答)或重试超时,则本消息需搬移,将当前需发送的消息搬移到片内发送缓冲内;如重试未完成,则片内发送缓冲仍保留上次数据,等待重试发送;

步骤4:在当前配置表调度发送消息的发送偏移时间到来时,本条消息已搬移到片内发送缓冲内,则在发送偏移时刻,逻辑将数据打包并发送到1394总线上,完成本条消息的发送;

步骤5:根据配置表调度得到的该消息是否需要应答,如果需要应答,则设置对应的应答标志位,暂不更新对应消息缓冲指针;

步骤6:如果在超时周期内(下条需发送数据包发送之前)收到应答消息,完成应答消息的发送,将本条消息重试计数值清“0”,指示该消息已发送完成;

步骤7:如果在超时周期内(下条需发送数据包发送之前)未收到应答消息,则判断重试次数计数值:

——如果重试计数值不等于“0”,则减1,并转入后续消息发送,重试消息将在下个发送周期内发送;

——如果重试计数值等于“0”,指示该消息已重试超时,上报中断到主机,并转入后续消息发送。

接收方处理步骤如下:

步骤1:数据包发送完后,将本节点的工作模式设置为接收模式;

步骤2:本节点接收到消息后,如循环冗余校验crc正确,则提交到接收调度逻辑;否则直接丢弃;

步骤3:硬件逻辑电路提取接收到消息的通道号,判断与配置表中保存的期望接收消息通道号是否相同;

步骤4:如果不相同,则直接丢弃;

步骤5:如果相同,则根据调度配置表得到的接收消息控制字,判断消息是否需要应答,如果需要应答,则将本消息的id写入应答消息负载,并立即启动发送;

步骤6:将接收到的消息存入片内接收缓冲区内,并将片内接收缓冲区内保存的数据搬移至主存缓冲区,完成本条消息接收。

本发明具有的优点效果:本发明可按照系统配置,接收方对指定的关键1394总线事件消息立即应答,提高了接收消息的可靠性;发送方在下个发送周期的偏移时刻间隔重试发送,不改变本节点预先分配的带宽,保证了总线通讯的确定性。

附图说明

图1是本发明的方法流程图。

具体实施方式

下面结合附图和具体实施例,对本发明的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其他实施例,都属于本发明的保护范围。

一种基于1394总线事件消息响应机制的处理方法,具体可分为发送方处理步骤,和接收方处理步骤。

发送方处理步骤如下:

步骤1:通信配置表中给总线上每条消息分配其帧开始(startofframe,stof)发送偏移时间,并标识需要应答的关键消息,为每条需要应答的消息设计重试次数计数器,加载初始值为系统设置的最大重试次数;

步骤2:驱动接口将需要发送的信息封装,并根据消息属性(是否需要应答)和当前消息的发送情况填充到主存中为空或即将为空的待发送缓冲区中,并在完成数据封装填充后,通知硬件逻辑电路该数据具备发送条件;

步骤3:硬件逻辑电路检查此消息的重试情况,如发送已完成(已被应答)或重试超时,则本消息需搬移,将当前需发送的消息搬移到片内发送缓冲内;如重试未完成,则片内发送缓冲仍保留上次数据,等待重试发送;

步骤4:在当前配置表调度发送消息的发送偏移时间到来时,本条消息已搬移到片内发送缓冲内,则在发送偏移时刻,逻辑将数据打包并发送到1394总线上,完成本条消息的发送;

步骤5:根据配置表调度得到的该消息是否需要应答,如果需要应答,则设置对应的应答标志位,暂不更新对应消息缓冲指针;

步骤6:如果在超时周期内(下条需发送数据包发送之前)收到应答消息,完成应答消息的发送,将本条消息重试计数值清“0”,指示该消息已发送完成;

步骤7:如果在超时周期内(下条需发送数据包发送之前)未收到应答消息,则判断重试次数计数值:

——如果重试计数值不等于“0”,则减1,并转入后续消息发送,重试消息将在下个发送周期内发送;

——如果重试计数值等于“0”,指示该消息已重试超时,上报中断到主机,并转入后续消息发送。

接收方处理步骤如下:

步骤1:数据包发送完后,将本节点的工作模式设置为接收模式;

步骤2:本节点接收到消息后,如循环冗余校验crc正确,则提交到接收调度逻辑;否则直接丢弃;

步骤3:硬件逻辑电路提取接收到消息的通道号,判断与配置表中保存的期望接收消息通道号是否相同;

步骤4:如果不相同,则直接丢弃;

步骤5:如果相同,则根据调度配置表得到的接收消息控制字,判断消息是否需要应答,如果需要应答,则将本消息的id写入应答消息负载,并立即启动发送;

步骤6:将接收到的消息存入片内接收缓冲区内,并将片内接收缓冲区内保存的数据搬移至主存缓冲区,完成本条消息接收。

最后应说明的是,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。



技术特征:

技术总结
本发明属于计算机硬件技术,涉及一种基于1394总线事件消息响应机制的处理方法。本文提供了一种基于1394总线事件消息响应机制的处理方法,可按照系统配置,接收方对指定的关键1394总线事件消息立即应答,提高了接收消息的可靠性;发送方在下个STOF周期的偏移时刻间隔重试发送,不改变本节点预先分配的带宽,保证了总线通讯的确定性。

技术研发人员:王宣明;田泽;魏艳艳;牛少平;魏美荣;郑斐
受保护的技术使用者:中国航空工业集团公司西安航空计算技术研究所
技术研发日:2017.12.06
技术公布日:2018.07.06
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1