CN106790233B - 一种ecu的应用程序刷新方法及装置 - Google Patents
一种ecu的应用程序刷新方法及装置 Download PDFInfo
- Publication number
- CN106790233B CN106790233B CN201710034562.1A CN201710034562A CN106790233B CN 106790233 B CN106790233 B CN 106790233B CN 201710034562 A CN201710034562 A CN 201710034562A CN 106790233 B CN106790233 B CN 106790233B
- Authority
- CN
- China
- Prior art keywords
- ecu
- connection
- request
- application program
- tcp connection
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
Abstract
本发明提供的一种ECU的应用程序刷新方法及装置,刷写器发送刷新请求,ECU接收到该刷新请求后,将ECU进行复位,然后,重新建立ECU与刷写器之间的TCP连接。然后,直接激活当前TCP连接的路由功能,无需上层模块确认,即,建立ECU与刷写器之间的TCP连接后,刷写器可以直接通过该TCP连接发送应用程序刷新数据。ECU根据接收到的应用程序刷新数据更新应用程序。上述过程激活TCP连接的路由功能无需上层模块确认,从而简化了ECU内的应用程序刷新过程,减少了ECU内DoIP模块的代码量,减少了ROM空间的占用。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种ECU(Electronic Control Unit,电子控制单元)的应用程序刷新方法及装置。
背景技术
目前,在嵌入式领域,基于DoIP(Diagnostics Over Internet Protocol,基于互联网协议的诊断通信)的ECU(Electronic Control Unit,电子控制单元)刷新大都遵循ISO13400规范,此规范主要用于基于IP的诊断通信,可以管理Tester(测试仪/刷写器)与ECU之间的连接关系,传输诊断数据包,刷新ECU的应用程序等。诊断数据包和刷新数据的传输,均以诊断通信的形式进行。
ECU内的应用程序初始化之后,ECU内DoIP模块会主动发出三帧车辆声明报文,该车辆声明报文包含节点及车辆基本信息,用于通知ECU上线。Tester接收到ECU发出的车辆声明报文后,与ECU建立TCP(Transmission Control Protocol,传输控制协议)连接,继而发起诊断报文路由请求。Tester和ECU之间建立的TCP连接必须激活路由功能,路由权限由ECU中DoIP模块的路由管理模块控制,因此,激活路由功能必须由路由管理模块进行确认后,才允许刷新数据传输,导致ECU内应用程序刷新过程繁琐;而且,ECU中完全符合ISO13400规范的DoIP模块功能较多,代码量大,占用的ROM空间较多,不利于应用程序的开发。
发明内容
有鉴于此,本发明的目的在于提供一种ECU的应用程序刷新方法及装置,以解决传统的ECU内应用程序刷新过程繁琐、ECU内DoIP模块的代码量大不利用应用程序开发的技术问题,其技术方案如下:
第一方面,本发明提供一种ECU的应用程序刷新方法,应用于ECU中,包括:
当接收到刷写器发送的刷新请求后,将所述ECU进行复位,并重新建立所述ECU与所述刷写器之间的TCP连接;
所述ECU与所述刷写器之间的TCP连接建立完成后,直接通过所述TCP连接接收应用程序刷新数据,所述应用程序刷新数据由所述刷写器与所述ECU建立好TCP连接发送给所述ECU;
根据所述应用程序刷新数据更新所述ECU内相应的应用程序。
可选地,所述当接收到刷写器发送的刷新请求后,将所述ECU进行复位,并重新建立所述ECU与所述刷写器之间的TCP连接,包括:
当接收到刷新请求后,将所述ECU进行复位,并建立所述ECU与所述刷写器之间的物理连接;
通过UDP连接接收所述刷写器发送的物理连接询问请求;
当所述物理连接建立完成后,通过所述物理连接向所述刷写器返回物理连接正常消息;
接收所述刷写器发送的TCP连接请求,并建立所述ECU与所述刷写器之间的TCP连接,所述TCP连接请求由所述刷写器接收到所述物理连接正常消息后发送。
第二方面,本发明提供一种ECU的应用程序刷新方法,应用于刷写器中,所述方法包括:
向电子控制单元ECU发送刷新请求,所述刷新请求用于请求更新所述ECU内的应用程序;
所述刷写器与所述ECU重新建立TCP连接;
所述TCP连接建立完成后,直接通过所述TCP连接发送应用程序刷新数据,所述应用程序刷新数据用于使所述ECU更新相应的应用程序。
可选地,所述刷写器与所述ECU重新建立TCP连接,包括:
在向所述ECU发送刷新请求后,通过用户数据报协议UDP连接发送物理连接询问请求,所述物理连接询问请求用于询问所述ECU与所述刷写器之间的物理连接是否正常;
接收所述ECU发送的物理连接正常消息;
向所述ECU发送TCP连接请求;
接收所述ECU返回的接受响应消息,所述接受响应消息由所述ECU接受到所述TCP连接请求后产生。
可选地,所述通过UDP连接发送物理连接询问请求,包括:
在发送所述刷新请求第一预设时长后,按照预设周期通过UDP连接发送所述物理连接询问请求。
第三方面,本发明提供一种ECU的应用程序刷新装置,应用于ECU中,包括:
TCP连接建立模块,用于当接收到刷写器发送的刷新请求后,将所述ECU进行复位,并重新建立所述ECU与所述刷写器之间的传输控制协议TCP连接;
数据传输模块,用于在所述ECU与所述刷写器之间的TCP连接建立完成后,直接通过所述TCP连接接收应用程序刷新数据,所述应用程序刷新数据由所述刷写器与所述ECU建立好TCP连接发送给所述ECU;
更新模块,用于根据所述应用程序刷新数据更新所述ECU内相应的应用程序。
可选地,所述TCP连接建立模块包括:
物理连接建立子模块,用于当接收到刷新请求后,将所述ECU进行复位,并建立所述ECU与所述刷写器之间的物理连接;
发送子模块,用于通过UDP连接接收所述刷写器发送的物理连接询问请求;
返回子模块,用于当所述物理连接建立完成后,通过所述物理连接向所述刷写器返回物理连接正常消息;
TCP连接建立子模块,用于接收所述刷写器发送的传输控制协议TCP连接请求,并建立所述ECU与所述刷写器之间的TCP连接,所述TCP连接请求由所述刷写器接收到所述物理连接正常消息后发送。
第四方面,本发明提供一种ECU的应用程序刷新装置,应用于刷写器中,包括:
请求发送模块,用于向ECU发送刷新请求,所述刷新请求用于请求更新所述ECU内的应用程序;
TCP连接建立模块,用于重新建立所述刷写器与所述ECU之间的TCP连接;
刷新数据发送模块,用于在所述TCP连接建立完成后,直接通过所述TCP连接发送应用程序刷新数据,所述应用程序刷新数据用于使所述ECU更新相应的应用程序。
可选地,TCP连接建立模块,包括:
第一发送子模块,用于在向所述ECU发送刷新请求后,通过用户数据报协议UDP连接发送物理连接询问请求,所述物理连接询问请求用于询问所述ECU与所述刷写器之间的物理连接是否正常;
第一接收子模块,用于接收所述ECU发送的物理连接正常消息;
第二发送子模块,用于向所述ECU发送传输控制协议TCP连接请求;
第二接收子模块,用于接收所述ECU返回的接受响应消息,所述接受响应消息由所述ECU接受到所述TCP连接请求后产生。
可选地,所述第一发送子模块,具体用于:
在发送所述刷新请求第一预设时长后,按照预设周期通过UDP连接发送所述物理连接询问请求。
本发明提供的ECU的应用程序刷新方法,刷写器发送刷新请求,ECU接收到该刷新请求后,将ECU进行复位。然后,重新建立ECU与刷写器之间的TCP连接,并直接激活当前TCP连接的路由功能,无需上层模块确认,即,建立ECU与刷写器之间的TCP连接后,刷写器可以直接通过该TCP连接发送应用程序刷新数据。ECU根据接收到的应用程序刷新数据更新应用程序。上述过程激活TCP连接的路由功能无需上层模块确认,从而简化了ECU内的应用程序刷新过程,减少了ECU内DoIP模块的代码量,减少了ROM空间的占用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例一种ECU的应用程序刷新方法的流程图;
图2示出了本发明实施例另一种ECU的应用程序刷新方法的流程图;
图3示出了本发明实施例又一种ECU的应用程序刷新方法的流程图;
图4示出了本发明实施例一种ECU的应用程序刷新装置框图;
图5示出了本发明实施例一种TCP连接建立模块的框图;
图6示出了本发明实施例一种更新模块的框图;
图7示出了本发明实施例一种ECU的应用程序刷新装置的框图;
图8示出了本发明实施例一种TCP连接建立模块的框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,示出了本发明实施例一种ECU的应用程序刷新方法的流程图,该方法应用于ECU内,如图1所示,该方法包括:
S110,ECU接收Tester(即,刷写器)发送的刷新请求。
Tester通过TCP连接向ECU发送刷新请求。在ECU复位之前,ECU与Tester之间TCP连接是处于连接状态的,因此,Tester可以通过TCP连接向ECU发送刷新请求。
刷新请求用于请求刷新ECU内的应用程序,即,向ECU传输应用程序刷新数据,以便ECU根据应用程序刷新数据更新ECU内的应用程序。
S120,ECU进行复位,并重新建立ECU与Tester之间的TCP连接。
ECU接收到Tester发送的刷新请求后,进行软件复位、以太网收发器复位。以太网收发器复位之后,需要与Tester上的收发器进行重新识别,即重新建立物理连接。物理连接创建好之后,建立ECU与Tester之间的TCP连接。
S130,ECU与Tester之间的TCP连接建立完成后,直接通过该TCP连接接收应用程序刷新数据。
ECU内的DoIP模块中路由管理模块的功能是管理Tester与ECU之间的逻辑连接,以及数据传输权限,而Bootloader自身具有数据传输权限审核的功能,因此,路由管理模块并非必需的。
ECU内DoIP模块削减了路由管理模块,因此,ECU可以直接激活当前TCP连接的路由功能,无需上层模块确认,直接激活该TCP连接的路由功能,无需上层应用模块进行确认,即,ECU与Tester建立好TCP连接之后,Tester可以直接利用该TCP连接传输应用程序刷新数据。
S140,ECU根据应用程序刷新数据更新ECU内相应的应用程序。
ECU根据接收到的应用程序刷新数据更新相应的应用程序,此过程相当于从Tester中下载应用程序,并根据下载的应用程序进行更新。
此外,ECU内DoIP模块中的Timer管理功能是管理DoIP模块内部各状态的有效时间;比如,路由激活之后,Timer管理功能会检测当前socket的非活跃时间(即没有数据交互的时间),若非活跃时间超过时限,Timer管理功能会主动将当前socket关闭;若一个socket长时间没有收到路由激活请求,超过时限也会被关闭。这样的好处是能够及时释放被占用而未使用的Socket资源,为新的连接做准备。ECU的应用程序刷新过程中,各个动作都在很短的时间内执行,因此Timer管理并不能发挥其功能。
AliveCheck功能,用于检查ECU与Tester的连接状态,由于ECU能连接的Tester数目有限,当有更多的Tester希望与ECU建立连接时,AliveCheck功能会向所有已连接的Tester发送AliveCheck报文,能够收到AliveCheck响应的连接被判定为活跃连接;而未收到AliveCheck响应的连接将被视为无效连接,无效连接会被分配给新的Tester建立新的连接。ECU的应用程序刷新过程中,可以人为保证只与一个Tester保持连接状态,因此AliveCheck功能是非必需的。
诊断状态响应功能,用于响应当前ECU的状态,包括响应DoIP模块的数据接收能力和发送能力。由于ECU和数据刷新Tester配套使用,可以保证刷新能力相互兼容,因此诊断状态响应功能是Bootloader的非必需功能。
电源模式响应功能,用于通知Tester当前ECU的电源模式是否正常,这部分内容可人为保证,并且ECU和数据刷新Tester配套使用,因此,此功能也是非必需功能。
因此,上述的Timer管理功能、AliveCheck功能、诊断状态响应功能和电源模式响应功能都是非必需功能,可以削减这些功能,进一步减少DoIP模块的代码量,减少ROM空间的占用。
本实施例提供的ECU的应用程序刷新方法,在Tester与ECU之间建立好TCP连接之后,直接激活该TCP连接的路由功能,无需上层应用模块确认,即,Tester与ECU之间建立好TCP连接之后,可以直接利用该TCP连接传输应用程序刷新数据。从而简化了ECU内的应用程序刷新过程,减少了ECU内DoIP模块的代码量,有利于程序开发。
请参见图2,示出了本发明实施例另一种ECU的应用程序刷新方法的流程图,该方法应用于Tester(即,刷写器)中,如图2所示,该方法包括以下步骤:
S210,Tester向ECU发送刷新请求。
该刷新请求用于请求更新所述ECU内的应用程序。
S220,Tester与ECU重新建立TCP连接。
ECU接收Tester发送的刷新请求后,ECU进行复位,复位之后,ECU与Tester需要重新建立TCP连接。
S230,TCP连接建立完成后,Tester直接通过该TCP连接发送应用程序刷新数据。所述应用程序刷新数据用于使所述ECU更新相应的应用程序。
TCP连接建立完成后,ECU直接激活该TCP连接的路由功能,无需上层模块进行确认,即,ECU与Tester之间的TCP连接建立完成后,就直接激活路由功能,然后利用TCP连接传输应用程序刷新数据。
本实施例提供的ECU应用程序刷新方法,在建立ECU与Tester之间的TCP连接之后,ECU直接激活路由功能无需上层应用模块确认,降低了应用程序刷新数据下载流程的复杂度,减少了ECU内DoIP模块的代码量,减少了ROM空间的占用。
请参见图3,示出了本发明实施例又一种ECU的应用程序刷新方法的流程图,该方法应用于包含Tester和ECU的系统中,如图3所示,该方法可以包括以下步骤:
S310,Tester向ECU发送刷新请求。
在ECU复位之前,Tester与ECU的应用程序之间的TCP连接仍然存在,因此,Tester通过该TCP连接向ECU发送刷新请求。
S320,当接收到刷新请求后,ECU进行复位,并重新建立ECU与Tester之间的物理连接。
ECU接收到刷新请求后,会设置重编程标志,并且进行软件复位及以太网收发器复位。软件复位后,首先运行Bootloader,Bootloader会检查是否有重编程标志,当检测到有重编程标志后,启动S3计时器进行计时,S3计时器启动后,ECU进行系统初始化,系统初始化的目的是使ECU正常工作,具备基本的通信功能。系统初始化完成后进入Bootloader主循环,在主循环中,Bootloader可以进行正常通信,接收应用程序刷新数据。其中,S3计时器是ECU处于编程会话下的定时器,若在定时期限内未接收到应用程序刷新数据,则退出编程会话。
Bootloader是嵌入式系统在加电后执行的第一段代码,它会检查当前ECU中是否包含有效的应用程序,若没有有效应用程序,或者当前处于重编程环境下,系统将停留在Bootloader中运行;若ECU中含有有效应用程序,且当前不处于重编程环境下,会将操作系统映像或固化的嵌入式应用程序装载到内存中然后跳转到操作系统所在的空间,启动操作系统运行。
ECU上的以太网收发器复位后,要与Tester上的收发器重新进行识别,识别的过程即建立物理连接的过程。建立物理连接需要一定的时间,不同的网络中,重新建立物理连接所的时间存在差异,本实施例中,假设重新建立物理连接所需的时间是T1。而ECU上的以太网收发器复位之后到准备好接收应用程序刷新数据所需的时间是固定的,假设该时间是T2。大部分情况下,T1远远大于T2。
为了不受T1的限制,Tester会持续周期性发送物理连接询问请求,直到接收到来自ECU返回的物理连接正常消息,表明ECU与Tester之间的物理连接正常,并且ECU已经准备好接收应用程序刷新数据。
S330,Tester发送刷新请求第一预设时长后,按照预设周期通过UDP端口发送物理连接询问请求。
Tester发送刷新请求一段时间后,周期性发送物理连接询问请求。第一预设时长可以根据实际需求自行设备,例如,Tester向ECU发送刷新请求,500ms之后,以50ms的周期发送物理连接询问请求。
Tester不知道ECU是否已经准备好接收应用程序刷新数据,也不知道是否建立了有效的物理连接,周期性发送物理连接询问请求直到接收到ECU返回的物理连接正常消息。
如果Tester仅发送一次物理连接询问请求,而此时,ECU如果没有建立好有效的物理连接,则该物理连接询问请求会被ECU丢弃,Tester便无法直到ECU是否已经准备好接收应用程序刷新数据。
S340,在ECU与Tester之间的物理连接建立完成后,ECU通过该物理连接向Tester返回物理连接正常消息。
ECU的Bootloader进入主循环之后,可以接收Tester发送的物理连接询问请求,并在ECU和Tester之间的物理连接建立完成后,向Tester发送物理连接正常消息。
其中,在车载ECU的应用场景中,物理连接正常消息即车辆声明报文,物理连接询问请求是车辆声明请求。本实施例中,ECU无需主动发送车辆声明报文,而是在接收到Tester发出的车辆声明请求后发出,采用Request-Response模式,这样,ECU内部不需要分配专用的Socket来发送车辆声明报文,节省了Socket资源。
S350,Tester向ECU发送TCP连接请求。
Tester收到来自ECU的物理连接正常消息之后,表明ECU与Tester之间的物理连接正常,并且,ECU已经准备好接收应用程序刷新数据,接下来,需要建立Tester与ECU之间的TCP连接。
S360,ECU接受Tester的TCP连接请求,并向Tester返回接受响应消息。
ECU接收到Tester发送的TCP连接请求后,接受该TCP连接请求,并向Tester返回接受响应消息。
ECU建立与Tester之间的TCP连接之后,直接激活该TCP连接的路由功能,无需上层应用模块进行确认,路由功能激活后,应用程序刷新数据才能被传到ECU中。
S370,Tester接收到所述接受响应消息后,发送应用程序刷新数据。
Tester接收到ECU发送的接受响应消息后,确认TCP连接建立完成,Tester开始向ECU发送应用程序刷新数据。
S380,ECU对接收到的应用程序刷新数据进行校验;若验证成功,则执行S390;若验证失败,则返回执行S320。
S390,根据该应用程序刷新数据更新相应的应用程序。
ECU在接收应用程序刷新数据的过程中,对应用程序刷新数据中的SA(SourceAddress,源地址)、DA(Destination Address,目的地址),以及头部相关信息进行校验(校验方式遵循ISO13400协议规范),验证正确,刷新过程正常进行,直到ECU刷新完成;若校验失败,ECU内的软件复位,重新运行Bootloader。
本实施例提供的ECU的应用程序刷新方法,在Tester发出刷新请求之后,周期性发送物理连接询问请求直到接收到ECU发送的物理连接正常消息为止。此种方式不需要占用Socket资源,节省了Socket资源。而且,建立ECU与Tester之间的TCP连接之后,ECU直接激活路由功能无需上层应用模块确认,降低了应用程序刷新数据下载流程的复杂度,减少了ECU内DoIP模块的代码量,减少了ROM空间的占用。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
相应于上述的ECU应用程序刷新方法实施例,本发明还提供了ECU应用程序刷新装置实施例。
请参见图4,示出了本发明实施例一种ECU的应用程序刷新装置框图,该装置应用于ECU中,如图4所示,该装置包括:TCP连接建立模块410、数据传输模块420和更新模块430。
TCP连接建立模块410,用于当接收到Tester发送的刷新请求后,将ECU进行复位,并重新建立ECU与Tester之间的TCP连接。
ECU接收到Tester发送的刷新请求后,进行软件复位、以太网收发器复位。以太网收发器复位之后,需要与Tester上的收发器进行重新识别,即重新建立物理连接。物理连接创建好之后,建立ECU与Tester之间的TCP连接。
请参见图5,示出了本发明实施例一种TCP连接建立模块的框图,该TCP连接建立模块包括:物理连接建立子模块411、发送子模块412、返回子模块413和TCP连接建立子模块414。
物理连接建立子模块411,用于当接收到刷新请求后,将ECU进行复位,并建立ECU与所述Tester之间的物理连接。
发送子模块412,用于通过UDP连接接收Tester发送的物理连接询问请求;
返回子模块413,用于当物理连接建立完成后,通过物理连接向Tester返回物理连接正常消息;
TCP连接建立子模块414,用于接收Tester发送的TCP连接请求,并建立ECU与Tester之间的TCP连接,TCP连接请求由Tester接收到物理连接正常消息后发送。
数据传输模块420,用于在ECU与Tester之间的TCP连接建立完成后,直接通过该TCP连接接收应用程序刷新数据,该应用程序刷新数据由Tester与ECU建立好的TCP连接发送给ECU。
ECU内DoIP模块削减了路由管理模块,因此,ECU可以直接激活当前TCP连接的路由功能,无需上层模块确认,直接激活该TCP连接的路由功能,无需上层应用模块进行确认,即,ECU与Tester建立好TCP连接之后,Tester可以直接利用该TCP连接传输应用程序刷新数据。
更新模块430,用于根据应用程序刷新数据更新ECU内相应的应用程序。
请参见图6,示出了本发明实施例一种更新模块的框图,该更新模块430包括:校验子模块431和应用程序刷新子模块432;
校验子模块431,用于接收到Tester发送的应用程序刷新数据后,对应用程序刷新数据进行校验;若验证应用程序刷新数据错误,则控制TCP连接建立模块执行将ECU进行复位的步骤;
ECU在接收应用程序刷新数据的过程中,对应用程序刷新数据中的SA、DA,以及头部相关信息进行校验(校验方式遵循ISO13400协议规范),验证正确,刷新过程正常进行,直到ECU刷新完成;若校验失败,ECU内的软件复位,重新运行Bootloader。
应用程序刷新子模块432,用于当验证应用程序刷新数据正确后,利用应用程序刷新数据刷新ECU内的应用程序。
本实施例提供的ECU的应用程序刷新装置,在Tester与ECU之间建立好TCP连接之后,直接激活该TCP连接的路由功能,无需上层应用模块确认,即,Tester与ECU之间建立好TCP连接之后,可以直接利用该TCP连接传输应用程序刷新数据。从而简化了ECU内的应用程序刷新过程,减少了ECU内DoIP模块的代码量,有利于程序开发。
请参见图7,示出了本发明实施例一种ECU的应用程序刷新装置的框图,该装置应用于Tester中,如图7所示,该装置包括:请求发送模块710、TCP连接建立模块720和刷新数据发送模块730;
请求发送模块710,用于向ECU发送刷新请求,刷新请求用于请求更新ECU内的应用程序。
TCP连接建立模块720,用于重新建立Tester与ECU之间的TCP连接。
请参见图8,示出了本发明实施例一种TCP连接建立模块的框图,该TCP连接建立模块包括:第一发送子模块721、第一接收子模块722、第二发送子模块723和第二接收子模块724;
第一发送子模块711,用于在向ECU发送刷新请求后,通过UDP连接发送物理连接询问请求,物理连接询问请求用于询问ECU与Tester之间的物理连接是否正常。
在发送所述刷新请求第一预设时长后,第一发送子模块711按照预设周期通过UDP连接发送所述物理连接询问请求。
第一接收子模块712,用于接收ECU发送的物理连接正常消息。
若ECU为车载ECU,则物理连接询问请求是车辆声明请求,物理连接正常消息为车辆声明报文。
首先,由Tester向ECU发送刷新请求,ECU接收到Tester发送的刷新请求后,进行软件复位、以太网收发器复位。以太网收发器复位之后,需要与Tester上的收发器进行重新识别,即重新建立物理连接。物理连接创建好之后,建立ECU与Tester之间的TCP连接。
第二发送子模块713,用于向ECU发送TCP连接请求。
Tester接收到ECU返回的物理连接正常消息后,向ECU发送TCP连接请求。
第二接收子模块714,用于接收ECU返回的接受响应消息,该接受响应消息由ECU接受到TCP连接请求后产生。
ECU接收到Tester的TCP连接请求后,接受该TCP连接请求,并向Tester返回接受响应消息。Tester接收到该接受响应消息后,确定Tester与ECU之间的TCP连接正常,且ECU也准备好接收应用程序刷新数据。
刷新数据发送模块730,用于在TCP连接建立完成后,直接通过TCP连接发送应用程序刷新数据,该应用程序刷新数据用于使ECU更新相应的应用程序。
本实施例提供的ECU的应用程序刷新装置,在Tester发出刷新请求之后,周期性发送物理连接询问请求直到接收到ECU发送的物理连接正常消息为止。此种方式不需要占用Socket资源,节省了Socket资源。而且,建立ECU与Tester之间的TCP连接之后,ECU直接激活路由功能无需上层应用模块确认,降低了应用程序刷新数据下载流程的复杂度,减少了ECU内DoIP模块的代码量,减少了ROM空间的占用。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种电子控制单元ECU的应用程序刷新方法,其特征在于,所述ECU内的DoIP模块削减了路由管理模块,所述方法包括:
当接收到刷写器发送的刷新请求后,将所述ECU进行复位,并重新建立所述ECU与所述刷写器之间的传输控制协议TCP连接;
所述ECU与所述刷写器之间的TCP连接建立完成后,所述ECU利用Bootloader自身具有的数据传输权限审核功能直接激活该TCP连接的路由功能,并通过所述TCP连接接收所述刷写器发送的应用程序刷新数据;
根据所述应用程序刷新数据更新所述ECU内相应的应用程序。
2.根据权利要求1所述的方法,其特征在于,所述当接收到刷写器发送的刷新请求后,将所述ECU进行复位,并重新建立所述ECU与所述刷写器之间的TCP连接,包括:
当接收到刷新请求后,将所述ECU进行复位,并建立所述ECU与所述刷写器之间的物理连接;
通过用户数据报协议UDP连接接收所述刷写器发送的物理连接询问请求;
当所述物理连接建立完成后,通过所述物理连接向所述刷写器返回物理连接正常消息;
接收所述刷写器发送的TCP连接请求,并建立所述ECU与所述刷写器之间的TCP连接,所述TCP连接请求由所述刷写器接收到所述物理连接正常消息后发送。
3.一种ECU的应用程序刷新方法,应用于刷写器中,其特征在于,所述方法包括:
向电子控制单元ECU发送刷新请求,所述刷新请求用于请求更新所述ECU内的应用程序;
所述刷写器与所述ECU重新建立传输控制协议TCP连接;
所述TCP连接建立完成后,直接通过所述TCP连接发送应用程序刷新数据,所述应用程序刷新数据用于使所述ECU更新相应的应用程序;
其中,所述ECU内的DoIP模块削减了路由管理模块,且由所述ECU内的Bootloader自身具有的数据传输权限审核功能直接激活所述TCP连接的路由功能。
4.根据权利要求3所述的方法,其特征在于,所述刷写器与所述ECU重新建立TCP连接,包括:
在向所述ECU发送刷新请求后,通过用户数据报协议UDP连接发送物理连接询问请求,所述物理连接询问请求用于询问所述ECU与所述刷写器之间的物理连接是否正常;
接收所述ECU发送的物理连接正常消息;
向所述ECU发送传输控制协议TCP连接请求;
接收所述ECU返回的接受响应消息,所述接受响应消息由所述ECU接受到所述TCP连接请求后产生。
5.根据权利要求4所述的方法,其特征在于,所述通过UDP连接发送物理连接询问请求,包括:
在发送所述刷新请求第一预设时长后,按照预设周期通过UDP连接发送所述物理连接询问请求。
6.一种电子控制单元ECU的应用程序刷新装置,其特征在于,所述ECU内的DoIP模块削减了路由管理模块,所述装置包括:
TCP连接建立模块,用于当接收到刷写器发送的刷新请求后,将所述ECU进行复位,并重新建立所述ECU与所述刷写器之间的传输控制协议TCP连接;
数据传输模块,用于在所述ECU与所述刷写器之间的TCP连接建立完成后,利用所述ECU内的Bootloader自身具有的数据传输权限审核功能直接激活该TCP连接的路由功能,并通过所述TCP连接接收所述刷写器发送的应用程序刷新数据;
更新模块,用于根据所述应用程序刷新数据更新所述ECU内相应的应用程序。
7.根据权利要求6所述的装置,其特征在于,所述TCP连接建立模块包括:
物理连接建立子模块,用于当接收到刷新请求后,将所述ECU进行复位,并建立所述ECU与所述刷写器之间的物理连接;
发送子模块,用于通过用户数据报协议UDP连接接收所述刷写器发送的物理连接询问请求;
返回子模块,用于当所述物理连接建立完成后,通过所述物理连接向所述刷写器返回物理连接正常消息;
TCP连接建立子模块,用于接收所述刷写器发送的传输控制协议TCP连接请求,并建立所述ECU与所述刷写器之间的TCP连接,所述TCP连接请求由所述刷写器接收到所述物理连接正常消息后发送。
8.一种ECU的应用程序刷新装置,应用于刷写器中,其特征在于,包括:
请求发送模块,用于向电子控制单元ECU发送刷新请求,所述刷新请求用于请求更新所述ECU内的应用程序;
TCP连接建立模块,用于重新建立所述刷写器与所述ECU之间的TCP连接;
刷新数据发送模块,用于在所述TCP连接建立完成后,直接通过所述TCP连接发送应用程序刷新数据,所述应用程序刷新数据用于使所述ECU更新相应的应用程序;
其中,所述ECU内的DoIP模块削减了路由管理模块,且由所述ECU内的Bootloader自身具有的数据传输权限审核功能直接激活所述TCP连接的路由功能。
9.根据权利要求8所述的装置,其特征在于,TCP连接建立模块,包括:
第一发送子模块,用于在向所述ECU发送刷新请求后,通过用户数据报协议UDP连接发送物理连接询问请求,所述物理连接询问请求用于询问所述ECU与所述刷写器之间的物理连接是否正常;
第一接收子模块,用于接收所述ECU发送的物理连接正常消息;
第二发送子模块,用于向所述ECU发送传输控制协议TCP连接请求;
第二接收子模块,用于接收所述ECU返回的接受响应消息,所述接受响应消息由所述ECU接受到所述TCP连接请求后产生。
10.根据权利要求9所述的装置,其特征在于,所述第一发送子模块,具体用于:
在发送所述刷新请求第一预设时长后,按照预设周期通过UDP连接发送所述物理连接询问请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710034562.1A CN106790233B (zh) | 2017-01-17 | 2017-01-17 | 一种ecu的应用程序刷新方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710034562.1A CN106790233B (zh) | 2017-01-17 | 2017-01-17 | 一种ecu的应用程序刷新方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106790233A CN106790233A (zh) | 2017-05-31 |
CN106790233B true CN106790233B (zh) | 2020-06-05 |
Family
ID=58946308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710034562.1A Active CN106790233B (zh) | 2017-01-17 | 2017-01-17 | 一种ecu的应用程序刷新方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106790233B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107450518A (zh) * | 2017-08-16 | 2017-12-08 | 北京车和家信息技术有限责任公司 | 一种基于车载以太网构架的程序升级装置及其控制方法 |
CN107864207B (zh) * | 2017-11-14 | 2020-12-08 | 上海赫千电子科技有限公司 | 一种基于车载以太网的ecu软件升级方法 |
CN107948036A (zh) * | 2017-12-28 | 2018-04-20 | 深圳市元征软件开发有限公司 | 一种车用以太网诊断通讯线和通讯方法 |
JP7159989B2 (ja) * | 2018-08-10 | 2022-10-25 | 株式会社デンソー | 車両用マスタ装置、車両用電子制御システム、アクティベート要求の指示方法及びアクティベート要求の指示プログラム |
CN110263590B (zh) * | 2019-06-30 | 2021-10-08 | 潍柴动力股份有限公司 | 一种车载ecu及其安全防护方法 |
CN112328273A (zh) * | 2020-09-25 | 2021-02-05 | 芜湖莫森泰克汽车科技股份有限公司 | 汽车离线程序快速升级工具系统 |
CN113419755B (zh) * | 2021-06-04 | 2023-04-21 | 江铃汽车股份有限公司 | 汽车ecu程序刷写方法、系统、可读存储介质及计算机设备 |
CN115065699A (zh) * | 2022-06-08 | 2022-09-16 | 深圳市元征科技股份有限公司 | 基于远程诊断的路由激活方法、装置、设备及介质 |
CN115174652B (zh) * | 2022-06-23 | 2024-04-02 | 深圳市元征科技股份有限公司 | 一种通信连接建立方法、装置、设备及介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101913706B1 (ko) * | 2011-10-20 | 2018-10-31 | 현대모비스 주식회사 | 린 네트워크 멀티 채널 부트로더 장치 및 그 동작 방법 |
US8861345B2 (en) * | 2011-11-03 | 2014-10-14 | Futurewei Technologies, Inc. | Border gateway protocol extension for the host joining/leaving a virtual private network |
CN103812944B (zh) * | 2014-02-26 | 2017-12-19 | 安徽安凯汽车股份有限公司 | 一种用于电动汽车ecu的远程更新方法 |
CN104216978B (zh) * | 2014-09-01 | 2017-08-08 | 观致汽车有限公司 | 整车诊断数据库的自动生成方法及系统 |
CN105426201B (zh) * | 2015-10-30 | 2019-03-12 | 奇瑞汽车股份有限公司 | 一种刷新监控芯片的控制方法 |
-
2017
- 2017-01-17 CN CN201710034562.1A patent/CN106790233B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106790233A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106790233B (zh) | 一种ecu的应用程序刷新方法及装置 | |
CN107864207B (zh) | 一种基于车载以太网的ecu软件升级方法 | |
CN106411843B (zh) | 服务器发起的远程装置注册方法 | |
US9450911B2 (en) | System and method for managing ethernet communication network for use in vehicle | |
JP6464901B2 (ja) | 車載通信システム及び中継装置 | |
BR112019016197A2 (pt) | método e aparelho para suportar controle de acesso e gerenciamento de mobilidade | |
CN102577284B (zh) | 在包括设备管理网关、设备管理服务器和设备的通信系统中操作设备管理网关的方法 | |
WO2017201756A1 (zh) | 一种下载签约信息的方法、相关设备及系统 | |
WO2019052163A1 (zh) | 一种唤醒处理的方法及装置 | |
JP6514238B2 (ja) | プロフィール管理方法及びサーバ | |
KR102312994B1 (ko) | 홈 네트워크 서비스를 제공하기 위한 장치 및 그 방법 | |
CN111901076B (zh) | 一种车辆诊断数据转发方法、装置及网关 | |
JP6888437B2 (ja) | 車載通信装置、通信制御方法および通信制御プログラム | |
KR20180049001A (ko) | 통신 네트워크들에서의 향상된 이웃 발견 | |
WO2015192466A1 (zh) | 一种通知消息发送方法及装置、计算机存储介质 | |
WO2018049959A1 (en) | Method and apparatus for paging an application on a user equipment | |
CN113726581B (zh) | 一种恢复网络设备的出厂配置的方法、装置及网络设备 | |
JP5039975B2 (ja) | ゲートウェイ装置 | |
CN110071950B (zh) | 信息传输方法、中转装置、终端、受控设备及存储介质 | |
WO2012130048A1 (zh) | 设备管理系统中对网关进行初始化的方法及装置 | |
US20210368558A1 (en) | Methods and Nodes for Facilitating Non-IP UE-to-UE Communications | |
EP3068112B1 (en) | System and method for mac address acquisition | |
CN110545309B (zh) | 物联网终端eUICC卡管理方法、装置及系统 | |
CN103442041A (zh) | 嵌入式设备固件升级的方法、装置及其系统 | |
CN111918268B (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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 4 / F, building 1, No.14 Jiuxianqiao Road, Chaoyang District, Beijing 100020 Patentee after: Beijing Jingwei Hengrun Technology Co., Ltd Address before: 8 / F, block B, No. 11, Anxiang Beili, Chaoyang District, Beijing 100101 Patentee before: Beijing Jingwei HiRain Technologies Co.,Ltd. |