一种高速冗余SPI总线通信优化方法与流程

未命名 09-02 阅读:102 评论:0

一种高速冗余spi总线通信优化方法
技术领域
1.本发明涉及工业生产技术领域,具体涉及一种高速冗余spi总线通信优化方法。


背景技术:

2.spi总线因其硬件结构简单、协议简单的特性,在众多嵌入式应用中使用广泛。spi总线由4根信号线组成,可以实现全双工同步通信,根据时钟信号的快慢,可以达到较快的数据传输速,spi采用主从式工作模式,支持一个主设备与多个从设备间的数据传输。但spi总线数据传输都由主设备控制和发起,从设备无法主动控制通信过程,导致spi通信方式存在缺少流控制机制、校验和应答机制等,一条信号线连接故障会导致通信任务失败,不能满足工业4.0对于通信实时性和确定性的要求。
3.通过检索,发现如下与本技术相关的专利文献,其具体内容:
4.中国专利公开号:cn104601423b,公开了一种spi总线节点设备及其通信方法以及spi总线系统。该spi总线节点设备包括spi总线接口、接收数据缓存器、发送数据缓存器、canopen协议单元以及存储器。该canopen协议单元连接该接收数据缓存器和该发送数据缓存器且该canopen协议单元中canopen协议,使该spi总线节点设备在spi总线协议之上的数据收发遵循canopen协议,该存储器连接该canopen协议单元且储存对象字典,该对象字典用于和应用层交换数据。


技术实现要素:

5.本发明内容针对现有技术的不足,提供一种高速冗余spi总线通信优化方法,进一步提高spi总线的数据传输速率和数据可靠性。
6.为了实现上述目的,本发明提供如下技术方案:
7.一种高速冗余spi总线通信优化方法,包括
8.步骤s1、主站点在当前处于工作状态的四条数据传输通道上发送命令帧,并等待从站点响应;
9.步骤s2、所述从站点监听全部数据传输通道以区分命令帧类型,在解析出正确的命令帧类型且确定接收地址与所述从站点分配的地址匹配后,所述从站点完成与所述命令帧相对应的读写操作,并发送响应帧给所述主站点,否则所述从站点继续监听数据传输通道;
10.步骤s3、在允许的最大响应时间内所述主站点在四条所述数据传输通道上监测是否接收到响应帧以及响应格式,以判定本次传输是否成功;
11.步骤s4、若本次传输失败,确定当前数据的重传次数是否超过预设的最大重传次数,以判定所述主站点是否发出一次数据传输通道故障诊断命令;
12.步骤s5、所述从站点若收到与站点id相匹配的数据传输通道故障诊断命令的通道个数大于或等于2条时,则判定所述数据传输通道故障诊断命令有效,并在接收到正确的数据传输通道故障诊断命令的数据传输通道上发出相应的响应帧;
13.步骤s6、所述主站点在全部数据传输通道上监测响应帧,根据监测到正常响应帧的数据传输通道的数量以判定是否再次发出数据传输通道故障诊断命令。
14.而且,spi总线通信网络由1个主站点和多个从站点组成,其中,所述spi总线主站点通过5条公共的通信链路与从站点进行通信。
15.而且,在所述步骤s2中,所述从站点通过将接收到的数据与所述命令帧的格式进行比对以区分命令类型。
16.而且,所述spi总线链路层协议采取“命令帧+响应帧”消息格式,在所述主站点与从站点的数据交换过程中,所述主站点负责发起命令帧,所述从站点监测命令帧并发送响应帧。
17.而且,在所述步骤s3中,若所述主站点在允许的最大响应时间内未监测到数据响应,或者监测到数据响应但后续的数据组成与预期响应格式不一致,则判定所述主站点本次传输失败,若所述主站点在允许的最大响应时间内监测到数据响应且后续的数据组成与预期相应格式一致,则判定所述主站点本次传输成功。
18.而且,在所述步骤s4中,若当前数据的重传次数小于预设的最大重传次数,所述主站点发出一次数据传输通道故障诊断命令,若当前数据的重传次数大于等于预设的最大重传次数,则判定所述数据传输失败,传输结束。
19.而且,当所述主站点与从站点通信异常时,主站点自动定位和隔离存在故障的数据传输通道,并自动启用备份的数据传输通道。
20.而且,在所述步骤s6中,若在允许的最大响应时间内监测到正常响应的数据传输通道条数小于4条时,则再次发出数据传输通道故障诊断命令,若在允许的最大响应时间内监测到正常响应的数据传输通道条数大于等于4条时,则所述主站点从正常响应的数据传输通道中选出4条作为下一次传输的工作数据传输通道。
21.而且,所述主站点根据目标从站点的通道健康状态选择4条数据传输通道作为工作通道并发出传输命令,所述从站点监听和识别处于工作状态的数据传输通道,待监测到有效且与所述从站点地址匹配的传输命令后,发出响应以结束传输。
22.而且,在数据传输过程中,若由于数据传输通道瞬态故障或永久故障的影响,导致所述从站点未监测到有效传输命令或者主站点未监测到有效响应,所述主站点自动启动通道故障诊断操作。
23.与现有技术相比,本发明的有益效果是:
24.本发明所述spi总线主站点通过5条公共通信链路与从站点进行通信,5条通信链路中4条通信链路处于工作状态,1条处于备份状态,从而在提高了带宽的同时,进一步提高了数据传输通道的冗余性。
25.本发明通过监测命令帧与响应帧以判断数据通信的有效性,针对无校验的情况建立基于循环冗余校验方式的可靠通信,并在主站点与从站点的数据交换过程中,主站点负责发起命令帧,从站点监测命令帧并发送响应帧,从而进一步提高了spi总线的数据传输速率和数据可靠性。
26.本发明通过监测5条数据传输通道的有效数据信号,为了确保数据的正确解码,同时为了不受信号传输过程中的噪声和干扰的影响,从而进行时钟矫正,以纠正由于信号传输延迟引起的时钟偏移,进一步确保了数据的同步性。
27.本发明在数据传输过程中,当数据传输通道瞬态故障或永久故障而导致从站点未监测到有效命令帧或者主站点未监测到有效响应帧时,所述主站点将启动通道故障诊断操作,从5条数据传输通道中重新选择4条通道作为工作通道,并启动消息的重新传输操作,从而进一步提高了spi总线的数据传输速率和数据可靠性。
附图说明
28.图1为本发明的spi总线串行通信的系统拓扑结构图。
29.图2为本发明的数据传输与重传流程图。
具体实施方式
30.为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
31.如图1-2所示,本发明提供一种技术方案:一种高速冗余spi总线通信优化方法,包括
32.步骤s1、主站点在当前处于工作状态的四条数据传输通道上发送命令帧,并等待从站点响应;
33.步骤s2、所述从站点监听全部数据传输通道以区分命令帧类型,在解析出正确的命令帧类型且确定接收地址与所述从站点分配的地址匹配后,所述从站点完成与所述命令帧相对应的读写操作,并发送响应帧给所述主站点,否则所述从站点继续监听数据传输通道;
34.步骤s3、在允许的最大响应时间内所述主站点在四条所述数据传输通道上监测是否接收到响应帧以及响应格式,以判定本次传输是否成功;
35.步骤s4、若本次传输失败,确定当前数据的重传次数是否超过预设的最大重传次数,以判定所述主站点是否发出一次数据传输通道故障诊断命令;
36.步骤s5、所述从站点若收到与站点id相匹配的数据传输通道故障诊断命令的通道个数大于或等于2条时,则判定所述数据传输通道故障诊断命令有效,并在接收到正确的数据传输通道故障诊断命令的数据传输通道上发出相应的响应帧;
37.步骤s6、所述主站点在全部数据传输通道上监测响应帧,根据监测到正常响应帧的数据传输通道的数量以判定是否再次发出数据传输通道故障诊断命令。
38.具体而言,spi总线通信网络由1个主站点和多个从站点组成,其中,所述spi总线主站点通过5条公共的通信链路与从站点进行通信。
39.本发明实施例中,为了提高数据传输通道的冗余性,5条数据传输通道中4条通道处于工作状态,另1条处于备份状态,以实现全双工同步通信。
40.具体而言,在所述步骤s2中,所述从站点通过将接收到的数据与所述命令帧的格式进行比对以区分命令类型。
41.具体而言,所述spi总线链路层协议采取“命令帧+响应帧”消息格式,在所述主站点与从站点的数据交换过程中,所述主站点负责发起命令帧,所述从站点监测命令帧并发
送响应帧。
42.具体而言,在所述步骤s3中,若所述主站点在允许的最大响应时间内未监测到数据响应,或者监测到数据响应但后续的数据组成与预期响应格式不一致,则判定所述主站点本次传输失败,若所述主站点在允许的最大响应时间内监测到数据响应且后续的数据组成与预期相应格式一致,则判定所述主站点本次传输成功。
43.具体而言,在所述步骤s4中,若当前数据的重传次数小于预设的最大重传次数,所述主站点发出一次数据传输通道故障诊断命令,若当前数据的重传次数大于等于预设的最大重传次数,则判定所述数据传输失败,传输结束。
44.具体而言,当所述主站点与从站点通信异常时,主站点自动定位和隔离存在故障的数据传输通道,并自动启用备份的数据传输通道。
45.本发明实施例中,所述spi总线通信网络通过时钟数据恢复技术以提高通信线路速率,同时避免随路时钟信号使用的效果。
46.本发明实施例中,所述spi总线通信网络通过增加并行数据传输通道的数量,进而成倍提高了传输带宽。
47.本发明实施例中,所述spi总线通信网络通过crc校验和通道冗余技术,实现了自动故障监测、定位、隔离以及重传功能,进一步提高了spi总线的数据传输速率和数据可靠性。
48.具体而言,在所述步骤s6中,若在允许的最大响应时间内监测到正常响应的数据传输通道条数小于4条时,则再次发出数据传输通道故障诊断命令,若在允许的最大响应时间内监测到正常响应的数据传输通道条数大于等于4条时,则所述主站点从正常响应的数据传输通道中选出4条作为下一次传输的工作数据传输通道。
49.本发明实施例中,所述主站点启动通道故障诊断操作时,从5条数据传输通道中重新选择4条通道作为工作通道,并启动消息的重新传输操作。
50.具体而言,所述主站点根据目标从站点的通道健康状态选择4条数据传输通道作为工作通道并发出传输命令,所述从站点监听和识别处于工作状态的数据传输通道,待监测到有效且与所述从站点地址匹配的传输命令后,发出响应以结束传输。
51.具体而言,在数据传输过程中,若由于数据传输通道瞬态故障或永久故障的影响,导致所述从站点未监测到有效传输命令或者主站点未监测到有效响应,所述主站点自动启动通道故障诊断操作。
52.本发明实施例中,所述故障通道定位与隔离、消息重传操作均是硬件底层行为,无需软件干预,进一步提高了总线通信的自动化程度。
53.以上实施例仅用以说明本发明的技术方法而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方法进行修改或等同替换,而不脱离本发明技术方法的精神和范围。

技术特征:
1.一种高速冗余spi总线通信优化方法,其特征在于,包括如下步骤:步骤s1、主站点在当前处于工作状态的四条数据传输通道上发送命令帧,并等待从站点响应;步骤s2、所述从站点监听全部数据传输通道以区分命令帧类型,在解析出正确的命令帧类型且确定接收地址与所述从站点分配的地址匹配后,所述从站点完成与所述命令帧相对应的读写操作,并发送响应帧给所述主站点,否则所述从站点继续监听数据传输通道;步骤s3、在允许的最大响应时间内所述主站点在四条所述数据传输通道上监测是否接收到响应帧以及响应格式,以判定本次传输是否成功;步骤s4、若本次传输失败,确定当前数据的重传次数是否超过预设的最大重传次数,以判定所述主站点是否发出一次数据传输通道故障诊断命令;步骤s5、所述从站点若收到与站点id相匹配的数据传输通道故障诊断命令的通道个数大于或等于2条时,则判定所述数据传输通道故障诊断命令有效,并在接收到正确的数据传输通道故障诊断命令的数据传输通道上发出相应的响应帧;步骤s6、所述主站点在全部数据传输通道上监测响应帧,根据监测到正常响应帧的数据传输通道的数量以判定是否再次发出数据传输通道故障诊断命令。2.根据权利要求1所述的高速冗余spi总线通信优化方法,其特征在于,spi总线通信网络由1个主站点和多个从站点组成,其中,所述spi总线主站点通过5条公共的通信链路与从站点进行通信。3.根据权利要求1所述的高速冗余spi总线通信优化方法,其特征在于,在所述步骤s2中,所述从站点通过将接收到的数据与所述命令帧的格式进行比对以区分命令类型。4.根据权利要求1所述的高速冗余spi总线通信优化方法,其特征在于,所述spi总线链路层协议采取“命令帧+响应帧”消息格式,在所述主站点与从站点的数据交换过程中,所述主站点负责发起命令帧,所述从站点监测命令帧并发送响应帧。5.根据权利要求1所述的高速冗余spi总线通信优化方法,其特征在于,在所述步骤s3中,若所述主站点在允许的最大响应时间内未监测到数据响应,或者监测到数据响应但后续的数据组成与预期响应格式不一致,则判定所述主站点本次传输失败,若所述主站点在允许的最大响应时间内监测到数据响应且后续的数据组成与预期相应格式一致,则判定所述主站点本次传输成功。6.根据权利要求1所述的高速冗余spi总线通信优化方法,其特征在于,在所述步骤s4中,若当前数据的重传次数小于预设的最大重传次数,所述主站点发出一次数据传输通道故障诊断命令,若当前数据的重传次数大于等于预设的最大重传次数,则判定所述数据传输失败,传输结束。7.根据权利要求1所述的高速冗余spi总线通信优化方法,其特征在于,当所述主站点与从站点通信异常时,主站点自动定位和隔离存在故障的数据传输通道,并自动启用备份的数据传输通道。8.根据权利要求1所述的高速冗余spi总线通信优化方法,其特征在于,在所述步骤s6中,若在允许的最大响应时间内监测到正常响应的数据传输通道条数小于4条时,则再次发出数据传输通道故障诊断命令,若在允许的最大响应时间内监测到正常响应的数据传输通道条数大于等于4条时,则所述主站点从正常响应的数据传输通道中选出4条作为下一次传
输的工作数据传输通道。9.根据权利要求1所述的高速冗余spi总线通信优化方法,其特征在于,所述主站点根据目标从站点的通道健康状态选择4条数据传输通道作为工作通道并发出传输命令,所述从站点监听和识别处于工作状态的数据传输通道,待监测到有效且与所述从站点地址匹配的传输命令后,发出响应以结束传输。10.根据权利要求1所述的高速冗余spi总线通信优化方法,其特征在于,在数据传输过程中,若由于数据传输通道瞬态故障或永久故障的影响,导致所述从站点未监测到有效传输命令或者主站点未监测到有效响应,所述主站点自动启动通道故障诊断操作。

技术总结
本发明涉及一种高速冗余SPI总线通信优化方法,尤其涉及工业生产技术领域,SPI总线通信网络由1个主站点和多个从站点组成,所述SPI总线主站点通过5条公共的通信链路与从站点进行通信,其中,5条通信链路中4条通信链路处于工作状态,实现全双工同步通信,另外1条处于备份状态。通过监测命令帧与响应帧以判断数据通信的有效性,针对无校验的情况建立基于循环冗余校验方式的可靠通信,并在主站点与从站点的数据交换过程中,主站点负责发起命令帧,从站点监测命令帧并发送响应帧,从而进一步提高了SPI总线的数据传输速率和数据可靠性。SPI总线的数据传输速率和数据可靠性。SPI总线的数据传输速率和数据可靠性。


技术研发人员:刘锋 郭悦 刘翥寰 于世宝 翟宝亮
受保护的技术使用者:天津七所高科技有限公司
技术研发日:2023.06.30
技术公布日:2023/8/31
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐