CN111614532B - 一种基于dsp的can冗余通讯系统 - Google Patents

一种基于dsp的can冗余通讯系统 Download PDF

Info

Publication number
CN111614532B
CN111614532B CN202010400539.1A CN202010400539A CN111614532B CN 111614532 B CN111614532 B CN 111614532B CN 202010400539 A CN202010400539 A CN 202010400539A CN 111614532 B CN111614532 B CN 111614532B
Authority
CN
China
Prior art keywords
redundancy
communication
communication data
data extension
extension frame
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.)
Active
Application number
CN202010400539.1A
Other languages
English (en)
Other versions
CN111614532A (zh
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.)
Hubei Sanjiang Aerospace Wanfeng Technology Development Co Ltd
Original Assignee
Hubei Sanjiang Aerospace Wanfeng Technology Development 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 Hubei Sanjiang Aerospace Wanfeng Technology Development Co Ltd filed Critical Hubei Sanjiang Aerospace Wanfeng Technology Development Co Ltd
Priority to CN202010400539.1A priority Critical patent/CN111614532B/zh
Publication of CN111614532A publication Critical patent/CN111614532A/zh
Application granted granted Critical
Publication of CN111614532B publication Critical patent/CN111614532B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • 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/40195Flexible bus arrangements involving redundancy by using a plurality of nodes
    • 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
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明公开了一种基于DSP的CAN冗余通讯系统,该系统的数据发送方生成多个连续的CAN通信数据扩展帧,CAN通信数据扩展帧的ID场包括冗余号SN,CAN通信数据扩展帧的类型包括非冗余类型和冗余类型,其中,非冗余类型的CAN通信数据扩展帧的冗余号SN设为固定数值,冗余类型的CAN通信数据扩展帧的冗余号SN依据发送顺序在预设的数值范围进行循环递增;从而使得数据接收方通过依据当前接收的CAN通信数据扩展帧中的冗余号SN判断当前CAN通信数据扩展帧是否为热冗余通讯,并进一步判断是否为正确的数据帧,从而使得每路CAN通道都可以独立收发数据,同时进行数据的校验。

Description

一种基于DSP的CAN冗余通讯系统
技术领域
本发明属于CAN通讯领域,具体涉及一种基于DSP的CAN冗余通讯系统。
背景技术
在大功率集成数字电源系统中,需要多个电源设备之间协同输出,而用于各个电源设备之间的通信的稳定性对整个电源系统至关重要,因此对系统中各分系统间数据通讯速率、稳定性、可靠性都提出了更高要求。数字信号处理器是对信号实现处理的一类高性能CPU,其特点是具有很高的运行速度,支持并行处理、快速中断处理和I/O操作,合适应用有高可靠性分系统间通信需要的设备中。控制器局域网络(CAN)总线作为一种适用于分布式测控系统的异步半双工串行现场总线,由于CAN总线的高实时性能和高传输速率特点,CAN已在汽车业、航空业、工业控制和安全防护等领域中得到了广泛的应用。
CAN总线本身在协议规定中仅规定了循环冗余校验码(CRC)校验、底层重发等基础容错机制,具体的,在设计中,将两条CAN总线分别作为工作通道和备用通道,正常情况下,各节点仅在工作通道上发送数据,当工作通道上的发送数据出现故障时,则切换到备用通道上发送数据,以此来提高通信的可靠性,在因电磁干扰导致系统不稳定时,会出现频繁的切换通道,而每次通道的切换都需要时间,所以数据传输的效率不高。或通过多数表决法,此方法一般应用于航空等极高可靠性领域,在系统中设计3个功能相同的且相互独立的CAN收发器以及1个表决器,表决器按照三取二方式工作,只要3个CAN收发器中任意两个在收发数据时是一致的,则系统认为通信是正常可靠的。然而,上述方法但对于连续大量数据的正确性及完整性并不具备可靠性保障功能,特别是由于各分系统时序匹配、工作环境的电磁干扰影响等方面都存在浮动变化的可能性,因而无法保证该系统间通信可靠性。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于DSP的CAN冗余通讯系统,旨在解决实现现有CAN总线协议无法从软件层面进行冗余通信,无法保障系统间通信可靠性的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于DSP的CAN冗余通讯系统,系统包括DSP数据处理模块、第一CAN收发器、第二CAN收发器和第一从站设备,DSP数据处理模块连接第一CAN收发器和第二CAN收发器,第一CAN收发器和第二CAN收发器连接第一从站设备;
DSP数据处理模块用于生成多个连续的CAN通信数据扩展帧,CAN通信数据扩展帧的ID场包括冗余号SN,CAN通信数据扩展帧的类型包括非冗余类型和冗余类型,其中,非冗余类型的CAN通信数据扩展帧的冗余号SN设为固定数值,冗余类型的CAN通信数据扩展帧的冗余号SN依据发送顺序在预设的数值范围进行循环递增;
第一CAN收发器和第二CAN收发器用于将来自DSP数据处理模块的CAN通信数据扩展帧发送给第一从站设备;
第一从站设备用于读取第一CAN收发器接收的CAN通信数据扩展帧,依据当前接收的CAN通信数据扩展帧中的冗余号SN判断当前CAN通信数据扩展帧是否为热冗余通讯,当前CAN通信数据扩展帧为热冗余通讯时,通过比较当前CAN通信数据扩展帧的冗余号SN和上一个CAN通信数据扩展帧的冗余号SN,判断CAN通信数据扩展帧是否为正确的报文,当前CAN通信数据扩展帧为错误报文时,读取第二CAN收发器接收的CAN通信数据扩展帧。
作为本发明的进一步改进,CAN冗余通讯系统还包括第三CAN收发器和第二从站设备,DSP数据处理模块通过第三CAN收发器连接第二从站设备,第二从站设备用于发送或接收CAN通信数据扩展帧。
作为本发明的进一步改进,CAN通信数据扩展帧的ID场还包括从站设备节点ID、命令类型和报文发送方向。
作为本发明的进一步改进,CAN通信数据扩展帧的非冗余类型包括热冗余非广播类报文通讯和热冗余广播类报文通讯。
作为本发明的进一步改进,CAN通信数据扩展帧还包括帧类型、数据长度和数据缓冲区。
作为本发明的进一步改进,第一从站设备还用于生成连续的CAN通信数据扩展帧,CAN通信数据扩展帧的类型包括非冗余类型和冗余类型,其中,非冗余类型的CAN通信数据扩展帧的冗余号SN设为固定数值,冗余类型的CAN通信数据扩展帧的冗余号SN依据发送顺序在预设的数值范围进行循环递增;
第一CAN收发器和第二CAN收发器用于将来自第一从站设备的CAN通信数据扩展帧发送给DSP数据处理模块;
DSP数据处理模块还用于读取第一CAN收发器接收的CAN通信数据扩展帧,依据当前接收的CAN通信数据扩展帧中的冗余号SN判断当前CAN通信数据扩展帧是否为热冗余通讯,当前CAN通信数据扩展帧为热冗余通讯时,通过比较当前CAN通信数据扩展帧的冗余号SN和上一个CAN通信数据扩展帧的冗余号SN,判断当前CAN通信数据扩展帧是否为正确的报文,当前CAN通信数据扩展帧为错误报文时,读取第二CAN收发器接收的CAN通信数据扩展帧。
作为本发明的进一步改进,系统还包括FPGA,所述DSP数据处理模块通过FPGA分别连接第一CAN收发器和第二CAN收发器,FPGA用于提供时钟信号给DSP数据处理模块、第一CAN收发器和第二CAN收发器。
作为本发明的进一步改进,DSP数据处理模块可通过定时器实现超时功能,以判断帧的发送是否超时。
作为本发明的进一步改进,DSP数据处理模块和从站设备之间的通信依据中断请求的优先级设置进行相应的处理。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
本发明的一种基于DSP的CAN冗余通讯系统,其通过将非冗余类型的CAN通信数据扩展帧的冗余号SN设为固定数值,冗余类型的CAN通信数据扩展帧的冗余号SN依据发送顺序在预设的数值范围进行循环递增,从而使得数据接收方通过依据当前接收的CAN通信数据扩展帧中的冗余号SN判断当前CAN通信数据扩展帧是否为热冗余通讯,并进一步判断是否为正确的数据帧,从而使得每路CAN通道都可以独立收发数据,同时进行数据的校验,当其中一个节点出现故障时,不会影响整个CAN通信的数据传输效率,从而解决现有CAN总线协议无法从软件层面进行冗余通信,无法保障系统间通信可靠性的技术问题。
本发明的一种基于DSP的CAN冗余通讯系统,其通过对DSP外接PFGA来外扩两路CAN收发器,既保证了冗余CAN通信所需的接口,又可以兼顾其它CAN通信。
本发明的一种基于DSP的CAN冗余通讯系统,其通过对冗余号进行分类,既可以实现非冗余CAN通信,也可以实现冗余CAN广播通信和非广播通信,CAN消息的分类更加清晰,便于分析和定位故障。
附图说明
图1为本发明实施例的一种基于DSP的CAN冗余通讯系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。下面结合具体实施方式对本发明进一步详细说明。
图1为本发明实施例的一种基于DSP的CAN冗余通讯系统的结构示意图。如图1所示,一种基于DSP的CAN冗余通讯系统,该系统包括DSP数据处理模块(主站)、FPGA、第一CAN收发器和第二CAN收发器,DSP数据处理模块连接FPGA,FPGA连接第一CAN收发器和第二CAN收发器,第一CAN收发器和第二CAN收发器连接第一从站设备;
DSP数据处理模块用于生成多个连续的CAN通信数据扩展帧,CAN通信数据扩展帧的ID场包括冗余号SN,通过FPGA将CAN通信数据扩展帧同时发送给第一CAN收发器和第二CAN收发器,CAN通信数据扩展帧的类型包括非冗余类型和冗余类型,其中,非冗余类型的CAN通信数据扩展帧的冗余号SN设为固定数值,冗余类型的CAN通信数据扩展帧的冗余号SN依据发送顺序在预设的数值范围进行循环递增;作为一个示例,冗余类型的CAN通信数据扩展帧的冗余号SN依据发送顺序在预设的数值范围进行循环递增具体为,预设的数值范围设置为1~200,冗余类型的CAN通信数据扩展帧的冗余号SN的初始值为1,每发送一帧报文,SN号递增1,直至值为200后循环回到1;
第一CAN收发器和第二CAN收发器用于将来自DSP数据处理模块的CAN通信数据扩展帧发送给第一从站设备;
第一从站设备用于读取第一CAN收发器接收的CAN通信数据扩展帧,依据当前接收的CAN通信数据扩展帧中的冗余号SN判断当前CAN通信数据扩展帧是否为热冗余通讯,当前CAN通信数据扩展帧为热冗余通讯时,通过比较当前CAN通信数据扩展帧的冗余号SN和上一个CAN通信数据扩展帧的冗余号SN,判断CAN通信数据扩展帧是否为正确的报文,当前CAN通信数据扩展帧为错误报文时,读取第二CAN收发器接收的CAN通信数据扩展帧。具体的,可通过包括应用层、协议层和驱动层来实现CAN系统软件,驱动层软件是软件实现的重点,它是上层应用程序及协议层使用CAN总线进行通信的支持软件。协议层是软件实现的关键,它是应用层软件和驱动层关联起来的桥梁,应用层程序需采用特定的CAN通信协议,并通过调用驱动程序的接口进行通信。双冗余机制的实现是通过制定一种特定的双冗余协议,使应用层软件通过该协议管理和约束驱动层软件接口的调用,从而实现CAN总线2个通道的冗余容错。
作为一个优选的实施例,该CAN冗余通讯系统还包括第三CAN收发器和第二从站设备,DSP数据处理模块通过第三CAN收发器连接第二从站设备,第二从站设备用于接收CAN通信数据扩展帧。通过上述FPGA、第一CAN数据传输链路和第二CAN数据传输链路的硬件设置,可使得第一从站设备依据DSP数据通信模块发送的CAN数据帧进行双通道冗余通信和或非冗余通信,第二从站设备依据DSP数据通信模块发送的CAN数据帧进行非冗余通信。
作为一个优选的实施例,CAN通信数据扩展帧的ID场还包括从站设备节点ID、命令类型和报文发送方向。
作为一个示例,表1为本发明实施例的CAN通信数据扩展帧的ID场的示意表,如表1所示,CAN通信数据扩展帧的ID场长度为29位,Bit0~7位指明从站节点ID,下文称为NodID。从站设备2的NodID默认为0x19(支持修改),本文档以0x19为例,即接收到报文帧头中NodID为0x19的数据,并在发送报文时在帧头0~7位填充0×19;Bit8~15位用于冗余通信机制,序列号从1~255递增循环使用;Bit16~27位用于指明命令类型;Bit28位指明报文在主站与相应从站间的发送方间,bit28为0时表示该报文由主站发出,为1时表示该报文由从站发出。
表1本发明实施例的CAN通信数据扩展帧的ID场的示意表
Figure BDA0002489266130000061
作为一个优选的实施例,CAN网关的冗余通讯机制通过扩展帧ID场的冗余号SN实现,冗余类型的CAN通信数据扩展帧包括热冗余非广播类报文通讯和热冗余广播类报文通讯。表2为本发明实施例的CAN通信数据扩展帧的冗余号SN的示意表。如表2所示,主站发送报文至从站方向根据冗余SN号分段,按非冗余、热冗余非广播类、热冗余广播类报文通讯。作为一个示例,可将非冗余类型的CAN通信数据扩展帧的冗余号SN设置为0,热冗余非广播类报文通讯的CAN通信数据扩展帧的冗余SN号设置为1~200,热冗余广播类报文通讯的CAN通信数据扩展帧的冗余SN号设置为201~255,当然以上设置仅为一个示例,其取值范围可依据需求进行相应的调整。
表2本发明实施例的CAN通信数据扩展帧的冗余号SN的示意表
Figure BDA0002489266130000071
作为一个示例,对于非冗余通讯来说,主站上电后,将SN号设为0并发送报文;从站在CAN 1或CAN 2接收到报文,根据SN号判断目前为非冗余通讯;从站从当前接收到报文的CAN网口接收报文,回传SN号同样填入0。
对于热冗余非广播类报文通讯来说,主站上电后开始发送非广播类报文,主站对每个从站设立独立的冗余SN序列号,SN初始值为1;每发送一帧报文,SN号递增1,直至值为200后循环回到1;CAN 1接收到报文,通过判断SN号是否+1循环递增确定报文是否为正确的下一帧;若CAN 1报文SN号+1递增,则认为报文正确,立即处理当前接收到的报文:CAN 2接收到SN号<CAN 1当前SN号时,认为该报文已经由CAN 1接收并处理,删除CAN 2该帧;若CAN1报文SN号没有+1递增,则从CAN 2读取该帧,若CAN 2缓冲区中存在此帧则读取,若CAN 2缓冲区中没有该帧或已经接收到下一帧,则处理后续的帧;
对于热冗余广播类报文通讯来说,主站上电后开始发送广播类报文,主站对每个丛站设立独立的冗余SN序列号,SN初始值为201;每发送一帧报文,SN号递增1,直至值为255后循环回到201;CAN 1接收到报文,通过判断SN号是否+1循环递增确定报文是否为正确的下一帧;若CAN 1报文SN号+1递增,则认为报文正确,立即处理当前接收到的报文;CAN 2接收到SN号<CAN 1当前SN号时,认为该报文已经由CAN 1接收并处理,删除CAN 2该帧;若CAN1报文SN号没有+1递增,则从CAN 2读取该帧,若CAN 2缓冲区中存在此帧则读取,若CAN 2缓冲区中没有该帧或已经接收到下一帧,则处理后续的帧。
作为一个优选的实施例,第一从站设备还用于生成连续的CAN通信数据扩展帧,CAN通信数据扩展帧的类型包括非冗余类型和冗余类型,其中,非冗余类型的CAN通信数据扩展帧的冗余号SN设为固定数值,冗余类型的CAN通信数据扩展帧的冗余号SN依据发送顺序在预设的数值范围进行循环递增;作为一个示例,冗余类型的CAN通信数据扩展帧的冗余号SN依据发送顺序在预设的数值范围进行循环递增具体为,预设的数值范围设置为1~200,冗余类型的CAN通信数据扩展帧的冗余号SN的初始值为1,每发送一帧报文,SN号递增1,直至值为200后循环回到1;
第一CAN收发器和第二CAN收发器用于将来自第一从站设备的CAN通信数据扩展帧发送给DSP数据处理模块;
DSP数据处理模块还用于读取第一CAN收发器接收的CAN通信数据扩展帧,依据当前接收的CAN通信数据扩展帧中的冗余号SN判断当前CAN通信数据扩展帧是否为热冗余通讯,当前CAN通信数据扩展帧为热冗余通讯时,通过比较当前CAN通信数据扩展帧的冗余号SN和上一个CAN通信数据扩展帧的冗余号SN,判断当前CAN通信数据扩展帧是否为正确的报文,当前CAN通信数据扩展帧为错误报文时,读取第二CAN收发器接收的CAN通信数据扩展帧。
作为一个示例,从站发送文至主站方向的过程为:从站上电时初始化冗余SN序列号,SN初始值为1;判断当前CAN网是否为冗余通信,若不是冗余通信,则SN值设置为0并保持,知道通信变为冗余通信;在需要发送报文时,根据扩展帧ID场格式填入SN号,由CAN1、CAN2同时发送报文;每发送一次报文,判断是否为冗余通信,是冗余通信则SN号递增1,直到递增到255,循环至1继续递增;不是则设SN号为0。
作为一个示例,CAN通信数据扩展帧还包括帧类型、数据长度和数据缓冲区,具体的,在帧结构定义时,考虑到驱动软件接口的统一性,CAN总线的帧信息包含有ID号、帧类型、数据长度、数据缓冲区。综合考虑,CAN总线帧的数据结构设计如下:
struct can_frame_t
{
Unsigned long frame_id;//消息帧ID号
Short frame_seff;//消息帧格式种类
Short frame_dlc;//所发送的数据长度编码
Short frame_rtr;//传输方式
Short frame_data[8];//数据缓冲区
作为一个优选的实施例,该系统还包括FPGA,DSP数据处理模块通过FPGA分别连接第一CAN收发器和第二CAN收发器,FPGA用于提供时钟信号给DSP数据处理模块、第一CAN收发器和第二CAN收发器。
作为一个优选的实施例,DSP数据处理模块可通过定时器实现超时功能,以判断帧的发送是否超时。以F2812芯片为示例,其有3个32位CPU定时器,其中,定时器1和定时器2被保留用作实时操作系统OS,CPU定时器0可以供用户使用。定时器的工作原理为:工作开始将周期寄存器中的值装入32位计数器寄存器。然后计数器寄存器以C28X的SYSCLK-OUT速率递减。当计数器减到0时,产生一个定时器中断输出信号。
作为一个优选的实施例,DSP数据处理模块和从站设备之间的通信依据中断请求的优先级设置进行相应的处理。具体的,定时器和CAN总线报文收发都会用到中断,中断管理和使用是系统实现的重点之一。DSP下的中断分为外设级、外设中断扩展模块(PIE)级和CPU级。该芯片不但本身带有丰富的片内外设,还可以外扩外设。每个外设都可以产生一个或多个中断请求,因此外设级中断请求可能非常频繁,CPU没有能力去处理所有外设中断请求,需按照一定优先级规则对各种外设中断请求做出仲裁,通过PIE制定外设中断优先级,即按向量表对外设中断设置优先级别。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种基于DSP的CAN冗余通讯系统,其特征在于,所述系统包括DSP数据处理模块、第一CAN收发器、第二CAN收发器和第一从站设备,所述DSP数据处理模块连接第一CAN收发器和第二CAN收发器,第一CAN收发器和第二CAN收发器连接第一从站设备;所述CAN冗余通讯系统还包括第三CAN收发器和第二从站设备,所述DSP数据处理模块通过第三CAN收发器连接第二从站设备,所述第二从站设备用于发送或接收CAN通信数据扩展帧;
第一从站设备依据DSP数据通信模块发送的CAN通信数据扩展帧进行双通道冗余通信和或非冗余通信,第二从站设备依据DSP数据通信模块发送的CAN通信数据扩展帧进行非冗余通信;
所述DSP数据处理模块用于生成多个连续的CAN通信数据扩展帧,所述CAN通信数据扩展帧的ID场包括冗余号SN,所述CAN通信数据扩展帧的类型包括非冗余类型和冗余类型,其中,非冗余类型的CAN通信数据扩展帧的冗余号SN设为固定数值,冗余类型的CAN通信数据扩展帧的冗余号SN依据发送顺序在预设的数值范围进行循环递增;
所述冗余类型包括热冗余非广播类报文和热冗余广播类报文,所述热冗余非广播类报文通讯的CAN通信数据扩展帧的冗余SN号在第一预设数值范围进行循环递增,所述热冗余广播类报文通讯的CAN通信数据扩展帧的冗余SN号在第二预设数值范围进行循环递增;所述第一预设数值范围和所述第二预设数值范围没有交集;
所述第一CAN收发器和第二CAN收发器用于将来自DSP数据处理模块的CAN通信数据扩展帧发送给第一从站设备;
所述第一从站设备用于读取第一CAN收发器接收的CAN通信数据扩展帧,依据当前接收的CAN通信数据扩展帧中的冗余号SN判断当前CAN通信数据扩展帧是否为热冗余通讯,当前CAN通信数据扩展帧为热冗余通讯时,通过比较当前CAN通信数据扩展帧的冗余号SN和上一个CAN通信数据扩展帧的冗余号SN,判断CAN通信数据扩展帧是否为正确的报文,当前CAN通信数据扩展帧为错误报文时,读取第二CAN收发器接收的CAN通信数据扩展帧。
2.根据权利要求1所述的一种基于DSP的CAN冗余通讯系统,其特征在于,所述CAN通信数据扩展帧的ID场还包括从站设备节点ID、命令类型和报文发送方向。
3.根据权利要求1所述的一种基于DSP的CAN冗余通讯系统,其特征在于,CAN通信数据扩展帧的冗余类型包括热冗余非广播类报文通讯和热冗余广播类报文通讯。
4.根据权利要求1所述的一种基于DSP的CAN冗余通讯系统,其特征在于,CAN通信数据扩展帧还包括帧类型、数据长度和数据缓冲区。
5.根据权利要求1所述的一种基于DSP的CAN冗余通讯系统,其特征在于,第一从站设备还用于生成连续的CAN通信数据扩展帧,CAN通信数据扩展帧的类型包括非冗余类型和冗余类型,其中,非冗余类型的CAN通信数据扩展帧的冗余号SN设为固定数值,冗余类型的CAN通信数据扩展帧的冗余号SN依据发送顺序在预设的数值范围进行循环递增;
第一CAN收发器和第二CAN收发器用于将来自第一从站设备的CAN通信数据扩展帧发送给DSP数据处理模块;
DSP数据处理模块还用于读取第一CAN收发器接收的CAN通信数据扩展帧,依据当前接收的CAN通信数据扩展帧中的冗余号SN判断当前CAN通信数据扩展帧是否为热冗余通讯,当前CAN通信数据扩展帧为热冗余通讯时,通过比较当前CAN通信数据扩展帧的冗余号SN和上一个CAN通信数据扩展帧的冗余号SN,判断当前CAN通信数据扩展帧是否为正确的报文,当前CAN通信数据扩展帧为错误报文时,读取第二CAN收发器接收的CAN通信数据扩展帧。
6.根据权利要求1所述的一种基于DSP的CAN冗余通讯系统,其特征在于,所述系统还包括FPGA,所述DSP数据处理模块通过FPGA分别连接第一CAN收发器和第二CAN收发器,FPGA用于提供时钟信号给DSP数据处理模块、第一CAN收发器和第二CAN收发器。
7.根据权利要求1所述的一种基于DSP的CAN冗余通讯系统,其特征在于,所述DSP数据处理模块可通过定时器实现超时功能,以判断帧的发送是否超时。
8.根据权利要求1所述的一种基于DSP的CAN冗余通讯系统,其特征在于,所述DSP数据处理模块和从站设备之间的通信依据中断请求的优先级设置进行相应的处理。
CN202010400539.1A 2020-05-13 2020-05-13 一种基于dsp的can冗余通讯系统 Active CN111614532B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010400539.1A CN111614532B (zh) 2020-05-13 2020-05-13 一种基于dsp的can冗余通讯系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010400539.1A CN111614532B (zh) 2020-05-13 2020-05-13 一种基于dsp的can冗余通讯系统

Publications (2)

Publication Number Publication Date
CN111614532A CN111614532A (zh) 2020-09-01
CN111614532B true CN111614532B (zh) 2022-04-12

Family

ID=72205130

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010400539.1A Active CN111614532B (zh) 2020-05-13 2020-05-13 一种基于dsp的can冗余通讯系统

Country Status (1)

Country Link
CN (1) CN111614532B (zh)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101908974B (zh) * 2010-07-16 2012-05-23 北京航天发射技术研究所 Can总线双冗余热切换系统及热切换方法
CN102759891B (zh) * 2012-06-07 2014-07-16 中国航天科技集团公司第九研究院第七七一研究所 一种硬切换的双冗余can 控制器
CN103139060B (zh) * 2013-03-01 2015-10-28 哈尔滨工业大学 基于双dsp的高容错性can总线数字网关
US9244753B2 (en) * 2013-03-15 2016-01-26 Siemens Schweiz Ag Redundant bus fault detection
CN103490966B (zh) * 2013-10-10 2016-08-24 北京航天发射技术研究所 一种双冗余can总线数据接收处理方法
CN103840993A (zh) * 2013-10-10 2014-06-04 北京航天发射技术研究所 一种双冗余can总线数据发送方法
CN104780064A (zh) * 2015-03-31 2015-07-15 北京航天发射技术研究所 一种双冗余通道热切换can总线故障检测方法
CN105743755B (zh) * 2016-04-19 2018-12-25 上海君协光电科技发展有限公司 一种双冗余can总线通信系统
CN106444713B (zh) * 2016-10-20 2019-06-18 北京精密机电控制设备研究所 一种基于双冗余can总线通信的多智能单机伺服控制系统
CN109639546B (zh) * 2018-12-28 2021-07-30 浙江中控研究院有限公司 一种基于can总线的冗余系统

Also Published As

Publication number Publication date
CN111614532A (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
Rufino et al. Fault-tolerant broadcasts in CAN
US6603744B2 (en) Connection establishment method, communication method, state change transmission method, state changing method, wireless apparatus, wireless device, and computer
CN102984059B (zh) 千兆以太网冗余网卡及其链路切换条件判定结果控制方法
US4271507A (en) Communication broadcast channel interface
CN106959935B (zh) 一种兼容i2c通信与ipmb通信的方法
CN102035688B (zh) 一种快速控制网络链路访问设计方法
CN113452591B (zh) 基于can总线连续数据帧的回路控制方法及装置
CN114826812B (zh) 一种rs485通信多主站的实现方法及系统
CN104424680A (zh) 一种门禁冗余控制系统
WO2022040847A1 (zh) 通信数据处理方法及装置
CN111614532B (zh) 一种基于dsp的can冗余通讯系统
CN110048865B (zh) 一种总线数据传输方法、装置、电子设备及存储介质
CN114095901A (zh) 通信数据处理方法及装置
CN113885461B (zh) 一种串并转换模块、设备、方法、装置和工业控制系统
JP2003198572A (ja) 確定的フィールドバス及びその種のバスの管理方法
CN113242167B (zh) 一种基于单比特位同步的半异步can总线控制方法及控制器
CN105515925A (zh) 一种uart多主实时通信系统
CN110928828B (zh) 处理器间业务处理系统
CN204145528U (zh) 一种uart多主实时通信系统
WO2020238764A1 (zh) 时序管理方法、设备及系统
CN101902436A (zh) 板间通信方法、装置及系统
Moon et al. Gateway system with diagnostic function for LIN, CAN and FlexRay
CN110855540B (zh) 一种基于单环网的485多主通信方法和系统
CN117278505B (zh) 一种raid卡节点之间的消息传输方法、系统、设备以及介质
CN109901447B (zh) 一种can总线扩展装置

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
GR01 Patent grant
GR01 Patent grant