JP2012069063A - P−run信号出力装置、組込制御装置 - Google Patents
P−run信号出力装置、組込制御装置 Download PDFInfo
- Publication number
- JP2012069063A JP2012069063A JP2010215475A JP2010215475A JP2012069063A JP 2012069063 A JP2012069063 A JP 2012069063A JP 2010215475 A JP2010215475 A JP 2010215475A JP 2010215475 A JP2010215475 A JP 2010215475A JP 2012069063 A JP2012069063 A JP 2012069063A
- Authority
- JP
- Japan
- Prior art keywords
- run signal
- program
- signal output
- embedded
- run
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】組込ソフトウェアが異常動作したときは確実にリセット信号を出力し、組込ソフトウェアが正常動作している間はリセット信号を不要に発生させないようにすることのできる技術を提供することを目的とする。
【解決手段】本発明に係るP−RUN信号出力装置は、優先度の異なる複数の組込プログラムの実行状態を監視し、システムクロックが示す時刻と各組込プログラムの前回実行時刻との差分が所定閾値を超えている場合は、P−RUN信号を出力しない。また、P−RUN信号を出力するか否かを判断してP−RUN信号を出力する処理を、組込プログラムのなかで最も優先度の高いもの以上の優先度で実行する。
【選択図】図4
【解決手段】本発明に係るP−RUN信号出力装置は、優先度の異なる複数の組込プログラムの実行状態を監視し、システムクロックが示す時刻と各組込プログラムの前回実行時刻との差分が所定閾値を超えている場合は、P−RUN信号を出力しない。また、P−RUN信号を出力するか否かを判断してP−RUN信号を出力する処理を、組込プログラムのなかで最も優先度の高いもの以上の優先度で実行する。
【選択図】図4
Description
本発明は、組込プログラムの動作状態を監視するために用いるP−RUN(Program RUNning)信号を出力する技術に関するものである。
自動車等に搭載されるECU(Electronic Control Unit)の組込ソフトウェアにおいて、外部要因(外来ノイズ)や内部要因(ソフトウェア不正処理、ソフトウェアバグなど)によるソフトウェア暴走(期待通りのソフトウェア動作とならない状態)を監視する技術として、WDT(Watch Dog Timer)を用いるものが知られている。
この技術では、組込ソフトウェアが暴走した時はWDTがリセット信号を出力し、ECUを自動復帰させる。P−RUN信号は、組込ソフトウェアが正常動作している間はWDTによるリセットを発生させないように、WDTを定期的に初期化する役割を果たす。
WDTとP−RUN信号を用いて組込ソフトウェアの動作を監視する技術では、WDTの内部でタイマ(あるいはカウンタ)を動作させておく。ソフトウェアが正常動作している間は、WDT内部のタイマが所定の上限値に達する前にP−RUN信号をWDTに対して出力し、WDTのタイマをクリアする。ソフトウェアに異常があってタイマがクリアされずに所定の上限値に達した場合、WDTはマイコンをリセットするなどのリカバリー処理を実行する。
ソフトウェアが正常動作している時は、P−RUN信号を一定周期でWDTに供給する。ソフトウェアが暴走している時は、P−RUN信号が停止または規定外の周波数となってWDTに供給される。WDTは、P−RUN信号が規定周波数で供給されていない状態となった場合、リセット信号を出力してECUを自動復帰させる。P−RUN判定回路は通常、マイコンとは別の回路に構成される。ただし、ハードウェアとしては同一IC(Integrated Circuit)上に実装される場合もある。
下記特許文献1には、割込処理と通常処理の双方について組込ソフトウェアの動作を監視する手法が記載されている。同文献では、P−RUN信号を出力する処理は通常処理内で実行される。また、P−RUN信号を出力すべきか否かを判断する処理は、割込処理内で実施している。
上記特許文献1に記載されている技術では、組込ソフトウェアが暴走したとき、またはハードウェアに異常が生じたときなどに、割込処理が実行されない場合がある。このとき通常処理内のみでP−RUN信号を出力するようにしていると、割込処理の異常を検出することができない可能性がある。
本発明は、上記のような課題を解決するためになされたものであり、組込ソフトウェアが異常動作したときは確実にリセット信号を出力し、組込ソフトウェアが正常動作している間はリセット信号を不要に発生させないようにすることのできる技術を提供することを目的とする。
本発明に係るP−RUN信号出力装置は、優先度の異なる複数の組込プログラムの実行状態を監視し、システムクロックが示す時刻と各組込プログラムの前回実行時刻との差分が所定閾値を超えている場合は、P−RUN信号を出力しない。また、P−RUN信号を出力するか否かを判断してP−RUN信号を出力する処理を、組込プログラムのなかで最も優先度の高いもの以上の優先度で実行する。
本発明に係るP−RUN信号出力装置は、システムクロックと組込プログラムの前回実行時刻との差分を所定閾値と比較してP−RUN信号を出力する処理を、最も高い優先度で実行する。これにより、通常処理および割込処理がどのようなタイミングで実行される場合でも、確実に異常動作を検出し、P−RUN信号を出力することができる。
<実施の形態1>
図1は、本発明の実施形態1に係る組込制御装置100の機能ブロック図である。組込制御装置100は、電子機器などの動作を制御する組込装置であり、マイクロコンピュータ110を備える。マイクロコンピュータ110はさらに、システムクロック111、CPU(Central Processing Unit)112、プログラム動作監視部113、WDT114を備える。
図1は、本発明の実施形態1に係る組込制御装置100の機能ブロック図である。組込制御装置100は、電子機器などの動作を制御する組込装置であり、マイクロコンピュータ110を備える。マイクロコンピュータ110はさらに、システムクロック111、CPU(Central Processing Unit)112、プログラム動作監視部113、WDT114を備える。
システムクロック111は、CPU112が組込プログラムを実行するタイミングの基準となる時刻を示すクロック信号を出力する。
CPU112は、システムクロック111が出力するクロック信号が示す時刻を基準として、組込プログラムを実行する。ここでいう組込プログラムは、組込制御装置100が電子機器などを制御する動作を記述した複数の制御プログラムであり、後述するように複数の優先度で実行される。
CPU112は、図示しないメモリに、後述する通常処理プログラム、10ms割込処理プログラム、2ms割込処理プログラムを保持しており、これらプログラムを実行することにより、電子機器の制御処理を実行する。
プログラム動作監視部113は、CPU112が実行する組込プログラムの実行状態を監視する。ここでいう監視とは、組込プログラムが所定のタイミングで正常に実行されているか否かを監視することをいう。プログラム動作監視部113は、組込プログラムが正常に実行されている間はP−RUN信号を所定間隔でWDT114に出力し、正常に実行されていない時間が所定時間以上継続したときはP−RUN信号の出力を停止する。
WDT114は、内部にタイマまたはカウンタを備え、P−RUN信号を受け取るごとにそのタイマまたはカウンタを初期化する。WDT114は、内部タイマまたはカウンタの値が所定上限値以上になると、RESET信号をCPU112に対して出力し、CPU112を初期化する。すなわち、組込プログラムが正常動作している間は継続的にP−RUN信号を受け取るのでRESET信号は発生せず、組込プログラムが正常動作していない状態が所定時間以上継続するとWDT114内部のタイマまたはカウンタが所定上限値に達してRESET信号が出力される。
プログラム動作監視部113は、その機能を実現する回路デバイスなどのハードウェアとして構成することもできるし、CPU112などの演算装置とその動作を規定するソフトウェアとして構成することもできる。
本実施形態1における「演算部」は、CPU112が相当する。「初期化処理部」は、WDT114が相当する。
以上、組込制御装置100の構成を説明した。次に、組込制御装置100の動作を説明する。なお、以下の説明では、記載の便宜上、各組込プログラムを動作主体として説明する場合があるが、実際にこれら組込プログラムを実行するのはCPU112であることを付言しておく。
図2は、CPU112が通常処理プログラムを実行する際のフローチャートである。ここでいう通常処理とは、割込処理以外の、比較的優先度の低い処理をさす。以下、図2の各ステップについて説明する。
(図2:ステップS200)
マイクロコンピュータ110に電源が投入されると、CPU112は動作を開始する。CPU112は、所定のタスク管理機構の制御手順にしたがって、通常処理を実行するための組込プログラム(通常処理プログラム)を起動することにより、本フローチャートを開始する。
(図2:ステップS200)
マイクロコンピュータ110に電源が投入されると、CPU112は動作を開始する。CPU112は、所定のタスク管理機構の制御手順にしたがって、通常処理を実行するための組込プログラム(通常処理プログラム)を起動することにより、本フローチャートを開始する。
(図2:ステップS201〜S202)
CPU112は、プログラム動作監視部113を初期化し、P−RUN信号の出力間隔を初期状態にリセットする(S201)。次にCPU112は、システムクロック111から取得する基準時刻の値を初期化する(S202)。
(図2:ステップS203)
CPU112は、通常処理プログラムを実行する時間間隔を取得するため、システムクロック111のクロック値を取得する。ここで取得したクロック値は、CPU112が備えるメモリ(図示せず)などに記憶しておく。
CPU112は、プログラム動作監視部113を初期化し、P−RUN信号の出力間隔を初期状態にリセットする(S201)。次にCPU112は、システムクロック111から取得する基準時刻の値を初期化する(S202)。
(図2:ステップS203)
CPU112は、通常処理プログラムを実行する時間間隔を取得するため、システムクロック111のクロック値を取得する。ここで取得したクロック値は、CPU112が備えるメモリ(図示せず)などに記憶しておく。
(図2:ステップS204)
CPU112は、通常処理プログラムの記述にしたがって、通常処理を実行する。後述する2ms割込処理または10ms割込処理を実行すべきタイミングではこれら割込処理を優先し、空き時間ができた時点で本ステップの通常処理を実行する。
(図2:ステップS205)
CPU112は、通常処理を終了する場合は本フローチャートを終了し、継続する場合はステップS203に戻って同様の処理を繰り返す。
CPU112は、通常処理プログラムの記述にしたがって、通常処理を実行する。後述する2ms割込処理または10ms割込処理を実行すべきタイミングではこれら割込処理を優先し、空き時間ができた時点で本ステップの通常処理を実行する。
(図2:ステップS205)
CPU112は、通常処理を終了する場合は本フローチャートを終了し、継続する場合はステップS203に戻って同様の処理を繰り返す。
図3は、CPU112が10ms割込処理プログラムを実行する際のフローチャートである。ここでいう10ms割込処理とは、CPU112が10ms毎に起動する割込処理のことをいう。CPU112は、通常処理よりも高い優先度で10ms割込処理を実行する。以下、図3の各ステップについて説明する。
(図3:ステップS300)
CPU112は、所定のタスク管理機構の制御手順にしたがって、10ms割込処理を実行するための組込プログラム(10ms割込処理プログラム)を10ms毎に起動することにより、本フローチャートを開始する。
(図3:ステップS300)
CPU112は、所定のタスク管理機構の制御手順にしたがって、10ms割込処理を実行するための組込プログラム(10ms割込処理プログラム)を10ms毎に起動することにより、本フローチャートを開始する。
(図3:ステップS301)
CPU112は、10ms割込処理プログラムを実行する時間間隔を取得するため、システムクロック111のクロック値を取得する。ここで取得したクロック値は、CPU112が備えるメモリなどに記憶しておく。
(図3:ステップS302)
CPU112は、10ms割込処理プログラムの記述にしたがって、10ms割込処理を実行する。後述する2ms割込処理を実行すべきタイミングではこれを優先し、空き時間ができた時点で本ステップの10ms割込処理を実行する。
CPU112は、10ms割込処理プログラムを実行する時間間隔を取得するため、システムクロック111のクロック値を取得する。ここで取得したクロック値は、CPU112が備えるメモリなどに記憶しておく。
(図3:ステップS302)
CPU112は、10ms割込処理プログラムの記述にしたがって、10ms割込処理を実行する。後述する2ms割込処理を実行すべきタイミングではこれを優先し、空き時間ができた時点で本ステップの10ms割込処理を実行する。
図4は、CPU112が2ms割込処理プログラムを実行する際のフローチャートである。ここでいう2ms割込処理とは、CPU112が2ms毎に起動する割込処理のことをいう。CPU112は、通常処理および10ms割込処理よりも高い優先度で2ms割込処理を実行する。以下、図4の各ステップについて説明する。
(図4:ステップS400)
CPU112は、所定のタスク管理機構の制御手順にしたがって、2ms割込処理を実行するための組込プログラム(2ms割込処理プログラム)を2ms毎に起動することにより、本フローチャートを開始する。
(図4:ステップS400)
CPU112は、所定のタスク管理機構の制御手順にしたがって、2ms割込処理を実行するための組込プログラム(2ms割込処理プログラム)を2ms毎に起動することにより、本フローチャートを開始する。
(図4:ステップS401)
CPU112は、プログラム動作監視部113に対し、通常処理の実行間隔が規定範囲に収まっているか否かを判定するように指示する。プログラム動作監視部113は、現在のシステムクロック111のクロック値と、ステップS203で取得した値との差分を求める。CPU112は、その差分と所定の閾値を比較することにより、通常処理を前回実行したときから経過した時間が同閾値を超えているか否かを判定する。前回実行時からの経過時間が閾値以内に収まっていればステップS402へ進み、超えていればステップS404へスキップする。
(図4:ステップS402)
CPU112は、プログラム動作監視部113に対し、10ms割込処理の実行間隔が規定範囲に収まっているか否かを判定するように指示する。プログラム動作監視部113は、現在のシステムクロック111のクロック値と、ステップS301で取得した値との差分を求める。CPU112は、その差分と所定の閾値を比較することにより、10ms処理を前回実行したときから経過した時間が同閾値を超えているか否かを判定する。前回実行時からの経過時間が閾値以内に収まっていればステップS403へ進み、超えていればステップS404へスキップする。
(図4:ステップS401〜402:補足)
これらのステップは、通常処理および10ms割込処理が所定の実行間隔で周期的に実行されているか否かを判断する意義を有する。これら処理が異常停止した場合、前回実行時からの経過時間が本来の実行周期よりも過大に長くなるため、プログラム動作監視部113はこれら処理が正常実行されていないことが分かる。
CPU112は、プログラム動作監視部113に対し、通常処理の実行間隔が規定範囲に収まっているか否かを判定するように指示する。プログラム動作監視部113は、現在のシステムクロック111のクロック値と、ステップS203で取得した値との差分を求める。CPU112は、その差分と所定の閾値を比較することにより、通常処理を前回実行したときから経過した時間が同閾値を超えているか否かを判定する。前回実行時からの経過時間が閾値以内に収まっていればステップS402へ進み、超えていればステップS404へスキップする。
(図4:ステップS402)
CPU112は、プログラム動作監視部113に対し、10ms割込処理の実行間隔が規定範囲に収まっているか否かを判定するように指示する。プログラム動作監視部113は、現在のシステムクロック111のクロック値と、ステップS301で取得した値との差分を求める。CPU112は、その差分と所定の閾値を比較することにより、10ms処理を前回実行したときから経過した時間が同閾値を超えているか否かを判定する。前回実行時からの経過時間が閾値以内に収まっていればステップS403へ進み、超えていればステップS404へスキップする。
(図4:ステップS401〜402:補足)
これらのステップは、通常処理および10ms割込処理が所定の実行間隔で周期的に実行されているか否かを判断する意義を有する。これら処理が異常停止した場合、前回実行時からの経過時間が本来の実行周期よりも過大に長くなるため、プログラム動作監視部113はこれら処理が正常実行されていないことが分かる。
(図4:ステップS403)
CPU112は、ステップS401〜S402の結果により、通常処理および10ms処理が正常実行されていることが分かるので、P−RUN信号を出力するようにプログラム動作監視部113へ指示する。プログラム動作監視部113は、WDT114に対してP−RUN信号を出力する。
(図4:ステップS404)
CPU112は、2ms割込処理プログラムの記述にしたがって、2ms割込処理を実行する。
CPU112は、ステップS401〜S402の結果により、通常処理および10ms処理が正常実行されていることが分かるので、P−RUN信号を出力するようにプログラム動作監視部113へ指示する。プログラム動作監視部113は、WDT114に対してP−RUN信号を出力する。
(図4:ステップS404)
CPU112は、2ms割込処理プログラムの記述にしたがって、2ms割込処理を実行する。
図5は、CPU112およびプログラム監視部113が実行する各処理の実行タイミングを示すタイミングチャートである。ここでは全ての処理が正常動作している場合の例を示す。以下、図5に示す各処理の実行タイミングについて説明する。
システムクロックは、継続的にクロック信号を出力する。クロック信号が示す時刻は、各プログラムを実行する際の基準時刻となる。無限にクロック値を増加させることはできないので、CPU112は適当なタイミングでシステムクロックを初期化し、クロック値を0に戻して改めて計時を開始させる。
通常処理は、10ms割込処理および2ms割込処理を実行していないタイミングで随時実行されるため、その実行タイミングは必ずしも規則的にはならない。CPU112はステップS203において、通常処理を実行するクロック値を取得する。通常処理を実行するタイミングは断続的であるため、通常処理の実行時刻も断続的な値となる。
10ms割込処理は10ms毎に実行されるため、正常に実行されていれば実行間隔は10ms前後の値となる。
プログラム動作監視部113は、2ms割込処理のなかで起動されるため、プログラム監視部113が各組込プログラムの実行状態を監視し、ステップS403でP−RUNを出力するのは、略2ms毎となる。なお図5では、信号が反転する毎にP−RUN信号を出力しているものとして表記した。以下の図6〜図7でも同様である。
図6は、10ms割込処理が異常停止している場合の各処理の実行タイミングを示すタイミングチャートである。図5と異なり、10ms割込処理が動作していないので、ステップS301で10ms毎に更新されているはずの値が一定値のままとなっている。
プログラム動作監視部113は、ステップS301で更新されているべき、10ms割込処理の前回実行時刻と、システムクロック値との差分を、2ms割込処理のなかで求める(S402)。10ms割込処理が異常停止している場合、前回実行時刻とシステムクロック値の差分は、10msを超える。そのためプログラム動作監視部113は、10ms割込処理が正常動作していないことを検出することができる。
なお、どの時点で10ms割込処理が正常動作していないと判断するかについては、ある程度の余裕を持たせることができる。例えば図6において、前回実行時刻とシステムクロック値の差分が10msに達した時点で即座に異常であると判断するのではなく、さらに数ms経過した時点で異常であると判断している。これは、10ms割込処理が他のより優先度の高い割込処理などのために所定の実行タイミングよりもやや遅れて実行される場合があるからである。
この判断余裕は、ステップS401〜S402における閾値の値を、各組込プログラムの実行間隔(10ms割込処理であれば10ms)よりも大きい値に設定することにより、設けることができる。
図7は、特許文献1におけるP−RUN信号出力処理の実行タイミングを示すタイミングチャートである。ここでは図6と同様に、10ms割込処理が異常停止している例を示した。特許文献1では、以下の手順でP−RUN信号を出力する。
図7における黒色の矩形は、通常処理を実行している期間を示している。CPUは、通常処理を開始した後のあるタイミングで、P−RUN信号を出力してよいか否かを、所定の許可フラグ値に基づき判断する。図7に示す例では、黒色矩形の最初の方のタイミングで、許可フラグ値を照会している。
一方、2msタスクが実行される毎に、P−RUN信号出力許可フラグがONになり、通常処理内でP−RUN信号を出力する毎に同フラグが再びOFFになる。すなわち、特許文献1では、2msタスクが正常に実行されている限り、P−RUN信号を出力してよい旨のフラグがONになるものの、そのフラグをOFFにするのは実際にP−RUN信号を出力するとき、すなわち通常処理を実行するタイミングとなる。
そのため、特許文献1では、通常処理を実行するタイミングによっては、許可フラグをOFFにするタイミングが訪れず、同フラグをONにしたままの状態が長時間継続する可能性がある。したがって、10ms割込処理が正常に実行されていない場合でも、許可フラグがONのままであるため、P−RUN信号が出力され続け、CPUをリセットできないことになる。
これに対し本実施形態1では、P−RUN信号を出力すべきか否かを判断する処理(すなわちステップS401〜S402)と、実際にP−RUN信号を出力する処理(ステップS403)を、ともに優先度が最も高い2ms割込処理内で実行している。これにより、各処理が正常実行されているときは、確実にP−RUN信号を出力することができ、組込制御装置100およびその制御対象の安全性を高めることができる。
<実施の形態1:まとめ>
以上のように、本実施形態1に係る組込制御装置100は、P−RUN信号を出力すべきか否かを判断する処理と、実際にP−RUN信号を出力する処理を、各処理のなかで最も高い優先度で実行する。これにより、各処理が正常実行されているときは、確実にP−RUN信号を出力することができる。
以上のように、本実施形態1に係る組込制御装置100は、P−RUN信号を出力すべきか否かを判断する処理と、実際にP−RUN信号を出力する処理を、各処理のなかで最も高い優先度で実行する。これにより、各処理が正常実行されているときは、確実にP−RUN信号を出力することができる。
また、本実施形態1に係る組込制御装置100は、システムクロック値と各組込プログラムの前回実行時刻との差分が規定範囲内に収まっているか否かを判断する際に、各組込プログラムの実行間隔よりも余裕をもたせて同判断を行うことができる。これにより、何らかの要因によって各組込プログラムの実行タイミングが遅れているような場合でも、CPU112を不要にリセットさせることなく制御動作を継続することができる。
また、本実施形態1において、プログラム動作監視部113は、全ての組込プログラムの動作を監視することを前提としたが、一部の組込プログラムの動作のみを監視するようにしてもよい。例えば、重要度の低い組込プログラムについては監視しないこととし、演算負荷を抑えることもできる。
また、本実施形態1において、WDT114はCPU112をリセットすることとしたが、リセットする対象はマイクロコンピュータ110全体でもよい。リセットを実行する処理そのものは、CPU112が実行してもよいし、その他のリセット回路などの機能部が実行してもよい。
<実施の形態2>
図8は、本発明の実施形態2に係る組込制御装置100の機能ブロック図である。本実施形態2では、プログラム動作監視部113はソフトウェアプログラムとして構成されている。CPU112は、プログラム動作監視部113を実行することにより、実施形態1と同様の処理を実行する。
図8は、本発明の実施形態2に係る組込制御装置100の機能ブロック図である。本実施形態2では、プログラム動作監視部113はソフトウェアプログラムとして構成されている。CPU112は、プログラム動作監視部113を実行することにより、実施形態1と同様の処理を実行する。
具体的には、2ms割込処理から呼び出すことのできるプログラムモジュールとしてプログラム動作監視部113を構成することもできるし、2ms割込処理プログラムの一部としてプログラム動作監視部113に相当する処理を記述することもできる。
本実施形態2では、プログラム動作監視部113に相当する回路デバイスなどのハードウェアを組込制御装置100内に設ける必要がなくなるので、ハードウェアのコストや専有面積の観点で有利である。
<実施の形態3>
本発明の実施形態3では、WDTの構成に関する種々の構成例を説明する。組込プログラムの動作監視に関する構成および動作は実施形態1〜2と同様であるため、以下では差異点を中心に説明する。
本発明の実施形態3では、WDTの構成に関する種々の構成例を説明する。組込プログラムの動作監視に関する構成および動作は実施形態1〜2と同様であるため、以下では差異点を中心に説明する。
図9は、WDT114をマイクロコンピュータ110から切り離し、電源IC一体型WDT115を代わりに用いた構成例を示す図である。電源IC一体型WDT115の動作はWDT114と同様である。
図10は、WDT114をマイクロコンピュータ110から切り離し、WDT専用IC116を代わりに用いた構成例を示す図である。WDT専用IC116の動作はWDT114と同様である。
図11は、WDT114と併用して、電源IC一体型WDT115をマイクロコンピュータ110の外部に設けた構成例を示す図である。本構成例では、プログラム監視部113はP−RUN信号をWDT114と電源IC一体型WDT115の双方に出力する。WDT114と電源IC一体型WDT115は、リセット信号をCPU112に対して出力する。両者が出力するリセット信号は結合されているので、いずれかのリセット信号がCPU112に届いた時点で、CPU112はリセットされる。
一般に、組込制御装置100を起動するとき、WDTが正常に動作するか否かをテストするため、いったんWDTのリセット処理を稼動させた後、CPU112等の初期化処理を開始する。そのため、その分だけ起動時間が長くなる傾向にある。
一方、図11に示す構成例によれば、同様の動作を実行するWDTが2つあるため、いずれかが動作していればCPU112をリセットする役割を果たすことができる。2つのWDTが同時に故障することは稀であるため、図11の構成例の下ではWDTが動作するか否かをテストする必要はない。したがって、組込制御装置100の起動時間を短縮することができる。
100:組込制御装置、110:マイクロコンピュータ、111:システムクロック、112:CPU、113:プログラム動作監視部、114:WDT、115:電源IC一体型WDT、116:WDT専用IC。
Claims (6)
- 組込プログラムが動作している旨を通知するP−RUN信号を出力する装置であって、
前記組込プログラムを実行する演算部と、
前記組込プログラムの動作を監視するプログラム動作監視部と、
前記組込プログラムを実行するタイミングの基準となるクロック信号を取得するクロック信号取得部と、
を備え、
前記プログラム動作監視部は、
実行優先度の異なる複数の前記組込プログラムのうち少なくともいずれかについて、前回実行時刻を取得するステップと、
前記クロック信号が示す時刻と前記組込プログラムの前回実行時刻との差分を求めるステップと、
前記差分が所定閾値を超えている場合は前記P−RUN信号を出力せず、前記差分が前記所定閾値を超えていない場合は前記P−RUN信号を出力する、P−RUN信号出力ステップと、
を有するP−RUN信号出力処理を、複数の前記組込プログラムのなかで最も優先度が高いもの以上の優先度で実行する
ことを特徴とするP−RUN信号出力装置。 - 前記プログラム動作監視部は、
前記組込プログラムの実行間隔よりも長い前記所定閾値を用いて、前記P−RUN信号出力ステップを実行する
ことを特徴とする請求項1記載のP−RUN信号出力装置。 - 前記プログラム動作監視部は、
前記P−RUN信号出力処理を記述したP−RUN信号出力プログラムを用いて構成されており、
前記演算部は、
前記P−RUN信号出力プログラムを、複数の前記組込プログラムのなかで最も優先度が高いもの以上の優先度で実行する
ことを特徴とする請求項1または2記載のP−RUN信号出力装置。 - 前記P−RUN信号出力プログラムは、複数の前記組込プログラムのなかで最も優先度が高いものの一部として構成されている
ことを特徴とする請求項3記載のP−RUN信号出力装置。 - 前記プログラム動作監視部は、
複数の前記組込プログラムの全てについて、前記P−RUN信号出力処理を実行する
ことを特徴とする請求項1から4のいずれか1項記載のP−RUN信号出力装置。 - 請求項1から5のいずれか1項記載のP−RUN信号出力装置と、
前記クロック信号を出力するシステムクロックと、
前記P−RUN信号出力装置が前記P−RUN信号を所定時間以上出力しなかったとき前記P−RUN信号出力装置を初期化する初期化処理部と、
を備えたことを特徴とする組込制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010215475A JP2012069063A (ja) | 2010-09-27 | 2010-09-27 | P−run信号出力装置、組込制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010215475A JP2012069063A (ja) | 2010-09-27 | 2010-09-27 | P−run信号出力装置、組込制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012069063A true JP2012069063A (ja) | 2012-04-05 |
Family
ID=46166215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010215475A Pending JP2012069063A (ja) | 2010-09-27 | 2010-09-27 | P−run信号出力装置、組込制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012069063A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10264955B2 (en) | 2015-04-02 | 2019-04-23 | Fujifilm Corporation | Processor device and method for operating same, and endoscopic system and method for operating same |
-
2010
- 2010-09-27 JP JP2010215475A patent/JP2012069063A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10264955B2 (en) | 2015-04-02 | 2019-04-23 | Fujifilm Corporation | Processor device and method for operating same, and endoscopic system and method for operating same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9779559B2 (en) | Circuit for monitoring abnormality of ECU | |
CN105373455B (zh) | 处理器系统,发动机控制系统和控制方法 | |
JP5739290B2 (ja) | 電子制御装置 | |
US20100306602A1 (en) | Semiconductor device and abnormality detecting method | |
US8954801B2 (en) | Microcomputer and method of operation thereof | |
JP5476238B2 (ja) | 半導体装置 | |
US7428660B2 (en) | Starting control method, duplex platform system, and information processor | |
JP2011002993A (ja) | ウォッチドックタイマ監視装置、ウォッチドックタイマ監視方法 | |
JP2003248598A (ja) | マイクロコントローラ及びマイクロコントローラの故障検出方法 | |
JP2008225929A (ja) | 情報処理装置 | |
JP2013143093A (ja) | 情報処理装置、情報処理システム | |
US7872505B2 (en) | Semiconductor apparatus and anomaly detection method of the same | |
CN115904793B (zh) | 一种基于多核异构系统的内存转存方法、系统及芯片 | |
JP2008040698A (ja) | プログラマブルコントローラの異常監視方式 | |
JP5517301B2 (ja) | データ処理システム | |
JP2012069063A (ja) | P−run信号出力装置、組込制御装置 | |
JP2012230637A (ja) | プログラム群 | |
JP2009151440A (ja) | プログラムハング検出方法及びそれを適用したコンピュータ装置 | |
JP2007525760A (ja) | 欠陥クロックを検出するための電子回路装置 | |
US10514970B2 (en) | Method of ensuring operation of calculator | |
JP2009003663A (ja) | 電源制御装置 | |
KR101300806B1 (ko) | 다중 프로세스 시스템에서 오동작 처리 장치 및 방법 | |
JP2002041493A (ja) | マイクロコンピュータ | |
JP2019191942A (ja) | 制御装置および機能検査方法 | |
JP2016203764A (ja) | 車両の電子制御装置 |