CN114650194B - 数据通信的方法、装置、电子设备及存储介质 - Google Patents

数据通信的方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114650194B
CN114650194B CN202210318510.8A CN202210318510A CN114650194B CN 114650194 B CN114650194 B CN 114650194B CN 202210318510 A CN202210318510 A CN 202210318510A CN 114650194 B CN114650194 B CN 114650194B
Authority
CN
China
Prior art keywords
connector
message
connection management
connection
data
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
CN202210318510.8A
Other languages
English (en)
Other versions
CN114650194A (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.)
Shenzhen Launch Technology Co Ltd
Original Assignee
Shenzhen Launch Technology 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 Shenzhen Launch Technology Co Ltd filed Critical Shenzhen Launch Technology Co Ltd
Priority to CN202210318510.8A priority Critical patent/CN114650194B/zh
Publication of CN114650194A publication Critical patent/CN114650194A/zh
Application granted granted Critical
Publication of CN114650194B publication Critical patent/CN114650194B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/40169Flexible bus arrangements
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0808Diagnosing performance data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Small-Scale Networks (AREA)

Abstract

本申请适用于车辆诊断技术领域,提供了一种数据通信的方法、装置、电子设备及存储介质,所述方法包括:第一连接器响应于第一设备发送的第一连接管理消息或第一数据传输消息,根据连接管理规则生成相应的第二连接管理消息,并向第一设备发送第二连接管理消息;将第一连接管理消息或第一数据传输消息转发至第二连接器;第二连接器将第一连接管理消息转发至第二设备,或响应第二设备发送的第三连接管理消息,将第一数据传输消息承载的数据转发至第二设备。解决了远程车辆诊断中,由于延时过长造成的连接建立失败或数据传输中断的问题。

Description

数据通信的方法、装置、电子设备及存储介质
技术领域
本申请属于车辆诊断技术领域,尤其涉及一种数据通信的方法、装置、电子设备及存储介质。
背景技术
目前,通过提供与车辆的CAN总线连接的车辆连接器,和与诊断仪连接的设备连接器,并在车辆连接器和设备连接器之间建立远程通信通道来实现诊断仪对车辆的远程诊断。
但是,一些通信协议对网络时延要求比较严格。以SAE J1939协议为例,该协议要求诊断仪与车辆之间的连接管理消息的时延在200毫秒以内。若上述远程通信通道时延超出协议要求,则可能造成连接建立的失败或数据传输的中断。
发明内容
本申请实施例提供了一种数据通信的方法、装置、电子设备及存储介质,可以解决以上问题至少一部分。
第一方面,本申请实施例提供了一种数据通信的方法,所述方法应用于第一连接器,所述方法包括:
响应于第一设备发送的第一连接管理消息或第一数据传输消息,根据连接管理规则生成相应的第二连接管理消息,并向所述第一设备发送所述第二连接管理消息;
将所述第一连接管理消息或所述第一数据传输消息转发至第二连接器;以便于所述第二连接器将所述第一连接管理消息转发至第二设备,或响应所述第二设备发送的第三连接管理消息,将所述第一数据传输消息承载的数据转发至所述第二设备,所述第三连接管理消息为所述第二设备响应所述第二连接器转发的第一连接管理消息,根据连接管理规则向所述第二连接器发送的连接管理消息;
其中,所述第一连接器与所述第一设备建立了CAN通信连接;所述第一连接器与所述第二连接器建立了网络通信连接;所述第二连接器与所述第二设备建立了CAN通信连接。
可选的,所述根据连接管理规则生成相应的第二连接管理消息,并向所述第一设备发送所述第二连接管理消息,包括:
在第一时间间隔内,根据连接管理规则生成相应的第二连接管理消息,并向所述第一设备发送所述第二连接管理消息,所述第一时间间隔为所述第一连接管理消息或所述第一数据传输消息对应通信协议要求的时间间隔;
所述将所述第一数据传输消息承载的数据转发至所述第二设备,包括:
在第二时间间隔内,将所述第一数据传输消息承载的数据转发至所述第二设备,所述第二时间间隔为所述第三连接管理消息对应通信协议要求的时间间隔。
可选的,所述将所述第一连接管理消息和第一数据传输消息转发至第二连接器,包括:
将接收到的所述第一连接管理消息和所述第一数据传输消息实时转发至所述第二连接器;或,
缓存接收到的所述第一连接管理消息和第一数据传输消息;
在确定接收到本次连接全部消息后,将所述本次连接全部消息转发至第二连接器;
所述本次连接全部消息包括,从本次连接建立到本次连接关闭的全部第一连接管理消息和第一数据传输消息。
可选的,所述方法还包括:
响应于第一设备发送的非基于连接管理的非连接CAN数据帧,将所述非连接CAN数据帧直接转发至所述第二连接器,以便所述第二连接器将所述非连接CAN数据帧转发至第二设备。
可选的,所述第一设备为车辆,所述第一连接器为车辆连接器,所述第二设备为诊断仪,所述第二连接器为诊断仪连接器;或者:所述第一设备为诊断仪,所述第一连接器为诊断仪连接器,所述第二设备为车辆,所述第二连接器为车辆连接器。
第二方面,本申请实施例提供了一种数据通信的方法,所述方法应用于第二连接器,所述方法包括:
接收第一连接器转发的第一连接管理消息或第一数据传输消息;所述第一连接管理消息或第一数据传输消息,是由第一设备发送给所述第一连接器的消息;所述连接器根据连接管理规则生成相应的第二连接管理消息,并将所述第二连接管理消息发送给所述第一设备,以响应所述第一连接管理消息或第一数据传输消息;
将所述第一连接管理消息转发至第二设备,或响应所述第二设备发送的第三连接管理消息,将所述第一数据传输消息承载的数据转发至所述第二设备,所述第三连接管理消息为所述第二设备响应所述第二连接器转发的第一连接管理消息,根据连接管理规则向所述第二连接器发送的连接管理消息;
其中,所述第一连接器与所述第一设备建立了CAN通信连接;所述第一连接器与所述第二连接器建立了网络通信连接;所述第二连接器与所述第二设备建立了CAN通信连接。
可选的,所述根据连接管理规则生成相应的第二连接管理消息,并将所述第二连接管理消息发送给所述第一设备,包括:
在第一时间间隔内,根据连接管理规则生成相应的第二连接管理消息,并将所述第二连接管理消息发送给所述第一设备,所述第一时间间隔为所述第一连接管理消息或所述第一数据传输消息对应通信协议要求的时间间隔;
所述将所述第一数据传输消息承载的数据转发至所述第二设备,包括:
在第二时间间隔内,将所述第一数据传输消息承载的数据转发至所述第二设备,所述第二时间间隔为所述第三连接管理消息对应通信协议要求的时间间隔。
可选的,所述接收第一连接器转发的第一连接管理消息和第一数据传输消息,包括:
接收所述第一连接设备实时转发的所述第一连接管理消息和所述第一数据传输消息;或,
接收所述第一连接设备缓存的全部第一连接管理消息和第一数据传输消息;
所述全部第一连接管理消息和第一数据传输消息为所述第一连接设备从连接建立到连接关闭的接收到的全部第一连接管理消息和第一数据传输消息。
可选的,所述方法还包括:
响应于第二设备发送的非基于连接管理的非连接CAN数据帧,将所述非连接CAN数据帧直接转发至所述第一连接器,以便所述第一连接器将所述非连接CAN数据帧转发至第一设备。
可选的,所述第一设备为车辆,所述第一连接器为车辆连接器,所述第二设备为诊断仪,所述第二连接器为诊断仪连接器;或者:所述第一设备为诊断仪,所述第一连接器为诊断仪连接器,所述第二设备为车辆,所述第二连接器为车辆连接器。
第三方面,本申请实施例提供了一种数据通信的装置,所述装置应用于第一连接器,所述装置包括:
第二连接管理消息处理模块,用于响应于第一设备发送的第一连接管理消息或第一数据传输消息,根据连接管理规则生成相应的第二连接管理消息,并向所述第一设备发送所述第二连接管理消息;
第一消息转发模块,用于将所述第一连接管理消息或所述第一数据传输消息转发至第二连接器;以便于所述第二连接器将所述第一连接管理消息转发至第二设备,或响应所述第二设备发送的第三连接管理消息,将所述第一数据传输消息承载的数据转发至所述第二设备,所述第三连接管理消息为所述第二设备响应所述第二连接器转发的第一连接管理消息,根据所述连接管理规则向所述第二连接器发送的连接管理消息;
其中,所述第一连接器与所述第一设备建立了CAN通信连接;所述第一连接器与所述第二连接器建立了网络通信连接;所述第二连接器与所述第二设备建立了CAN通信连接。
可选的,第二连接管理消息处理模块,还用于在第一时间间隔内,根据连接管理规则生成相应的第二连接管理消息,并向所述第一设备发送所述第二连接管理消息,所述第一时间间隔为所述第一连接管理消息或所述第一数据传输消息对应通信协议要求的时间间隔;
第一消息转发模块,还用于在第二时间间隔内,将所述第一数据传输消息承载的数据转发至所述第二设备,所述第二时间间隔为所述第三连接管理消息对应通信协议要求的时间间隔。
第一消息转发模块,还用于将接收到的所述第一连接管理消息和所述第一数据传输消息实时转发至所述第二连接器;或,
缓存接收到的所述第一连接管理消息和第一数据传输消息;
在确定接收到本次连接全部消息后,将所述本次连接全部消息转发至第二连接器;
所述本次连接全部消息包括,从本次连接建立到本次连接关闭的全部第一连接管理消息和第一数据传输消息。
可选的,所述装置还包括第一直接转发模块,用于响应于第一设备发送的非基于连接管理的非连接CAN数据帧,将所述非连接CAN数据帧直接转发至所述第二连接器,以便所述第二连接器将所述非连接CAN数据帧转发至第二设备。
可选的,所述第一设备为车辆,所述第一连接器为车辆连接器,所述第二设备为诊断仪,所述第二连接器为诊断仪连接器;或者:所述第一设备为诊断仪,所述第一连接器为诊断仪连接器,所述第二设备为车辆,所述第二连接器为车辆连接器。
第四方面,本申请实施例提供了一种数据通信的装置,所述装置应用于第二连接器,所述装置包括:
消息接收模块,用于接收第一连接器转发的第一连接管理消息或第一数据传输消息;所述第一连接管理消息或第一数据传输消息,是由第一设备发送给所述第一连接器的消息;所述连接器根据连接管理规则生成相应的第二连接管理消息,并将所述第二连接管理消息发送给所述第一设备,以响应所述第一连接管理消息或第一数据传输消息;
第二消息转发模块,用于将所述第一连接管理消息转发至第二设备,或响应所述第二设备发送的第三连接管理消息,将所述第一数据传输消息承载的数据转发至所述第二设备,所述第三连接管理消息为所述第二设备响应所述第二连接器转发的第一连接管理消息,根据连接管理规则向所述第二连接器发送的连接管理消息;
其中,所述第一连接管理消息、所述第一数据传输消息、所述第二连接管理消息和所述第三连接管理消息为基于连接管理的CAN数据帧;所述第一连接器与所述第一设备建立了CAN通信连接;所述第一连接器与所述第二连接器建立了网络通信连接;所述第二连接器与所述第二设备建立了CAN通信连接。
可选的,所述根据连接管理规则生成相应的第二连接管理消息,并将所述第二连接管理消息发送给所述第一设备,包括:在第一时间间隔内,根据连接管理规则生成相应的第二连接管理消息,并将所述第二连接管理消息发送给所述第一设备,所述第一时间间隔为所述第一连接管理消息或所述第一数据传输消息对应通信协议要求的时间间隔;
第二消息转发模块,还用于在第二时间间隔内,将所述第一数据传输消息承载的数据转发至所述第二设备,所述第二时间间隔为所述第三连接管理消息对应通信协议要求的时间间隔。
可选的,消息接收模块还用于接收所述第一连接设备实时转发的所述第一连接管理消息和所述第一数据传输消息;或,
接收所述第一连接设备缓存的全部第一连接管理消息和第一数据传输消息;
所述全部第一连接管理消息和第一数据传输消息为所述第一连接设备从连接建立到连接关闭的接收到的全部第一连接管理消息和第一数据传输消息。
可选的,所述装置还第二直接转发模块,用于响应于第二设备发送的非基于连接管理的非连接CAN数据帧,将所述非连接CAN数据帧直接转发至所述第一连接器,以便所述第一连接器将所述非连接CAN数据帧转发至第一设备。
可选的,所述第一设备为车辆,所述第一连接器为车辆连接器,所述第二设备为诊断仪,所述第二连接器为诊断仪连接器;或者:所述第一设备为诊断仪,所述第一连接器为诊断仪连接器,所述第二设备为车辆,所述第二连接器为车辆连接器。
第五方面,本申请实施例提供了一种电子设备,包括:
存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述第一方面所述或第一方面的任一可选实施方式的方法步骤,或上述第二方面所述或第二方面的任一可选实施方式的方法步骤。
第六方面,本申请实施例提供了一种计算机可读存储介质,包括:所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述或第一方面的任一可选实施方式的方法步骤,或上述第二方面所述或第二方面的任一可选实施方式的方法步骤。
第七方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面所述或第一方面的任一可选实施方式的方法步骤,或上述第二方面所述或第二方面的任一可选实施方式的方法步骤。
可以理解的是,第一连接器响应于第一设备发送的第一连接管理消息或第一数据传输消息,根据连接管理规则生成相应的第二连接管理消息,并向第一设备发送第二连接管理消息,起到了利用第一连接器模拟第二设备的效果,由第一连接器直接响应原本需要第二设备响应的消息,解决了远程网络的延时可能造成的,第一设备因未能及时收到响应消息导致建立连接失败,或发送数据中断的问题。另外,由于第二连接器将第一连接管理消息转发至第二设备,或响应第二设备发送的第三连接管理消息,将第一数据传输消息承载的数据转发至第二设备,起到了模拟了第一设备效果,同时也解决了网络延时造成的第二设备因未能及时收到响应消息导致建立连接失败,或接收数据中断的问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的系统示意图;
图2是SAE J1939标准连接管理交互示意图;
图3是本申请一实施例提供的数据通信的方法的交互流程示意图;
图4是本申请一实施例提供的数据通信的方法的流程示意图;
图5是本申请一实施例提供的数据通信的方法的流程示意图;
图6本申请一实施例提供的数据通信的装置的结构示意图;
图7本申请一实施例提供的数据通信的装置的结构示意图;
图8是本申请实施例提供的电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
在说明本申请实施例提供的数据通信的方法之前,为方便对本申请实施例的理解,下面结合图1对本申请实施例提供的数据通信的方法的原理以及本申请实施例中涉及的相关概念进行说明。
SAE J1939标准,美国汽车工程师学会(Society of Automotive Engineers)制定的基于CANBus的一种通讯协议。用于为中重型道路车辆(卡车、客车、建筑机械、农业机械等)上电子部件间的通讯提供标准的总线通信协议。在SAE J1939标准中,CANBus单帧数据只能传输8个字节数据,当需要发送大于8个字节数据时就需要启用连接管理,通过连接模式来实现多帧CANBus数据的组包,把多帧CANBus数据组成一个SAE J1939的数据包。
CANBus,或称CAN总线,是遵循ISO11898CAN标准的CANBus(ControLLer Area Net-work Bus),是制造厂中连接现场设备(传感器、执行器、控制器等)、面向广播的串行总线系统。
单帧数据,通过一个CANBus数据帧的形式发送的数据,又称单包数据。
多帧CANBus数据,通过多个CANBus数据帧形式发送的数据,又称多包数据。
连接管理,连接管理是用于处理在特定目标地址传输时节点间虚拟连接的打开、使用和关闭。
虚拟连接,是指在SAE J1939的网络环境中,为了传送一条由一个单独的参数组编号描述的长消息,在两个节点间建立的临时连接。
图1示出的是本申请实施例提供的一种数据通信系统10。该系统包括:第一设备11,第一连接器12,第二连接器13和第二设备14。
其中,第一设备11与第一连接器12建立了近距离的CAN通信连接,能够直接传输CAN总线数据。第二设备14与第二连接器13建立了CAN通信连接,能够直接传输CAN总线数据。第一连接器12和与第二连接器13建立了网络通信连接,能够实现远程的网络传输。因此,第一设备与第二设备之间,可以借助第一连接器和第二连接器间接地实现CAN总线数据的远程传输。
网络传输(也可以称为Internet通讯)的传输方式包括但不限于:基于服务器的网络数据中转传输、点对点传输、有线网络传输、基于4G/5G通信网络的传输等方式。在一个实施例中,第一连接器与第二连接器之间通过Internet相互发送CANBus数据的过程中,通过Internet报文协议对CANBus数据进行Internet报文数据封装和解封装。
在一些实施例中,第一设备11为车辆,第一连接器12为车辆连接器,第二设备为诊断仪14,第二连接器13为诊断仪连接器。由于数据传输是相互的,因此,还可以是第一设备11为诊断仪,第一连接器12为诊断仪连接器,第二设备14为车辆,第二连接器13为车辆连接器。
如图1所示,本申请实施例提供的数据通信系统10用于对车辆的远程诊断。以第一设备11为车辆,第一连接器12为车辆连接器,第二设备为诊断仪14,第二连接器13为诊断仪连接器为例。车辆向诊断仪发送的CANBus数据帧,经车辆连接器转发至诊断仪连接器,诊断仪连接器再将该CANBus数据帧发送至诊断仪,反之亦然。由于车辆连接器和诊断仪连接器之间采用网络传输,因此可以实现诊断仪对车辆的远程诊断。
但是,一些通信协议对网络时延要求比较严格。以SAE J1939协议为例,J1939-21按传输协议完成一次正常传输的主要采用4种数据帧或称消息,分别是请求发送(TP.CM_RTS)、准备发送(TP.CM_CTS)、数据传送(TP.DT)、结束应答(TP.CM_EndofMsgAck)。如图2所示,采用连接管理规则进行多包数据传输过程中,打开、使用和关闭一次连接的过程如下:
1、发送方先请求发送(TP.CM_RTS)消息,告诉对方我要发送整个消息数据长度的数据及全部数据包的数目。
2、接收方收到TP.CM_RTS消息后,发送TP.CM_CTS消息,告诉发送方本次可发送的数据包数目,以及下一个将要发送的数据包编号。
3、发送方接收到TP.CM_CTS消息后,就按照TP.CM_CTS消息要求发送指定数量的数据包。
4、发送方发送TP.CM_CTS消息中指定数量的TP.DT消息后,等待TP.CM_RTS消息。
5、接收方发送TP.CM_CTS消息。
6、重复3-5的步骤,直到所有的TP.DT消息发送完成。
7、接收方完成所有TP.DT接收后,发送TP.CM_End消息,传输结束。
其中,发送方为图2中发送者节点,接收方为图2中接收者节点。
从图2中可以看出,在一次连接的过程中,所有的设备(节点)在被要求作出响应时,必须要在0.20秒(Tr)内做出响应。所有等待响应的设备必须在放弃或重试前,至少等待1.25秒(T3)。这些时间确保了所有由于总线访问或消息传送经过桥接器的等待时间不会导致不必要的超时。
也就是说,要求诊断仪与车辆之间的连接管理消息的时延在200毫秒以内。然而,诊断仪连接器与车辆连接器之间的网络通信容易因路由、干扰、网络繁忙等因素,导致传输延时超过SAE J1939协议要求的延时,从而导致连接建立的失败或数据传输的中断。
图3示出的是本申请实施例提供一种数据通信的方法交互流程示意图,本申请实施例提供数据通信的方法应用于本申请实施例提供的数据通信系统,以实现诊断仪对车辆的远程诊断,以解决上述问题的至少一部分。
在一些实施例中,该系统进行数据通信前,由用户选择车型或根据车辆识别号码或车架号码(Vehicle Identification Number,VIN)自动适配车型,以使诊断仪、诊断仪连接器(也称作设备连接器)、车辆连接器能正确与车辆的车型适配。车辆连接器与车辆进行CANBus连接。设备连接器配置CANBus终端电阻(60-120欧姆),根据不同车型的CANBus配置,设备连接器内部的CAN节点与诊断仪CAN节点共同组建一组或多组CANBus总线网络,与诊断仪进行CANBus连接。
参见图3,该系统中,若诊断仪采用CANbus报文发送单帧数据,也就是遵循ISO11898CAN标准的CANBus的单帧数据。则设备连接器直接转发该CANbus报文到车辆连接器,车辆连接器也直接将该CANbus报文转发至车辆,车辆直接接收该CANbus报文。
反之,参见图3,若车辆采用CANbus报文发送单帧数据,也就是遵循ISO11898CAN标准的CANBus的单帧数据。则车辆连接器直接转发该CANbus报文到设备连接器,设备连接器也直接将该CANbus报文转发至诊断仪,诊断仪直接接收该CANbus报文。
在诊断仪与车辆之间需要互相发送多帧CANBus数据时,需要基于SAE J1939标准进行连接管理。参见图3,诊断仪向车辆发送J1939多包数据时,通过以下三个部分来阐述各个设备间的数据通信的交互过程。
第一,诊断仪与设备连接器之间的数据通信交互部分。
诊断仪首先发送TP.CM_RTS消息。TP.CM_RTS消息告诉接收方即将要发送整个消息数据长度的数据及全部数据包的数目。
设备连接器根据连接管理规则生成响应该TP.CM_RTS消息的TP.CM_CTS消息,告诉诊断仪方本次可发送的数据包数目,以及下一个将要发送的数据包编号。设备连接器可以根据预设的模板生成该TP.CM_CTS消息。
诊断仪在接收到设备连接器生成的TP.CM_CTS消息后,即确认与设备连接器建立本次连接,并根据TP.CM_CTS消息的指示,向设备连接器发送TP.CM_CTS消息中指定数量的TP.DT消息,并等待TP.CM_CTS消息。
设备连接器在接收到TP.CM_CTS消息规定数量的TP.DT消息后,根据连接管理规则生成TP.CM_CTS消息,并将该TP.CM_CTS消息发送给诊断仪。以使诊断仪继续发送携带数据的TP.DT消息。
在设备连接器接收到TP.CM_RTS消息中指定的全部TP.DT消息后,根据连接管理规则生成TP.CM_EndofMsgAck消息,并将TP.CM_End消息发送给诊断仪,本次连接关闭,传输结束。
第二,设备连接器与车辆连接器之间的数据通信交互部分。
设备连接器在接收到诊断仪发送的TP.CM_RTS消息后,将TP.CM_RTS消息转发给车辆连接器。
设备连接器在接收到诊断仪发送的TP.DT消息后,也将TP.DT消息转发给车辆连接器。
这里转发方式可以有两种,一种方式是,设备连接器接收到TP.CM_RTS消息或TP.DT消息后,实时将TP.CM_RTS消息或TP.DT消息转发给车辆连接器。可以理解的是,实时转发消息的方式,可以尽可能的保证数据传输的实时性。
另一种方式是,设备连接器接收到TP.CM_RTS消息或TP.DT消息后,将其进行暂存,直至完成所有TP.DT接收后,根据连接管理规则生成并发送TP.CM_End消息给诊断仪后,也就是在接收到本次连接全部消息后,再将接收到的本次连接全部消息一次性转发给车辆连接器。可以理解的是,设备连接器缓存接收到的消息;在确定接收到本次连接全部消息后,将所述本次连接全部消息转发至车辆连接器,可以降低网络通信的偶发波动的干扰,提高数据传输的稳定性。
第三,车辆连接器与车辆之间的数据通信交互部分。
车辆连接器在接收到设备连接器转发的,由诊断仪发出的TP.CM_RTS消息后,将该TP.CM_RTS消息转发至车辆。告诉车辆接下来要发送整个消息数据长度的数据及全部数据包的数目。
车辆根据自身的情况确定可以接收数据包的数量,以及下一个将要发送的数据包的编号,根据连接管理规则生成TP.CM_CTS消息,并将TP.CM_CTS发送给车辆连接器。
车辆连接器在接收到设备连接器转发的,由诊断仪发出的TP.DT消息后,将该TP.DT消息进行缓存。
车辆连接器根据车辆发送的TP.CM_CTS消息指定的数量和编号,将TP.DT消息中携带的数据,通过TP.DT消息转发至车辆。这里需要指出的是,如果车辆生成TP.CM_CTS消息与设备连接器生成的生成TP.CM_CTS消息指定的数据包数量和编号一致,车辆连接器可以直接转发诊断仪发送的TP.DT消息。通常情况下,车辆生成TP.CM_CTS消息与设备连接器生成的TP.CM_CTS消息指定的数据包数量和编号并不一致,此种情况下,需要车辆连接器响应车辆发出的TP.CM_CTS消息,将诊断仪发出的TP.DT消息中承载的数据,重新封装成为符合车辆发出的TP.CM_CTS消息所要求的TP.DT消息,再发送给车辆;或者车辆连接器需要响应TP.CM_CTS消息,将诊断仪发出的TP.DT消息进行相应的修改,以将TP.DT消息中承载的数据发送至车辆。
参见图3,车辆向诊断仪发送J1939多包数据时,通过以下三个部分来阐述各个设备间的数据通信的交互过程。
第一,车辆与车辆连接器之间的数据通信交互部分。
车辆首先发送TP.CM_RTS消息。TP.CM_RTS消息告诉接收方即将要发送整个消息数据长度的数据及全部数据包的数目。
车辆连接器根据连接管理规则生成响应该TP.CM_RTS消息的TP.CM_CTS消息,告诉车辆方本次可发送的数据包数目,以及下一个将要发送的数据包编号。车辆连接器可以根据预设的模板生成该TP.CM_CTS消息。
车辆在接收到车辆连接器生成的TP.CM_CTS消息后,即确认与车辆连接器建立本次连接,并根据TP.CM_CTS消息的指示,向车辆连接器发送TP.CM_CTS消息中指定数量的TP.DT消息,并等待TP.CM_CTS消息。
车辆连接器在接收到TP.CM_CTS消息规定数量的TP.DT消息后,根据连接管理规则生成TP.CM_CTS消息,并将该TP.CM_CTS消息发送给车辆。以使车辆继续发送携带数据的TP.DT消息。
在车辆连接器接收到TP.CM_RTS消息中指定的全部TP.DT消息后,根据连接管理规则生成TP.CM_EndofMsgAck消息,并将TP.CM_End消息发送给车辆,本次连接关闭,传输结束。
第二,车辆连接器与设备连接器之间的数据通信交互部分。
车辆连接器在接收到车辆发送的TP.CM_RTS消息后,将TP.CM_RTS消息转发给设备连接器。
车辆连接器在接收到车辆发送的TP.DT消息后,也将TP.DT消息转发给设备连接器。
这里转发方式可以有两种,一种方式是,车辆连接器接收到TP.CM_RTS消息或TP.DT消息后,实时将TP.CM_RTS消息或TP.DT消息转发给设备连接器。可以理解的是,实时转发消息的方式,可以尽可能的保证数据传输的实时性。
另一种方式是,车辆连接器接收到TP.CM_RTS消息或TP.DT消息后,将其进行暂存,直至完成所有TP.DT接收后,根据连接管理规则生成并发送TP.CM_End消息给车辆后,也就是在接收到本次连接全部消息后,再将接收到的本次连接全部消息一次性转发给设备连接器。可以理解的是,车辆连接器缓存接收到的消息;在确定接收到本次连接全部消息后,将所述本次连接全部消息转发至设备连接器,可以降低网络通信的偶发波动的干扰,提高数据传输的稳定性。
第三,设备连接器与诊断仪之间的数据通信交互部分。
设备连接器在接收到车辆连接器转发的,由车辆发出的TP.CM_RTS消息后,将TP.CM_RTS消息转发至诊断仪。告诉诊断仪接下来要发送整个消息数据长度的数据及全部数据包的数目。
诊断仪根据自身的情况确定可以接收数据包的数量,以及下一个将要发送的数据包的编号,根据连接管理规则生成TP.CM_CTS消息,并将TP.CM_CTS发送给设备连接器。
设备连接器在接收到车辆连接器转发的,由车辆发出的TP.DT消息后,将该TP.DT消息进行缓存。
设备连接器根据诊断仪发送的TP.CM_CTS消息指定的数量和编号,将TP.DT消息中携带的数据,通过TP.DT消息转发至诊断仪。这里需要指出的是,如果诊断仪生成TP.CM_CTS消息与车辆连接器生成的TP.CM_CTS消息指定的数据包数量和编号一致,设备连接器可以直接转发车辆发送的TP.DT消息。通常情况下,诊断仪生成TP.CM_CTS消息与车辆连接器生成的生成TP.CM_CTS消息指定的数据包数量和编号并不一致,此种情况下,需要设备连接器响应诊断仪发出的TP.CM_CTS消息,将车辆发出的TP.DT消息中承载的数据,重新封装成为符合诊断仪发出的TP.CM_CTS消息所要求的TP.DT消息,再发送给诊断仪;或者设备连接器需要响应TP.CM_CTS消息,将车辆发出的TP.DT消息进行相应的修改,以将TP.DT消息中承载的数据发送至诊断仪。
从上述示例可以看出,以第一连接器为设备连接器,第一设备为诊断仪,第二连接器为车辆连接器,第二设备为车辆为例。一方面,第一连接器响应于第一设备发送的第一连接管理消息或第一数据传输消息,根据连接管理规则生成相应的第二连接管理消息,并向第一设备发送第二连接管理消息,起到了利用第一连接器模拟第二设备的效果,由第一连接器直接响应原本需要第二设备响应的消息,解决了远程网络的延时可能造成的,第一设备因未能及时收到响应消息导致建立连接失败,或发送数据中断的问题。另一方面,由于第二连接器将第一连接管理消息转发至第二设备,或响应第二设备发送的第三连接管理消息,将第一数据传输消息承载的数据转发至第二设备,起到了模拟了第一设备效果,同时也解决了网络延时造成的第二设备因未能及时收到响应消息导致建立连接失败,或接收数据中断的问题。
图4示出了本申请实施例提供的数据通信的方法,应用于上述图1所示的数据通信系统中的第一连接器,可由所述第一连接器的软件和/或硬件实现。如图4所示,该方法包括步骤S110至S120。各个步骤的具体实现原理如下:
S110,响应于第一设备发送的第一连接管理消息或第一数据传输消息,根据连接管理规则生成相应的第二连接管理消息,并向所述第一设备发送所述第二连接管理消息。
其中,所述第一设备为车辆,所述第一连接器为车辆连接器,所述第二设备为诊断仪,所述第二连接器为诊断仪连接器;或者:所述第一设备为诊断仪,所述第一连接器为诊断仪连接器,所述第二设备为车辆,所述第二连接器为车辆连接器。
在一些实施例中,设备间进行多帧数据传输基于SAE J1939标准的连接管理规则,第一连接管理消息包括请求发送(TP.CM_RTS)消息。第一数据传输消息包括TP.DT消息。第二连接管理消息包括TP.CM_CTS消息,或TP.CM_End消息。根据连接管理规则生成连接管理消息是指,根据连接管理规则生成与接收到的消息对应的响应消息。
在一些实施例中,所述生成相应的第二连接管理消息,并将所述第二连接管理消息发送给所述第一设备,包括:在第一时间间隔内,生成相应的第二连接管理消息,并将所述第二连接管理消息发送给所述第一设备,所述第一时间间隔为所述第一连接管理消息或所述第一数据传输消息对应通信协议要求的时间间隔。具体的,设备间进行多帧数据传输基于SAE J1939标准,第一时间间隔为200ms。
也应理解,可能随着SAE J1939标准的更新,第一设备发出的第一连接管理消息的类型也可能会增加,也应当在本申请的保护范围。设备间进行多帧数据传输基于类似SAEJ1939标准的通信协议,需要进行连接管理来实现特定目标地址传输时节点间虚拟连接的打开、使用和关闭。在采用本申请实施例解决其远程数据传输延时问题时,也应当在本申请的保护范围。
在一些实施例中,第一连接器响应于第一设备发送的非基于连接管理的非连接CAN数据帧,将所述非连接CAN数据帧直接转发至所述第二连接器,以便所述第二连接器将所述非连接CAN数据帧转发至第二设备。
例如,参见图3,若诊断仪采用CANbus报文发送单帧数据,也就是遵循ISO11898CAN标准的CANBus的单帧数据。则设备连接器直接转发该CANbus报文到车辆连接器,车辆连接器也直接将该CANbus报文转发至车辆,车辆直接接收该CANbus报文。
S120,将所述第一连接管理消息或所述第一数据传输消息转发至第二连接器;以便于所述第二连接器将所述第一连接管理消息转发至第二设备,或响应所述第二设备发送的第三连接管理消息,将所述第一数据传输消息承载的数据转发至所述第二设备,所述第三连接管理消息为所述第二设备响应所述第二连接器转发的第一连接管理消息,根据所述连接管理规则向所述第二连接器发送的连接管理消息。
其中,所述第一连接器与所述第一设备建立了CAN通信连接;所述第一连接器与所述第二连接器建立了网络通信连接;所述第二连接器与所述第二设备建立了CAN通信连接。
在一些实施例中,所述将所述第一数据传输消息承载的数据转发至所述第二设备,包括:在第二时间间隔内,将所述第一数据传输消息承载的数据转发至所述第二设备,所述第二时间间隔为所述第三连接管理消息对应通信协议要求的时间间隔。具体的,设备间进行多帧数据传输基于SAE J1939标准,第二时间间隔为200ms。
在一些实施例中,所述将所述第一连接管理消息和第一数据传输消息转发至第二连接器,包括:将接收到的所述第一连接管理消息和所述第一数据传输消息实时转发至所述第二连接器。可以理解的是,实时转发消息的方式,可以尽可能的保证数据传输的实时性。
在另一些实施例中,所述将所述第一连接管理消息和第一数据传输消息转发至第二连接器,包括:缓存接收到的所述第一连接管理消息和第一数据传输消息;在确定接收到本次连接全部消息后,将所述本次连接全部消息转发至第二连接器;所述本次连接全部消息包括,从本次连接建立到本次连接关闭的全部第一连接管理消息和第一数据传输消息。可以理解的是,缓存接收到的所述第一连接管理消息和第一数据传输消息;在确定接收到本次连接全部消息后,将所述本次连接全部消息转发至第二连接器,可以降低网络通信的偶发波动的干扰,提高数据传输的稳定性。
可以理解的是,一方面,第一连接器响应于第一设备发送的第一连接管理消息或第一数据传输消息,根据连接管理规则生成相应的第二连接管理消息,并向第一设备发送第二连接管理消息,起到了利用第一连接器模拟第二设备的效果,由第一连接器直接响应原本需要第二设备响应的消息,解决了远程网络的延时可能造成的,第一设备因未能及时收到响应消息导致建立连接失败,或发送数据中断的问题。另一方面,由于第二连接器将第一连接管理消息转发至第二设备,或响应第二设备发送的第三连接管理消息,将第一数据传输消息承载的数据转发至第二设备,起到了模拟了第一设备效果,同时也解决了网络延时造成的第二设备因未能及时收到响应消息导致建立连接失败,或接收数据中断的问题。
图5示出了本申请实施例提供的数据通信的方法,应用于上述图1所示的数据通信系统中的第二连接器,可由所述第二连接器的软件和/或硬件实现。如图5所示,该方法包括步骤S210至S220。各个步骤的具体实现原理如下:
S210,接收第一连接器转发的第一连接管理消息或第一数据传输消息;所述第一连接管理消息或第一数据传输消息,是由第一设备发送给所述第一连接器的消息;所述连接器根据连接管理规则生成相应的第二连接管理消息,并将所述第二连接管理消息发送给所述第一设备,以响应所述第一连接管理消息或第一数据传输消息。
其中,所述第一设备为车辆,所述第一连接器为车辆连接器,所述第二设备为诊断仪,所述第二连接器为诊断仪连接器(设备连接器);或者:所述第一设备为诊断仪,所述第一连接器为诊断仪连接器(设备连接器),所述第二设备为车辆,所述第二连接器为车辆连接器。
在一些实施例中,设备间进行多帧数据传输基于SAE J1939标准的连接管理规则,第一连接管理消息包括请求发送(TP.CM_RTS)消息。第一数据传输消息包括TP.DT消息。第二连接管理消息包括第一连接器生成的TP.CM_CTS消息,或TP.CM_End消息。第三连接管理消息包括第二设备生成的TP.CM_CTS消息,或TP.CM_End消息。
在一些实施例中,所述生成相应的第二连接管理消息,并将所述第二连接管理消息发送给所述第一设备,包括:在第一时间间隔内,根据连接管理规则生成相应的第二连接管理消息,并将所述第二连接管理消息发送给所述第一设备,所述第一时间间隔为所述第一连接管理消息或所述第一数据传输消息对应通信协议要求的时间间隔。具体的,设备间进行多帧数据传输基于SAE J1939标准,第二时间间隔为200ms。
S220,将所述第一连接管理消息转发至第二设备,或响应所述第二设备发送的第三连接管理消息,将所述第一数据传输消息承载的数据转发至所述第二设备,所述第三连接管理消息为所述第二设备响应所述第二连接器转发的第一连接管理消息,向所述第二连接器发送的连接管理消息。
其中,所述第一连接器与所述第一设备建立了CAN通信连接;所述第一连接器与所述第二连接器建立了网络通信连接;所述第二连接器与所述第二设备建立了CAN通信连接。
在一些实施例中,所述将所述第一数据传输消息承载的数据转发至所述第二设备,包括:在第二时间间隔内,将所述第一数据传输消息承载的数据转发至所述第二设备,所述第二时间间隔为所述第三连接管理消息对应通信协议要求的时间间隔。具体的,设备间进行多帧数据传输基于SAE J1939标准,第二时间间隔为200ms。
在一些实施例中,接收第一连接器转发的第一连接管理消息或第一数据传输消息,包括:接收所述第一连接设备实时转发的所述第一连接管理消息和所述第一数据传输消息。可以理解的是,采用实施例转发消息的方式可以保证数据传输的实时性。
在另一些实施例中,接收第一连接器转发的第一连接管理消息或第一数据传输消息,包括:接收所述第一连接设备缓存的全部第一连接管理消息和第一数据传输消息;所述全部第一连接管理消息和第一数据传输消息为所述第一连接设备从连接建立到连接关闭的接收到的全部第一连接管理消息和第一数据传输消息。接收所述第一连接设备缓存的全部第一连接管理消息和第一数据传输消息,可以降低网络通信的偶发波动的干扰,提高数据传输的稳定性。
在一些实施例中,第二连接器响应于第二设备发送的非基于连接管理的非连接CAN数据帧,将所述非连接CAN数据帧直接转发至所述第一连接器,以便所述第一连接器将所述非连接CAN数据帧转发至第一设备。
例如,参见图3,若车辆采用CANbus报文发送单帧数据,也就是遵循ISO11898CAN标准的CANBus的单帧数据。则车辆连接器直接转发该CANbus报文到设备连接器,设备连接器也直接将该CANbus报文转发至诊断仪,诊断仪直接接收该CANbus报文。
可以理解的是,一方面,第一连接器响应于第一设备发送的第一连接管理消息或第一数据传输消息,根据连接管理规则生成相应的第二连接管理消息,并向第一设备发送第二连接管理消息,起到了利用第一连接器模拟第二设备的效果,由第一连接器直接响应原本需要第二设备响应的消息,解决了远程网络的延时可能造成的,第一设备因未能及时收到响应消息导致建立连接失败,或发送数据中断的问题。另一方面,由于第二连接器将第一连接管理消息转发至第二设备,或响应第二设备发送的第三连接管理消息,将第一数据传输消息承载的数据转发至第二设备,起到了模拟了第一设备效果,同时也解决了网络延时造成的第二设备因未能及时收到响应消息导致建立连接失败,或接收数据中断的问题。
对应于上述图4所示的数据通信的方法,图6示出的是本申请实施例提供的一种数据通信的装置M100,包括:
第二连接管理消息处理模块M110,用于响应于第一设备发送的第一连接管理消息或第一数据传输消息,生成相应的第二连接管理消息,并向所述第一设备发送所述第二连接管理消息;
第一消息转发模块M120,用于将所述第一连接管理消息或所述第一数据传输消息转发至第二连接器;以便于所述第二连接器将所述第一连接管理消息转发至第二设备,或响应所述第二设备发送的第三连接管理消息,将所述第一数据传输消息承载的数据转发至所述第二设备,所述第三连接管理消息为所述第二设备响应所述第二连接器转发的第一连接管理消息,向所述第二连接器发送的连接管理消息;
其中,所述第一连接管理消息、所述第一数据传输消息、所述第二连接管理消息和所述第三连接管理消息为基于连接管理的CAN数据帧;所述第一连接器与所述第一设备建立了CAN通信连接;所述第一连接器与所述第二连接器建立了网络通信连接;所述第二连接器与所述第二设备建立了CAN通信连接。
可选的,第二连接管理消息处理模块,还用于在第一时间间隔内,生成相应的第二连接管理消息,并向所述第一设备发送所述第二连接管理消息,所述第一时间间隔为所述第一连接管理消息或所述第一数据传输消息对应通信协议要求的时间间隔;
第一消息转发模块,还用于在第二时间间隔内,将所述第一数据传输消息承载的数据转发至所述第二设备,所述第二时间间隔为所述第三连接管理消息对应通信协议要求的时间间隔。
第一消息转发模块,还用于将接收到的所述第一连接管理消息和所述第一数据传输消息实时转发至所述第二连接器;或,
缓存接收到的所述第一连接管理消息和第一数据传输消息;
在确定接收到本次连接全部消息后,将所述本次连接全部消息转发至第二连接器;
所述本次连接全部消息包括,从本次连接建立到本次连接关闭的全部第一连接管理消息和第一数据传输消息。
可选的,所述装置还包括第一直接转发模块,用于响应于第一设备发送的非基于连接管理的非连接CAN数据帧,将所述非连接CAN数据帧直接转发至所述第二连接器,以便所述第二连接器将所述非连接CAN数据帧转发至第二设备。
可选的,所述第一设备为车辆,所述第一连接器为车辆连接器,所述第二设备为诊断仪,所述第二连接器为诊断仪连接器;或者:所述第一设备为诊断仪,所述第一连接器为诊断仪连接器,所述第二设备为车辆,所述第二连接器为车辆连接器。
可以理解的是,以上实施例中的各种实施方式和实施方式组合及其有益效果同样适用于本实施例,这里不再赘述。
对应于上述图5所示的数据通信的方法,图7示出的是本申请实施例提供的一种数据通信的装置M200,包括:
消息接收模块M210,用于接收第一连接器转发的第一连接管理消息或第一数据传输消息;所述第一连接管理消息或第一数据传输消息,是由第一设备发送给所述第一连接器的消息;所述连接器生成相应的第二连接管理消息,并将所述第二连接管理消息发送给所述第一设备,以响应所述第一连接管理消息或第一数据传输消息;
第二消息转发模块M220,用于将所述第一连接管理消息转发至第二设备,或响应所述第二设备发送的第三连接管理消息,将所述第一数据传输消息承载的数据转发至所述第二设备,所述第三连接管理消息为所述第二设备响应所述第二连接器转发的第一连接管理消息,向所述第二连接器发送的连接管理消息;
其中,所述第一连接管理消息、所述第一数据传输消息、所述第二连接管理消息和所述第三连接管理消息为基于连接管理的CAN数据帧;所述第一连接器与所述第一设备建立了CAN通信连接;所述第一连接器与所述第二连接器建立了网络通信连接;所述第二连接器与所述第二设备建立了CAN通信连接。
可选的,所述生成相应的第二连接管理消息,并将所述第二连接管理消息发送给所述第一设备,包括:在第一时间间隔内,生成相应的第二连接管理消息,并将所述第二连接管理消息发送给所述第一设备,所述第一时间间隔为所述第一连接管理消息或所述第一数据传输消息对应通信协议要求的时间间隔;
第二消息转发模块,还用于在第二时间间隔内,将所述第一数据传输消息承载的数据转发至所述第二设备,所述第二时间间隔为所述第三连接管理消息对应通信协议要求的时间间隔。
可选的,消息接收模块还用于接收所述第一连接设备实时转发的所述第一连接管理消息和所述第一数据传输消息;或,
接收所述第一连接设备缓存的全部第一连接管理消息和第一数据传输消息;
所述全部第一连接管理消息和第一数据传输消息为所述第一连接设备从连接建立到连接关闭的接收到的全部第一连接管理消息和第一数据传输消息。
可选的,所述装置还第二直接转发模块,用于响应于第二设备发送的非基于连接管理的非连接CAN数据帧,将所述非连接CAN数据帧直接转发至所述第一连接器,以便所述第一连接器将所述非连接CAN数据帧转发至第一设备
可选的,所述第一设备为车辆,所述第一连接器为车辆连接器,所述第二设备为诊断仪,所述第二连接器为诊断仪连接器;或者:所述第一设备为诊断仪,所述第一连接器为诊断仪连接器,所述第二设备为车辆,所述第二连接器为车辆连接器。
可以理解的是,以上实施例中的各种实施方式和实施方式组合及其有益效果同样适用于本实施例,这里不再赘述。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图8为本申请一实施例提供的电子设备的结构示意图。该电子设备用于实现图1所示的第一连接器或第二连接器。如图8所示,该实施例的电子设备D10包括:至少一个处理器D100(图8中仅示出一个)处理器、存储器D101以及存储在所述存储器D101中并可在所述至少一个处理器D100上运行的计算机程序D102,所述处理器D100执行所述计算机程序D102时实现上述任意各个方法实施例中的步骤。
所述电子设备D10可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该电子设备可包括,但不仅限于,处理器D100、存储器D101。本领域技术人员可以理解,图8仅仅是电子设备D10的举例,并不构成对电子设备D10的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器D100可以是中央处理单元(Central Processing Unit,CPU),该处理器D100还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器D101在一些实施例中可以是所述电子设备D10的内部存储单元,例如电子设备D10的硬盘或内存。所述存储器D101在另一些实施例中也可以是所述电子设备D10的外部存储设备,例如所述电子设备D10上配备的插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器D101还可以既包括所述电子设备D10的内部存储单元也包括外部存储设备。所述存储器D101用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器D101还可以用于暂时地存储已经输出或者将要输出的数据。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行时可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (9)

1.一种数据通信的方法,其特征在于,所述方法应用于第一连接器,所述方法包括:
响应于第一设备发送的第一连接管理消息或第一数据传输消息,根据连接管理规则生成相应的第二连接管理消息,并向所述第一设备发送所述第二连接管理消息,包括:在第一时间间隔内,根据连接管理规则生成相应的第二连接管理消息,并向所述第一设备发送所述第二连接管理消息,所述第一时间间隔为所述第一连接管理消息或所述第一数据传输消息对应通信协议要求的时间间隔;
将所述第一连接管理消息或所述第一数据传输消息转发至第二连接器;以便于所述第二连接器将所述第一连接管理消息转发至第二设备,或响应所述第二设备发送的第三连接管理消息,将所述第一数据传输消息承载的数据转发至所述第二设备,所述第三连接管理消息为所述第二设备响应所述第二连接器转发的第一连接管理消息,根据所述连接管理规则向所述第二连接器发送的连接管理消息;所述将所述第一数据传输消息承载的数据转发至所述第二设备,包括:在第二时间间隔内,将所述第一数据传输消息承载的数据转发至所述第二设备,所述第二时间间隔为所述第三连接管理消息对应通信协议要求的时间间隔;
其中,所述第一连接器与所述第一设备建立了CAN通信连接;所述第一连接器与所述第二连接器建立了网络通信连接;所述第二连接器与所述第二设备建立了CAN通信连接。
2.如权利要求1所述的方法,其特征在于,所述将所述第一连接管理消息和第一数据传输消息转发至第二连接器,包括:
将接收到的所述第一连接管理消息和所述第一数据传输消息实时转发至所述第二连接器;或,
缓存接收到的所述第一连接管理消息和第一数据传输消息;
在确定接收到本次连接全部消息后,将所述本次连接全部消息转发至第二连接器;
所述本次连接全部消息包括,从本次连接建立到本次连接关闭的全部第一连接管理消息和第一数据传输消息。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
响应于第一设备发送的非基于连接管理的非连接CAN数据帧,将所述非连接CAN数据帧直接转发至所述第二连接器,以便所述第二连接器将所述非连接CAN数据帧转发至第二设备。
4.如权利要求1至3任意一项所述的数据通信的方法,其特征在于,所述第一设备为车辆,所述第一连接器为车辆连接器,所述第二设备为诊断仪,所述第二连接器为诊断仪连接器;或者:所述第一设备为诊断仪,所述第一连接器为诊断仪连接器,所述第二设备为车辆,所述第二连接器为车辆连接器。
5.一种数据通信的方法,其特征在于,所述方法应用于第二连接器,所述方法包括:
接收第一连接器转发的第一连接管理消息或第一数据传输消息;所述第一连接管理消息或第一数据传输消息,是由第一设备发送给所述第一连接器的消息;所述连接器根据连接管理规则生成相应的第二连接管理消息,并将所述第二连接管理消息发送给所述第一设备,以响应所述第一连接管理消息或第一数据传输消息;其中,所述根据连接管理规则生成相应的第二连接管理消息,并将所述第二连接管理消息发送给所述第一设备,包括:在第一时间间隔内,生成相应的第二连接管理消息,并将所述第二连接管理消息发送给所述第一设备,所述第一时间间隔为所述第一连接管理消息或所述第一数据传输消息对应通信协议要求的时间间隔;
将所述第一连接管理消息转发至第二设备,或响应所述第二设备发送的第三连接管理消息,将所述第一数据传输消息承载的数据转发至所述第二设备,所述第三连接管理消息为所述第二设备响应所述第二连接器转发的第一连接管理消息,根据所述连接管理规则向所述第二连接器发送的连接管理消息;所述将所述第一数据传输消息承载的数据转发至所述第二设备,包括:在第二时间间隔内,将所述第一数据传输消息承载的数据转发至所述第二设备,所述第二时间间隔为所述第三连接管理消息对应通信协议要求的时间间隔;
其中,所述第一连接器与所述第一设备建立了CAN通信连接;所述第一连接器与所述第二连接器建立了网络通信连接;所述第二连接器与所述第二设备建立了CAN通信连接。
6.如权利要求5所述的方法,其特征在于,所述接收第一连接器转发的第一连接管理消息或第一数据传输消息,包括:
接收所述第一连接器实时转发的所述第一连接管理消息和所述第一数据传输消息;或,
接收所述第一连接器缓存的全部第一连接管理消息和第一数据传输消息;
所述全部第一连接管理消息和第一数据传输消息为所述第一连接器从连接建立到连接关闭的接收到的全部第一连接管理消息和第一数据传输消息。
7.如权利要求5至6任意一项所述的数据通信的方法,其特征在于,所述第一设备为车辆,所述第一连接器为车辆连接器,所述第二设备为诊断仪,所述第二连接器为诊断仪连接器;或者:所述第一设备为诊断仪,所述第一连接器为诊断仪连接器,所述第二设备为车辆,所述第二连接器为车辆连接器。
8.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,当所述处理器执行所述计算机程序时,使得电子设备实现如权利要求1至4或权利要求5至7任一项所述方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,当所述计算机程序被处理器执行时,使得电子设备实现如权利要求1至4或权利要求5至7任一项所述方法的步骤。
CN202210318510.8A 2022-03-29 2022-03-29 数据通信的方法、装置、电子设备及存储介质 Active CN114650194B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210318510.8A CN114650194B (zh) 2022-03-29 2022-03-29 数据通信的方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210318510.8A CN114650194B (zh) 2022-03-29 2022-03-29 数据通信的方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN114650194A CN114650194A (zh) 2022-06-21
CN114650194B true CN114650194B (zh) 2024-05-10

Family

ID=81996183

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210318510.8A Active CN114650194B (zh) 2022-03-29 2022-03-29 数据通信的方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN114650194B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101841452A (zh) * 2010-04-30 2010-09-22 北汽福田汽车股份有限公司 一种车辆控制局域网can网络
CN106713092A (zh) * 2015-07-28 2017-05-24 上汽通用汽车有限公司 车载CAN总线数据与FlexRay总线数据之间的转换系统及方法
CN106789493A (zh) * 2016-11-16 2017-05-31 广州汽车集团股份有限公司 一种汽车软件刷新控制方法、系统及网关
CN106878124A (zh) * 2015-12-10 2017-06-20 现代自动车株式会社 用于控制车辆内大容量诊断通信的方法和车辆控制器
CN109491357A (zh) * 2017-09-13 2019-03-19 现代自动车株式会社 在多个控制器上执行诊断操作的设备以及相关方法和车辆
KR101976717B1 (ko) * 2017-12-18 2019-08-28 네이버랩스 주식회사 Can에 대한 안전한 디바이스 인증 및 권한 제어 방법
CN110719231A (zh) * 2019-10-25 2020-01-21 深圳市鹏巨术信息技术有限公司 一种数据处理方法、装置、设备及可读存储介质
CN111427335A (zh) * 2020-04-22 2020-07-17 深圳市元征科技股份有限公司 一种车辆远程诊断方法、设备连接器及车辆连接器
CN111538312A (zh) * 2020-04-22 2020-08-14 深圳市元征科技股份有限公司 车辆远程诊断方法、系统、设备连接器及车辆连接器
CN111552268A (zh) * 2020-04-22 2020-08-18 深圳市元征科技股份有限公司 一种车辆远程诊断方法、设备连接器及车辆连接器
CN111552266A (zh) * 2020-04-22 2020-08-18 深圳市元征科技股份有限公司 车辆远程诊断方法、系统、设备连接器及车辆连接器
CN113093738A (zh) * 2021-03-17 2021-07-09 东风商用车有限公司 一种无人集卡控制系统及其控制方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101841452A (zh) * 2010-04-30 2010-09-22 北汽福田汽车股份有限公司 一种车辆控制局域网can网络
CN106713092A (zh) * 2015-07-28 2017-05-24 上汽通用汽车有限公司 车载CAN总线数据与FlexRay总线数据之间的转换系统及方法
CN106878124A (zh) * 2015-12-10 2017-06-20 现代自动车株式会社 用于控制车辆内大容量诊断通信的方法和车辆控制器
CN106789493A (zh) * 2016-11-16 2017-05-31 广州汽车集团股份有限公司 一种汽车软件刷新控制方法、系统及网关
CN109491357A (zh) * 2017-09-13 2019-03-19 现代自动车株式会社 在多个控制器上执行诊断操作的设备以及相关方法和车辆
KR101976717B1 (ko) * 2017-12-18 2019-08-28 네이버랩스 주식회사 Can에 대한 안전한 디바이스 인증 및 권한 제어 방법
CN110719231A (zh) * 2019-10-25 2020-01-21 深圳市鹏巨术信息技术有限公司 一种数据处理方法、装置、设备及可读存储介质
CN111427335A (zh) * 2020-04-22 2020-07-17 深圳市元征科技股份有限公司 一种车辆远程诊断方法、设备连接器及车辆连接器
CN111538312A (zh) * 2020-04-22 2020-08-14 深圳市元征科技股份有限公司 车辆远程诊断方法、系统、设备连接器及车辆连接器
CN111552268A (zh) * 2020-04-22 2020-08-18 深圳市元征科技股份有限公司 一种车辆远程诊断方法、设备连接器及车辆连接器
CN111552266A (zh) * 2020-04-22 2020-08-18 深圳市元征科技股份有限公司 车辆远程诊断方法、系统、设备连接器及车辆连接器
CN113093738A (zh) * 2021-03-17 2021-07-09 东风商用车有限公司 一种无人集卡控制系统及其控制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SAE J1939多包传输协议及应用分析;谢娟娟;李晋;郑创明;;周口师范学院学报(第02期);全文 *

Also Published As

Publication number Publication date
CN114650194A (zh) 2022-06-21

Similar Documents

Publication Publication Date Title
US10530606B2 (en) Method for transmitting data via a serial communication bus, bus interface, and computer program
CN105282209B (zh) 车辆用网络系统和其中异构通信控制器的数据传输方法
US7801173B2 (en) Communication message conversion apparatus and communication message conversion method
US20200394853A1 (en) Vehicle diagnostic communication apparatus, system including the same and method thereof
CN101385296A (zh) 用于总线间信息自动路由的网关
WO2021017667A1 (zh) 业务数据的传输方法和装置
CN113141306A (zh) 一种诊断报文路由方法及其总线路由设备
WO2024037304A1 (zh) 车辆诊断通信方法、装置、设备、介质及程序产品
JP2007300331A (ja) 車載データベースシステム
CN105141603A (zh) 通信数据传输方法及系统
CN112565341A (zh) 诊断路由的方法、装置、系统、设备和存储介质
CN106664231B (zh) 具有检验功能的传输单元
CN114650194B (zh) 数据通信的方法、装置、电子设备及存储介质
KR102303424B1 (ko) 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
JP3736460B2 (ja) ゲートウェイおよびこのゲートウェイを用いた分散システム
CN117376339A (zh) 基于ota的车辆ecu升级方法、装置、设备及介质
CN115442177B (zh) 一种can网络的数据通信方法和装置
WO2023115678A1 (zh) 数据通信方法、装置、电子设备及存储介质
KR100609493B1 (ko) 복수의 센서 데이터를 하나의 캔 메시지로 전송하는 방법
CN113886316A (zh) 数据通信方法及相关装置、设备、系统和存储介质
US10650619B2 (en) Relay device, system, and method for relaying messages between vehicles
JP2020150442A (ja) ゲートウェイ装置
CN110545163A (zh) 报文处理方法、报文处理装置和车载控制系统
CN117061518B (zh) 一种云原生虚拟can通信系统及方法
CN108701103B (zh) 具有工作存储器的计算单元的存储器直接访问控制装置

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