CN108427609B - 控制器和控制程序更新方法 - Google Patents

控制器和控制程序更新方法 Download PDF

Info

Publication number
CN108427609B
CN108427609B CN201810087763.2A CN201810087763A CN108427609B CN 108427609 B CN108427609 B CN 108427609B CN 201810087763 A CN201810087763 A CN 201810087763A CN 108427609 B CN108427609 B CN 108427609B
Authority
CN
China
Prior art keywords
monitoring
processing unit
main processing
control program
program
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
CN201810087763.2A
Other languages
English (en)
Other versions
CN108427609A (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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Publication of CN108427609A publication Critical patent/CN108427609A/zh
Application granted granted Critical
Publication of CN108427609B publication Critical patent/CN108427609B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0796Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0208Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0297Reconfiguration of monitoring system, e.g. use of virtual sensors; change monitoring method as a response to monitoring results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24015Monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25064Update component configuration to optimize program execution
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2637Vehicle, car, auto, wheelchair

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Mechanical Engineering (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

根据实施例的控制器包括主处理单元和监视单元。主处理单元执行控制程序。监视单元通过第一监视方法来监视所述主处理单元,所述第一监视方法用于向所述主处理单元发送与问题相对应的发送内容,并且用于评估来自所述主处理单元的对所述问题的回答。所述主处理单元在接收到对所述控制程序的更新请求时使所述监视单元执行从所述第一监视方法到第二监视方法的切换,所述第二监视方法用于监视所述主处理单元的看门狗信号。

Description

控制器和控制程序更新方法
技术领域
本文讨论的实施例涉及控制器和控制程序更新方法。
背景技术
传统地,已知设置在车辆中以便对车辆的诸如发动机、变速器和汽车导航设备的各种***进行电子控制的电子控制单元(ECU)。这些控制器中的每一个中,内置微型控制器(以下可以称为“微型计算机”)执行控制程序,以实现所指派的各种功能。
在该控制器中,例如,电源集成电路(电源IC)用作监视微型计算机是否正常工作的监视单元。作为微型计算机监视***,例如传统上已知有看门狗计数器(以下,可以称为“WDC”)监视***,用于监视例如从微型计算机输出的WDC信号的脉冲之间的间隔。
作为另一微型计算机监视***,还提出了使用串行通信的Q&A***(例如参考日本待审专利公开No.2015-108944)。在Q&A***中,监视器IC周期性地向微计算机发送与“问题”相对应的随机数据和算术运算指令等。微型计算机对由特定算术运算指令引起的随机数据进行算术运算,并向监视器IC发送算术运算结果作为“回答”。
例如,当微型计算机的回答没有在规定的通信时间返回时或者当被评估为不是预期回答时,监视器IC确定微型计算机中发生操作异常,并通过使用电源控制来硬复位微型计算机。
在某些情况下,存在这样的情况,其中当添加了功能时或者当在事后发现异常时,控制器的这种控制程序将被更新(重新编程)。当在微型计算机中进行这种更新时,暂时停止控制程序以进行更新,并启动更新程序,以重新写入控制程序。
然而,上述传统技术在防止更新控制程序的过程中由监视单元执行的错误复位方面还有改进的空间。
具体地,在更新控制程序时,如上所述,微型计算机暂时停止控制程序并执行用于启动代替控制程序的更新程序的程序切换,优选的是,由监视单元执行的微型计算机监视将被继续,使得即使在程序切换期间也能够检测到例如挂起等的不正确状态。
在这一点上,更新程序能够代替控制程序回答监视单元,以继续微型计算机监视,但是,例如在程序切换期间,微型计算机侧的处理负荷增加,并且因此容易在监视单元和微型计算机等之间的通信定时中引起干扰。
当采用上述的Q&A***时,由于问题和回答之间的通信时间被精细地定义,并且还采用了具有较低速度的串行通信,所以通信定时更容易受到干扰。因此,存在通信定时的这种干扰会导致监视单元错误地复位微型计算机的担心。
本实施例的一方面是鉴于上述情况而做出的,其目的是提供能够防止更新控制程序时由监视单元执行错误复位的控制器和控制程序更新方法。
发明内容
根据实施例的一个方面的控制器包括主处理单元和监视单元。主处理单元执行控制程序。监视单元通过第一监视方法来监视所述主处理单元,所述第一监视方法用于向所述主处理单元发送与问题相对应的发送内容,并且用于评估来自所述主处理单元的对所述问题的答案。所述主处理单元在接收到对所述控制程序的更新请求时使所述监视单元执行从所述第一监视方法到第二监视方法的切换,所述第二监视方法用于监视所述主处理单元的看门狗信号。
根据实施例的一个方面,可以防止在更新控制程序时监视单元执行错误的复位。
附图说明
由于通过在结合附图考虑时参考以下具体实施方式使得本发明及其很多随附优点变得更好理解,因此可以获得对本发明以及很多随附优点的更完整的理解,在附图中:
图1A是示出了车载***的概要的图;
图1B是示出了重新编程的概要的图;
图1C是示出了问答(Q&A)***的概要的图;
图1D是示出了看门狗计数器(WDC)监视***的概要的图;
图1E是示出了根据实施例的控制程序更新方法的概要的图;
图2是示出了根据实施例的电子控制单元(ECU)的框图;
图3A是示出了程序切换时的监视***切换时序的图。
图3B是示出了根据实施例的控制程序更新方法的处理时序的图;
图3C是示出了图3中所示的时间点t2和t3之间的更具体的处理序列的图;以及
图4是示出了由根据实施例的ECU的微型计算机执行的处理的过程的流程图。
具体实施方式
在下文中,将参考附图详细描述本申请中公开的控制器和控制程序更新方法的示例性实施例。此外,不意图将本公开限于下面描述的实施例。
在下文中,将参考图1A至图1E来说明根据本实施例的控制程序更新方法的概要,接下来,将参考图2至图4来说明要应用根据本实施例的控制程序更新方法的电子控制单元(ECU)10(对应于“控制器”的一个示例)。
首先,参考图1A至1E说明根据本实施例的控制程序更新方法的概要。图1A是示出了车载***1的概要的图。图1B是示出了重新编程的概要的图。图1C是示出了问答(Q&A)***的概要的图。图1D是示出了看门狗计数器(WDC)监视***的概要的图。图1E是示出根据本实施例的控制程序更新方法的概要的图。
如图1A所示,车辆C包括车载***1。车载***1包括ECU 10-1至10-n。ECU 10-1至10-n通过诸如控制器区域网络(CAN)之类的网络N以可通信的方式彼此连接,以通过执行控制程序对各个控制目标20-1至20-n进行电子控制。控制目标20-1至20-n包括各种***,例如发动机、变速器和汽车导航设备。
存在以下情况:当要添加功能时或者当事后发现异常时,由各个ECU 10执行的控制程序要被更新。在这种情况下,如图1B所示,通过CAN等将更新终端50连接到要更新的ECU10,并且在其上执行重新编程。
重新编程时,首先接通ECU 10的电源以启动控制程序,并且ECU 10变为由该控制程序执行正常处理的状态(步骤S1)。
在该状态下,当通过命令输入等从更新终端50发送了更新请求时(步骤S2),在接收到该更新请求的ECU 10中,执行程序切换以启动更新程序代替控制程序(步骤S3)。当更新程序启动时,ECU 10通过使用更新程序来执行程序更新处理(步骤S4)。
同时,ECU 10包括监视单元,该监视单元监视微型计算机11是否正常操作,并且当检测到操作异常时,例如通过电源的关/开来对微型计算机11进行硬复位。
如图1C所示,监视单元例如包括电源集成电路(电源IC)12。已知有使用串行通信的问答(Q&A)***作为微型计算机监视***。作为另一个微型计算机监视***,还已知有WDC监视***,用于监视从微型计算机11输出的WDC信号的脉冲之间的间隔。
如图1C所示,在Q&A***中,例如,从电源IC 12向微型计算机11发送与问题相对应的随机数据和算术运算指令。
微型计算机11通过附加发送的算术运算指令所导致的问题中包括的随机数据进行运算,并将算术运算结果作为回答发送给电源IC 12。这种交换是周期性重复的。
当微型计算机11的回答并未在已定义的通信定时处返回(参见图1C所示的“通信异常”)或者该回答不是预期回答时(参见图1C所示的“算术运算结果≠预期值”),电源IC12确定在微型计算机11中发生操作异常,从而例如对微型计算机11进行硬复位。
如图1D所示,在WDC监视***中,电源IC 12监视从微型计算机11周期性输出的WDC信号的脉冲之间的间隔。电源IC 12包括看门狗定时器(未示出:以下可以称为“WDT”),当如图1D所示使用该WDT确定“超时”时,电源IC 12确定在微型计算机11中发生操作异常,从而例如对微型计算机11进行硬复位。
可以说,Q&A***比WDC监视***执行更具体的监视,因为Q&A***执行的评估还包括对回答内容的评估,例如回答是否是预期回答。根据本实施例的ECU 10在通过控制程序执行正常处理期间采用Q&A***。
同时,优选的是,即使在包括有程序切换的重新编程期间,电源IC 12也继续监视微型计算机以能够检测诸如挂起之类的错误状态。注意,由于在程序切换期间微型计算机11侧的处理负荷增加,所以在电源IC 12和微型计算机11等之间的通信定时中容易引起干扰。
此外,在Q&A***中,问题与回答之间的通信序列(包括定时等)被精细地定义。此外,采用了具有相对较低速度的串行通信,因此假设在程序切换期间通信定时更容易受到干扰。当通信定时受到干扰时,例如存在如下担心:在程序切换期间,微型计算机11被电源IC 12错误地硬复位。
因此,如图1E所示,在根据本实施例的控制程序更新方法中,微型计算机监视***在软复位之前在程序切换时要从Q&A***切换到WDC监视***(步骤S21)。软复位是在设备电源被保持的状态下的重启方法。
具体地,在程序切换中,如图1E所示,执行更新请求接收(步骤S31),然后作为ECU10的主处理单元的微型计算机11被软复位(步骤S32)。软复位和重新引导的微型计算机11执行更新程序的启动确定(步骤S33)。
根据本实施例的控制程序更新方法在步骤S31的更新请求接收之后且在步骤S32的软复位之前执行上述步骤S21的处理。
换句话说,控制程序更新方法将微型计算机11在软复位之前(而不是在软复位之后,此时趋向于负担较重的处理负载并且认为容易发生通信定时中的干扰)将微型计算机监视***切换到比Q&A***更宽松地定义并且其通信时序简单且不太可能受到干扰的WDC监视***。
因此,如图1E所示,可以降低在程序切换期间电源IC 12确定操作异常的风险,并且防止在程序切换期间由电源IC 12执行的硬复位。
在根据本实施例的控制程序更新方法中,在将微型计算机监视***切换到WDC监视***以启动WDC监视之后且在软复位(未示出)之前,WDC信号被脉冲输出至少一次。
因此,可以防止在软复位期间(换句话说,在程序切换中的微型计算机11的重新引导期间)由于WDC信号的输出延迟而导致由电源IC 12执行硬复位。将参考图3C在下文进行提及这一点。
以下,更具体地说明应用了上述控制程序更新方法的ECU 10。
图2是示出根据本实施例的ECU 10的框图。在图2中,通过使用功能块仅示出了用于说明根据本实施例的特性的配置元素,并且适当地省略了对配置元素的描述。
换句话说,附图中所示的相应装置的每个组件在功能上是概念性的,因此并不总是如图所示进行物理配置。即,每个装置的具体分离或集成模式不限于附图中所示的模式。也就是说,全部或部分组件可以通过根据各种类型的负载、使用状态等在功能上或物理上将它们分离或集成在任何单元中来配置。
如图2所示,ECU 10包括微型计算机11和电源IC 12。首先,将解释电源IC 12。电源IC 12通过在正常处理中使用Q&A***且在重新编程中使用WDC监视***,响应于从微型计算机11发送的监视***切换请求来监视微型计算机11。作为监视的结果,当微型计算机11处于操作异常状态时,电源IC 12根据需要对微型计算机11进行硬复位。
微型计算机11包括控制单元111和存储器112。控制单元111包括程序执行单元111a、更新请求接收单元111b、监视***切换请求单元111c、软复位处理单元111d和启动确定单元111e。
存储器112存储更新请求信息112a、软复位历史112b、控制程序112c和更新程序112d。例如,更新请求信息112a被存储在存储器112的保留随机存取存储器(RAM)区域中。例如,软复位历史112b被存储在存储器112的寄存器中。
保留RAM区域包括用于即使微型计算机11软复位时也保存信息的RAM区域(换句话说,只要设备电源被保持就能够保存信息的RAM区域),并且包括由例如触发器构成的静态随机存取存储器(SRAM)。该寄存器还包括由触发器等构成的存储区域,并且只要设备电源被保持就能够保存信息。
控制单元111包括例如用于控制整个微型计算机11的中央处理单元(CPU)。程序执行单元111a响应于从启动确定单元111e发送的启动指令,从存储器112读取控制程序112c或更新程序112d并执行它。
程序执行单元111a在正常处理中读取并执行控制程序112c,以实现指派给ECU 10的电子控制功能。程序执行单元111a在重新编程中读取并执行更新程序112d,并将更新数据应用于控制程序112c以重写控制程序112c。
控制程序112c的更新数据(未示出)例如是从服务器设备下载、从更新终端50安装、或者通过便携式存储介质读取的,从而更新数据能够被应用于微型计算机11。
程序执行单元111a根据电源IC 12的微型计算机监视***执行处理,例如,用于在Q&A***中运算并发送问题的回答的处理(以下,可以称为“Q&A处理”),以及用于在WDC监视***中脉冲输出WDC信号的处理(以下,可以称为“WDC输出处理”)。
更新请求接收单元111b接收从更新终端50发送的更新请求。更新请求接收单元111b写入指示接收到更新请求的更新请求信息112a。更新请求接收单元111b将接收到更新请求这一情况通知给监视***切换请求单元111c。
监视***切换请求单元111c基于从更新请求接收单元111b发送的信息,向电源IC12发送请求将微型计算机监视***从Q&A***切换到WDC监视***的监视***切换请求。
将参考图3A更具体地说明程序切换时监视方法之间的切换。图3A是示出了程序切换时的监视***切换时序的图。
如图3A所示,在根据本实施例的ECU 10中,当更新请求接收单元111b执行“更新请求接收”时,监视***切换请求单元111c仅在更新请求接收后接收到第一个问题之后向电源IC 12发送监视***切换请求。
因此,能够通过接收问题来确认与电源IC 12的通信已建立,并且消除在运算和使用串行通信发送问题的回答过程中的时间滞后,并且快速地向电源IC 12发送监视***切换请求。
如图3A所示,在根据本实施例的ECU 10中,在发送监视***切换请求之后,在微型计算机11“软复位”之前脉冲输出WDC信号至少一次。将参考图3C在下文进行描述这一点。
因此,可以防止在软复位期间(换句话说,在程序切换中的微型计算机11的重新引导期间)由于WDC信号的输出延迟而导致由电源IC 12执行硬复位。
如图3A所示,在直至“程序更新处理完成”为止的时间段期间内,使用切换后的WDC监视***继续进行微型计算机监视,并且在“程序更新处理完成”之后,电源IC 12执行硬复位以使微型计算机11读取并执行更新后的控制程序112c。
回到图2,监视***切换请求单元111c向电源IC 12发送监视***切换请求,然后将该事实通知给软复位处理单元111d。
软复位处理单元111d在从监视***切换请求单元111c通知并且在启动以输出WDC信号之后对微型计算机11进行软复位。软复位处理单元111d在软复位时写入软复位历史112b。
当重新引导微型计算机11时,启动确定单元111e根据更新请求信息112a和软复位历史112b,执行确定要启动的程序的启动确定处理。
如上所述,只要设备电源被保持,更新请求信息112a和软复位历史112b中的每一个就被存储在相应能够保存信息的存储区域中,因此信息包括由于可能发生在公共RAM区域等的RAM错乱等导致的不正确的值的风险小。
因此,只有当经过正确的过程并且通过基于该更新请求信息112a和软复位历史112b执行启动确定处理来执行软复位时才有可能启动更新程序。换言之,能够防止由RAM错乱、不正确的软复位等事件引起的更新程序的错误启动。
具体而言,在微型计算机11被软复位的情况下,启动确定单元111e仅当更新请求信息112a“存在”并且进一步,软复位历史112b“存在”时,才确定更新程序112d是要启动的程序。
更新请求信息112a“存在”指示以下事实:更新请求信息112a中包括指示更新请求接收的执行的信息。软复位历史112b“存在”指示以下事实:软复位历史112b中包括指示软复位的执行的信息。
当微型计算机11被硬复位时,不管包括在更新请求信息112a和软复位历史112b中的信息的内容如何,启动确定单元111e都确定控制程序112c是要启动的程序。
启动确定单元111e向程序执行单元111a通知例如确定要启动的程序的类型作为启动指令,并且使程序执行单元111a根据该启动指令执行程序。
基于上述说明,接下来,将参考图3B和图3C来说明根据本实施例的控制程序更新方法中的处理过程。图3B是示出了根据本实施例的控制程序更新方法的处理时序的图。图3C是示出了图3中所示的时间点t2和t3之间的更具体的处理序列的图。
如图3B所示,首先,在时间点t1之前,假设“当前执行的程序”是控制程序112c,“处理内容”包括正常处理和Q&A处理,“微型计算机监视***”是Q&A***。
假设在时间点t1执行“更新请求接收”。在从该时间点t1至微型计算机11被“软复位”的时间点t3期间执行与微型计算机监视***之间的切换相关联的处理。如图3B所示,为了便于说明,将该处理称为“切换处理”。
在切换处理中,在“软复位”的时间点t3之前的时间点t2处,向电源IC 12发送“监视***切换请求”,接收到该“监视***切换请求”的电源IC 12将微型计算机监视***切换到WDC监视***。
在切换过程中,在将微型计算机监视***切换到WDC监视***并启动WDC监视之后,并且在“软复位”之前,即在时间点t2到t3之间的时间段内,至少脉冲输出一次WDC信号。
在3C中示出了在图3B中通过使用双头箭头示出的时间点t2和t3之间的具体处理顺序。换句话说,如图3C中的部分M1所示,在切换处理中,作为“当前执行程序”的控制程序112c强制性地在时刻t2的WDC监视启动之后且时刻t3的“软复位”之前使WDC信号反转,并且脉冲输出WDC信号(步骤S41)。
因此,可以防止在“软复位”期间(换句话说,在程序切换中的微型计算机11的重新引导期间)由于WDC信号的输出延迟而导致由电源IC 12执行硬复位。
举例说明了控制程序112c在“软复位”之前强制输出WDC信号一次的情况,然而可以根据时间点t2和t3之间的长度或者限定的WDC监测***中的脉冲之间的时间间隔输出WDC信号两次或更多次。
优选的是,当在“软复位”之后启动更新程序112d时,仅在启动之后周期性地输出WDC信号。因此,可以防止WDC信号的脉冲之间的间隔在软复位之前和之后延伸。换句话说,可以有助于防止由电源IC 12执行硬复位。
参考图3B,微型计算机11在时间点t3被“软复位”。接下来,当执行程序的启动确定(该启动确定与微型计算机11的重新引导相关联地启动),并且满足更新程序112d的启动条件时,启动更新程序112d,并且“当前执行的程序”变为更新程序112d,“处理内容”变为包括程序更新处理和WDC输出处理。
当程序更新处理完成时,通过电源IC 12的电源控制,在时间点t4执行“硬复位”,据此启动控制程序112c,然后控制程序112c变成“当前执行的程序”。
被补充性地示出的“硬复位”之后的时间段是被称为“第一窗口(FW)”的时间段。在该“FW”期间的预定时间间隔中,当Q&A***的串行通信未启动或者WDC监视***的WDC信号未输入时,电源IC 12复位微型计算机11。
接下来,将参考图4说明由根据本实施例的ECU 10的微型计算机11执行的处理的过程。图4是示出由根据本实施例的ECU 10的微型计算机11执行的处理的过程的流程图。
在此,示出了直到启动确定处理为止的处理过程,该启动确定处理是在接收到来自更新终端50的更新请求的情况下在软复位之后执行的。作为前提,假设程序执行单元111a正在执行控制程序112c,并且微型计算机监视***是Q&A***。
如图4所示,更新请求接收单元111b首先确定是否存在来自更新终端50的更新请求(步骤S101)。当存在更新请求时(步骤S101:是),更新请求接收单元111b接收该更新请求,并写入指示进行更新请求接收的更新请求信息112a(未示出),然后监视***切换请求单元111c在软复位之前向电源IC 12发送监视***切换请求(步骤S102)。
当接收到该监视***切换请求时,电源IC 12将微型计算机监视***从Q&A***切换到WDC监视***。当不存在更新请求时(步骤S101:否),重复执行自步骤S101的处理。
程序执行单元111a在切换处理中,在WDC监视启动之后且软复位之前执行强制WDC输出(步骤S103)。
软复位处理单元111d对微型计算机11进行软复位,同时留下软复位历史112b(步骤S104)。
在由微型计算机11的软复位引起的重新引导之后,启动确定单元111e确定是否满足更新程序112d的启动条件(步骤S105)。当步骤S105的确定条件被满足时(步骤S105:是),启动确定单元111e使程序执行单元111a启动更新程序112d(步骤S106)。
另一方面,当步骤S105的确定条件不满足时(步骤S105:否),启动确定单元111e使程序执行单元111a启动控制程序112c(步骤S107)。由此,直到启动确定处理为止的处理过程完成。
如上所述,根据本实施例的ECU 10(对应于“控制器”的一个示例)包括微型计算机11(对应于“主处理单元”的一个示例)和电源IC12(对应于“监视单元”的一个示例)。
微型计算机11执行控制程序112c。电源IC 12通过Q&A***(相当于“第一监视方法”的一个示例)监视微型计算机11,该Q&A***用于向微型计算机11发送与问题相对应的发送内容,并且用于评估来自微型计算机11的对所述问题的回答。
当接收到控制程序112c的更新请求时,微型计算机11使电源IC 12执行从Q&A***到WDC监视***(对应于“第二监视方法”的一个示例)的切换,所述WDC监视***用于监视微型计算机11的WDC信号(对应于“看门狗信号”的一个示例)。
因此,通过采用根据本实施例的ECU 10,能够防止更新控制程序112c时电源IC的错误复位。
当接收到所述控制程序112c的所述更新请求时,所述微型计算机11切换到启动用于更新控制程序112c的更新程序112d(代替控制程序112c)的程序切换。程序切换包括微型计算机11的软复位(与“在保持设备电源的状态下重启”的一个示例相对应)。微型计算机11在程序切换且软复位之前使电源IC 12执行从Q&A***到WDC监视***的切换。
换句话说,根据本实施例的ECU 10将微型计算机11在软复位之前(而不是在软复位之后,此时趋向于负担较重的处理负载并且认为容易发生通信定时中的干扰)将微型计算机监视***切换到比Q&A***更宽松地定义并且其通信时序简单且不太可能受到干扰的WDC监视***。
因此,通过采用根据本实施例的ECU 10,可以降低在程序切换期间电源IC 12确定操作异常的风险,并且防止在程序切换期间由电源IC 12执行的硬复位。
微型计算机11仅在WDC监视***启动监视之后且软复位之前至少向电源IC 12强制输出WDC信号一次。
因此,通过采用根据本实施例的ECU10,可以防止在软复位期间(换句话说,在程序切换中的微型计算机11的重新引导期间)由于WDC信号的输出延迟而导致由电源IC 12执行硬复位。
微型计算机11在通过软复位启动更新程序112d之后,周期性地输出WDC信号。
因此,可以防止WDC信号的脉冲之间的间隔在软复位之前和之后延伸。换句话说,可以有助于防止由电源IC 12执行硬复位。
注意,在上面的实施例中,更新请求信息112a被存储在保留RAM区域中,并且软复位历史112b被存储在寄存器中。然而,存储器被配置为只要保持设备电源就能够保存信息就足够了,因此不意在对更新请求信息112a和软复位历史112b的存储目的地进行限制。
在上述实施例中,ECU 10设置在车辆C中,当然也可以将ECU 10设置在不限于车辆C的例如船舶、飞机等中。

Claims (5)

1.一种控制器,包括主处理单元和监视单元,其特征在于,
所述主处理单元执行控制程序;以及所述监视单元通过第一监视方法来监视所述主处理单元,所述第一监视方法用于向所述主处理单元发送与问题相对应的发送内容,并且用于评估来自所述主处理单元的对所述问题的回答,其中,
所述主处理单元在接收到对所述控制程序的更新请求时使所述监视单元执行从所述第一监视方法到第二监视方法的切换,所述第二监视方法用于监视所述主处理单元的看门狗信号。
2.根据权利要求1所述的控制器,其中
当接收到对所述控制程序的所述更新请求时,所述主处理单元切换到启动用于更新所述控制程序的更新程序以代替所述控制程序的程序切换,
所述程序切换包括在保持设备电源的状态下重启所述主处理单元,以及
所述主处理单元在所述程序切换时且在所述重启之前使所述监视单元执行从所述第一监视方法到所述第二监视方法的切换。
3.根据权利要求2所述的控制器,其中,所述主处理单元在通过所述第二监视方法启动监视之后且在所述重启之前向所述监视单元强制输出至少一次看门狗信号。
4.根据权利要求2或3所述的控制器,其中,所述主处理单元仅在通过所述重启启动所述更新程序之后周期性地输出看门狗信号。
5.一种要由控制器执行的控制程序更新方法,所述控制器包括:主处理单元和监视单元,其特征在于,
所述主处理单元执行控制程序,以及所述监视单元通过第一监视方法来监视所述主处理单元,所述第一监视方法用于向所述主处理单元发送与问题相对应的发送内容,并且用于评估来自所述主处理单元的对所述问题的回答;以及
所述控制程序更新方法包括:
在接收到对所述控制程序的更新请求时使所述监视单元执行从所述第一监视方法到第二监视方法的切换,所述第二监视方法用于监视所述主处理单元的看门狗信号。
CN201810087763.2A 2017-02-15 2018-01-29 控制器和控制程序更新方法 Active CN108427609B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017026330A JP6692763B2 (ja) 2017-02-15 2017-02-15 制御装置および制御プログラム更新方法
JP2017-026330 2017-02-15

Publications (2)

Publication Number Publication Date
CN108427609A CN108427609A (zh) 2018-08-21
CN108427609B true CN108427609B (zh) 2021-05-25

Family

ID=63104569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810087763.2A Active CN108427609B (zh) 2017-02-15 2018-01-29 控制器和控制程序更新方法

Country Status (3)

Country Link
US (1) US10591884B2 (zh)
JP (1) JP6692763B2 (zh)
CN (1) CN108427609B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111061243B (zh) * 2018-10-17 2023-05-26 联合汽车电子有限公司 电子控制器程序流监控***及方法
CN109582486B (zh) * 2018-11-20 2023-04-28 厦门科灿信息技术有限公司 一种看门狗监测方法、***及设备和存储介质
CN109591732B (zh) * 2019-01-09 2021-04-13 浙江吉利汽车研究院有限公司 汽车上电控制方法、装置、整车控制器及汽车
US11036573B2 (en) * 2019-05-16 2021-06-15 Ford Global Technologies, Llc Control processor unit (CPU) error detection by another CPU via communication bus
US10936397B2 (en) * 2019-05-23 2021-03-02 Ford Global Technologies, Llc Hybrid control module status communication system and method
JP7189839B2 (ja) * 2019-05-27 2022-12-14 日立Astemo株式会社 電子制御装置
JP7327104B2 (ja) * 2019-11-20 2023-08-16 株式会社富士通ゼネラル 電子機器
KR102219432B1 (ko) * 2019-12-12 2021-02-26 현대모비스 주식회사 와치독 장치 및 그 제어 방법
FR3115373B1 (fr) * 2020-10-20 2023-06-02 Psa Automobiles Sa Gestion de la supervision d’un composant électronique d’un véhicule terrestre à moteur

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN204515759U (zh) * 2015-04-14 2015-07-29 广州市智博光辉电气科技有限公司 一种微控制器异常强制复位的看门狗电路
CN105034992A (zh) * 2015-07-02 2015-11-11 郑州宇通客车股份有限公司 一种车辆ecu升级用供电控制电路及使用该电路的车辆
CN106167040A (zh) * 2015-05-21 2016-11-30 株式会社捷太格特 车辆用控制装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040015940A1 (en) * 2001-05-29 2004-01-22 3Com Corporation Intelligent device upgrade engine
JP4050196B2 (ja) * 2003-07-09 2008-02-20 三菱電機株式会社 監視制御回路を有する電子制御装置
DE10331872A1 (de) * 2003-07-14 2005-02-10 Robert Bosch Gmbh Verfahren zur Überwachung eines technischen Systems
TWI362588B (en) * 2007-10-12 2012-04-21 Asustek Comp Inc Monitor apparatus, a monitoring method thereof and computer apparatus therewith
JP4776610B2 (ja) * 2007-11-26 2011-09-21 三菱電機株式会社 監視制御回路を有する車載電子制御装置
JP4476320B2 (ja) * 2007-11-26 2010-06-09 三菱電機株式会社 監視制御回路を有する車載電子制御装置
JP5967059B2 (ja) 2013-12-04 2016-08-10 株式会社デンソー 車両用電子制御装置
WO2015173532A1 (en) * 2014-05-11 2015-11-19 Safetty Systems Ltd A framework as well as method for developing time-triggered computer systems with multiple system modes
JP6723941B2 (ja) * 2017-02-15 2020-07-15 株式会社デンソーテン 制御装置および制御プログラム更新方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN204515759U (zh) * 2015-04-14 2015-07-29 广州市智博光辉电气科技有限公司 一种微控制器异常强制复位的看门狗电路
CN106167040A (zh) * 2015-05-21 2016-11-30 株式会社捷太格特 车辆用控制装置
CN105034992A (zh) * 2015-07-02 2015-11-11 郑州宇通客车股份有限公司 一种车辆ecu升级用供电控制电路及使用该电路的车辆

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种基于串口通信的ECU监测程序开发;刘咏涛等;《机床与液压》;20120531;第40卷(第10期);第130-132页 *

Also Published As

Publication number Publication date
JP2018132957A (ja) 2018-08-23
CN108427609A (zh) 2018-08-21
US10591884B2 (en) 2020-03-17
US20180231948A1 (en) 2018-08-16
JP6692763B2 (ja) 2020-05-13

Similar Documents

Publication Publication Date Title
CN108427609B (zh) 控制器和控制程序更新方法
CN108427564B (zh) 控制器和控制程序更新方法
JP5702829B2 (ja) 中継装置
US7975188B2 (en) Restoration device for BIOS stall failures and method and computer program product for the same
JP2019084941A (ja) 更新システム、電子制御装置、更新管理装置、及び更新管理方法
US7890800B2 (en) Method, operating system and computing hardware for running a computer program
CN108701055B (zh) 车辆控制装置和车辆***
US7054728B2 (en) Rewrite control apparatus for onboard program
US20120317576A1 (en) method for operating an arithmetic unit
WO2018105609A1 (ja) プログラム更新システム、配信装置及びプログラム更新方法
US20220055637A1 (en) Electronic control unit and computer readable medium
CN106095474A (zh) 用于更新运输工具中的软件的方法和装置
JP2000155703A (ja) 単一プロセッサシステム
JP2019214353A (ja) 通信装置及び制御方法
JP3915411B2 (ja) 車両用電子制御装置
JP5533777B2 (ja) プログラム群
US20080162989A1 (en) Method, Operating System and Computing Hardware for Running a Computer Program
JP7411467B2 (ja) 電子制御装置及びプログラム書き換え制御方法
JP2015171853A (ja) 自動車用電子制御装置
US20190332506A1 (en) Controller and function testing method
US10514970B2 (en) Method of ensuring operation of calculator
JP7504222B2 (ja) 車載用制御システム
JP4424231B2 (ja) 通信システム
WO2023223940A1 (ja) 車載装置、プログラム及び情報処理方法
WO2020039739A1 (ja) 通信端末、通信端末の異常確認方法、通信端末用プログラム

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