CN113285860B - 一种通过主节点刷写从节点的方法和系统 - Google Patents
一种通过主节点刷写从节点的方法和系统 Download PDFInfo
- Publication number
- CN113285860B CN113285860B CN202110551462.2A CN202110551462A CN113285860B CN 113285860 B CN113285860 B CN 113285860B CN 202110551462 A CN202110551462 A CN 202110551462A CN 113285860 B CN113285860 B CN 113285860B
- Authority
- CN
- China
- Prior art keywords
- node
- network
- flash
- slave node
- target slave
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40241—Flexray
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (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
本申请公开一种通过主节点刷写从节点的方法和系统,该方法和系统通过基于预定诊断服务定义至少携带目标从节点的节点地址的第一例程控制指令,并通过在车载网络上支持基于该预定诊断服务的刷写功能,使得主节点可通过接收刷写源基于车载网络中的第一网络传输的第一例程控制指令,来识别待刷写的目标从节点,进而通过跨协议(第一网络‑第二网络的网络协议)向目标从节点转发数据,来对目标从节点进行刷写,而不必改变第一网络(如,CAN)协议标准定义的报文格式,从而,在不破坏第一网络如CAN网络的报文格式的前提下,实现了对目标从节点如目标LIN从节点的刷写目的。
Description
技术领域
本申请涉及车载技术领域,尤其涉及一种通过主节点刷写从节点的方法和系统。
背景技术
现有通过诊断服务刷写LIN(Local Interconnect Network,局域互联网络)从节点的方式一般有两种,一种是,将LIN总线直接引出到车辆OBD(On Board Diagnostics,车载自动诊断系统)口,通过LIN总线直接对LIN从节点进行诊断刷写;另一种是,通过主节点所在的Flexray网段,借助Flexray数据场中的目标地址(Flexray网络协议的报文格式中包括从节点地址字段),实现跨协议对LIN从节点进行诊断刷写。
然而,申请人经研究发现,现有的两种方式至少分别存在以下缺陷:
1)第一种方式要求将LIN总线引出到车辆OBD口,如果车辆中LIN网段较多,将LIN总线引出到OBD口会额外增加一些线路,且,将LIN总线直接暴露在外部接口会造成一定的安全风险,因此当前绝大多数车辆并不把LIN总线引出到OBD口;
2)第二种方式需要LIN主节点包含Flexray网段,且Flexray网段支持诊断刷写功能。然而,当前Flexray总线由于成本、技术复杂度等原因,并没有大范围的在车载总线上应用,绝大多数车辆上的主干网仍然是CAN(Controller Area Network,控制器局域网络)。CAN总线在进行诊断功能时通过物理请求地址来区分请求需要与哪个节点进行通信,但针对同一LIN网段有多个LIN从节点的拓扑结构的情况,当前CAN网络协议的标准定义中无法直接在诊断报文中指明目标从节点的节点地址,进而无法实现通过LIN主节点的CAN网络来直接刷新LIN从节点的目的。
发明内容
有鉴于此,本申请提供一种通过主节点刷写从节点的方法和系统,目的在于在不破坏CAN网络的报文格式的前提下,实现通过LIN主节点跨协议刷写LIN从节点。
具体技术方案如下:
一种通过主节点刷写从节点的方法,包括:
在需要刷写目标从节点的情况下,刷写源通过第一网络,向目标从节点所处网段中的主节点发送基于预定诊断服务定义的第一例程控制指令;所述第一例程控制指令中至少携带所述目标从节点的节点地址;
所述主节点接收所述第一例程控制指令,确定当前是否允许对所述目标从节点进行刷写,并通过所述第一网络向所述刷写源反馈第一响应信息;
若所述第一响应信息表示允许刷写,所述刷写源通过所述第一网络向所述主节点发送刷写数据;
所述主节点接收所述刷写数据,并根据所述目标从节点的节点地址,通过第二网络将所述刷写数据转发至所述目标从节点,以使所述目标从节点进行数据刷写;
其中,所述第一网络、所述第二网络分别为车载网络中的主干网和非主干网。
可选的,上述方法中:
所述第一网络为控制器局域网络CAN;
所述第二网络为局域互联网络LIN;
所述主节点为LIN主节点,所述目标从节点为LIN从节点,所述主节点和所述目标从节点分别为车辆中属于同一LIN网段的相应车载设备对应的节点。
可选的,所述确定当前是否允许对所述目标从节点进行刷写,包括:
根据所述目标从节点的当前节点状态和/或车辆的当前车辆状态,确定当前是否允许对所述目标从节点进行刷写。
可选的,在所述主节点通过第二网络将所述刷写数据转发至所述目标从节点,以使所述目标从节点进行数据刷写之后,还包括:
所述主节点接收所述刷写源通过第一网络发送的基于所述预定诊断服务定义的第二例程控制指令;
所述主节点根据所述第二例程控制指令,停止向所述目标从节点转发数据,以结束对所述目标从节点的刷写流程,并通过所述第一网络向所述刷写源反馈第二响应信息。
可选的,所述第一网络为CAN;
所述刷写源,为车载自动诊断系统的诊断仪或移动终端的空中下载软件升级FOTA的主控节点;
其中,刷写源通过第一网络向主节点发送所述第一例程控制指令或所述刷写数据或所述第二例程控制指令,包括:
车载自动诊断系统中的诊断仪利用CAN总线并通过网关,将所述第一例程控制指令或所述刷写数据或所述第二例程控制指令转发至所述主节点;
或,所述FOTA的主控节点利用CAN总线并通过网关的转发或直接将所述第一例程控制指令或所述刷写数据或所述第二例程控制指令发送至所述主节点。
可选的,所述预定诊断服务为统一诊断服务UDS;
所述第一例程控制指令和所述第二例程控制指令,分别基于UDS协议中的例程控制服务定义。
可选的:
所述第一例程控制指令包括:例程控制服务的请求服务标识、第一控制类型、用于指定目标从节点的节点地址的例程标识符RID,以及目标从节点的节点地址;
所述第二例程控制指令包括:例程控制服务的请求服务标识、第二控制类型和所述例程标识符RID;
所述第一响应信息包括:响应类型、所述第一控制类型、所述例程标识符RID和对应的例程执行状况信息;
所述第二响应信息包括:响应类型、所述第二控制类型、所述例程标识符RID和对应的例程执行状况信息;
其中,所述第一控制类型,用于指示打开向目标从节点的路由转发功能,所述第二控制类型,用于指示关闭向目标从节点的路由转发功能。
一种通过主节点刷写从节点的系统,其特征在于,包括刷写源、车载网络中的主节点和从节点,其中:
所述刷写源,用于在需要刷写目标从节点的情况下,通过第一网络向目标从节点所处网段中的主节点发送基于预定诊断服务的第一例程控制指令;所述第一例程控制指令中至少携带所述目标从节点的节点地址;
所述主节点,用于接收所述第一例程控制指令,确定当前是否允许对所述目标从节点进行刷写,并通过所述第一网络向所述刷写源反馈第一响应信息;
所述刷写源,还用于在所述第一响应信息表示允许刷写的情况下,通过所述第一网络向所述主节点发送刷写数据;
所述主节点,还用于接收所述刷写数据,并根据所述目标从节点的节点地址,通过第二网络将所述刷写数据转发至所述目标从节点,以使所述目标从节点进行数据刷写;
其中,所述第一网络、所述第二网络分别为车载网络中的主干网和非主干网。
可选的,所述刷写源,还用于通过所述第一网络向所述主节点发送基于所述预定诊断服务定义的第二例程控制指令;
所述主节点,还用于接收所述第二例程控制指令,根据所述第二例程控制指令,停止向所述目标从节点转发数据,以结束对所述目标从节点的刷写流程,并通过所述第一网络向所述刷写源反馈第二响应信息。
可选的,所述第一网络为CAN,所述第二网络为LIN;所述刷写源为车载自动诊断系统的诊断仪或FOTA的主控节点;
所述系统还包括网关;
其中,所述刷写源,通过第一网络向主节点发送所述第一例程控制指令或所述刷写数据或所述第二例程控制指令,包括:
所述车载自动诊断系统中的诊断仪利用CAN总线并通过网关,将所述第一例程控制指令或所述刷写数据或所述第二例程控制指令转发至所述主节点;
或,所述FOTA的主控节点利用CAN总线并通过网关的转发或直接将所述第一例程控制指令或所述刷写数据或所述第二例程控制指令转发至所述主节点。
从上述技术方案可以看出,本申请公开的通过主节点刷写从节点的方法和系统,通过基于预定诊断服务定义至少携带目标从节点的节点地址的第一例程控制指令,并通过在车载网络上支持基于该预定诊断服务的刷写功能,使得主节点可通过接收刷写源基于车载网络中的第一网络传输的第一例程控制指令,来识别待刷写的目标从节点,进而通过跨协议(第一网络-第二网络的网络协议)向目标从节点转发数据,来对目标从节点进行刷写,而不必改变第一网络(如,CAN)协议标准定义的报文格式,从而,在不破坏第一网络如CAN网络的报文格式的前提下,实现了对目标从节点如目标LIN从节点的刷写目的。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的通过主节点刷写从节点的方法的一种流程示意图;
图2为本申请实施例公开的本申请方法适用的车载网络拓扑的一个示例;
图3为本申请实施例公开的跨协议刷写LIN从节点的逻辑示意图;
图4为本申请实施例公开的通过主节点刷写从节点的方法的另一种流程示意图;
图5为本申请实施例公开的通过主节点刷写从节点的系统的一种结构示意图;
图6为本申请实施例公开的通过主节点刷写从节点的系统的另一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
发明人经研究发现,绝大多数车辆上的主干网仍然是CAN,然而,当前CAN网络协议的标准定义中无法直接在诊断报文中指明目标从节点的节点地址,即,CAN网络协议标准定义的报文格式中不包括从节点的节点地址这一字段,并且,目前的CAN网络协议为一个既定的通用协议规范,通过对CAN网络协议的报文格式进行修改,以使其支持从节点的节点地址指定并不现实。
为此,本申请公开一种通过主节点刷写从节点的方法和系统,目的在于在不破坏CAN网络的报文格式的前提下,实现通过LIN主节点跨协议刷写LIN从节点。
参见图1示出的通过主节点刷写从节点的方法的一种流程示意图,本申请公开的通过主节点刷写从节点的方法,至少包括以下处理:
步骤101、在需要刷写目标从节点的情况下,刷写源通过第一网络,向目标从节点所处网段中的主节点发送基于预定诊断服务定义的第一例程控制指令。
其中,第一例程控制指令中至少携带待刷写的目标从节点的节点地址(NodeAddress,NAD)。第一网络及后文所涉及的第二网络,分别为车载网络中的主干网和非主干网。
图2提供了本申请所适用的车载网络拓扑的一个示例,其中,可选的,第一网络为CAN,第二网络为LIN,用于分别作为车载网络的主干网和非主干网,相对应,上述主节点为LIN主节点,LIN主节点所处网络包括CAN网络和LIN网络,目标从节点为LIN从节点,上述主节点和目标从节点分别为车辆中属于同一LIN网段的相应车载设备对应的节点。
上述的车载设备,包括但不限于车载的ECU(Electronic Control Unit,电子控制单元)、传感器、执行器等设备。
需要说明的是,第一网络和第二网络并不限于CAN和LIN,还可以分别是与CAN和LIN具备相类似特征(如,数据场中不支持携带从节点地址)的其他网络,本实施例对此不加限制。下文将主要以第一网络和第二网络分别为CAN和LIN为例,来描述本申请方法和系统的实施过程。
具体的,在目前的CAN网络中,当LIN主节点接收到CAN诊断请求(如,用于刷写目标从节点的诊断请求)后,由于CAN网络协议标准定义的报文格式中不包括从节点的节点地址这一字段,因此默认并不能识别该诊断请求是想对LIN网段内的哪个从节点进行诊断,当诊断仪或FOTA主控节点发送诊断请求,想让LIN网段内的某一LIN从节点(如图2中的ECU1)进入扩展会话,不做特殊处理是不能够实现的,这是因为诊断仪或FOTA主控节点根据UDS及CAN传输层的要求,只能发送诸如“0x7A1 02 10 03 00 00 00 00 00 00”(该报文为当前方法无法直接刷写LIN从节点的一种CAN诊断数据示例)这一不携带LIN从节点的NAD的诊断数据。
如果要在CAN网络协议的数据报文中指定目标LIN从节点的节点地址,就需要破坏CAN网络协议的请求报文格式,这会导致对整车诊断仪、FOTA数据传输以及LIN主节点诊断相关模块的改动较大(如,需修改其报文格式,并修改其数据封装/解析协议等),这对于已成为既定通用规范的CAN网络协议来说并不现实,因此需要通过额外的方法来实现对目标LIN从节点的指定。
为此,本申请利用预定诊断服务,并通过定义基于该预定诊断服务的相关例程控制指令,来帮助LIN主节点判定所接收到的诊断请求是需要发送给自身还是发送给所处LIN网段内的某个从节点,以此支持在不改变CAN数据报文格式的前提下,通过LIN主节点对LIN从节点的跨协议刷写处理。
其中,所采用的预定诊断服务,可以是但不限于UDS(Unified DiagnosticServices,统一诊断服务),如,基于ISO 14229定义的UDS服务,相应通过利用UDS协议中的例程控制服务(0x31)来实现在LIN主节点识别/获取目标LIN从节点的NAD。本申请在CAN及LIN两个网络均实现了UDS诊断功能。
本申请在定义相关例程控制指令时,首先在例程控制指令的字段中定义一个用于指定目标LIN从节点NAD(定义)的例程标识符RID(RoutineControl Identity document),示例性的,比如,可将例程标识符RID定义为长度为2个字节的“0x6A01”,所定义的RID可用于指示开启/关闭向目标LIN从节点的CAN-LIN路由转发,并指定/清除目标从节点的NAD。
本申请实施例基于上述诊断服务所定义的相关例程控制指令,至少包括能用于携带目标从节点的节点地址的第一例程控制指令,该第一例程控制指令用于指示打开CAN-LIN路由功能。针对第一例程控制指令的定义,在增加例程标识符RID(即,例程控制RID)的基础上,进一步在例程标识符RID后面携带一个节点的从节点地址,如“0x02”。
参见以下表1,提供了第一例程控制指令的一种示例性的数据格式,包括例程控制服务的请求服务标识ID、第一控制类型、例程标识符RID,以及目标从节点的节点地址,其中,第一例程控制指令具体通过其包括的第一控制类型来指示开启向目标从节点的路由转发功能:
表1
在此基础上,当刷写源需要刷写目标从节点时,结合参见图3示出的刷写逻辑示意图,在开始刷写之前,先将目标从节点的节点地址写入第一例程控制指令,并向LIN主节点发送该指令,如图3中的“0x31 01 6A 01 02”,以指示LIN主节点打开CAN-LIN路由功能,并向LIN主节点指定待刷写的目标从节点的节点地址。
其中,刷写源可以有两种,一种是OBD(On Board Diagnostics,车载自动诊断系统)中的诊断仪,另一种是FOTA(Firmware Over-The-Air,移动终端的空中下载软件升级)的主控节点。
相对应,在图2提供的网络拓扑示例中,有两种路径可以实现相关指令以及后文涉及的刷写数据向LIN主节点的传输,一种是,诊断仪通过OBD口引出的CAN总线,并通过网关将指令或刷写数据(如,刷写序列)转发给LIN主节点;另一种是,由FOTA的主控节点利用CAN总线发送指令或刷写数据(如,刷写序列),并通过网关转发至LIN主节点。其中,网关在本申请实施例中仅做直接报文路由功能,如果FOTA主控节点与LIN主节点处于同一CAN网段,则FOTA主控节点不需要网关进行指令或数据的转发。
步骤102、上述主节点接收第一例程控制指令,确定当前是否允许对目标从节点进行刷写,并通过第一网络向刷写源反馈第一响应信息。
LIN主节点收到第一例程控制指令后,从中识别出目标从节点的节点地址,如,从“0x31 01 6A 01 02”中识别出目标从节点的节点地址为“0x02”,并根据目标从节点的当前节点状态和/或车辆的当前车辆状态,确定当前是否允许对目标从节点进行刷写,进而向刷写源反馈肯定响应(当前允许刷写)或否定响应(当前不允许刷写)。
目标从节点的当前节点状态,包括但不限于目标从节点当前是、否执行某些动作(如,制冷控制、转向控制、自动驾驶控制等)的状态;车辆的当前车辆状态,包括但不限于车辆是否处于行车模式、当前车速等状态。
优选的,在目标从节点未执行动作和/或车辆处于非行车模式的情况下,LIN主节点确定当前允许对目标从节点进行刷写,并给予刷写源肯定响应,且LIN主节点知道后续将要接收到的刷写数据是针对节点地址指向的目标从节点的;否则,则确定当前不允许对目标从节点进行刷写,并给予刷写源否定响应。以尽可能保证对目标从节点的刷写流程不会对目标从节点的当前功能使用和/或车辆安全性产生影响。
其中,给予刷写源的肯定响应或否定响应即为上述的第一响应信息,本实施例中,该第一响应信息包括但不限于:响应类型、上述第一控制类型、例程标识符RID和对应的例程执行状况信息。上述响应类型为针对第一例程控制指令的肯定响应(表明当前允许刷写)或否定响应(表明当前不允许刷写)。
参见以下表2,为本申请实施例基于UDS定义的肯定响应类型的第一响应信息的数据格式的一个示例:
表2
步骤103、若第一响应信息表示允许刷写,刷写源通过第一网络向上述主节点发送刷写数据。
刷写源接收LIN主节点通过CAN主线反馈的第一响应信息,其中,如果第一响应信息表示允许刷写,则刷写源进一步通过CAN主线向主节点发送刷写数据,如刷写序列。
步骤104、上述主节点接收刷写源发送的刷写数据,并根据第一例程控制指令中目标从节点的节点地址,通过第二网络将刷写数据转发至目标从节点,以使目标从节点进行数据刷写。
主节点接收到刷写源发送的刷写数据后,根据第一例程控制指令中目标从节点的节点地址,通过LIN数据线向目标从节点转发刷写数据,从而实现CAN-LIN的跨协议路由转发。
目标从节点接收到转发的刷写数据后,在自身节点进行数据刷写。
具体的,比如,LIN主节点基于CAN-LIN跨协议路由,不断向目标LIN从节点转发刷写源发送的刷写序列,目标LIN从节点则根据接收的刷写序列,完成自身节点的数据刷写。
根据以上方案可知,本申请公开的通过主节点刷写从节点的方法,通过基于预定诊断服务定义至少携带目标从节点的节点地址的第一例程控制指令,并通过在车载网络上支持基于该预定诊断服务的刷写功能,使得主节点可通过接收刷写源基于车载网络中的第一网络传输的第一例程控制指令,来识别待刷写的目标从节点,进而通过跨协议(第一网络-第二网络的网络协议)向目标从节点转发数据,来对目标从节点进行刷写,而不必改变第一网络(如,CAN)协议标准定义的报文格式,从而,在不破坏第一网络如CAN网络的报文格式的前提下,实现了对目标从节点如目标LIN从节点的刷写目的。
在另一实施例中,如图4所示,本申请公开的通过主节点刷写从节点的方法,在步骤104之后,还包括:
步骤105、上述主节点接收刷写源通过第一网络发送的基于上述预定诊断服务定义的第二例程控制指令。
本实施中,基于UDS所定义的上述相关例程控制指令,还包括第二例程控制指令,用于指示关闭向目标从节点的CAN-LIN路由转发。
参见以下表3,提供了第二例程控制指令的一种示例性的数据格式,包括例程控制服务的请求服务标识、第二控制类型和例程标识符RID:其中,第二例程控制指令具体通过其包括的第二控制类型指示关闭向目标从节点的路由转发功能:
表3
当刷写源的刷写流程结束后,诊断仪或FOTA主控节点等刷写源使用第二控制类型(如,表3中的“0x02”)来关闭网络中向目标从节点的路由转发功能,以指示当前刷写流程已结束。具体的,诊断仪或FOTA主控节点通过CAN主线向LIN主节点发送携带第二控制类型的第二例程控制指令。
步骤106、上述主节点根据第二例程控制指令,停止向目标从节点转发数据,以结束对目标从节点的刷写流程,并通过第一网络向刷写源反馈第二响应信息。
LIN主节点接收到第二例程控制指令后,根据该指令关闭对目标从节点的报文转发,结束当前对目标从节点的刷写流程。后续,若LIN主节点再次接收到刷写源的相关诊断报文(本申请中的相关指令及刷写数据的报文,可统称为诊断报文),则重新解析其中的节点地址,以识别所接收到的诊断报文是需要发送给自身还是发送给所处LIN网段内的某个从节点。
同时,可选的,LIN主节点还可以向刷写源反馈针对第二例程控制指令的第二响应信息。
该第二响应信息包括但不限于:响应类型、上述第二控制类型、例程标识符RID和对应的例程执行状况信息。第二响应信息中的响应类型为针对第二例程控制指令的肯定响应或否定响应。
参见以下表4,为本申请实施例基于UDS定义的肯定响应类型的第二响应信息的数据格式的一个示例:
表4
本实施例通过进一步定义第二例程控制指令和第二响应信息,并在刷写流程相应阶段基于定义的第二例程控制指令或第二响应信息执行相应处理,实现了对指定的目标从节点的闭环式刷写处理,可有助于通过LIN主节点执行对目标LIN从节点的完整刷写流程,并避免节点刷写错误。
对应于上述的方法,本申请实施例还公开一种通过主节点刷写从节点的系统,如图5所示,该系统包括:刷写源501、车载网络中的主节点502和从节点503,其中:
刷写源501,用于在需要刷写目标从节点的情况下,通过第一网络向目标从节点所处网段中的主节点502发送基于预定诊断服务的第一例程控制指令;第一例程控制指令中至少携带目标从节点的节点地址;
主节点502,用于接收第一例程控制指令,确定当前是否允许对目标从节点进行刷写,并通过第一网络向刷写源501反馈第一响应信息;
刷写源501,还用于在第一响应信息表示允许刷写的情况下,通过第一网络向上述主节点502发送刷写数据;
主节点502,还用于接收刷写数据,并根据第一例程控制指令中目标从节点的节点地址,通过第二网络将刷写数据转发至目标从节点,以使目标从节点进行数据刷写;
其中,第一网络、第二网络分别为车载网络中的主干网和非主干网。
在本申请实施例的一可选实施方式中:
第一网络为控制器局域网络CAN;
第二网络为局域互联网络LIN;
上述主节点为LIN主节点,目标从节点为LIN从节点,上述主节点和目标从节点分别为车辆中属于同一LIN网段的相应车载设备对应的节点。
在本申请实施例的一可选实施方式中,主节点502,在确定当前是否允许对目标从节点进行刷写时,具体用于:
根据目标从节点的当前节点状态和/或车辆的当前车辆状态,确定当前是否允许对目标从节点进行刷写。
在本申请实施例的一可选实施方式中,刷写源501,还用于通过第一网络向主节点502发送基于上述预定诊断服务定义的第二例程控制指令;
主节点502,还用于接收第二例程控制指令,根据第二例程控制指令,停止向目标从节点转发数据,以结束对目标从节点的刷写流程,并通过第一网络向刷写源501反馈第二响应信息。
在本申请实施例的一可选实施方式中,上述预定诊断服务为统一诊断服务UDS;
上述第一例程控制指令和第二例程控制指令,分别基于UDS协议中的例程控制服务定义;
在本申请实施例的一可选实施方式中,上述刷写源为车载自动诊断系统的诊断仪或FOTA的主控节点;
参见图6,本申请公开的通过主节点刷写从节点的系统还包括网关504;
其中,刷写源501,通过第一网络向主节点发送第一例程控制指令或刷写数据或第二例程控制指令,具体包括:
车载自动诊断系统中的诊断仪利用CAN总线并通过网关504,将第一例程控制指令或刷写数据或第二例程控制指令转发至所述主节点;
或,FOTA的主控节点利用CAN总线并通过网关504的转发或直接将第一例程控制指令或刷写数据或第二例程控制指令转发至所述主节点。
对于本申请实施例公开的通过主节点刷写从节点的系统而言,由于其与上文方法实施例公开的通过主节点刷写从节点的方法相对应,所以描述的比较简单,相关相似之处请参见上文相应方法实施例的说明即可,此处不再详述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种通过主节点刷写从节点的方法,其特征在于,包括:
在需要刷写目标从节点的情况下,刷写源通过第一网络,向目标从节点所处网段中的主节点发送基于预定诊断服务定义的第一例程控制指令;所述第一例程控制指令中至少携带所述目标从节点的节点地址;其中,通过利用UDS协议中的例程控制服务来实现在主节点识别/获取目标从节点的节点地址;
所述主节点接收所述第一例程控制指令,确定当前是否允许对所述目标从节点进行刷写,并通过所述第一网络向所述刷写源反馈第一响应信息;
若所述第一响应信息表示允许刷写,所述刷写源通过所述第一网络向所述主节点发送刷写数据;
所述主节点接收所述刷写数据,并根据所述目标从节点的节点地址,通过第二网络将所述刷写数据转发至所述目标从节点,以使所述目标从节点进行数据刷写;
其中,所述第一网络、所述第二网络分别为车载网络中的主干网和非主干网。
2.根据权利要求1所述的方法,其特征在于:
所述第一网络为控制器局域网络CAN;
所述第二网络为局域互联网络LIN;
所述主节点为LIN主节点,所述目标从节点为LIN从节点,所述主节点和所述目标从节点分别为车辆中属于同一LIN网段的相应车载设备对应的节点。
3.根据权利要求1所述的方法,其特征在于,所述确定当前是否允许对所述目标从节点进行刷写,包括:
根据所述目标从节点的当前节点状态和/或车辆的当前车辆状态,确定当前是否允许对所述目标从节点进行刷写。
4.根据权利要求1所述的方法,其特征在于,在所述主节点通过第二网络将所述刷写数据转发至所述目标从节点,以使所述目标从节点进行数据刷写之后,还包括:
所述主节点接收所述刷写源通过第一网络发送的基于所述预定诊断服务定义的第二例程控制指令;
所述主节点根据所述第二例程控制指令,停止向所述目标从节点转发数据,以结束对所述目标从节点的刷写流程,并通过所述第一网络向所述刷写源反馈第二响应信息。
5.根据权利要求4所述的方法,其特征在于,所述第一网络为CAN;
所述刷写源,为车载自动诊断系统的诊断仪或移动终端的空中下载软件升级FOTA的主控节点;
其中,刷写源通过第一网络向主节点发送所述第一例程控制指令或所述刷写数据或所述第二例程控制指令,包括:
车载自动诊断系统中的诊断仪利用CAN总线并通过网关,将所述第一例程控制指令或所述刷写数据或所述第二例程控制指令转发至所述主节点;
或,所述FOTA的主控节点利用CAN总线并通过网关的转发或直接将所述第一例程控制指令或所述刷写数据或所述第二例程控制指令发送至所述主节点。
6.根据权利要求4或5所述的方法,其特征在于,所述预定诊断服务为统一诊断服务UDS;
所述第一例程控制指令和所述第二例程控制指令,分别基于UDS协议中的例程控制服务定义。
7.根据权利要求6所述的方法,其特征在于:
所述第一例程控制指令包括:例程控制服务的请求服务标识、第一控制类型、用于指定目标从节点的节点地址的例程标识符RID,以及目标从节点的节点地址;
所述第二例程控制指令包括:例程控制服务的请求服务标识、第二控制类型和所述例程标识符RID;
所述第一响应信息包括:响应类型、所述第一控制类型、所述例程标识符RID和对应的例程执行状况信息;
所述第二响应信息包括:响应类型、所述第二控制类型、所述例程标识符RID和对应的例程执行状况信息;
其中,所述第一控制类型,用于指示打开向目标从节点的路由转发功能,所述第二控制类型,用于指示关闭向目标从节点的路由转发功能。
8.一种通过主节点刷写从节点的系统,其特征在于,包括刷写源、车载网络中的主节点和从节点,其中:
所述刷写源,用于在需要刷写目标从节点的情况下,通过第一网络向目标从节点所处网段中的主节点发送基于预定诊断服务的第一例程控制指令;所述第一例程控制指令中至少携带所述目标从节点的节点地址;其中,通过利用UDS协议中的例程控制服务来实现在主节点识别/获取目标从节点的节点地址;
所述主节点,用于接收所述第一例程控制指令,确定当前是否允许对所述目标从节点进行刷写,并通过所述第一网络向所述刷写源反馈第一响应信息;
所述刷写源,还用于在所述第一响应信息表示允许刷写的情况下,通过所述第一网络向所述主节点发送刷写数据;
所述主节点,还用于接收所述刷写数据,并根据所述目标从节点的节点地址,通过第二网络将所述刷写数据转发至所述目标从节点,以使所述目标从节点进行数据刷写;
其中,所述第一网络、所述第二网络分别为车载网络中的主干网和非主干网。
9.根据权利要求8所述的系统,其特征在于,所述刷写源,还用于通过所述第一网络向所述主节点发送基于所述预定诊断服务定义的第二例程控制指令;
所述主节点,还用于接收所述第二例程控制指令,根据所述第二例程控制指令,停止向所述目标从节点转发数据,以结束对所述目标从节点的刷写流程,并通过所述第一网络向所述刷写源反馈第二响应信息。
10.根据权利要求9所述的系统,其特征在于,所述第一网络为CAN,所述第二网络为LIN;所述刷写源为车载自动诊断系统的诊断仪或FOTA的主控节点;
所述系统还包括网关;
其中,所述刷写源,通过第一网络向主节点发送所述第一例程控制指令或所述刷写数据或所述第二例程控制指令,包括:
所述车载自动诊断系统中的诊断仪利用CAN总线并通过网关,将所述第一例程控制指令或所述刷写数据或所述第二例程控制指令转发至所述主节点;
或,所述FOTA的主控节点利用CAN总线并通过网关的转发或直接将所述第一例程控制指令或所述刷写数据或所述第二例程控制指令转发至所述主节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110551462.2A CN113285860B (zh) | 2021-05-20 | 2021-05-20 | 一种通过主节点刷写从节点的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110551462.2A CN113285860B (zh) | 2021-05-20 | 2021-05-20 | 一种通过主节点刷写从节点的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113285860A CN113285860A (zh) | 2021-08-20 |
CN113285860B true CN113285860B (zh) | 2023-04-07 |
Family
ID=77280339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110551462.2A Active CN113285860B (zh) | 2021-05-20 | 2021-05-20 | 一种通过主节点刷写从节点的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113285860B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277415A (zh) * | 2022-07-27 | 2022-11-01 | 大陆汽车研发(重庆)有限公司 | 一种lin总线从节点的在线升级方法以及使用该方法的车辆 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108599996A (zh) * | 2018-04-03 | 2018-09-28 | 武汉斗鱼网络科技有限公司 | 数据库集群的故障处理方法、装置及终端 |
CN109005045A (zh) * | 2017-06-06 | 2018-12-14 | 北京金山云网络技术有限公司 | 主备服务系统及主节点故障恢复方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104253727B (zh) * | 2013-06-26 | 2017-07-25 | 广州汽车集团股份有限公司 | 车辆lin网络的诊断方法及其系统 |
EP3258652B1 (en) * | 2016-06-14 | 2019-11-27 | Melexis Technologies NV | Local interconnect network bus architecture |
CN207488986U (zh) * | 2017-11-21 | 2018-06-12 | 武汉奥泽电子有限公司 | 一种基于lin和lifi通讯的刷写系统 |
CN111277477B (zh) * | 2020-01-13 | 2021-11-09 | 重庆邮电大学 | 一种支持车载多网段同时升级的fota系统 |
-
2021
- 2021-05-20 CN CN202110551462.2A patent/CN113285860B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109005045A (zh) * | 2017-06-06 | 2018-12-14 | 北京金山云网络技术有限公司 | 主备服务系统及主节点故障恢复方法 |
CN108599996A (zh) * | 2018-04-03 | 2018-09-28 | 武汉斗鱼网络科技有限公司 | 数据库集群的故障处理方法、装置及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN113285860A (zh) | 2021-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107864207B (zh) | 一种基于车载以太网的ecu软件升级方法 | |
CN112805645B (zh) | 一种车辆远程诊断方法及相关装置 | |
CN110764804A (zh) | 针对汽车多电子控制单元实现软件升级控制的系统及其方法 | |
JP4297056B2 (ja) | 故障診断データ記録システム及び故障診断データ記録方法 | |
CN111381844A (zh) | 更新车辆ecu固件的方法及装置 | |
US20190126859A1 (en) | Vehicle data communications network | |
CN113285860B (zh) | 一种通过主节点刷写从节点的方法和系统 | |
US11273775B2 (en) | Vehicle data communications network | |
CN104683126B (zh) | 基于can总线的网络管理方法 | |
CN115567895A (zh) | Ota软件更新数据传输方法及系统 | |
JP2024512364A (ja) | Uwbモジュールの車両内自動位置特定 | |
CN112596447B (zh) | Ecu刷写数据长度的确定方法、装置、电子设备及介质 | |
US10496575B1 (en) | Multi-protocol determining method based on CAN bus | |
CN114827183A (zh) | 车辆诊断方法、系统、设备及存储介质 | |
CN113268050A (zh) | 一种车辆诊断方法和装置 | |
US10732959B2 (en) | Pre and post update vehicle bus traffic fingerprinting | |
JP2021166335A (ja) | 車載中継装置、情報処理方法及びプログラム | |
CN116456301A (zh) | 一种程序刷写方法、装置、设备及存储介质 | |
CN111740972B (zh) | 一种通信协议栈信息的更新方法、装置、设备及存储介质 | |
CN104253727A (zh) | 车辆lin网络的诊断方法及其系统 | |
CN115225481A (zh) | 网关诊断路由配置方法、装置、车载网关、车辆和介质 | |
CN114185297B (zh) | 车载软件升级的控制方法及设备 | |
JP7140011B2 (ja) | ゲートウェイ装置 | |
CN117724457A (zh) | 车辆诊断控制方法、车辆和存储介质 | |
CN107086930B (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 |