JP6736980B2 - システムおよび半導体装置 - Google Patents

システムおよび半導体装置 Download PDF

Info

Publication number
JP6736980B2
JP6736980B2 JP2016106229A JP2016106229A JP6736980B2 JP 6736980 B2 JP6736980 B2 JP 6736980B2 JP 2016106229 A JP2016106229 A JP 2016106229A JP 2016106229 A JP2016106229 A JP 2016106229A JP 6736980 B2 JP6736980 B2 JP 6736980B2
Authority
JP
Japan
Prior art keywords
power supply
unit
arithmetic processing
watchdog timer
monitoring
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
JP2016106229A
Other languages
English (en)
Other versions
JP2017211917A (ja
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.)
Omron Corp
Original Assignee
Omron 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 Omron Corp filed Critical Omron Corp
Priority to JP2016106229A priority Critical patent/JP6736980B2/ja
Priority to EP17168411.1A priority patent/EP3249532B1/en
Priority to US15/499,905 priority patent/US10120742B2/en
Priority to CN201710299312.0A priority patent/CN107436668B/zh
Publication of JP2017211917A publication Critical patent/JP2017211917A/ja
Application granted granted Critical
Publication of JP6736980B2 publication Critical patent/JP6736980B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/266Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
    • 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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • 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/0721Error 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 within a central processing unit [CPU]
    • 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/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/442Shutdown
    • 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/24125Watchdog, check at timed intervals

Description

本技術は、電源部から複数の演算処理部へ電力が供給されるシステムおよび当該システムにおいて用いられる半導体装置に関する。
製造現場などに配置された機械を安全に使用するためには、国際規格に従う安全機器(安全コンポーネント)を使用しなければならばない。安全機器は、安全プログラムを実行する安全コントローラを含み得て、ロボットなどの自動的に動く装置によって人の安全が脅かされるのを防止することを目的としている。このような安全機器には、高い信頼性が必要である。
このような高い信頼性が要求されるコントローラなどにおいては、演算処理などを多重化したような構成が採用されるとともに、相互に動作を監視することで、万が一の故障時にも、装置を安全に停止できるような機能、すなわちフェールセーフ機能が実装されることが多い。
例えば、特開2007−310693号公報(特許文献1)は、1台のIO統括ユニットに対して、IOユニットを任意台数接続可能なビルディング・ブロック型のセーフティ・コントローラを開示している。このセーフティ・コントローラにおいて、IO統括ユニットに設けられたIO電源遮断手段は、当該ユニットに給電されるIO電源用の電源電圧が規定範囲外となったとき、当該ユニットの内部回路用の電源電圧が規定範囲外となったとき、当該ユニットの内部回路を構成するマイクロプロセッサがハードウェア異常を検知したとき、または当該ユニットの内部回路を構成するマイクロプロセッサのウォッチドッグタイマがタイムアップしたとき、のいずれかにおいて遮断動作するように仕組まれている。
特開2007−310693号公報
上述の特開2007−310693号公報(特許文献1)に開示されるセーフティ・コントローラでは、2台のMPU(マイクロプロセッサ)の間でクロスコミュニケーションによって相互監視するとともに、さらに別に配置されたウォッチドッグタイマ回路(WDT回路)が一方のMPUを監視する構成が採用されている。
特開2007−310693号公報(特許文献1)に開示される構成では、MPUで実行されるプログラムに相互監視の処理を組み入れる必要があり、ソフトウェア開発の難易度が高まるとともに、ウォッチドッグタイマ回路によりハードウェア実装面積が肥大化するという課題がある。
本技術は、監視機能が必要な構成においても、ソフトウェア開発の難易度が高まることを防止するとともに、ハードウェア実装面積の増大を防止することを目的とする。
本技術のある局面に従うシステムは、電源部と、電源部からの電力を受けて動作する第1および第2の演算処理部と、電源部の電力供給の健全性を監視する第1および第2の監視回路とを含む。第1の監視回路は、第1の演算処理部から定期的にリセットされる第1のウォッチドッグタイマを含み、予め定められた期間を超えて第1のウォッチドッグタイマがリセットされない場合には、第2の演算処理部へ動作の停止を指示する。第2の監視回路は、第2の演算処理部から定期的にリセットされる第2のウォッチドッグタイマを含み、予め定められた期間を超えて第2のウォッチドッグタイマがリセットされない場合には、第1の演算処理部へ動作の停止を指示する。第1の監視回路は、さらに、第1の演算処理部および第2の演算処理部のいずれか一方から定期的にリセットされる第3のウォッチドッグタイマを含み、予め定められた期間を超えて第3のウォッチドッグタイマがリセットされない場合には、他方の演算処理部へ動作の停止を指示する。
好ましくは、第1の監視回路は、第1および第2の演算処理部へ電力を供給する電源部の健全性を監視する第1の電源監視部を含み、第1の電源監視部が電源部に何らかの異常が発生していることを検知すると、第1および第2の演算処理部へ動作の停止を指示する。第2の監視回路は、第1および第2の演算処理部へ電力を供給する電源部の健全性を監視する第2の電源監視部を含み、第2の電源監視部が電源部に何らかの異常が発生していることを検知すると、第1および第2の演算処理部へ動作の停止を指示する。
好ましくは、第1の電源監視部と第2の電源監視部とは、互いに異なるプロセスによって製造された半導体デバイスで構成される。
好ましくは、第1および第2の演算処理部には、ウォッチドッグタイマが実装されていない。
本技術の別の局面に従えば、電源部からの電力を受けて動作する第1および第2の演算処理部を含むシステムにおいて、電源部の電力供給の健全性および第1または第2の演算処理部の健全性を監視する半導体装置が提供される。半導体装置は、第1の演算処理部から定期的にリセットされる第1のウォッチドッグタイマと、第2の演算処理部から定期的にリセットされる第2のウォッチドッグタイマと、電源部の健全性を監視する電源監視部と、制御部とを含む。制御部は、予め定められた期間を超えて第1のウォッチドッグタイマがリセットされない場合には、第2の演算処理部へ動作の停止を指示し、予め定められた期間を超えて第2のウォッチドッグタイマがリセットされない場合には、第1の演算処理部へ動作の停止を指示し、電源監視部が電源部に何らかの異常が発生していることを検知すると、第1および第2の演算処理部へ動作の停止を指示する。
本技術に従えば、監視機能が必要な構成においても、ソフトウェア開発の難易度が高まることを防止するとともに、ハードウェア実装面積の増大を防止できる。
本発明の関連技術に従うコントローラシステムの要部構成を示す模式図である。 本実施の形態に従うコントローラシステムの要部構成を示す模式図である。 本実施の形態に従うコントローラシステムにおいて何らかの異常が発生したときの各部の挙動を説明するための模式図である。 本実施の形態の変形例に従うコントローラシステムの要部構成を示す模式図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
<A.関連技術>
まず、本実施の形態に従うコントローラシステムに関連する技術について説明する。
図1は、本発明の関連技術に従うコントローラシステムの要部構成を示す模式図である。図1を参照して、本発明の関連技術に従うコントローラシステム200は、典型的には、安全制御に係る処理を実行することが責務となっており、複数の演算処理部が実質的に同一のプログラムを並列実行する多重化システムが採用されている。
コントローラシステム200は、電源部210と、監視回路220,230と、マイクロプロセッサ(MPU)240,250と、ウォッチドッグタイマ(WDT)回路260とを含む。
電源部210は、スイッチングレギュレータといった電圧変換回路および電源安定化回路などを含み、1または複数の電圧を有する電力をコントローラシステム200の内部または外部にある負荷へ供給する。
監視回路220,230は、電源部210の電力供給の健全性を監視するとともに、電源部210の異常時にマイクロプロセッサ240,250の動作を停止する回路である。監視回路220は、診断ロジック222および制御ロジック224を含み、監視回路230は、診断ロジック232および制御ロジック234を含む。診断ロジック222,232は、電源部210の内部情報および/または出力電圧などを監視することで、電源部210での異常の有無を判断する。制御ロジック224,234は、診断ロジック222,232にて電源部210の異常を検知すると、マイクロプロセッサ240,250に対して遮断指令(シャットダウン指令)を出力する。
監視回路220,230の各々単独でマイクロプロセッサ240,250の両方の動作を停止できるようになっている。監視回路220,230のいずれか一方が故障しても、電源部210の監視ができるように多重化されている。
マイクロプロセッサ240,250は、予め格納されたオペレーティングシステム(OS)およびユーザプログラムなどを並列実行する。図1に示す構成においては、マイクロプロセッサ240,250には、ウォッチドッグタイマ242,252がそれぞれ実装されており、マイクロプロセッサ240,250の間は相互通信可能になっている。プロセッサ240は、マイクロプロセッサ250のウォッチドッグタイマ252を定期的にリセットするとともに、プロセッサ250は、マイクロプロセッサ240のウォッチドッグタイマ242を定期的にリセットするようになっている。このようなウォッチドッグタイマ242,252により、マイクロプロセッサ間で異常の有無を相互監視できるようになっている。
すなわち、マイクロプロセッサ240に何らかの異常が生じて動作が停止すると、マイクロプロセッサ250のウォッチドッグタイマ252がリセットされなくなるので、マイクロプロセッサ250はマイクロプロセッサ240での異常発生を検知できる。同様に、マイクロプロセッサ250に何らかの異常が生じて動作が停止すると、マイクロプロセッサ240のウォッチドッグタイマ242がリセットされなくなるので、マイクロプロセッサ240はマイクロプロセッサ250での異常発生を検知できる。
但し、マイクロプロセッサ240,250が同一の半導体装置である場合などに、当該半導体装置に固有の原因がある場合、あるいは、共通に実行されるユーザプログラム自体に問題がある場合などには、マイクロプロセッサ240,250の両方に異常が発生する可能性がある。すなわち、マイクロプロセッサ240,250において、共通要因故障が生じる可能性がある。
このような共通要因故障を考慮して、図1に示す構成においては、ウォッチドッグタイマ回路260が設けられている。ウォッチドッグタイマ回路260は、マイクロプロセッサ240によって定期的にリセットされるウォッチドッグタイマを有している。このウォッチドッグタイマの値が予め定められた期間を超えてリセットされなくなると、ウォッチドッグタイマ回路260は、マイクロプロセッサ240で異常が発生と検知できる。ウォッチドッグタイマ回路260は、マイクロプロセッサ240での異常発生を検知すると、マイクロプロセッサ240,250に対して遮断指令を出力する。
図1に示すように、本発明の関連技術に従うコントローラシステム200では、いずれかのコンポーネントが故障した際でも、安全制御に係る処理の責務を果たすため、複数のマイクロプロセッサ240,250が実装されている。このような多重化システムを採用するにあたって、マイクロプロセッサ240,250のそれぞれにウォッチドッグタイマ242,252を実装することで相互監視する構成が採用されている。
さらに、図1に示す構成においては、電源部210において何らかの異常が発生した場合に、コントローラシステム200を安全に停止させるために、電源部210を監視する回路およびマイクロプロセッサ240,250を含むシステム全体を停止するための回路が必要となる。このような電源部210の監視などに係る回路を複数のマイクロプロセッサが実装された構成に適用する際には、図1に示すように、ソフトウェア開発の難易度を下げるために、同一デバイスを多重化する手法が一般的になっている。
但し、同一デバイスを多重化する手法では、デバイス固有の問題などの共通要因故障による故障モードへの対処が必要になる。すなわち、複数のデバイス間で共通に存在している要因によって、複数のデバイスが同時に停止するような事態が生じ得る。
このような共通要因故障の対策として、図1に示す構成においては、多重化した監視機構とは独立した監視機構として、ウォッチドッグタイマ回路260が設けられている。
図1に示すような構成を採用することで高い信頼度を実現できるが、独立した監視機構を設けることで、ハードウェア実装面積が肥大化するとともに、回路の複雑度が増加してしまうという課題が生じ得る。また、複数の監視機構を制御するためのソフトウェアが別途必要となるため、装置が有しているリソースのうち、本来の処理に割当てることのできるリソースが制約されてしまい十分な性能を発揮できないといった課題や、プログラムをコンパクトにできないといった課題が生じ得る。
そこで、本実施の形態は、マイクロプロセッサが有している性能のうち、より多くのリソースを本来のプログラム実行に割当てるとともに、ソフトウェア開発の難易度が高まることを防止することを目的とする。また、システム全体のハードウェア実装面積の増大を防止することも目的とする。
<B.回路構成>
次に、本実施の形態に従うコントローラシステムに関連する技術について説明する。
図2は、本実施の形態に従うコントローラシステム100の要部構成を示す模式図である。図2を参照して、本実施の形態に従うコントローラシステム100は、典型的には、安全制御に係る処理を実行することが責務となっており、複数の演算処理部が実質的に同一のプログラムを並列実行する多重化システムが採用されている。
コントローラシステム100は、電源部110と、監視回路120,130と、マイクロプロセッサ(MPU)140,150とを含む。
電源部110は、スイッチングレギュレータといった電圧変換回路および電源安定化回路などを含み、1または複数の電圧を有する電力をコントローラシステム100の内部または外部にある負荷へ供給する。電源部110は、生成した電力をマイクロプロセッサ140,150へ供給する。また、電源部110は、図示しないIO(Input Output)ユニットなどへ電力を供給するようにしてもよい。
監視回路120,130は、電源部110の電力供給の健全性を監視するとともに、電源部110の異常時にマイクロプロセッサ140,150の動作を停止する回路である。監視回路120は、診断ロジック122と、制御ロジック124と、2つのウォッチドッグタイマ(WDT1,WDT3)126,128とを含む。監視回路130は、診断ロジック132と、制御ロジック134と、ウォッチドッグタイマ(WDT2)136とを含む。
監視回路120,130の各々を単一の半導体装置としてパッケージ化してもよいし、監視回路120および監視回路130を一体として、単一の半導体装置102としてパッケージ化してもよい。半導体装置102としては、IC(Integrated Circuit)やLSI(Large Scale Integrated circuit)などであってもよいし、ASIC(Application Specific Integrated Circuit)やSoC(System on Chip)などであってもよい。あるいは、FPGA(Field-Programmable Gate Array)などを利用した回路であってもよい。
診断ロジック122,132は、電源部110の内部情報および/または出力電圧などを監視することで、電源部210での異常の有無を判断する。
制御ロジック124は、診断ロジック122にて電源部110に何らかの異常が発生していることを検知すると、マイクロプロセッサ140,150に対して遮断指令(シャットダウン指令)を出力する。また、制御ロジック124は、ウォッチドッグタイマ126,128の値が予め定められた期間を超えてリセットされなくなると、マイクロプロセッサ150に対して遮断指令を出力する。ウォッチドッグタイマ126,128の値に起因して遮断指令を出力する処理については後述する。
制御ロジック134は、診断ロジック132にて電源部110に何らかの異常が発生していることを検知すると、マイクロプロセッサ140,150に対して遮断指令(シャットダウン指令)を出力する。また、制御ロジック134は、ウォッチドッグタイマ136の値が予め定められた期間を超えてリセットされなくなると、マイクロプロセッサ140に対して遮断指令を出力する。ウォッチドッグタイマ136の値に起因して遮断指令を出力する処理については後述する。
遮断指令(シャットダウン指令)は、マイクロプロセッサ140,150で実行されているプログラムを安全に停止させるための指令であり、任意の実装形態を採用できる。例えば、マイクロプロセッサ140,150の割込みポートへ遮断指令を与えるように配線するとともに、当該割込みポートに遮断指令が入力されると、予め定義されていたシャットダウン処理が実行されるようにしてもよい。あるいは、マイクロプロセッサ140,150の周辺回路へ遮断指令を与えるように配線するとともに、当該周辺回路がマイクロプロセッサ140,150のシャットダウンに必要な処理を実行するようにしてもよい。
マイクロプロセッサ140,150は、プログラムを実行する演算処理部の一例である。マイクロプロセッサ140,150の具体的なデバイスとしては、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などを用いてもよい。マイクロプロセッサ140,150は、電源部110からの電力を受けて動作する。マイクロプロセッサ140,150は、互いに多重化された演算処理部を構成し、互いに実質的に同一のプログラムを実行する。マイクロプロセッサ140とマイクロプロセッサ150との間は、後述するような、監視回路120または監視回路130において異常が発生したときに、互いに安全に対しするための情報を遣り取りする。
ウォッチドッグタイマ(WDT1)126は、マイクロプロセッサ140から定期的にリセットされる。監視回路120(制御ロジック124)は、予め定められた期間を超えてウォッチドッグタイマ126がリセットされない場合には、マイクロプロセッサ150へ遮断指令を出力して動作の停止を指示する。
同様に、ウォッチドッグタイマ(WDT2)136は、マイクロプロセッサ150から定期的にリセットされる。監視回路130(制御ロジック134)は、予め定められた期間を超えてウォッチドッグタイマ136がリセットされない場合には、マイクロプロセッサ140へ遮断指令を出力して動作の停止を指示する。
マイクロプロセッサ140,150によるウォッチドッグタイマのリセットは、マイクロプロセッサ140,150で実行されるシステムプログラムまたはユーザプログラムにより実行されるようにしてもよいし、マイクロプロセッサ140,150にロードされるファームウェアやBIOS(Basic Input/Output System)などによって実行されるようにしてもよい。さらにあるいは、マイクロプロセッサ140,150の周辺に配置される専用回路の一機能としてリセットする処理を実装してもよい。
監視回路120は、マイクロプロセッサ140およびマイクロプロセッサ150のいずれか一方から定期的にリセットされるウォッチドッグタイマ(WDT3)128を有している。監視回路120は、予め定められた期間を超えてウォッチドッグタイマ128がリセットされない場合には、ウォッチドッグタイマ128をリセットするマイクロプロセッサとは別のマイクロプロセッサへ動作の停止を指示する。
図2に示す構成において、ウォッチドッグタイマ(WDT3)128は、マイクロプロセッサ140から定期的にリセットされる。監視回路120(制御ロジック124)は、予め定められた期間を超えてウォッチドッグタイマ128がリセットされない場合には、マイクロプロセッサ150へ遮断指令を出力して動作の停止を指示する。なお、後述するように、ウォッチドッグタイマ(WDT3)128は、マイクロプロセッサ150から定期的にリセットされるようにしてもよい。
図2に示す構成例においては、マイクロプロセッサ140およびマイクロプロセッサ150のいずれか一方に何らかの異常が発生すると、他方のマイクロプロセッサに対しても遮断指令が出力されるので、マイクロプロセッサ140,150に個別要因故障および共通要因故障のいずれが生じても対処可能である。そのため、マイクロプロセッサ140,150としては、実質的に同一デバイスを用いてもよい。すなわち、マイクロプロセッサ140,150が同じプロセスによって製造されたデバイスであってもよい。
これに対して、監視回路120および監視回路130は、少なくともウォッチドッグタイマの数において回路構成が相違しており、この回路構成上の相違によって、共通要因故障が生じる可能性をほぼゼロにできる。すなわち、監視回路120および監視回路130の両方が同時に故障するようなリスクを低減できる。さらに、監視回路120および監視回路130は、互いに異なるプロセスによって製造された半導体デバイスで構成されることが好ましい。このように製造プロセス自体を異ならせることで、共通要因故障が生じる可能性をさらに低減できる。
本実施の形態に従うコントローラシステム100においては、監視機構である監視回路120,130として互いに異なる構成を採用した上で多重化することで、共通要因故障が生じる可能性を低減する。さらに、図2に示すような構成を採用することで、マイクロプロセッサにウォッチドッグタイマを実装する必要がなく、ソフトウェア開発をより容易化できる。
<C.異常発生時の挙動>
次に、本実施の形態に従うコントローラシステム100において何らかの異常が発生したときの挙動について説明する。図3は、本実施の形態に従うコントローラシステム100において何らかの異常が発生したときの各部の挙動を説明するための模式図である。
図3(a)には、電源部110に何らの異常が発生した場合を示す。この場合、監視回路120(図2の診断ロジック122)は、電源部110に発生した何らかの異常を検知すると、マイクロプロセッサ140,150に対して遮断指令を出力する。その結果、マイクロプロセッサ140,150は、必要な安全に動作を停止するための処理を実行して、シャットダウンする。なお、監視回路120に代えて監視回路130がマイクロプロセッサ140,150に対して遮断指令を出力する場合もあるし、監視回路120および監視回路130の両方がマイクロプロセッサ140,150に対して遮断指令を出力する場合もある。
図3(b)には、マイクロプロセッサ140に何らかの異常が発生した場合を示す。この場合、ウォッチドッグタイマ126,128の値がリセットされなくなるので、このリセットされていない期間が予め定められた期間を超えることで、監視回路120(図2の制御ロジック124)は、マイクロプロセッサ140において何らかの異常が発生していることを検知する。そして、監視回路120(図2の制御ロジック124)は、マイクロプロセッサ150に対して遮断指令を出力する。その結果、マイクロプロセッサ150は、必要な安全に動作を停止するための処理を実行して、シャットダウンする。
なお、監視回路120(図2の制御ロジック124)は、マイクロプロセッサ150に加えて、マイクロプロセッサ140に対しても遮断指令を出力するようにしてもよい。
一方、マイクロプロセッサ150に何らかの異常が発生した場合には、ウォッチドッグタイマ136の値がリセットされなくなるので、監視回路130(図2の制御ロジック134)が同様の処理を行って、マイクロプロセッサ140,150を安全に停止させる。
図3(c)には、監視回路120に何らかの異常が発生した場合を示す。この場合、ウォッチドッグタイマ126,128の値がカウントアップされなくなるので、リセット信号を書込むマイクロプロセッサ140が、監視回路120において何らかの異常が発生していることを検知する。そして、マイクロプロセッサ140は、自身の保護機能に従って、必要な安全に動作を停止するための処理を実行して、シャットダウンする。
また、マイクロプロセッサ150は、マイクロプロセッサ140の状態を定期的にモニタしており、マイクロプロセッサ140がシャットダウンされたことを検知できる。マイクロプロセッサ150は、マイクロプロセッサ140のシャットダウンに応答して、自身の保護機能に従って、必要な安全に動作を停止するための処理を実行して、自身もシャットダウンする。すると、ウォッチドッグタイマ136の値がリセットされなくなるので、監視回路130は、マイクロプロセッサ140,150のシャットダウンを検知する。
図3(d)には、マイクロプロセッサ140,150が共通要因故障により停止した場合を示す。この場合、ウォッチドッグタイマ126,128の値がリセットされなくなるので、このリセットされていない期間が予め定められた期間を超えることで、監視回路120(図2の制御ロジック124)は、マイクロプロセッサ140において何らかの異常が発生していることを検知する。同様に、ウォッチドッグタイマ136の値がリセットされなくなるので、このリセットされていない期間が予め定められた期間を超えることで、監視回路130(図2の制御ロジック134)は、マイクロプロセッサ150において何らかの異常が発生していることを検知する。この場合、監視回路120(図2の診断ロジック122)および監視回路130(図2の診断ロジック132)は、検知された異常の内容に応じて、マイクロプロセッサ140,150および電源部110の少なくともいずれかに対して遮断指令を出力する。
例えば、検知された異常の原因が、単純なプログラムエラーなどによって、マイクロプロセッサ140,150がウォッチドッグタイマ126,128,136の値がリセット不能になっていることによる場合などには、マイクロプロセッサ140,150の両方または一方に対して遮断指令を与える。また、検知された異常の内容が、マイクロプロセッサ140,150がいずれも制御不能であるといった状態などである場合には、電源部110に対して遮断指令を与える。さらに別の原因などの場合には、電源部110およびマイクロプロセッサ140,150のすべてに対して遮断指令を与えるようにしてもよい。
以上説明したような挙動に従って、本実施の形態に従うコントローラシステム100は、いずれの部位に何らかの異常が発生したとしても、システム全体を安全に停止させることができる。
<D.変形例>
上述の実施の形態においては、監視回路120が有している2つのウォッチドッグタイマ(WDT1,WDT3)126,128の値を、マイクロプロセッサ140が定期的にリセットする構成について例示したが、複数のウォッチドッグタイマを異なるマイクロプロセッサがそれぞれリセットするような構成を採用してもよい。
図4は、本実施の形態の変形例に従うコントローラシステム100の要部構成を示す模式図である。図4を参照して、本実施の形態に従うコントローラシステム100Aにおいて、監視回路120が有しているウォッチドッグタイマ(WDT1)126は、マイクロプロセッサ140によって定期的にリセットされる一方で、監視回路120が有しているウォッチドッグタイマ(WDT3)128は、マイクロプロセッサ150によって定期的にリセットされるようになっている。
すなわち、図4に示すコントローラシステム100においては、ウォッチドッグタイマ(WDT3)128は、マイクロプロセッサ150から定期的にリセットされる。監視回路120(制御ロジック124)は、予め定められた期間を超えてウォッチドッグタイマ128がリセットされない場合には、マイクロプロセッサ140へ遮断指令を出力して動作の停止を指示する。
図4に示すような構成を採用することで、監視回路120では、マイクロプロセッサ140およびマイクロプロセッサ150の健全性を監視できるので、マイクロプロセッサ140,150に共通要因故障が生じた場合などにおいて、必要な処理の実施タイミングを短縮化でき、より安全にコントローラシステムを停止させることができる。
<E.その他の応用例>
上述の説明においては、マイクロプロセッサへ電力を供給する電源部での異常を監視する応用例について説明したが、電源部が他のデバイスへ電力を供給する場合においても、その異常を監視することができる。但し、マイクロプロセッサへ電力を供給する電源部とは異なり、電源部の異常がそのままシステムの停止につながるとは限らないので、その電力の供給先の用途や重要度などに応じて、異常を検知したときの処理の内容を適宜設定してもよい。
より具体的には、例えば、マイクロプロセッサ140,150での演算結果に基づいて動作するアクチュエータへ電力を供給するための電源部に対して適用することができる。この場合、電源部において異常が発生すると、監視回路は、電力の供給先であるアクチュエータを停止させための遮断指令を出力するようにしてもよいが、その他にも、縮退運転をさせるための指令、特定の機能のみを停止させるための指令、異常の発生を示すイベントを記録させるための指令のいずれかを出力するようにしてもよい。
このように、本実施の形態に従う監視回路については、様々な応用先が想定されており、かつ、異常を検知したときの動作についても応用先に応じて様々な態様が想定されている。すなわち、本実施の形態に従う監視回路は、任意の装置構成へ適用可能である。
<F.利点>
本実施の形態に従うコントローラシステム100においては、多重化された監視機構として、互いに異なる数のウォッチドッグタイマを有する2種類の監視回路が用いられる。これらの監視回路の各々が電源部の電力供給の健全性を監視するとともに、電源部の異常時にマイクロプロセッサの動作を停止する。このような構造が互いに異なる複数の監視回路を用いて監視機構を多重化することで、共通要因故障が生じる可能性を低減できる。
このような共通要因故障が生じる可能性を低減した、信頼性の高い多重化された監視機構を採用することで、電源部の監視機能をマイクロプロセッサで実行されるプログラムで担う必要がない。つまり、監視機能が必要な構成においても、ソフトウェア開発の難易度が高まることを防止するとともに、マイクロプロセッサが有している性能のうち、より多くのリソースを本来のプログラム実行に割当てることができる。
また、マイクロプロセッサの動作を監視する別のウォッチドッグタイマなども不要になるので、回路構成を簡素化できるとともに、ハードウェア実装面積の肥大化を防止できる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
100,100A,200 コントローラシステム、102 半導体装置、110,210 電源部、120,130,220,230 監視回路、122,132,222,232 診断ロジック、124,134,224,234 制御ロジック、126,128,136,242,252 ウォッチドッグタイマ、140,150,240,250 マイクロプロセッサ、260 ウォッチドッグタイマ回路。

Claims (5)

  1. 電源部と、
    前記電源部からの電力を受けて動作する第1および第2の演算処理部と、
    前記電源部の電力供給の健全性を監視する第1および第2の監視回路とを備え、
    前記第1の監視回路は、前記第1の演算処理部から定期的にリセットされる第1のウォッチドッグタイマを含み、予め定められた期間を超えて前記第1のウォッチドッグタイマがリセットされない場合には、前記第2の演算処理部へ動作の停止を指示し、
    前記第2の監視回路は、前記第2の演算処理部から定期的にリセットされる第2のウォッチドッグタイマを含み、予め定められた期間を超えて前記第2のウォッチドッグタイマがリセットされない場合には、前記第1の演算処理部へ動作の停止を指示し、
    前記第1の監視回路は、さらに、前記第1の演算処理部および前記第2の演算処理部のいずれか一方から定期的にリセットされる第3のウォッチドッグタイマを含み、予め定められた期間を超えて前記第3のウォッチドッグタイマがリセットされない場合には、他方の演算処理部へ動作の停止を指示する、システム。
  2. 前記第1の監視回路は、前記第1および第2の演算処理部へ電力を供給する前記電源部の健全性を監視する第1の電源監視部を含み、前記第1の電源監視部が前記電源部に何らかの異常が発生していることを検知すると、前記第1および第2の演算処理部へ動作の停止を指示し、
    前記第2の監視回路は、前記第1および第2の演算処理部へ電力を供給する前記電源部の健全性を監視する第2の電源監視部を含み、前記第2の電源監視部が前記電源部に何らかの異常が発生していることを検知すると、前記第1および第2の演算処理部へ動作の停止を指示する、請求項1に記載のシステム。
  3. 前記第1の電源監視部と前記第2の電源監視部とは、互いに異なるプロセスによって製造された半導体デバイスで構成される、請求項2に記載のシステム。
  4. 前記第1および第2の演算処理部には、ウォッチドッグタイマが実装されていない、請求項1〜3のいずれか1項に記載のシステム。
  5. 電源部からの電力を受けて動作する第1および第2の演算処理部を含むシステムにおいて、前記電源部の電力供給の健全性および前記第1および第2の演算処理部の健全性を監視する半導体装置であって、
    前記第1の演算処理部から定期的にリセットされる第1のウォッチドッグタイマと、
    前記第2の演算処理部から定期的にリセットされる第2のウォッチドッグタイマと、
    前記第1および第2の演算処理部のうち一方から定期的にリセットされる第3のウォッチドッグタイマと、
    前記電源部の健全性を監視する第1および第2の電源監視部と、
    前記第1および第2の電源監視部にそれぞれ対応付けられた第1および第2の制御部とを備え、
    前記第1の制御部は、
    予め定められた期間を超えて前記第1のウォッチドッグタイマがリセットされない場合には、前記第2の演算処理部へ動作の停止を指示し
    め定められた期間を超えて前記第3のウォッチドッグタイマがリセットされない場合には、前記第1および第2の演算処理部のうち他方の演算処理部へ動作の停止を指示し、
    前記第1の電源監視部が前記電源部に何らかの異常が発生していることを検知すると、前記第1および第2の演算処理部へ動作の停止を指示し、
    前記第2の制御部は、
    め定められた期間を超えて前記第2のウォッチドッグタイマがリセットされない場合には、前記第1の演算処理部へ動作の停止を指示し
    前記第2の電源監視部が前記電源部に何らかの異常が発生していることを検知すると、前記第1および第2の演算処理部へ動作の停止を指示する、半導体装置。
JP2016106229A 2016-05-27 2016-05-27 システムおよび半導体装置 Active JP6736980B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016106229A JP6736980B2 (ja) 2016-05-27 2016-05-27 システムおよび半導体装置
EP17168411.1A EP3249532B1 (en) 2016-05-27 2017-04-27 Power supply controller system and semiconductor device
US15/499,905 US10120742B2 (en) 2016-05-27 2017-04-28 Power supply controller system and semiconductor device
CN201710299312.0A CN107436668B (zh) 2016-05-27 2017-04-28 电力供给的控制器系统以及半导体装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016106229A JP6736980B2 (ja) 2016-05-27 2016-05-27 システムおよび半導体装置

Publications (2)

Publication Number Publication Date
JP2017211917A JP2017211917A (ja) 2017-11-30
JP6736980B2 true JP6736980B2 (ja) 2020-08-05

Family

ID=58744996

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016106229A Active JP6736980B2 (ja) 2016-05-27 2016-05-27 システムおよび半導体装置

Country Status (4)

Country Link
US (1) US10120742B2 (ja)
EP (1) EP3249532B1 (ja)
JP (1) JP6736980B2 (ja)
CN (1) CN107436668B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018163498A (ja) * 2017-03-24 2018-10-18 エイブリック株式会社 監視回路
JP7157873B2 (ja) * 2019-03-26 2022-10-20 日立Astemo株式会社 電子制御装置、電子制御装置の診断方法
JPWO2022230116A1 (ja) * 2021-04-28 2022-11-03

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101107597A (zh) * 2005-01-25 2008-01-16 横河电机株式会社 信息处理装置及信息处理方法
JP4893931B2 (ja) * 2006-05-19 2012-03-07 オムロン株式会社 セーフティ・コントローラ
TWI353513B (en) * 2007-11-02 2011-12-01 Htc Corp Main computer for vehicle and power management met
CN201163390Y (zh) * 2008-03-19 2008-12-10 长沙威胜信息技术有限公司 用于电力负荷管理与电能量数据采集终端的复位装置
US8448029B2 (en) * 2009-03-11 2013-05-21 Lsi Corporation Multiprocessor system having multiple watchdog timers and method of operation
US8751100B2 (en) * 2010-08-13 2014-06-10 Deere & Company Method for performing diagnostics or software maintenance for a vehicle
US9058419B2 (en) * 2012-03-14 2015-06-16 GM Global Technology Operations LLC System and method for verifying the integrity of a safety-critical vehicle control system
CN105573960B (zh) * 2015-12-10 2018-07-06 中国航空工业集团公司西安航空计算技术研究所 一种低功耗高性能处理模块及其构建方法

Also Published As

Publication number Publication date
US10120742B2 (en) 2018-11-06
US20170344418A1 (en) 2017-11-30
EP3249532A1 (en) 2017-11-29
JP2017211917A (ja) 2017-11-30
EP3249532B1 (en) 2018-12-19
CN107436668A (zh) 2017-12-05
CN107436668B (zh) 2020-05-12

Similar Documents

Publication Publication Date Title
JP6816345B2 (ja) 駆動制御装置
JP6736980B2 (ja) システムおよび半導体装置
JP6971016B2 (ja) 制御装置、制御方法およびプログラム
JP6222362B2 (ja) 電力変換装置
JP2012022364A (ja) 半導体装置
JP5682323B2 (ja) 安全制御システム
JP2019101515A (ja) 半導体装置及びその電源監視方法
KR20190058310A (ko) 반도체 장치
TW201911813A (zh) 網路切換控制系統
JP2021534508A (ja) 安全性が要求されるプロセスを監視する自動化システム
JP5041290B2 (ja) プログラマブルコントローラおよびその異常時復旧方法
JP2003150279A (ja) コンピュータ・システムにおける管理システム及びバックアップ管理方法
JP2018163498A (ja) 監視回路
JP5459370B2 (ja) 車載電子制御装置
US20210278815A1 (en) Automation System For Monitoring A Safety-Critical Process
WO2014188764A1 (ja) 機能安全制御装置
TWM556046U (zh) 網路切換控制系統
JP2013085427A (ja) 保護制御装置、診断方法、および診断プログラム
JP7299344B2 (ja) 車載電子制御装置
JP5343757B2 (ja) プログラマブルコントローラ
KR20140008854A (ko) 자기진단 기능을 포함하는 fpga에 기반한 이중화 제어장치 및 이중화 절체 방법
JPH0395636A (ja) フェイルセーフ回路の診断方式
JP6710128B2 (ja) 通信装置及び通信装置の復旧方法
JPH01310422A (ja) マイクロコンピュータのリセット回路
JP2011248396A (ja) 電気回路システム、マイクロコンピュータ、及び電気回路システムの動作方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191008

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200421

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200616

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200629

R150 Certificate of patent or registration of utility model

Ref document number: 6736980

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250