一种多通道总线通信控制方法与流程

文档序号:14391955阅读:596来源:国知局
一种多通道总线通信控制方法与流程

本发明属于涉及航空通信驱动技术领域,具体涉及一种机载多通道总线通信控制方法。



背景技术:

随着航空电子技术的发展,航空电子系统功能和复杂度不断增加,目前普遍采用主控计算机和多个功能设备配合完成航空电子系统控制,主控计算机和外部设备之间的交互越来越多,通信通道和通信复杂度不断增加,越来越多的采用各种多通道总线进行通信,同时通信可靠性的重要程度也不言而喻。

rs422总线是一种常用的多通道总线,具有传输距离长、波特率可调、速度快、抗干扰能力强等诸多特点,在航空航天以及工业控制领域有着广泛的应用。然而受外部噪声和电磁干扰等因素影响,rs422总线在数据交互过程中存在的数据丢失和响应慢等问题,不同程度地影响了通信的可靠程度。



技术实现要素:

本发明的目的是:提供一种适应性广,能够有效提高了通信可靠性,保证传输数据正确性的多通道总线通信控制方法。

本发明的技术方案是:一种多通道总线通信控制方法,其采用主-从通信方式,确定主设备和从设备,并至少在某一设备上设置通信状态机,确定该设备实时通信状态,对数据状态进行校验,只处理当前状态下的数据,使得每次发送接收都在确定的状态下进行,一次通信周期内的发送接收在同一状态下进行,直到另一状态触发条件满足,进入另一状态通信。

所述的一种多通道总线通信管理方法,包括如下处理步骤:

1.1)采用主-从通信模式,由主设备发起通信并控制发送接收时序及通信周期,从设备响应主设备命令进行数据传输;

1.2)设计主设备和/或从设备通信状态机,每一次发送接收操作均在同一状态中操作,直到通信完成或其他状态触发条件发生,转入下一状态;

1.3)通信异常处理,对通信握手,数据传输错误进行错误恢复和处理,各通道传输采用独立的通信链路和缓冲,多通道通信独立进行,互不影响。

所述步骤1.1)主-从通信模式中,主设备在系统启动后,在通信周期起始时刻调度发送任务,首先发起通信,在通信周期内接收任务调度时刻接收从设备的回复数据,进行解析并组织下周期发送数据,从设备周期查询数据接收并组织数据回复主设备。

所述步骤1.1)主-从通信模式,通信链路采用半双工设置,按照发送-接收-发送-接收......的顺序进行数据传输,设置发送接收调度标志和定时器计数,确保发送接收交替进行。

所述步骤1.2)设计通信状态机,针对主设备和从设备通信特点,设计了握手状态、空闲状态、数据传输状态、错误恢复状态、错误处理状态,在上述各单独状态内完成一次通信过程的发送和接收操作,直到达到触发条件,才会进入下一状态。

所述步骤1.2)设计通信状态机,通信从握手状态开始,握手成功后状态迁移至空闲状态或数据传输状态,无数据传输时,通信保持在空闲状态,有数据传输时,通信保持在数据传输状态,通信异常时,先从当前状态迁移至错误恢复状态,进行通信恢复,恢复失败,则通信状态迁移至错误处理状态,进行错误处理并重新进行通信握手。

所述步骤1.3)通信异常处理,若握手失败,则主设备周期发送握手命令,直到握手成功,进行状态迁移。

所述步骤1.3)通信异常处理,在数据传输过程中,接收方接收数据并解析,若数据不对或未收到,在错误恢复状态中进行通信恢复,直到数据传输正确或达到通信错误上限,数据传输迁移至下一状态。

所述步骤1.3)通信异常处理,设通信错误次数上限为n,若通信出现错误,进行错误次数计数,若未达到上限值n,则进行数据重发,执行通信恢复,若在连续n次内通信都未恢复成功,记录通信错误状态,断开通信链路,并重新进入握手状态,同时上报通信断开消息给主控程序。

所述步骤1.3)通信异常处理,在多通道总线通信传输中,每个通信链路采用独立传输通道,采用独立信息记录缓冲区,任何一条通信链路错误不影响其他通信链路。

本发明的技术效果是:本发明多通道总线通信控制方法采用主-从通信模式,设计了严格的发送接收时序控制,使得数据传输有序进行;设计通信状态机,在不同状态下进行对应状态通信传输处理,数据传输都在确定状态下进行;针对数据丢失、响应慢以及数据错误等通信错误设计了通信重发恢复功能以及错误处理、汇报功能,保证数据正确传输;机载计算机与多个设备的通信采用独立环形缓冲和独立通信链路设计,多通道通信独立执行,互不干扰。本发明设计的多通道总线通信控制方法实现简单,可扩展性好,能够有效解决通信干扰及通信错误问题,大大提高设备之间通信传输可靠性。

附图说明

图1为主-从通信时序控制示意图;

图2为通信状态转换图。

具体实施方式

通过具体示例,对本发明作进一步详细说明。

为了提高通信可靠性,本发明基于rs422总线通信,采用主-从通信方式,通信状态机以及完备的错误处理机制,设计了多通道rs422通信管理,通信过程能够有效检测数据错误和通信链路不稳定状态,并进行处理,有效提高了通信可靠性,保证传输数据正确性。本发明具有良好的适应性,不局限于rs422物理链路。

本发明多通道总线通信控制方法实现时主要分成三部分:

1、主-从通信时序控制

主控计算机和其他设备之间的通信采用主-从通信方式,一方为主设备,另一方为从设备。通信过程由主设备发起,通信周期也由主设备控制,一次通信包括从主设备发送数据到主设备接收数据完成,如图1所示,通信链路采用半双工设置,通信严格按照发送-接收-发送-接收……的顺序进行,从而可以保证当前状态的确定性,避免一次通信过程中发送和接收的状态不一致。

通信周期采用定时器控制,其中t表示定时器周期,t表示通信周期,一次通信传输过程包括以下4个阶段:

1)、在通信周期t到来时,调度主设备发送任务组织发送数据;

2)、在每个定时器周期到来时,主设备检测发送数据并启动物理传输;

3)、从设备在每个定时器周期到来时进行数据查询接收,解析,并组织回复数据;

4)、主设备在接收任务周期到来时进行数据接收、解析。

主设备接收调度一般设置在t/2处,可根据发送任务负载设置在t/2~(t-t)之间均可。

2、设计通信状态机

通信状态机为描述通信过程中多个通信状态之间相互切换关系的通信模型,每次发送接收都在确定的状态下进行,一次通信周期内的发送接收在同一状态下进行,直到本次通信结束或另一状态触发条件满足,通信进入另一状态。针对主设备和从设备通信特点,设计了握手状态、空闲状态、数据传输状态、错误恢复状态、错误处理状态、状态转换,状态转换描述如图2所示:

1)、系统启动后,主设备会首先发出握手命令,并在握手状态下接收从设备握手确认命令,若握手失败,则主设备一直发送握手数据,直到握手成功;

2)、握手成功后,若有数据则状态转入数据传输状态,主设备和从设备数据传输在此状态下进行;若无数据传输,在通信进入空闲状态,主设备和从设备在此状态下持续进行空闲命令传输;

3)、空闲状态时若检测到有数据要发送,则状态转入数据传输状态,数据传输完成后再转回空闲状态;

4)、空闲状态或数据传输状态中若发生传输错误,通信进入错误恢复状态,在恢复次数上限内命令或数据传输正确,则通信转回之前的状态;

5)、错误恢复状态下传输错误恢复失败,通信转入错误处理状态,进行错误处理。

3、通信异常处理

通信异常处理分为以下几种情况:

1)、握手失败:主设备发送握手命令后,一直接收不到从设备的握手回复或握手回复命令不对,则主设备一直发送握手命令,直到握手成功;

2)、通信异常修复:在外部干扰或通信链路不稳定情况下,出现的数据响应慢或者丢数据,数据不对等问题,接收方接收到数据后,对接收数据进行正确性判断,包括数据格式、数据有效性和数据校验和。若接收错误,采用重发机制,并设置重发次数上限n,在重发次数n计数内,若数据接收正确,则通信恢复正常,继续进行,若连续n次未能正确进行数据接收,则设置通信链路断开,记录通信错误状态,向主机汇报通信异常,等待主机处理。

3)、错误隔离,每个rs422通道采用独立的发送接收数据缓冲区和通信链路,任意通道错误不影响其他通道通信,保证了通信可靠性。

在某嵌入式软件系统中,存在通信任务周期为10ms,定时器周期为1ms,rs422通道为7路,主设备发送时刻为t%10=0时刻,接收时刻为t%10=5时刻,从设备1ms执行一次通信数据接收和回复。设置通信错误恢复次数上限为3次。以下从主设备的角度举例说明通信过程中的时序控制和状态转换,如表1所示。

表1通信过程说明

上述通信过程中的发送和接收均在同一状态下进行,从而有效避免数据交互过程中的数据丢失,提高设备通信可靠性,而且设备响应快,传输速度快,大幅提高设备通信效率。

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