CN116668232A - 一种高速冗余spi总线通信优化方法 - Google Patents

一种高速冗余spi总线通信优化方法 Download PDF

Info

Publication number
CN116668232A
CN116668232A CN202310794488.9A CN202310794488A CN116668232A CN 116668232 A CN116668232 A CN 116668232A CN 202310794488 A CN202310794488 A CN 202310794488A CN 116668232 A CN116668232 A CN 116668232A
Authority
CN
China
Prior art keywords
data transmission
master station
data
response
command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310794488.9A
Other languages
English (en)
Inventor
刘锋
郭悦
刘翥寰
于世宝
翟宝亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin 707 Hi Tech Co Ltd
Original Assignee
Tianjin 707 Hi Tech Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianjin 707 Hi Tech Co Ltd filed Critical Tianjin 707 Hi Tech Co Ltd
Priority to CN202310794488.9A priority Critical patent/CN116668232A/zh
Publication of CN116668232A publication Critical patent/CN116668232A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • H04L12/40182Flexible bus arrangements involving redundancy by using a plurality of communication lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

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

Description

一种高速冗余SPI总线通信优化方法
技术领域
本发明涉及工业生产技术领域,具体涉及一种高速冗余SPI总线通信优化方法。
背景技术
SPI总线因其硬件结构简单、协议简单的特性,在众多嵌入式应用中使用广泛。SPI总线由4根信号线组成,可以实现全双工同步通信,根据时钟信号的快慢,可以达到较快的数据传输速,SPI采用主从式工作模式,支持一个主设备与多个从设备间的数据传输。但SPI总线数据传输都由主设备控制和发起,从设备无法主动控制通信过程,导致SPI通信方式存在缺少流控制机制、校验和应答机制等,一条信号线连接故障会导致通信任务失败,不能满足工业4.0对于通信实时性和确定性的要求。
通过检索,发现如下与本申请相关的专利文献,其具体内容:
中国专利公开号:CN104601423B,公开了一种SPI总线节点设备及其通信方法以及SPI总线系统。该SPI总线节点设备包括SPI总线接口、接收数据缓存器、发送数据缓存器、CANopen协议单元以及存储器。该CANopen协议单元连接该接收数据缓存器和该发送数据缓存器且该CANopen协议单元中CANopen协议,使该SPI总线节点设备在SPI总线协议之上的数据收发遵循CANopen协议,该存储器连接该CANopen协议单元且储存对象字典,该对象字典用于和应用层交换数据。
发明内容
本发明内容针对现有技术的不足,提供一种高速冗余SPI总线通信优化方法,进一步提高SPI总线的数据传输速率和数据可靠性。
为了实现上述目的,本发明提供如下技术方案:
一种高速冗余SPI总线通信优化方法,包括
步骤S1、主站点在当前处于工作状态的四条数据传输通道上发送命令帧,并等待从站点响应;
步骤S2、所述从站点监听全部数据传输通道以区分命令帧类型,在解析出正确的命令帧类型且确定接收地址与所述从站点分配的地址匹配后,所述从站点完成与所述命令帧相对应的读写操作,并发送响应帧给所述主站点,否则所述从站点继续监听数据传输通道;
步骤S3、在允许的最大响应时间内所述主站点在四条所述数据传输通道上监测是否接收到响应帧以及响应格式,以判定本次传输是否成功;
步骤S4、若本次传输失败,确定当前数据的重传次数是否超过预设的最大重传次数,以判定所述主站点是否发出一次数据传输通道故障诊断命令;
步骤S5、所述从站点若收到与站点ID相匹配的数据传输通道故障诊断命令的通道个数大于或等于2条时,则判定所述数据传输通道故障诊断命令有效,并在接收到正确的数据传输通道故障诊断命令的数据传输通道上发出相应的响应帧;
步骤S6、所述主站点在全部数据传输通道上监测响应帧,根据监测到正常响应帧的数据传输通道的数量以判定是否再次发出数据传输通道故障诊断命令。
而且,SPI总线通信网络由1个主站点和多个从站点组成,其中,所述SPI总线主站点通过5条公共的通信链路与从站点进行通信。
而且,在所述步骤S2中,所述从站点通过将接收到的数据与所述命令帧的格式进行比对以区分命令类型。
而且,所述SPI总线链路层协议采取“命令帧+响应帧”消息格式,在所述主站点与从站点的数据交换过程中,所述主站点负责发起命令帧,所述从站点监测命令帧并发送响应帧。
而且,在所述步骤S3中,若所述主站点在允许的最大响应时间内未监测到数据响应,或者监测到数据响应但后续的数据组成与预期响应格式不一致,则判定所述主站点本次传输失败,若所述主站点在允许的最大响应时间内监测到数据响应且后续的数据组成与预期相应格式一致,则判定所述主站点本次传输成功。
而且,在所述步骤S4中,若当前数据的重传次数小于预设的最大重传次数,所述主站点发出一次数据传输通道故障诊断命令,若当前数据的重传次数大于等于预设的最大重传次数,则判定所述数据传输失败,传输结束。
而且,当所述主站点与从站点通信异常时,主站点自动定位和隔离存在故障的数据传输通道,并自动启用备份的数据传输通道。
而且,在所述步骤S6中,若在允许的最大响应时间内监测到正常响应的数据传输通道条数小于4条时,则再次发出数据传输通道故障诊断命令,若在允许的最大响应时间内监测到正常响应的数据传输通道条数大于等于4条时,则所述主站点从正常响应的数据传输通道中选出4条作为下一次传输的工作数据传输通道。
而且,所述主站点根据目标从站点的通道健康状态选择4条数据传输通道作为工作通道并发出传输命令,所述从站点监听和识别处于工作状态的数据传输通道,待监测到有效且与所述从站点地址匹配的传输命令后,发出响应以结束传输。
而且,在数据传输过程中,若由于数据传输通道瞬态故障或永久故障的影响,导致所述从站点未监测到有效传输命令或者主站点未监测到有效响应,所述主站点自动启动通道故障诊断操作。
与现有技术相比,本发明的有益效果是:
本发明所述SPI总线主站点通过5条公共通信链路与从站点进行通信,5条通信链路中4条通信链路处于工作状态,1条处于备份状态,从而在提高了带宽的同时,进一步提高了数据传输通道的冗余性。
本发明通过监测命令帧与响应帧以判断数据通信的有效性,针对无校验的情况建立基于循环冗余校验方式的可靠通信,并在主站点与从站点的数据交换过程中,主站点负责发起命令帧,从站点监测命令帧并发送响应帧,从而进一步提高了SPI总线的数据传输速率和数据可靠性。
本发明通过监测5条数据传输通道的有效数据信号,为了确保数据的正确解码,同时为了不受信号传输过程中的噪声和干扰的影响,从而进行时钟矫正,以纠正由于信号传输延迟引起的时钟偏移,进一步确保了数据的同步性。
本发明在数据传输过程中,当数据传输通道瞬态故障或永久故障而导致从站点未监测到有效命令帧或者主站点未监测到有效响应帧时,所述主站点将启动通道故障诊断操作,从5条数据传输通道中重新选择4条通道作为工作通道,并启动消息的重新传输操作,从而进一步提高了SPI总线的数据传输速率和数据可靠性。
附图说明
图1为本发明的SPI总线串行通信的系统拓扑结构图。
图2为本发明的数据传输与重传流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
如图1-2所示,本发明提供一种技术方案:一种高速冗余SPI总线通信优化方法,包括
步骤S1、主站点在当前处于工作状态的四条数据传输通道上发送命令帧,并等待从站点响应;
步骤S2、所述从站点监听全部数据传输通道以区分命令帧类型,在解析出正确的命令帧类型且确定接收地址与所述从站点分配的地址匹配后,所述从站点完成与所述命令帧相对应的读写操作,并发送响应帧给所述主站点,否则所述从站点继续监听数据传输通道;
步骤S3、在允许的最大响应时间内所述主站点在四条所述数据传输通道上监测是否接收到响应帧以及响应格式,以判定本次传输是否成功;
步骤S4、若本次传输失败,确定当前数据的重传次数是否超过预设的最大重传次数,以判定所述主站点是否发出一次数据传输通道故障诊断命令;
步骤S5、所述从站点若收到与站点ID相匹配的数据传输通道故障诊断命令的通道个数大于或等于2条时,则判定所述数据传输通道故障诊断命令有效,并在接收到正确的数据传输通道故障诊断命令的数据传输通道上发出相应的响应帧;
步骤S6、所述主站点在全部数据传输通道上监测响应帧,根据监测到正常响应帧的数据传输通道的数量以判定是否再次发出数据传输通道故障诊断命令。
具体而言,SPI总线通信网络由1个主站点和多个从站点组成,其中,所述SPI总线主站点通过5条公共的通信链路与从站点进行通信。
本发明实施例中,为了提高数据传输通道的冗余性,5条数据传输通道中4条通道处于工作状态,另1条处于备份状态,以实现全双工同步通信。
具体而言,在所述步骤S2中,所述从站点通过将接收到的数据与所述命令帧的格式进行比对以区分命令类型。
具体而言,所述SPI总线链路层协议采取“命令帧+响应帧”消息格式,在所述主站点与从站点的数据交换过程中,所述主站点负责发起命令帧,所述从站点监测命令帧并发送响应帧。
具体而言,在所述步骤S3中,若所述主站点在允许的最大响应时间内未监测到数据响应,或者监测到数据响应但后续的数据组成与预期响应格式不一致,则判定所述主站点本次传输失败,若所述主站点在允许的最大响应时间内监测到数据响应且后续的数据组成与预期相应格式一致,则判定所述主站点本次传输成功。
具体而言,在所述步骤S4中,若当前数据的重传次数小于预设的最大重传次数,所述主站点发出一次数据传输通道故障诊断命令,若当前数据的重传次数大于等于预设的最大重传次数,则判定所述数据传输失败,传输结束。
具体而言,当所述主站点与从站点通信异常时,主站点自动定位和隔离存在故障的数据传输通道,并自动启用备份的数据传输通道。
本发明实施例中,所述SPI总线通信网络通过时钟数据恢复技术以提高通信线路速率,同时避免随路时钟信号使用的效果。
本发明实施例中,所述SPI总线通信网络通过增加并行数据传输通道的数量,进而成倍提高了传输带宽。
本发明实施例中,所述SPI总线通信网络通过CRC校验和通道冗余技术,实现了自动故障监测、定位、隔离以及重传功能,进一步提高了SPI总线的数据传输速率和数据可靠性。
具体而言,在所述步骤S6中,若在允许的最大响应时间内监测到正常响应的数据传输通道条数小于4条时,则再次发出数据传输通道故障诊断命令,若在允许的最大响应时间内监测到正常响应的数据传输通道条数大于等于4条时,则所述主站点从正常响应的数据传输通道中选出4条作为下一次传输的工作数据传输通道。
本发明实施例中,所述主站点启动通道故障诊断操作时,从5条数据传输通道中重新选择4条通道作为工作通道,并启动消息的重新传输操作。
具体而言,所述主站点根据目标从站点的通道健康状态选择4条数据传输通道作为工作通道并发出传输命令,所述从站点监听和识别处于工作状态的数据传输通道,待监测到有效且与所述从站点地址匹配的传输命令后,发出响应以结束传输。
具体而言,在数据传输过程中,若由于数据传输通道瞬态故障或永久故障的影响,导致所述从站点未监测到有效传输命令或者主站点未监测到有效响应,所述主站点自动启动通道故障诊断操作。
本发明实施例中,所述故障通道定位与隔离、消息重传操作均是硬件底层行为,无需软件干预,进一步提高了总线通信的自动化程度。
以上实施例仅用以说明本发明的技术方法而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方法进行修改或等同替换,而不脱离本发明技术方法的精神和范围。

Claims (10)

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总线通信优化方法,其特征在于,在数据传输过程中,若由于数据传输通道瞬态故障或永久故障的影响,导致所述从站点未监测到有效传输命令或者主站点未监测到有效响应,所述主站点自动启动通道故障诊断操作。
CN202310794488.9A 2023-06-30 2023-06-30 一种高速冗余spi总线通信优化方法 Pending CN116668232A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310794488.9A CN116668232A (zh) 2023-06-30 2023-06-30 一种高速冗余spi总线通信优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310794488.9A CN116668232A (zh) 2023-06-30 2023-06-30 一种高速冗余spi总线通信优化方法

Publications (1)

Publication Number Publication Date
CN116668232A true CN116668232A (zh) 2023-08-29

Family

ID=87713816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310794488.9A Pending CN116668232A (zh) 2023-06-30 2023-06-30 一种高速冗余spi总线通信优化方法

Country Status (1)

Country Link
CN (1) CN116668232A (zh)

Similar Documents

Publication Publication Date Title
CN101286940A (zh) 双冗余can总线通信系统及其通信方法
JPS6079844A (ja) ホツトキヤリア発生場所監視方法
JP4166939B2 (ja) 能動的故障検出
US8812759B2 (en) Bus subscriber device for connection to a line-redundant data bus, and method for controlling the communication of a bus subscriber with a line-redundant serial data bus
CN103957155A (zh) 报文传输方法、装置及互联接口
JPS63109624A (ja) 一斉通信方式
WO2011131081A1 (zh) 一种冗余串行总线的实现方法及装置
CN112019416A (zh) 一种基于EtherCAT的冗余通信方法
EP0539796A2 (en) Method for data collision detection in a multi-processor communication system
CN107528747B (zh) 主从站通信状态的诊断方法和装置及计算机可读存储介质
CN104852825A (zh) 总线通讯测试方法及系统
CN114500472B (zh) 一种rs485通信地址自动分配的方法
CN116668232A (zh) 一种高速冗余spi总线通信优化方法
CN114884767B (zh) 一种同步双冗余can总线通信系统、方法、设备及介质
EP2940935A1 (en) Controller area network (CAN) device and method for controlling CAN traffic
JPH02100538A (ja) ローカルエリアネットワークのデータ通信方法
CN111541578A (zh) 一种双机热备联锁系统的数据交互装置、方法及系统
JP2001203733A (ja) リング型ネットワークシステム、情報伝送装置、及びそのアドレス設定方法
JP2501335B2 (ja) ゲ−トウェイのバックアップ方式
CN113364659B (zh) 一种基于Modbus协议的数据采集系统
JP2650317B2 (ja) 無線通信システムにおける同報通信制御方法
CN116456506A (zh) 一种无线通信方法、装置及无线控制系统
JP2677895B2 (ja) 多重伝送方式
KR100193839B1 (ko) 중복메세지 처리하는 라인모듈 제어장치 및 방법
JPH0420039A (ja) データ伝送装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination