JP2020067685A - コンピュータシステム - Google Patents

コンピュータシステム Download PDF

Info

Publication number
JP2020067685A
JP2020067685A JP2018198214A JP2018198214A JP2020067685A JP 2020067685 A JP2020067685 A JP 2020067685A JP 2018198214 A JP2018198214 A JP 2018198214A JP 2018198214 A JP2018198214 A JP 2018198214A JP 2020067685 A JP2020067685 A JP 2020067685A
Authority
JP
Japan
Prior art keywords
cpu
confirmation signal
computer
main cpu
sub
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
Application number
JP2018198214A
Other languages
English (en)
Inventor
上田 隆司
Takashi Ueda
隆司 上田
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2018198214A priority Critical patent/JP2020067685A/ja
Publication of JP2020067685A publication Critical patent/JP2020067685A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Retry When Errors Occur (AREA)
  • Debugging And Monitoring (AREA)
  • Microcomputers (AREA)

Abstract

【課題】本明細書は、複数のCPUを監視するのに適したコンピュータシステムを提供する。【解決手段】本明細書が開示するコンピュータシステム2は、メインCPUと複数のサブCPUを備えている第1コンピュータと、メインCPUに接続されている監視CPUを備えている第2コンピュータを備えている。メインCPUは、全てのサブCPUが正常に動作している間は予め定められたパルス幅の確認信号を周期的に第2コンピュータへ送信する。メインCPUは、いずれかのサブCPUの異常を検知した場合、異常が検知されたサブCPUに応じて確認信号のパルス幅を変更する。【選択図】図1

Description

本明細書が開示する技術は、第1コンピュータと第2コンピュータが通信可能に接続されているコンピュータシステムに関する。
コンピュータのCPU(Central Processing Unit:中央演算装置)の異常を検知する方法としてウォッチドッグタイマ方式が知られている。監視する側のコンピュータのCPU(監視CPU)は、ウォッチドッグタイマと呼ばれるタイマを備えている。監視される側のコンピュータのCPU(管理下CPU)は、周期的にウォッチドッグタイマクリア信号(WDC信号)を監視CPUへ送信する。WDC信号を受信した監視CPUはウォッチドッグタイマをゼロクリアする。管理下CPUで異常が発生すると、WDC信号が途切れる。監視CPUは、ウォッチドッグタイマが所定の値までカウントアップすると管理下CPUで異常が発生したと判断し、リセット信号を管理下CPUへ送信する。
1個の監視CPUが複数の管理下CPUを監視することができる技術が特許文献1に開示されている。特許文献1に開示されたコンピュータシステムでは、複数の管理下CPUのそれぞれがWDC信号を時分割して出力する。複数の管理下CPUの時分割されたWDC信号を合成した一つのWDC信号が監視CPUに送信される。いずれかの管理下CPUで異常が発生した場合、その管理下CPUが受け持つ期間はWDC信号が途切れ、ウォッチドッグタイマがカウントアップし、監視CPUからリセット信号が出力される。
特開2009−53952号公報
特許文献1の技術は、複数の管理下CPUを時分割して監視することにほかならず、特定の管理下CPUを監視している間は、別の管理下CPUを監視できない。また、管理下CPUの数が増えると、全部の管理下CPUを監視するのに要する時間が増えてしまう。本明細書は、複数のCPUを監視するのに適したコンピュータシステムを提供する。
本明細書が開示するコンピュータシステムは、第1コンピュータと第2コンピュータを備えている。第1コンピュータは、メインCPUと、複数のサブCPUを備えている。第2コンピュータは、第1コンピュータのメインCPUに通信可能に接続されている監視CPUを備えている。第1コンピュータのメインCPUとサブCPUが上述した管理下CPUに対応し、第2コンピュータの監視CPUが、管理下CPUを監視する監視CPUに対応する。
メインCPUは、全てのサブCPUが正常に動作している間は予め定められたパルス幅の確認信号を周期的に監視CPUへ送信する。メインCPUは、いずれかのサブCPUの異常を検知した場合、異常が検知されたサブCPUに応じて確認信号のパルス幅を変更する。監視CPUは、確認信号のパルス幅をチェックすることで、どのサブCPUで異常が生じたかを判別することができる。パルス幅が可変である確認信号が、従来のWDC信号にかわる信号である。
メインCPUによる複数のサブCPUの監視の一例は次の通りである。第1コンピュータは、それぞれのサブCPUに対応したカウンタを備えている。それぞれのサブCPUは、所定の周期で自身に対応するカウンタのカウンタ値を変更する。メインCPUは、それぞれのカウンタのカウンタ値を確認し、サブCPUのカウンタ更新周期が経過してもカウンタ値が変更されていない場合は、そのカウンタに対応するサブCPUで異常が発生したと判断する。
上記したコンピュータシステムは、異常が生じたサブCPUに応じて、リセット信号を送信するタイミングを異ならしめることができる。例えば、重要なサブCPUで異常発生が検知された場合は直ちにリセット信号を第1コンピュータへ送信し、重要性の比較的に低いサブCPUでの異常発生の場合は、一定時間待ってからリセット信号を第1コンピュータへ送ってもよい。重要性の低いサブCPUの場合は、ほかのデバイスのリセット処理などを実行してから、第1コンピュータをリセットするように構成してもよい。すなわち、監視CPUは、確認信号のパルス幅の変化を検知した場合に、変更されたパルス幅に応じた待ち時間の後にリセット信号を第1コンピュータへ送信するように構成してもよい。
なお、第1コンピュータは、それぞれのCPUがリセット端子を備えている場合には、異常が検知されたサブCPUのリセット端子へリセット信号を送信するように構成されていてもよい。あるいは、第1コンピュータが一つのリセット端子のみを備えている場合は、異常が検知されたサブCPUに関わらずに、単一のリセット端子へリセット信号を送信すればよい。
メインCPUで異常が発生した場合は、確認信号そのものが途絶える(確認信号はHIGHレベルかLOWレベルのいずれかに固定される)。そこで、監視CPUは、メインCPUからの確認信号が途絶えたときには直ちにリセット信号を第1コンピュータ(メインCPU)へ送信するようにしてもよい。メインCPUで異常が発生した場合は全てのサブCPUの監視が行えなくなるので、直ちにリセットすることが好ましいからである。
本明細書が開示する技術の詳細とさらなる改良は以下の「発明を実施するための形態」にて説明する。
実施例のコンピュータシステムのブロック図である。 確認信号の例を示す信号タイムチャートである。 サブCPUが実行する処理のフローチャートである。 メインCPUが実行する確認信号出力処理のフローチャートである。 監視CPUが実行する監視処理のフローチャートである。
図面を参照して実施例のコンピュータシステム2を説明する。図1に、コンピュータシステム2のブロック図を示す。実施例のコンピュータシステム2は、第1コンピュータ3と第2コンピュータ4が信号線41で相互に通信可能に接続されているシステムである。第1コンピュータ3と第2コンピュータ4は、機械を制御するコントローラであってよい。
第1コンピュータ3は、マルチコアコンピュータであり、複数のCPU(メインCPU10と、第1サブCPU20a、第2サブCPU20b)を含んでいる。第1コンピュータ3のメインCPU10とサブCPU20a、20bは、第2コンピュータ4の監視CPU30によって、異常が生じてないか監視される。より具体的には、第1コンピュータ3のメインCPU10が、複数のサブCPU20a、20bで異常が生じてないか監視し、その結果(異常発生の有無)を、確認信号によって監視CPU30へ通知する。
第1コンピュータ3は、クロック発生器14も備えている。クロック発生器14は、割り込みによりメインCPU10の定周期タイミング生成処理13を起動する。定周期タイミング生成処理13では、予め定められた周期でメインCPU10の確認信号出力処理11と、第1サブCPU20aの定周期処理21を起動する。図示は省略されているが、定周期タイミング生成処理13は、第2サブCPU20bの定周期処理も起動する。
メインCPU10とサブCPU20a、20bは、内部バス42(コンピュータ内部の信号線)で相互に通信可能に接続されており、定周期タイミング生成処理13が生成する所定の処理の起動信号も、内部バス42を介してサブCPU20a、20bに送信される。また、各CPUの定周期処理21は、複数のサブCPUのそれぞれに固有の機能を実現する処理である。例えば、コンピュータシステム2が電気自動車のコントローラに適用されており、第1コンピュータが2個のモータを制御するコントローラである場合、第1サブCPU20aには第1モータを制御するための固有の定周期処理が実装されており、第2サブCPU20bには第2モータを制御するための固有の定周期処理が実装される。
第1サブCPU20aの定周期処理21には、パルス信号出力処理22が含まれる。定周期処理21が起動され、所定の処理が実行された後、パルス信号出力処理22により、メインCPU10へパルス信号が送信される。第1サブCPU20aが送信するパルス信号は、メインCPU10が備える第1カウンタ12aのカウンタ値を+1だけ増加させる。メインCPU10は、第2サブCPU20b用に第2カウンタ12bも備えている。すなわち、メインCPU10は、複数のサブCPU20a、20bのそれぞれに対応したカウンタを備えている。
第1サブCPU20aと第2サブCPU20bは、それぞれ、一定の周期で対応するカウンタのカウンタ値を1ずつ増加させる。いずれかのサブCPUが暴走すると(あるいは停止すると)、カウンタ値が更新されなくなる。メインCPU10は、確認信号出力処理11において、各カウンタのカウンタ値を確認する。サブCPUの定周期処理の周期に相当する時間が経過してもカウンタ値が変化しない場合、メインCPU10は、そのカウンタ値に対応するサブCPUで異常が生じたと判断する。メインCPU10は、異常が検知されない間は、確認信号出力処理によって所定のパルス幅の確認信号を第2コンピュータ4の監視CPU30へ送信する。メインCPU10は、いずれかのサブCPUでの異常発生を検知した場合、正常時とは異なるパルス幅の確認信号を監視CPU30へ送信する。監視CPU30は、確認信号のパルス幅をチェックすることで、第1コンピュータ3で異常が発生しているサブCPUを特定することができる。
第2コンピュータ4の監視CPU30は、受信した確認信号のパルス幅を計測して記憶する計測部31と、計測部31に保持されたパルス幅を使って第1コンピュータ3の複数のCPU(メインCPU10、サブCPU20a、20b)を監視する監視処理32を備えている。計測部31は回路で構成されており、監視処理32は、プログラムで実現される。監視処理32にて、上述した確認信号のパルス幅のチェックが行われる。監視処理32では、第1コンピュータ3のいずれかのCPUで異常が発生した場合、異常が発生したCPUを特定し、そのCPUに応じた処理を実行する。具体的には、監視CPU30は、異常が発生したCPUに対応した待ち時間の後に、リセット信号を第1コンピュータ3へ送信する。確認信号とリセット信号は、第1コンピュータ3と第2コンピュータ4を接続している信号線41を介して授受される。
図2に、第1コンピュータ3のメインCPU10から第2コンピュータ4の監視CPU30に送られる確認信号の例のタイムチャートを示す。確認信号は、HIGHレベルとLOWレベルの電圧が交互に現れる信号である。メインCPU10は、一定周期(周期T1)で、パルス幅PW0の確認信号を監視CPU30へ送信する。図2(A)は、全てのサブCPUが正常に動作しているときの確認信号のタイムチャートである。異常が検知されていない間、メインCPU10は、パルス幅PW0の確認信号を監視CPU30へ送信する。なお、パルス幅PW0は、確認信号の周期T1の半分の長さに相当する。図2の時刻t1、t2、t3、t4は、確認信号の各パルスの先頭の時刻である。
メインCPU10は、複数のサブCPU20a、20bで異常が発生しているか否かを監視するが、メインCPU10自体も異常を起こし得る。メインCPU10で異常が生じた場合の確認信号のタイムチャート例を図2(B)、(C)に示す。図2(B)は、時刻t21でメインCPU10に異常が生じたときの確認信号のタイムチャートであり、図2(C)は、時刻t22でメインCPUに異常が生じたときの確認信号のタイムチャートである。メインCPU10の処理は後に詳しく説明するが、メインCPUは、一定周期(パルス幅PW0に相当する(T1/2)の時間周期)で確認信号出力処理を実行する。確認信号出力処理では、メインCPU10は、(T1/2)周期で確認信号のHIGHレベルとLOWレベルを反転する。確認信号がHIGHレベルに保持されている時刻t21においてメインCPU10で異常が発生した場合、時刻t21以降、メインCPU10は確認信号を反転することができない。それゆえ、時刻t21以降、確認信号はHIGHレベルに保持され続けることになる。一方、確認信号がLOWレベルに保持されている時刻t22においてメインCPU10で異常が発生した場合、時刻t22以降、メインCPU10は確認信号を反転することができない。それゆえ、時刻t22以降、確認信号はLOWレベルに保持され続けることになる。第2コンピュータ4の監視CPU30は、確認信号の周期T1を超えて確認信号がHIGHレベルあるいはLOWレベルに保持された場合、メインCPU10で異常が発生したと判断することができる。確認信号が周期T1を超えてHIGHレベルあるいはLOWレベルに保持されることは、確認信号が途絶えたことに他ならない。したがって、別言すれば、監視CPU30は、確認信号が途絶えた場合、メインCPU10で異常が発生したと判断することができる。
図2(D)は、第1サブCPU20aの異常が検知された場合の確認信号のタイムチャートであり、図2(E)は、第2サブCPU20bの異常が検知された場合の確認信号のタイムチャートである。メインCPU10は、いずれかのサブCPUの異常を検知した場合、異常が検知された前記サブCPUに応じて確認信号のパルス幅を変更する。具体的には、メインCPU10は、第1サブCPU20aでの異常発生を検知した場合、確認信号のパルス幅を、正常時のパルス幅PW0とは異なるパルス幅PW1(PW1<PW0)に変更する(図2(D))。また、メインCPU10は、第2サブCPU20bでの異常発生を検知した場合、確認信号のパルス幅を、正常時のパルス幅PW0、及び、サブCPU20aの異常発生に対応するパルス幅PW1とは異なるパルス幅PW2(PW1<PW2<PW0)に変更する(図2(E))。
なお、メインCPU10は、第1サブCPU20aの異常を検知したのが時刻t21であっても時刻t22であっても、確認信号の周期の先頭である時刻t3にパルス幅PW1の確認信号を出力する(図2(C))。同様に、メインCPU10は、第2サブCPU20bの異常を検知したのが時刻t21であっても時刻t22であっても、確認信号の周期の先頭である時刻t3にパルス幅PW2の確認信号を出力する。なお、メインCPU10は、監視CPUからリセット信号を受信し、CPUリセット処理を行うまで、異常を生じたサブCPUに対応したパルス幅の確認信号を周期T1で出力し続ける。
図3に、第1サブCPU20aが定期的に実行する定周期処理21のフローチャートを示す。先に述べたように、定周期処理21は、メインCPU10の定周期タイミング生成処理13から送られてくる信号で起動される。第1サブCPU20aは、まず、自身に割り当てられている固有の処理を実行する(ステップS2)。固有の処理とは、例えば、先に述べた第1モータを制御する処理である。定周期で実行すべき固有の処理を終了したら、第1サブCPU20aは、メインCPU10が有している第1カウンタ12aのカウンタ値を増加させるパルス信号を出力する(ステップS3)。そして。定周期処理を終了する。カウンタ値を増加させるパルス信号が出力されると、第1カウンタ12aのカウンタ値が「1」だけ増加する。第2サブCPU20bも、図2のフローチャートの処理と同様の処理を実行する。すなわち、第2サブCPU20bは、自身に割り当てられた固有の処理を実行した後、メインCPU10の第2カウンタ12bのカウンタ値を1だけ増加させるパルス信号を出力する。サブCPU20a、20bが正常に動作していれば、それぞれの周期毎に、対応するカウンタ12a、12bのカウンタ値が1ずつ増加する。
図4に、メインCPU10が実行する確認信号出力処理のフローチャートを示す。確認信号出力処理は、確認信号の周期T1の半分の時間(T1/2)の周期で起動される。メインCPU10は、サブCPU20a、20bのそれぞれに対応したカウンタ12a、12bのカウンタ値を読み込む(ステップS12)。次に、メインCPU10は、第1サブCPU20aに対応している第1カウンタ12aのカウンタ値が前回から変化したか否かを確認する(ステップS13)。第1カウンタ12aのカウンタ値が前回から変化していた場合(ステップS13:YES)、メインCPU10は、第1サブCPU20aが正常に動作していると判断する。次にメインCPU10は、第2サブCPU20bに対応している第2カウンタ12bのカウンタ値が前回から変化したか否かを確認する(ステップS14)。第2カウンタ12bのカウンタ値が前回から変化していた場合(ステップS14:YES)、メインCPU10は、第2サブCPU20bも正常に動作していると判断する。その場合、メインCPU10は、確認信号のレベルを反転する(ステップS15)。
先に述べたように、確認信号出力処理は、周期(T1/2)で起動される。全てのサブCPUが正常の場合、周期(T1/2)で確認信号のレベルが反転する。すなわち、パルス幅PW0が(T1/2)の確認信号が周期T1で出力されることになる。
ステップS13にて、第1カウンタ12aのカウンタ値が変化していなかった場合、メインCPU10は、第1サブCPU20aにて異常が発生していると判断する(ステップS13:NO)。その場合、メインCPU10は、そのときの確認信号のレベルがLOWレベルであれば、正常時のパルス幅PW0とは異なるパルス幅PW1(PW1<PW0)の確認信号を出力する(ステップS16:YES、S17)。ステップS13の判断がNOの後、そのときの確認信号のレベルがHIGHレベルの場合は、メインCPU10は、正常時と同様に確認信号を反転し、処理を終了する(ステップS16:NO、S15)。その場合、次回の確認信号出力処理において、必ずステップS16の分岐判断がYESとなり、パルス幅PW1の確認信号が出力される。ステップS16の処理により、図2(D)に示したように、時刻t21と時刻t22のいずれでも第1サブCPU20aの異常が検知された場合、時刻t3(すなわち、確認信号の周期の先頭)でパルス幅PW1の確認信号が出力される。また、第1サブCPU20aで異常が発生している間は、図4の処理の2回に1回は、ステップS16の分岐判断がYESとなり、パルス幅PW1の確認信号が信号周期T1で繰り返し出力される。
ステップS14にて第2カウンタ12bのカウンタ値が変化していなかった場合も、ステップS13の場合と同様である。すなわち、メインCPU10は、確認信号のレベルがHIGHレベルであれば、確認信号を反転する(ステップS18:NO、S15)。確認信号のレベルがLOWレベルであれば、パルス幅PW2の確認信号を出力する(ステップS18:YES、S19)。第2サブCPU20bに対応するパルス幅PW2は、正常時のパルス幅PW0とも相違するし、第1サブCPU20aに対応するパルス幅PW1とも相違する。
図5に、監視CPU30が実行する監視処理のフローチャートを示す。監視処理は、確認信号の周期T1と同期して実行される必要はない。監視処理は、確認信号の周期T1と同じかそれよりも長い周期で実行されればよい。
監視処理は、リセット信号が出力された直後はスキップされる(ステップS22:YES)。これは、リセット信号が出力され、第1コンピュータ3がリセット中であると、確認信号のパルス幅が不定となる可能性があるからである。
リセット信号出力直後でない場合、監視CPU30は、最新の確認信号のパルス幅を取得する。監視CPU30は、確認信号の最新のパルス幅を保持する回路(図1の計測部31)を有しており、その回路は、確認信号の立ち上がりエッジをトリガにして割り込み処理で実行される。したがって、図5のプログラム処理の実行に関わらず、監視CPU30は確認信号の最新のパルス幅を取得することができる。
パルス幅が確認信号の周期T1以上か、または、ゼロの場合、確認信号がHIGHまたはLOWに保持されているとして、監視CPU30は、第1コンピュータ3のメインCPU10で異常が生じていると判断する。メインCPU10で異常が生じていると、他のサブCPUの監視ができなくなる。そのような異常は重大な異常であるので、監視CPU30は、第1コンピュータ3に対して直ちにリセット信号を出力する(ステップS24:YES、S31)。
パルス幅が確認信号の周期以上でなく、かつ、ゼロでもない場合、監視CPU30は、確認信号のパルス幅をチェックする。パルス幅がPW0、すなわち、正常時のパルス幅である場合は、処理を終了する(ステップS25:PW0)。
パルス幅がPW1である場合(ステップS25:PW1)、監視CPU30は、第1サブCPU20aで異常が発生していると判断して、第1サブCPU異常時の処理を実行し(ステップS26)、ついで所定時間dT1だけ待った後(ステップS27)、リセット信号を出力する(ステップS31)。また、パルス幅がPW2である場合(ステップS25:PW2)、監視CPU30は、第2サブCPU20bで異常が発生していると判断して、第2サブCPU異常時の処理を実行し(ステップS29)、ついで所定時間dT2だけ待った後(ステップS30)、リセット信号を出力する(ステップS31)。所定時間dT1とdT2は異なる時間に設定されている。すなわち、監視CPU30は、異常が生じたサブCPUに応じた時間だけ待った後に、リセット信号を第1コンピュータ3へ出力する。これは、サブCPUごとに固有の処理が相違するため、異常が生じたサブCPUに対応した異常時対応処理に要する時間が異なるからである。ただし、先に述べたように、メインCPU10で異常が生じた場合は、監視CPU30は直ちに第1コンピュータ3へリセット信号を出力する。
ステップS25では、所定の許容幅を伴った上で、確認信号のパルス幅と、PW0、PW1、PW2が比較される。例えば、確認信号のパルス幅がPW0プラスマイナスdWの範囲に属していれば、監視CPU30は、確認信号のパルス幅が正常時のパルス幅PW0に等しいと判断する。同様に、確認信号のパルス幅がPW1(PW2)プラスマイナスdWの範囲に属していれば、監視CPU30は、確認信号のパルス幅がパルス幅PW1(PW2)に等しいと判断する。
以上説明したように、コンピュータシステム2は、複数のCPUを同時に監視することができる。実施例のコンピュータシステム2は、複数のサブCPU20a、20bをカウンタにより監視するとともに異常を生じたサブCPUに対応したパルス幅の確認信号を出力するメインCPU10と、受信した確認信号のパルス幅によって異常を生じたサブCPUを特定する監視CPU30を備える。これら2個のCPUが協業して複数のサブCPUを同時に監視することが可能となる。
実施例で説明した技術に関する留意点を述べる。実施例では、カウンタ12a、12bは、メインCPU10の中に設けられていた。それぞれのサブCPUに対応したカウンタは、メインCPUの外に設けられていてもよい。実施例では、第1コンピュータ3は、2個のサブCPUを含んでいる。本明細書が開示する技術は、3個以上のサブCPUを含んでいるコンピュータに適用することも可能である。その場合、それぞれのサブCPUに応じて、対応するパルス幅が用意される。メインCPUは、異常が生じたサブCPUに対応したパルス幅の確認信号を出力する。メインCPUは、いずれかのサブCPUの異常を検知した場合、異常が検知されたサブCPUに応じて正常時のパルス幅を変更するように構成されていればよい。サブCPUは、所定の周期でカウンタのカウンタ値を変更すればよい。
それぞれのサブCPUは、所定の周期で自身に対応するカウンタのカウンタ値を変更し、メインCPUは、サブCPUのカウンタ更新周期が経過してもカウンタ値が変更されていない場合は、そのカウンタに対応するサブCPUで異常が発生したと判断するように構成されていればよい。
本明細書が開示する技術は特にマルチコアのコンピュータにおいて複数のコア(複数のサブCPU)を同時に監視するのに好適である。
確信信号を出力するハードウエアは、CPUが一般に備えているWDC信号(ウォッチドッグクリア信号)に関係するハードウエアを活用するとよい。
以上、本発明の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
2:コンピュータシステム
3:第1コンピュータ
4:第2コンピュータ
10:メインCPU
11:確認信号出力処理
12a、12b:カウンタ
13:定周期タイミング生成処理
14:クロック発生器
20a、20b:第1サブCPU
21:定周期処理
22:パルス信号出力処理
30:監視CPU
31:計測部
32:監視処理
41:信号線
42:内部バス

Claims (4)

  1. メインCPUと複数のサブCPUを備えている第1コンピュータと、
    前記メインCPUに接続されている監視CPUを備えている第2コンピュータと、
    を備えており、
    前記メインCPUは、全ての前記サブCPUが正常に動作している間は予め定められたパルス幅の確認信号を周期的に前記第2コンピュータへ送信し、いずれかの前記サブCPUの異常を検知した場合、異常が検知された前記サブCPUに応じて前記パルス幅を変更する、コンピュータシステム。
  2. 前記第1コンピュータは、それぞれの前記サブCPUに対応したカウンタを備えており、それぞれの前記サブCPUは、所定の周期で自身に対応するカウンタのカウンタ値を変更し、
    前記メインCPUは、前記周期が経過してもカウンタ値が変更されていない場合は、そのカウンタに対応するサブCPUで異常が発生したと判断する、請求項1に記載のコンピュータシステム。
  3. 前記監視CPUは、前記確認信号の前記パルス幅の変化を検知した場合に、変更された前記パルス幅に応じた待ち時間の後にリセット信号を前記第1コンピュータへ送信する、請求項1または2に記載のコンピュータシステム。
  4. 前記監視CPUは、前記確認信号が途絶えたときには直ちにリセット信号を前記第1コンピュータへ送信する、請求項3に記載のコンピュータシステム。
JP2018198214A 2018-10-22 2018-10-22 コンピュータシステム Pending JP2020067685A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018198214A JP2020067685A (ja) 2018-10-22 2018-10-22 コンピュータシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018198214A JP2020067685A (ja) 2018-10-22 2018-10-22 コンピュータシステム

Publications (1)

Publication Number Publication Date
JP2020067685A true JP2020067685A (ja) 2020-04-30

Family

ID=70390319

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018198214A Pending JP2020067685A (ja) 2018-10-22 2018-10-22 コンピュータシステム

Country Status (1)

Country Link
JP (1) JP2020067685A (ja)

Similar Documents

Publication Publication Date Title
EP2413484B1 (en) Safety control system
US10006455B2 (en) Drive control apparatus
US10274936B2 (en) Control apparatus
EP3026515B1 (en) Programmable controller system
CN111052006B (zh) 控制装置以及控制方法
JP5441776B2 (ja) リング状同期ネットワークシステム
US20220147022A1 (en) Control system
JP2009053952A (ja) Cpu監視装置及び電子制御装置
JP2020067685A (ja) コンピュータシステム
JP2003296133A (ja) コントローラ
JP3714141B2 (ja) 電子制御システムの暴走監視装置
JP2016071903A (ja) 車載用電子機器の制御装置及び制御方法
JP6587566B2 (ja) 半導体装置
JP2017037606A (ja) 駆動制御システムおよび異常監視装置
JP2016038620A (ja) 電子制御装置
JP2020112903A (ja) 動作検証プログラム、動作同期方法及び異常検出装置
JP2014157386A (ja) データ処理システム
JP5625949B2 (ja) システム監視装置及びシステム監視方法
JP2023074675A (ja) 安全plc
JP2010033475A (ja) 電子制御装置
JP6839212B2 (ja) 電子制御装置
CN117336006A (zh) 安全通信方法、通信装置、安全通信系统和控制系统
JPS62162159A (ja) マスタ−レスシリアルバス占有制御方法
JPS63101937A (ja) 命令実行監視装置
JP2006065523A (ja) 情報処理装置システム及びその負荷試験方法