CN105426201A - 一种刷新监控芯片的控制方法 - Google Patents
一种刷新监控芯片的控制方法 Download PDFInfo
- Publication number
- CN105426201A CN105426201A CN201510729792.0A CN201510729792A CN105426201A CN 105426201 A CN105426201 A CN 105426201A CN 201510729792 A CN201510729792 A CN 201510729792A CN 105426201 A CN105426201 A CN 105426201A
- Authority
- CN
- China
- Prior art keywords
- chip
- monitoring chip
- monitoring
- refreshing
- master chip
- 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.)
- Granted
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 127
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000006854 communication Effects 0.000 claims abstract description 20
- 238000004891 communication Methods 0.000 claims abstract description 18
- 230000004044 response Effects 0.000 claims abstract description 5
- 230000008569 process Effects 0.000 claims description 23
- 239000000976 ink Substances 0.000 claims description 21
- 238000012795 verification Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
Abstract
本发明公开了一种刷新监控芯片的控制方法,步骤一、通过诊断仪或者PC机与ECU中主芯片进行CAN通信把监控芯片的程序刷写到主芯片的RAM中;步骤二、主芯片与监控芯片进行SPI通信把监控芯片的程序刷写到监控芯片FLASH中;所述PC机与主芯片基于UDS协议实现,主芯片和监控芯片采用SPI通信实现;步骤三、刷新完成后离开刷新模式,PC端收到例程控制命令正响应后,会向主芯片发送一个复位命令请求,主芯片会拉高监控芯片的reset引脚,并触发一个软件复位,监控芯片和主芯片都会重新启动以同步程序完成刷新,主芯片刷写监控芯片方案,刷新完成和离开刷新模式,刷新集成在单片机中,实现方便,且不增加额外成本。
Description
技术领域
本发明属于汽车电子控制技术领域,涉及一种刷新监控芯片的控制方法。
背景技术
随着车辆安全标准越来越高,发动机控制器ECU软件的运行需要通过发动机控制器中的监控芯片时时检测,因为发动机控制器中没有预留调试接口,很难保证控制器在整个生命周期中代码和数据不进行更新。为保证监控芯片和主芯片程序的一致性,在监控芯片和主芯片都留有刷新功能是非常有必要的。一般监控芯片与外部没有通讯接口,主芯片的刷新过程利用主芯片与外部的接口来实现。因此,为了满足需求,同时考虑到刷新过程的便利性,对监控芯片的刷新拟以主芯片为媒介通过与主芯片的外部接口的通信实现。
发明内容
根据以上现有技术的不足,本发明所要解决的技术问题是提出一种刷新监控芯片的控制方法,通过主芯片对监控芯片进行刷新,具有刷新集成在单片机中,实现方便,且不增加额外成本。
为了解决上述技术问题,本发明采用的技术方案为:一种刷新监控芯片的控制方法,该方法包括以下步骤:步骤一、通过诊断仪或者PC机与ECU中主芯片进行CAN通信把监控芯片的程序刷写到主芯片的RAM中;步骤二、主芯片与监控芯片进行SPI通信把监控芯片的程序刷写到监控芯片FLASH中;所述PC机与主芯片基于UDS协议实现,主芯片和监控芯片采用SPI通信实现;步骤三、刷新完成后离开刷新模式,PC端收到例程控制命令正响应后,会向主芯片发送一个复位命令请求,主芯片会拉高监控芯片的reset引脚,并触发一个软件复位,监控芯片和主芯片都会重新启动以同步程序完成刷新。
所述步骤一PC机让主芯片进入刷新模式,刷写监控芯片程序到主芯片中,并立即通知监控芯片,一直拉高监控芯片的复位引脚。所述步骤二在把监控芯片程序刷写到主芯片的内存中后,PC会发送例程控制命令,主芯片在收到该命令时对监控芯片刷新,主芯片与监控芯片通信刷写监控芯片程序的同时,主芯片保持与PC端的通信。监控芯片刷新过程中,在对监控芯片物理内存做出改变操作之前,首先写入指纹信息,指纹信息包含了编程日期、操作者、诊断仪序列号信息,指纹信息存储在flash中,监控芯片收到写指纹信息的命令时会将指纹信息暂存在监控芯片的RAM中,监控芯片收到擦Flash空间命令请求后,会擦除flash并把指纹信息写入指定的flash单元中。所述监控芯片收到例程控制命令请求后,首先会检查请求编程的flash空间是否已经擦除完成,如果没有擦除完成,会继续等待擦除flash命令擦除flash,Flash编程完成后,需要对编程区域进行校验,校验成功后会将应用程序有效性标识写入指定的flash单元中。主芯片控制着SPI通信发送过程,在发送请求帧的同时,收到了响应帧,监控芯片每收到一个请求帧字节数据,会对其进行按位取反,并在发送下一个数据时返回给主芯片,主芯片在收到该数据后对前一次发送的数据进行校验。该方法还包括监控芯片的启动步骤,监控芯片在复位后,首先进行系统的基本初始化,系统基本初始化后进行SPI的初始化,如果收到刷新命令请求则进入刷新模式,如果没有收到刷新请求命令,会判断应用程序是否有效,如果应用程序有效则进入应用程序模式,否则依然进入刷新模式。
本发明有益效果是:本发明通过系统设计,基于飞思卡尔MPC563X系列单片机和MC9S08G8单片机的SPI来实现刷写监控芯片程序到主芯片方案,主芯片刷写监控芯片方案,刷新完成和离开刷新模式,刷新集成在单片机中,实现方便,且不增加额外成本。
附图说明
下面对本说明书附图所表达的内容及图中的标记作简要说明:
图1是本发明的具体实施方式的监控芯片刷新过程图。
图2是本发明的具体实施方式的刷新监控芯片程序到主芯片的系统结构图。
图3是本发明的具体实施方式的主芯片刷写监控芯片程序到监控芯片的系统结构图。
图4是本发明的具体实施方式的SPI命令帧格式定义结构图。
图5是本发明的具体实施方式的帧头格式结构图。
图6是本发明的具体实施方式的读命令的格式结构图。
图7是本发明的具体实施方式的监控芯片启动流程图。
图8是本发明的具体实施方式的监控芯片刷新命令流程图。
图9是本发明的具体实施方式的离开刷新模式流程图。
具体实施方式
下面对照附图,通过对实施例的描述,本发明的具体实施方式如所涉及的各构件的形状、构造、各部分之间的相互位置及连接关系、各部分的作用及工作原理、制造工艺及操作使用方法等,作进一步详细的说明,以帮助本领域技术人员对本发明的发明构思、技术方案有更完整、准确和深入的理解。
本文所描述的监控芯片刷新方案刷新过程分两步来实现,首先通过诊断仪或者PC机(以下统称为PC)与ECU中主芯片的CAN通信把监控芯片的程序刷写到主芯片的RAM中,其次,再利用主芯片与监控芯片的SPI通信把监控芯片的程序刷写到监控芯片FLASH中。如图1所示:图中PC机与主芯片基于UDS协议实现;图中主芯片和监控芯片采用SPI通信实现。
1、刷写监控芯片程序到主芯片方案
在刷写监控芯片程序过程中需要主芯片暂存程序,因此必须让主芯片进入刷新模式,刷写监控芯片程序到主芯片中的典型过程如图2所示:
由于监控芯片和主芯片的关系较为特殊,在正常运行过程中,它们相互监控,任何一方能够复位另外一方,如果有一方在刷新模式,而另外一方不在刷新模式,会引起相互间的复位,因此主芯片一旦进入刷新模式要立即通知监控芯片,否则会引起监控芯片反过来复位主芯片,因此本文在实现时在主芯片进入刷新模式后会通过一直拉高监控芯片的复位引脚。
2、主芯片刷写监控芯片方案
在把监控芯片程序成功的刷写到主芯片的内存中后,PC会发送一个例程控制命令,主芯片在收到该命令时开始准备对监控芯片刷新,此时主芯片程序分成两个线程,一方面与监控芯片通信刷写监控芯片程序,另外一方面保持与PC端的通信,防止PC端超时,刷新过程如图3所示:
(1)SPI通信设计
监控芯片的SPI通信一次只能传输一个字节,在编程过程中需要传输地址、数据、控制等信息,因此使用单字节传输无法进行区分,因此本节拟实现数据链路层的相关协议对SPI通信的字节流进行组帧。
作为SPI通信主端的主芯片,控制着SPI通信的发送过程,每次在发送一个SPI数据字节的同时,也会收到监控芯片的一个数据字节。监控芯片不能主动发送数据。因此,SPI命令帧格式定义如图4所示:T1和T2的定义在代码实现和测试时进行验证和调整。
SPI的每一命令请求帧的数据单元为一个字节,整个数据帧由帧头、数据、帧尾三部分组成,其中帧头部分的定义如图5所示:
帧头的第一位始终为1,表示一个请求帧的开始,命令ID由4位组成,命令的具体定义见下表所示,命令请求帧的长度由3位组成,其表示请求帧中的数据部分的长度,因此一个数据帧可以发送的最大长度为7个字节的数据。
请求帧帧尾的定义为帧头信息的取反,该字节用于监控芯片验证请求帧是否发送完成,同时保证请求帧的最后一个数据能够返回给主芯片。
由于SPI通信的特殊性,在发送请求帧的同时,也收到了响应帧,为了保证数据传输的可靠性,监控芯片每收到一个请求帧中的字节数据,会对其进行按位取反并在发送下一个数据时返回给主芯片,主芯片在收到该数据后可以对前一次发送的数据进行校验。这种校验只是用于写类型的命令,对于读类型的命令,其请求和响应如图6所示(Dumy表示任意数据):
为了能够让主芯片及时获知监控芯片的命令的执行状态或其它系统信息,在发送每一请求帧的帧头信息时,会返回前一请求帧的执行状态或系统状态,对于最后一个发送的命令可以通过额外发送一个空帧获得这一信息。
(2)监控芯片启动流程
监控芯片的启动流程如图7所示:监控芯片在复位后,首先进行系统的基本初始化。系统基本初始化后进行SPI的初始化,为接收刷新命令请求做准备,如果收到刷新命令请求则立即进入刷新模式,如果没有收到刷新请求命令,会判断应用程序是否有效,如果应用程序有效则进入应用程序模式,否则依然进入刷新模式。
(3)监控芯片刷新过程中主芯片与监控芯片命令控制,监控芯片刷新过程主芯片与监控芯片的通信以客户机-服务器的方式进行,即,监控芯片收到何种主芯片的请求,监控芯片做出何种响应。但是监控芯片会对刷新过程的命令先后顺序有一定的约束,刷新过程的一种典型过程如图8所示:
在对监控芯片物理内存做出改变操作之前,必须首先写入指纹信息,指纹信息包含了编程日期、操作者、诊断仪序列号等信息。指纹信息存储在flash中,监控芯片收到写指纹信息的命令时会将指纹信息暂存在监控芯片的RAM中,监控芯片收到擦Flash空间命令请求后,会擦除flash并把指纹信息写入指定的flash单元中。
监控芯片收到编程开始的命令请求后,首先会检查请求编程的flash空间是否已经擦除完成,如果没有擦除完成,会继续等待擦除flash命令擦除flash。
Flash编程完成后,需要对编程区域进行校验,校验成功后会将应用程序有效性标识写入指定的flash单元中,未经编程校验的应用程序会导致启动过程不能正确引导进入应用模式。
(4)监控芯片刷新过程中PC与主芯片的通信保持,主芯片发起对监控芯片的刷新过程是由PC端发送例程控制命令触发的,在对监控芯片刷新过程中,主芯片会不断的向PC端发送负响应防止PC端超时。同时,主芯片会不断喂狗防止看门狗超时。当主芯片完成对监控芯片的刷新后,主芯片会向PC发送一个正响应。如果主芯片对监控芯片刷新失败,主芯片会向PC发送一个负响应。
3、刷新完成和离开刷新模式
刷新完成后离开刷新模式流程如图9所示:PC端收到例程控制命令正响应后,会向主芯片发送一个复位命令请求,此时,主芯片会拉高监控芯片的reset引脚,并触发一个软件复位,此时监控芯片和主芯片都会重新启动以同步程序,整个刷新过程完成。
上面结合附图对本发明进行了示例性描述,显然本发明具体实现并不受上述方式的限制,只要采用了本发明的方法构思和技术方案进行的各种非实质性的改进,或未经改进将本发明的构思和技术方案直接应用于其它场合的,均在本发明的保护范围之内。本发明的保护范围应该以权利要求书所限定的保护范围为准。
Claims (7)
1.一种刷新监控芯片的控制方法,其特征在于,该方法包括以下步骤:
步骤一、通过诊断仪或者PC机与ECU中主芯片进行CAN通信把监控芯片的程序刷写到主芯片的RAM中;
步骤二、主芯片与监控芯片进行SPI通信把监控芯片的程序刷写到监控芯片FLASH中;所述PC机与主芯片基于UDS协议实现,主芯片和监控芯片采用SPI通信实现;
步骤三、刷新完成后离开刷新模式,PC端收到例程控制命令正响应后,会向主芯片发送一个复位命令请求,主芯片会拉高监控芯片的reset引脚,并触发一个软件复位,监控芯片和主芯片都会重新启动以同步程序完成刷新。
2.根据权利要求1所述的刷新监控芯片的控制方法,其特征在于,所述步骤一PC机让主芯片进入刷新模式,刷写监控芯片程序到主芯片中,并立即通知监控芯片,一直拉高监控芯片的复位引脚。
3.根据权利要求1所述的刷新监控芯片的控制方法,其特征在于,所述步骤二在把监控芯片程序刷写到主芯片的内存中后,PC会发送例程控制命令,主芯片在收到该命令时对监控芯片刷新,主芯片与监控芯片通信刷写监控芯片程序的同时,主芯片保持与PC端的通信。
4.根据权利要求3所述的刷新监控芯片的控制方法,其特征在于,监控芯片刷新过程中,在对监控芯片物理内存做出改变操作之前,首先写入指纹信息,指纹信息包含了编程日期、操作者、诊断仪序列号信息,指纹信息存储在flash中,监控芯片收到写指纹信息的命令时会将指纹信息暂存在监控芯片的RAM中,监控芯片收到擦Flash空间命令请求后,会擦除flash并把指纹信息写入指定的flash单元中。
5.根据权利要求4所述的刷新监控芯片的控制方法,其特征在于,所述监控芯片收到例程控制命令请求后,首先会检查请求编程的flash空间是否已经擦除完成,如果没有擦除完成,会继续等待擦除flash命令擦除flash,Flash编程完成后,需要对编程区域进行校验,校验成功后会将应用程序有效性标识写入指定的flash单元中。
6.根据权利要求1所述的刷新监控芯片的控制方法,其特征在于,主芯片控制着SPI通信发送过程,在发送请求帧的同时,收到了响应帧,监控芯片每收到一个请求帧字节数据,会对其进行按位取反,并在发送下一个数据时返回给主芯片,主芯片在收到该数据后对前一次发送的数据进行校验。
7.根据权利要求1所述的刷新监控芯片的控制方法,其特征在于,该方法还包括监控芯片的启动步骤,监控芯片在复位后,首先进行系统的基本初始化,系统基本初始化后进行SPI的初始化,如果收到刷新命令请求则进入刷新模式,如果没有收到刷新请求命令,会判断应用程序是否有效,如果应用程序有效则进入应用程序模式,否则依然进入刷新模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510729792.0A CN105426201B (zh) | 2015-10-30 | 2015-10-30 | 一种刷新监控芯片的控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510729792.0A CN105426201B (zh) | 2015-10-30 | 2015-10-30 | 一种刷新监控芯片的控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105426201A true CN105426201A (zh) | 2016-03-23 |
CN105426201B CN105426201B (zh) | 2019-03-12 |
Family
ID=55504430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510729792.0A Active CN105426201B (zh) | 2015-10-30 | 2015-10-30 | 一种刷新监控芯片的控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105426201B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955245A (zh) * | 2016-06-13 | 2016-09-21 | 重庆长安汽车股份有限公司 | 一种车载控制器的更新方法以及更新系统 |
CN106790233A (zh) * | 2017-01-17 | 2017-05-31 | 北京经纬恒润科技有限公司 | 一种ecu的应用程序刷新方法及装置 |
CN107290998A (zh) * | 2016-04-13 | 2017-10-24 | 北京连创驱动技术有限公司 | 一种基于uds的标定数据刷写的方法 |
CN107368327A (zh) * | 2016-05-12 | 2017-11-21 | 广州汽车集团股份有限公司 | 对芯片进行刷写的方法以及系统 |
CN110794804A (zh) * | 2019-09-25 | 2020-02-14 | 潍柴动力股份有限公司 | 用于刷写ecu的系统、ecu、机动车和方法 |
CN113377404A (zh) * | 2021-06-29 | 2021-09-10 | 重庆长安新能源汽车科技有限公司 | 一种新能源车域控制器安全监控芯片程序更新方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286066A (zh) * | 2007-12-28 | 2008-10-15 | 奇瑞汽车股份有限公司 | 一种汽车控制器软件刷新的方法 |
CN101419438A (zh) * | 2008-11-18 | 2009-04-29 | 奇瑞汽车股份有限公司 | 混合动力车控制器芯片的刷新方法 |
WO2010017775A1 (zh) * | 2008-08-13 | 2010-02-18 | 奇瑞汽车股份有限公司 | 基于can总线的汽车电子控制器代码刷新的控制方法 |
CN102621950A (zh) * | 2012-01-13 | 2012-08-01 | 奇瑞汽车股份有限公司 | 一种纯电动汽车整车控制器刷新工具及刷新方法 |
-
2015
- 2015-10-30 CN CN201510729792.0A patent/CN105426201B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286066A (zh) * | 2007-12-28 | 2008-10-15 | 奇瑞汽车股份有限公司 | 一种汽车控制器软件刷新的方法 |
WO2010017775A1 (zh) * | 2008-08-13 | 2010-02-18 | 奇瑞汽车股份有限公司 | 基于can总线的汽车电子控制器代码刷新的控制方法 |
CN101419438A (zh) * | 2008-11-18 | 2009-04-29 | 奇瑞汽车股份有限公司 | 混合动力车控制器芯片的刷新方法 |
CN102621950A (zh) * | 2012-01-13 | 2012-08-01 | 奇瑞汽车股份有限公司 | 一种纯电动汽车整车控制器刷新工具及刷新方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107290998A (zh) * | 2016-04-13 | 2017-10-24 | 北京连创驱动技术有限公司 | 一种基于uds的标定数据刷写的方法 |
CN107368327A (zh) * | 2016-05-12 | 2017-11-21 | 广州汽车集团股份有限公司 | 对芯片进行刷写的方法以及系统 |
CN105955245A (zh) * | 2016-06-13 | 2016-09-21 | 重庆长安汽车股份有限公司 | 一种车载控制器的更新方法以及更新系统 |
CN106790233A (zh) * | 2017-01-17 | 2017-05-31 | 北京经纬恒润科技有限公司 | 一种ecu的应用程序刷新方法及装置 |
CN110794804A (zh) * | 2019-09-25 | 2020-02-14 | 潍柴动力股份有限公司 | 用于刷写ecu的系统、ecu、机动车和方法 |
CN113377404A (zh) * | 2021-06-29 | 2021-09-10 | 重庆长安新能源汽车科技有限公司 | 一种新能源车域控制器安全监控芯片程序更新方法及系统 |
CN113377404B (zh) * | 2021-06-29 | 2023-07-18 | 深蓝汽车科技有限公司 | 一种新能源车域控制器安全监控芯片程序更新方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105426201B (zh) | 2019-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105426201A (zh) | 一种刷新监控芯片的控制方法 | |
CN109189445B (zh) | 一种物联网设备程序升级的方法 | |
CN107422658B (zh) | 程序变更获取方法 | |
CN103842968B (zh) | 一种内存数据的迁移方法、计算机和装置 | |
CN105426198A (zh) | 车载双控制芯片系统及其辅助控制芯片程序更新方法 | |
US20040225812A1 (en) | Method and apparatus for interconnecting wired-AND buses | |
CN103761122A (zh) | 一种芯片固件的升级方法和系统 | |
CN102135922B (zh) | 应用程序的刷新方法和系统 | |
US11433718B2 (en) | Upgrading method and apparatus for tire pressure monitoring module and tire pressure sensor | |
CN106909352A (zh) | 一种嵌入式设备的固件升级方法 | |
CN114860279B (zh) | 一种快速空片升级方法 | |
CN106647238A (zh) | 一种基于can线刷新冗余控制器的方法 | |
CN111142886A (zh) | 数据烧写方法及相关装置 | |
CN117349085B (zh) | 一种数据存储方法、数据备份方法及装置 | |
US7934050B2 (en) | Microcomputer for flash memory rewriting | |
CN113960391A (zh) | 存储介质异常掉电测试装置及方法 | |
JP3828335B2 (ja) | 車両制御装置のための書き換えシステム | |
CN111143181A (zh) | 一种服务器维护方法、系统、设备及计算机可读存储介质 | |
CN103294606A (zh) | 一种分配内存及检测内存溢出的方法和装置 | |
CN115480965A (zh) | Peci总线协议命令响应构建方法、装置、设备及介质 | |
CN212181459U (zh) | Fpga升级系统 | |
Ji et al. | Implementation and research of bootloader for automobile ECU remote incremental update | |
KR20010027466A (ko) | 차량의 엔진제어유닛 리프로그래밍 방법 | |
JP2004530229A (ja) | 多元接続性母線による内蔵フラッシュメモリの並列プログラミングおよび再プログラミング処理 | |
CN117289876B (zh) | 一种数据写入方法、系统、装置、介质及四级单元闪存 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |