车载用电子设备的控制装置以及控制方法技术领域
本发明涉及车载用电子设备的控制装置以及控制方法,尤其涉及所述控制装置,
其具备用于监视由所述控制装置控制的电子设备的控制程序的异常的执行状态的程序执
行监视专用电路以及使用该控制装置的控制方法。
背景技术
近来,车辆的电子化正在不断发展,许多电子设备被设置在车辆的各种装备品、驱
动系统以及其辅助系统等中,对这些电子设备都需要进行控制。然后,在用于对这样的电子
设备进行控制的控制装置中,为了实现车辆的安全行车和提高驾乘人员的便利性和舒适
性,需要较高的安全性和可靠性。
因此,在上述这样的控制装置中,为了提高安全性和可靠性,即使在上述电子设备
的控制程序中发生了异常的情况下,例如,通过设置监视计时器(WDT),并且在每个规定时
间反复进行上述WDT的起动和复位,这样就可以使程序的异常的执行状态不会持续一定时
间以上。
另外,例如,在上述电子设备为电动助力转向装置(EPS)的情况下,如专利文献1
(日本特开2009-113618号公报)所述,一种技术被公开,该技术通过在控制单元中测定各个
任务的结束时间,并且,基于测定出的各个任务的结束时间来进行程序的异常的执行状态
的检测,以便能够正确地检测出如果使用上述这样的WDT的话是检测不出来的程序的异常
的执行状态。
还有,在专利文献2(日本特开2006-90356号公报)中,一种技术被公开,该技术通
过在车辆控制用控制装置中检测出具有高处理负荷的任务,并且,基于规定的任务拥塞基
准将检测出的具有高处理负荷的任务替换成具有较低的处理负荷的处理内容,以便抑制诸
如任务遗漏之类的故障的发生。
现有技术文献
专利文献
专利文献1:日本特开2009-113618号公报
专利文献2:日本特开2006-90356号公报
发明内容
发明要解决的技术问题
然而,在上述专利文献1所记载的发明中,尽管通过进行中断来进行异常检测,因
为不能进行异常的执行状态的检测直至按规定时间来划分的复数个任务的结束为止,即使
在判定为异常的情况下,也不进行代替处理,所以存在不能继续进行基于电动助力转向装
置的转向辅助的问题。
另外,在上述专利文献2所记载的发明中,尽管对具有高处理负荷的任务处理的一
部分进行简化后再执行,与上述专利文献1的情况同样,在任务还没有结束的情况下,仍然
存在检测不出异常的问题。
因此,本发明为了解决上述问题,提供一种控制装置以及一种控制方法,该控制装
置以及该控制方法监视由车载用电子设备的控制装置控制的电子设备的控制程序的异常
的执行状态,并且,在检测出上述异常的执行状态的情况下,通过进行代替处理,使得能够
继续进行车载用电子设备的控制。
解决技术问题的手段
为了解决上述问题,本发明提供一种车载用电子设备的控制装置,其特征在于:程
序执行监视专用电路被安装在所述控制装置上,所述程序执行监视专用电路用于监视由所
述车载用电子设备的控制程序执行的任务的执行顺序和执行时间。
此外,上述问题的解决还可以通过下述这样更有效地实现,即:在所述任务的执行
顺序不同于预先设定的顺序的情况下,或/和,在所述任务的执行时间超过预先设定的阈值
的情况下,所述程序执行监视专用电路输出预先设定的信号;或,在所述预先设定的信号被
输出的情况下,通过进行代替处理,可以继续进行所述车载用电子设备的控制;或,所述程
序执行监视专用电路被设置在车载用MCU中。
还有,为了解决上述问题,本发明提供一种车载用电子设备的控制装置,其特征在
于:程序执行监视专用电路被安装在所述控制装置上,所述程序执行监视专用电路用于监
视由所述车载用电子设备的控制程序执行的任务的执行顺序和执行时间,至少执行顺序监
视比较电路、执行时间监视计时器电路以及设定寄存器被设置在所述程序执行监视专用电
路中,通过使用所述执行顺序监视比较电路来对被预先登记在所述设定寄存器中的复数个
任务的各个开头地址和命令取出时的开头地址进行比较,以便进行所述任务的执行顺序的
监视,通过使用所述执行时间监视计时器电路来对所述各个任务的执行时间和针对每个任
务预先设定的执行时间阈值进行比较,以便进行所述执行时间的监视,在所述任务的执行
中发生了优先中断的情况下,在所述优先中断的期间中,中断所述执行时间的监视,在所述
任务的执行顺序不同于预先设定的顺序的情况下,或/和,在所述任务的执行时间超过预先
设定的阈值的情况下,所述程序执行监视专用电路通过输出预先设定的信号并且执行代替
处理,以便继续进行所述车载用电子设备的控制。
此外,上述问题的解决还可以通过下述这样更有效地实现,即:可以选择是否中断
所述优先中断的期间中的所述执行时间的监视;或,所述代替处理,在所述任务的执行顺序
不同于预先设定的顺序的情况下,根据进程的重要度等,来进行执行相当于正规的顺序的
任务的处理、执行预先设定的执行时间短的别的任务的处理、从发生异常之前的任务开始
再次执行的处理、或再次执行执行中的整个进程的处理中的任意一个处理;在所述任务的
执行时间超过预先设定的阈值的情况下,进行针对每一个所述任务预先设定的处理来取代
所述任务,通过CPU中断来进行所述代替处理,当退出基于所述代替处理的中断后,通过再
次转移到程序的执行监视,以便能够继续进行所述车载用电子设备的控制;或,所述程序执
行监视专用电路被设置在车载用MCU中;或,所述车载用电子设备为电动助力转向装置。
还有,为了解决上述问题,本发明提供一种车载用电子设备的控制方法,其使用用
于监视由车载用电子设备的控制程序执行的任务的执行顺序和执行时间的程序执行监视
专用电路来监视所述车载用电子设备的控制程序的执行状态,其特征在于:至少执行顺序
监视比较电路、执行时间监视计时器电路以及设定寄存器被设置在所述程序执行监视专用
电路中,通过使用所述执行顺序监视比较电路来对被预先登记在所述设定寄存器中的复数
个任务的各个开头地址和命令取出时的开头地址进行比较,以便进行所述任务的执行顺序
的监视,通过使用所述执行时间监视计时器电路来对所述各个任务的执行时间和针对每个
任务预先设定的执行时间阈值进行比较,以便进行所述执行时间的监视,在所述任务的执
行中发生了优先中断的情况下,在所述优先中断的期间中,中断所述执行时间的监视,在所
述任务的执行顺序不同于预先设定的顺序的情况下,或/和,在所述任务的执行时间超过预
先设定的阈值的情况下,所述程序执行监视专用电路通过输出预先设定的信号并且执行代
替处理,以便继续进行所述车载用电子设备的控制。
此外,上述问题的解决还可以通过下述这样更有效地实现,即:可以选择是否中断
所述优先中断的期间中的所述执行时间的监视;或,所述代替处理,在所述任务的执行顺序
不同于预先设定的顺序的情况下,根据进程的重要度等,来进行执行相当于正规的顺序的
任务的处理、执行预先设定的执行时间短的别的任务的处理、从发生异常之前的任务开始
再次执行的处理、或再次执行执行中的整个进程的处理中的任意一个处理;在所述任务的
执行时间超过预先设定的阈值的情况下,进行针对每一个所述任务预先设定的处理来取代
所述任务,通过CPU中断来进行所述代替处理,当退出基于所述代替处理的中断后,通过再
次转移到程序的执行监视,以便能够继续进行所述车载用电子设备的控制;或,所述程序执
行监视专用电路被设置在车载用MCU中;或,所述车载用电子设备为电动助力转向装置。
发明效果
根据本发明,因为通过被安装在上述控制装置中的程序执行监视专用电路来监视
由程序执行的各个任务的执行顺序和执行时间,所以与通过软件来监视的场合相比,能够
更迅速地监视程序的异常的执行状态。
此外,与现有的通过使用软件、WDT来监视程序的异常的场合相比,因为没有必要
为了进行异常监视而去等待一个任务的结束,所以能够缩短从发生异常到检测出异常的时
间,并且能够更迅速地进行故障安全处理等。
另外,在本发明中,因为作为上述故障安全处理可以进行代替处理,所以能够继续
进行电子设备的控制。
因此,在将本发明应用在车载用电子设备的控制装置中的情况下,能够更进一步
提高安全性和可靠性,例如,在将本发明应用在被搭载在车辆上的电动助力转向装置的控
制装置中的情况下,即使在上述控制装置的程序中发生了异常的情况下,也能够继续进行
转向辅助。
附图说明
图1是表示电动助力转向装置的一般结构的图。
图2是表示控制单元(ECU)的基本结构示例的结构框图。
图3是表示微控制单元(MCU)的概略结构的结构框图。
图4是表示本发明的程序执行监视专用电路(第一实施方式)的结构的结构框图。
图5是表示有关控制进程的设定寄存器中的处理地址和执行时间阈值的设定示例
的图。
图6是表示正常处理以及其执行时间阈值和代替处理以及其代替处理的执行时间
阈值的设定寄存器的设定示例的图。
图7是表示监视执行顺序的流程的流程图。
图8是表示在执行时间中没有发生异常的情况下的测定示例的示意图。
图9是表示在执行时间中发生了异常的情况下的测定示例的示意图。
图10是表示在执行时间中发生了异常的情况下的中断处理的流程的流程图。
图11是表示本发明的程序执行监视专用电路(第二实施方式)的结构的结构框图。
图12是表示在发生了优先中断的情况下的执行时间的测定示例的示意图。
图13是表示监视在发生了优先中断的情况下的执行时间的流程的流程图。
具体实施方式
下面,以将本发明应用在作为车载用电子设备的电动助力转向装置中为例来说明
本发明的实施方式。
首先,对本发明的第一实施方式进行说明。
电动助力转向装置(EPS)利用电动机的旋转力对车辆的转向机构施加转向辅助力
(辅助力),其将电动机的驱动力经由减速机构通过诸如齿轮或者传送带之类的传送机构,
向转向轴或齿条轴施加转向辅助力。然后,为了准确地产生转向辅助力的扭矩,这样的电动
助力转向装置进行电动机电流的反馈控制。
这样的反馈控制通过调整电动机外加电压以便使得转向辅助指令值(电流指令
值)与电动机电流检测值之间的差变小,电动机外加电压的调整一般通过调整PWM(脉冲宽
度调制)控制的占空比(duty)来进行。
如图1所示,对上述电动助力转向装置的一般结构进行说明。转向盘(方向盘)1的
柱轴(转向轴或方向盘轴)2经过作为减速机构3的减速齿轮、万向节4a和4b、齿轮齿条机构
5、转向横拉杆6a和6b,再通过轮毂单元7a和7b,与转向车轮8L和8R连接。另外,在柱轴2上设
有用于检测出转向盘1的转向扭矩的扭矩传感器10和用于检测出转向角θ的转向角传感器
14,对转向盘1的转向力进行辅助的电动机20通过作为减速机构3的减速齿轮与柱轴2连接。
并且,用于控制上述电动助力转向装置的控制单元(ECU)30被构成为以微控制单
元(MCU)31为基干部件。电池13对控制单元30进行供电,并且,经过点火开关11,点火信号被
输入到控制单元30中。
具有这样的结构的控制单元(ECU)30基于由扭矩传感器10检测出的转向扭矩Th和
由车速传感器12检测出的车速Vel,来进行作为辅助(转向辅助)指令的电流指令值的运算,
基于通过对电流指令值实施补偿等而得到的电压控制指令值Vref来控制供应给电动机20
的电流。此外,转向角传感器14不是必须的,也可以不设置转向角传感器14,或者,也可以从
被连接到电动机的诸如分解器之类的旋转位置传感器处获得转向角。
另外,用于收发车辆的各种信息的CAN(Controller Area Network,控制器局域网
络)50被连接到上述控制单元(ECU)30,车速Vel也能够从CAN50处获得。此外,用于收发
CAN50以外的通信、模拟/数字信号、电波等的非CAN51也可以被连接到控制单元(ECU)30。
上述这样的控制单元(ECU)30大致具有如图2所示那样的基本结构,其具备具有中
央处理单元(CPU)的上述微控制单元(MCU)31,并且还具备电动机驱动电路35、电动机电流
检测电路37、转向角检测电路39、电源的继电器33等。
并且,本实施方式的程序执行监视专用电路110被安装在上述这样的控制单元30
的MCU31中。图3示出了上述MCU31的概略结构,在MCU31的内部具备本实施方式的上述程序
执行监视专用电路110,并且还具备CPU130、ROM(包括EEPROM等)150、RAM170、包括接口等在
内的外围设备190等,这些通过数据总线、命令总线等被连接在一起。此外,在这里,由复数
个进程构成的电动助力转向装置的控制程序、控制数据等被存储在上述ROM150中,上述
CPU130通过执行上述控制程序来进行电动助力转向装置的控制,上述RAM170在上述CPU130
的运行中也可以被用作工作存储器。并且,在上述CPU130与本实施方式的上述程序执行监
视专用电路110之间传送有关寄存器、程序计数器、CPU状态等的信息。另外,来自上述程序
执行监视专用电路110的通向CPU130的中断指令的信号线被连接到CPU130,来自上述程序
执行监视专用电路110的通向外部端口的硬件(HW)警告的信号线被连接到外部端口。
此外,如图4所示,本实施方式的上述程序执行监视专用电路110具备执行顺序监
视比较电路113、执行时间监视计时器电路111、设定寄存器115和其他附属电路117。
具体而言,执行顺序监视比较电路113是一个这样的电路,其监视由上述控制程序
在CPU130执行的任务(处理)是否按顺序被进行,并且,还是一个这样的电路,其监视处理是
否在规定的进程下被执行以及之前(直前)的任务是否为合适的任务等。
还有,执行时间监视计时器电路111是一个这样的电路,其监视各个处理在经过针
对每个处理预先设定的一定的阈值以上的时间后是否还在被执行。
还有,设定寄存器115是一个这样的寄存器,其预先记录被用于上述程序执行监视
专用电路110的稼动的设定信息。例如,图5是上述MCU31内部的程序执行监视专用电路110
的有关某一个进程的寄存器设定示例。在图5中,设定了作为处理地址的复数个处理(例如,
处理1~处理n,这里n=10)的各个开头地址和上述各个处理(处理1~处理n,这里n=10)的
处理的执行时间阈值。另外,这里,进程是指构成控制程序的复数个控制流程,例如,包括基
于转向扭矩Th和车速Vel来计算出电流指令值的扭矩控制流程、基于电流指令值来驱动电
动机20的电流控制流程等。并且,各个进程基本上是周期性地执行复数个处理,针对每个进
程,这些处理的个数都不同。还有,如图6所示,程序通常进行的处理的种类、执行顺序以及
其执行时间阈值和程序进行代替处理时的处理的种类、执行顺序以及其执行时间阈值等设
定条件均被存储在上述设定寄存器115中。
另外,尽管进行图6的代替处理的场合的处理的执行时间阈值被设定为通常进行
的处理的执行时间阈值的一半,但代替处理的内容和该代替处理的执行时间阈值仅仅只是
一个示例,本发明并不限定于图6所示的这个示例。因此,根据情况既可以用一个代替处理
来补充复数个正常处理,也可以设定该代替处理的执行时间阈值不限定在通常进行的处理
的执行时间阈值的一半。
还有,在其他附属电路117上设有硬件(HW)计时器、计时计数器(タイマカウンタ)
和比较寄存器等,并且,如果有必要的话,在其他附属电路117上还可以设置中断处理以及
HW警告的发生电路和用于存储从CPU130读取的执行顺序和执行时间以及有无代替处理执
行等的运行记录寄存器等。
在具有上述结构的程序执行监视专用电路110中,按照下面的执行流程来进行上
述控制程序的执行监视和必要的代替处理。
基本上是这样进行执行顺序的监视的,即,通过上述程序执行监视专用电路110内
的执行顺序监视比较电路113来取得被预先登记在设定寄存器中的包括函数指示字表(関
数ポインタテーブル)等在内的复数个处理(处理1~处理n)的各个开头地址(处理地址)和
命令取出时的处理地址以及基于有关CPU内的程序计数器等的信息的有关当前正在执行哪
个处理的信息并对它们进行比较,以便进行执行顺序的监视。
也就是说,当CPU130执行任务的时候,从ROM150中读出命令码等并将其传送到
CPU130内的寄存器。因此,如图7所示,程序执行监视专用电路110从通向CPU130内的寄存器
或ROM150的存取信息等中读出被传送到CPU130的该寄存器的命令码的处理地址等(步骤
S1)。
然后,如图5所示,比较预先登记在程序执行监视专用电路110内的设定寄存器115
中的处理地址和上述读出的命令码的处理地址等,并把有关具有同样的处理地址的处理存
在于登记在设定寄存器115中的处理地址中的第几执行顺序(1~n)的信息作为运行记录信
息存储在运行记录寄存器中(步骤S2)。
接下来,从上述运行记录寄存器的运行记录信息中检测出有没有到上次为止的处
理的执行顺序的记录(步骤S3),如果没有到上次为止的处理的执行顺序的记录的话,则返
回到步骤S1;如果有到上次为止的处理的执行顺序的记录的话,则转移到下一个步骤S4。
在下一个步骤S4,从上述运行记录寄存器的运行记录信息中取出有关上次检测出
的处理为第几执行顺序的信息,在随后的步骤S5,判断这次检测出的处理的执行顺序是否
相当于上次检测出的处理的下一个执行顺序。
然后,在通过上述步骤S5被判断为这次检测出的处理的执行顺序相当于上次检测
出的处理的下一个执行顺序而且处理的顺序没有异常的情况下,返回到步骤S1。另一方面,
在通过上述步骤S5被判断为处理的顺序有异常的情况下,转移到进行HW警告的发生和代替
处理等的下一个步骤S6。
作为上述代替处理,例如,除了可以对CPU130进行中断并如图6所示基于当前的处
理的顺序进行相当于该顺序的正规的处理的代替处理之外,还可以根据进程的重要度等,
选择如将执行中的整个进程返回到初始状态后再次执行一连串的处理的处理、基于运行记
录信息等从发生异常之前的处理开始再次执行的处理等各种处理。另外,为了排除因同样
的处理多次发生异常而产生处理陷入无限循环的可能性,可以将异常信息的运行记录记录
在记录寄存器中,在多次检测出同一异常的情况下,限制执行顺序监视的次数,根据情况也
可以进行如跳过发生了故障的处理等代替处理。然后,在如上转移到代替处理并执行代替
处理后,再次转移到程序的执行顺序监视。
如上所述,尽管本实施方式的程序执行监视专用电路110内的执行顺序监视比较
电路113基于复数个处理(处理1~处理n)的各个开头地址(处理地址)来进行上述控制程序
的执行顺序的监视,但在本实施方式的程序的执行监视中,例如,也可以采用这样一种结构
和方法,其通过从上述CPU130的程序计数器中读取各个进程的执行顺序并与预先登记在程
序执行监视专用电路110内的设定寄存器中的处理地址进行比较,以便监视进程本身的选
择的妥当性等。
接下来,对在如上所述的本实施方式的程序执行监视专用电路110中进行上述控
制程序的执行时间的监视和代替处理的情况下的执行流程进行说明。
在本实施方式的程序执行监视专用电路110中,关于图5如已经说明的那样,构成
控制程序的各个进程被细分成各个处理,针对各个处理(处理1~处理n),用于执行时间监
视的执行时间阈值被设定后并被存储在设定寄存器115中。然后,如上述图6所示,针对上述
各个处理,代替处理被设定以便使其和上述各个处理成对,同样针对代替处理,执行时间阈
值也被设定后并被存储在设定寄存器115中。
图8是表示针对上述复数个处理n(处理n:其中,1≦n≦N),在该处理的执行时间没
有超过规定的执行时间阈值的情况下,也就是说,在由CPU130执行的处理的执行时间中没
有发生异常的情况下的测定示例和在该测定示例中的本实施方式的执行时间监视计时器
电路111的动作的示意图。
这里,横轴表示复数个处理的流程,图8也表示在设定一个进程的复数个处理的个
数为N的情况下,在下一个周期再转移到同样的处理的情况。另外,纵轴表示每个处理经过
的执行时间。因此,对各个处理来说,用实线表示的右上倾斜的斜线表示该处理的时间的经
过,同样,针对各个处理表示的点划线表示针对各个处理所设定的执行时间阈值。
如图8所示,在执行时间监视计时器电路111中,当开始进行各个处理n的时候,则
同时开始进行基于上述执行时间监视计时器电路111的执行时间的监视。另外,这里,通过
使用上述程序执行监视专用电路110内的计时器来进行上述执行时间的监视。还有,关于上
述时间测定,也可以通过相互转换程序执行监视专用电路110的计时器计数值(タイマカウ
ント値)和基于该计时器计数值的实时运算值并使用来进行。
然后,在上述执行时间监视计时器电路111中,测定上述执行时间的经过,同时,与
针对各个处理被预先设定的如图5和图6所记载的执行时间阈值进行比较,在上述各个处理
的经过时间(图8的右上倾斜的实线),即,执行时间到达针对各个处理被预先设定的上述执
行时间阈值(上述图8的横向方向的点划线)之前各个处理结束的情况下,停止基于上述执
行时间监视计时器电路111的执行时间的监视。
另外,在执行时间正常的情况下,与上述同样,重复构成一个进程的N个处理,然
后,转移到下一个进程或下一个周期的处理。还有,基于预先设定的信息,程序执行监视专
用电路110可以自动进行上述处理的全部。此外,在上述执行时间的监视中,也可以将如上
述各个处理的执行时间阈值等设定信息预先输入到设定寄存器115等中,根据需要可读取
并使用,还可以根据需要预先使上述程序执行监视专用电路110的硬件计时器与CPU的时钟
同步。
另一方面,尽管图9是与上述同样地被构成的图,但图9不同于上述图8的情况,图9
是表示在执行时间中发生了异常的情况下的测定示例和在该测定示例中的本实施方式的
执行时间监视计时器电路111的动作的示意图。
如图9所示,与图8所示的情况同样,在执行时间监视计时器电路111中,当开始进
行各个处理n的时侯,则同时开始进行基于上述执行时间监视计时器电路111的执行时间的
监视。
然后,在上述执行时间监视计时器电路111中,与上述同样,测定上述执行时间的
经过,同时,与针对各个处理被预先设定的执行时间阈值进行比较,监视上述各个处理的经
过时间(图9的右上倾斜的实线),即,执行时间是否到达针对各个处理被预先设定的执行时
间阈值(图9的横向方向的点划线)。
然后,例如,如图9的处理2所示,在上述处理的执行时间到达被预先设定的执行时
间阈值的情况下,通过程序执行监视专用电路110,作为在执行时间中发生了异常,中断被
通知到CPU130,进行中断处理。
上述中断处理为用代替处理来替换被判定为发生了上述异常的处理并执行代替
处理的处理。因此,例如,以图9的处理2为例的话,如图6所示,在处理2的处理执行时间到达
120[μs]并被判断为在执行时间中有异常的情况下,适当中断上述处理2,通过中断来进行
处理2的代替处理。另外,这里,中断处理本身为基于软件的处理。
然后,当上述代替处理结束并退出中断后,如图9所示,转移到下一个处理3,转移
到正常的监视状态。还有,在用代替处理来替换如上所述被进行了代替处理的处理之后,其
在下一个周期的处理中被执行。因此,例如,关于上述处理2,如图9所示,也可以在进程的下
一个执行周期,一开始就进行处理2的代替处理,可以基于如图6所示的针对代替处理而设
定的代替处理的执行时间阈值来进行基于程序执行监视专用电路110的执行时间的监视。
接下来,关于如图9所示的复数个处理中的一个处理(例如,处理N),参照图10来对
在该处理的执行时间超过规定的执行时间阈值的情况下,即,发生异常时的在执行时间监
视计时器电路111中的处理的流程进行说明。
像上述图9的场合等一样,在上述CPU130中的处理N的处理在由上述执行时间阈值
设定的时间内没有结束的情况下(在执行时间变得和执行时间阈值相等的情况下),因为上
述执行时间监视计时器电路111的计时器停止(タイマストップ)不被进行,所以发生超时(タ
イムアウト),中断处理被进行。
图10是表示这样的中断处理的流程的概要的流程图。
在上述中断处理中,首先进行中断禁止处理(步骤S20)。这是为了防止在基于根据
程序执行监视专用电路110的指令的中断动作中,另外又有别的中断被指示到CPU130,发生
多重中断。
然后,在进行上述中断禁止后,进行执行中的处理的检索处理(步骤S21)。
步骤S21是这样一个步骤,其从设定寄存器115等中读出有关进行了中断的处理为
例如图6所记载的处理中的第几个处理的信息,同时,也取得用于判断该处理是否不是代替
处理的信息。
然后,基于上述读取的信息,进行进行了中断的执行中的处理是否不是代替处理
的判定(步骤S22)。这是为了排除在上述执行中的处理为代替处理的情况下,因另外再进行
同样的代替处理而产生处理陷入无限循环的可能性。因此,在通过上述判定被判定为执行
中的处理为代替处理的情况下,作为异常结束,结束中断处理,把起动硬件警告等的信号输
出到外部端口(步骤S30)。另一方面,在通过上述判定被判定为执行中的处理不是代替处理
的情况下,转移到下一个步骤S23。
步骤S23是一个这样的处理,其重新安排如CPU130的命令码、函数执行表(関数実
行テーブル)等内容以便用代替处理来替换执行中的处理。因为上述代替处理如图6记载的
那样针对各个处理被预先设定,所以基于上述设定进行重新安排。
然后,步骤S24是一个这样的步骤,其进行程序执行监视专用电路110的设定寄存
器115等的再设定以便监视代替处理的执行时间和顺序。因此,这里,为了以后的参照,有关
执行中的处理的下一个处理的处理地址、代替处理的处理地址、代替处理的执行时间阈值
等的信息被记录在设定寄存器115等。
然后,当进行上述代替处理时,进行处理N的运算值的检验处理(步骤S25)。这是进
行进行了代替处理的处理N的运算值有没有异常的判断(步骤S26)。这个判断是通过基于上
述代替处理的处理N的运算值是否在预先设定的规定的阈值内来进行的。然后,在被判断为
上述处理N的运算值有异常的情况下,用默认值来替换上述处理N的运算值(步骤S27);在被
判断为上述处理N的运算值没有异常的情况下,转移到步骤S28。
然后,步骤S28把CPU130的程序计数器设定在处理N+1的开头,进行允许在步骤S20
被禁止的其他的中断的指示(步骤S29),结束基于上述程序执行监视专用电路110的中断。
在本实施方式中,通过如上所述那样进行执行时间的监视,在处理N的执行时间超
过规定的执行时间阈值的情况下,可以通过进行代替处理来继续进行控制而不停止程序的
执行。还有,在本实施方式中,因为通过被安装在MCU内部的程序执行监视专用电路来进行
上述程序的执行控制,所以上述程序执行监视专用电路可以基于来自命令总线的命令取出
地址和有关CPU内的程序计数器等的信息知道当前正在执行哪个处理,同时通过这样,当处
理1至处理N的开头地址和执行时间的上限阈值被预先登记在设定寄存器中的话,通过上述
程序执行监视专用电路内的计时器,可以大致自动测定执行时间。
接下来,对本发明的第二实施方式进行说明。
与第一实施方式相比,在第二实施方式中,如图11所示,用于构成程序执行监视专
用电路210的执行时间监视计时器电路211有变更,其他的结构没有变更,与第一实施方式
相同。
执行时间监视计时器电路211除了执行第一实施方式中的执行时间监视计时器电
路111执行的动作之外,在执行时间的监视中,当发生了在任务的执行时间的测定中异步发
生的优先级高的通用中断(优先中断)的处理(例如,A/D变换处理、CAN通信处理、计时器时
钟处理等)的时候,还可以执行在任务的执行时间中不包括这些处理的执行时间的动作。
以与图8同样的方式被构成的图12是表示在处理3的执行时间的测定中发生了如
上所述那样的优先中断的情况下的测定示例和在该测定示例中的本实施方式的执行时间
监视计时器电路211的动作的示意图。还有,图13是表示发生了优先中断之后的动作示例的
流程图。此外,下面,以有关处理3的动作为中心来进行说明。
当开始进行处理3的时侯,则也开始进行基于执行时间监视计时器电路211的执行
时间的监视。
在执行时间监视计时器电路211中,与图8的场合同样,测定上述执行时间的经过,
同时,与针对各个处理被预先设定的执行时间阈值进行比较。然后,在处理3的执行时间的
测定中发生了优先中断的话,则将在该时刻的计时器计数值保存在被设置在其他附属电路
117中的通用寄存器等中(步骤S10),停止计时器(步骤S11),执行时间的监视被中断。另外,
当停止计时器的时候,与停止同时,计时器计数值被清零。
优先中断的处理(步骤S12)结束之后,预设作为计时器的初始值的被保存在通用
寄存器等中的计时器计数值(步骤S13),重新开始执行时间的监视(步骤S14)。
通过如上所述那样的动作,处理3的经过时间如图12的右上倾斜的实线所示那样
发生变化,本经过时间,即,执行时间到达针对处理3被预先设定的执行时间阈值(图12的横
向方向的点划线)之前处理3结束的情况下,停止基于执行时间监视计时器电路211的执行
时间的监视。
因此,即使发生了优先中断,通过计时器计数值的保存和预设,也能够进行除去了
优先中断的时间的执行时间的测定。
此外,在使用与计时器的停止同时,计时器计数值没有被清零,在停止时刻的计时
器计数值就这样留下来的计时器的情况下,不需要计时器计数值的保存(步骤S10)以及预
设(步骤S13)。还有,在没有如上所述那样的预设功能的情况下,例如,也可以将从执行时间
阈值中减去被保存在通用寄存器等中的计时器计数值后得到的值作为新的执行时间阈值,
重新开始执行时间的监视。另外,也可以选择在任务的执行时间中是否包括优先中断处理
的执行时间,也就是说,也可以选择是否中断优先中断的期间中的任务的执行时间的监视。
例如,在能够在一定程度上预测优先中断发生的频度的情况下,尽管任务正常地被执行,但
通过不中断执行时间的测定,也能够检测出以大大地超过估计的频度发生中断的异常。
本发明的上述实施方式(第一实施方式以及第二实施方式)例示了本发明的两个
实施例,但本发明并不限定于这两个实施例。因此,只要不违背本发明的思想,可以用各种
不同的构成来实施本发明。
例如,关于执行时间的测定,在上述实施例中,尽管进行从处理N到处理N+1的执行
时间的测定,但是也有想要测定只有处理N的执行时间或者诸如处理N和处理N+2之类的不
连续的处理的执行时间的场合。在这种情况下,也可以在上述程序执行监视专用电路内的
寄存器中加上处理N的开始地址,再加上处理N的“结束地址”,当达到该“结束地址”之后,便
结束测定。
另外,为了测定中断处理内的执行时间,也可以采用这样一种构成,其根据正常处
理(周期处理)和中断处理来划分设定寄存器。
如上所述,根据本发明的车载用电子设备的控制装置和控制方法,可以监视如上
所述的车载用电子设备的控制程序的异常的执行状态,在检测出上述异常的状态的情况
下,通过进行代替处理,以便能够继续进行上述控制。
因此,例如,在将本发明的车载用电子设备的控制装置和控制方法应用在电动助
力转向装置的控制中的情况下,即使被判断为在该控制装置中发生了异常的情况下,也可
以继续进行转向辅助。
附图标记说明
1 转向盘(方向盘)
2 柱轴(转向轴或方向盘轴)
3 减速机构
4a、4b 万向节
5 齿轮齿条机构
6a、6b 转向横拉杆
7a、7b 轮毂单元
8L、8R 转向车轮
10 扭矩传感器
11 点火开关
12 车速传感器
13 电池
14 转向角传感器
20 电动机
30 控制单元(ECU)
31 微控制单元(MCU)
33 继电器
35 电动机驱动电路
37 电动机电流检测电路
39 转向角检测电路
110、210 程序执行监视专用电路
111、211 执行时间监视计时器电路
113 执行顺序监视比较电路
115 设定寄存器
117 其他附属电路
130 CPU
150 ROM
170 RAM
190 外围设备