JP2018107679A - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP2018107679A
JP2018107679A JP2016253405A JP2016253405A JP2018107679A JP 2018107679 A JP2018107679 A JP 2018107679A JP 2016253405 A JP2016253405 A JP 2016253405A JP 2016253405 A JP2016253405 A JP 2016253405A JP 2018107679 A JP2018107679 A JP 2018107679A
Authority
JP
Japan
Prior art keywords
circuit
signal
counter
semiconductor device
value
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.)
Granted
Application number
JP2016253405A
Other languages
English (en)
Other versions
JP6742899B2 (ja
Inventor
一仁 海老澤
Kazuhito Ebisawa
一仁 海老澤
幸弘 岸田
Yukihiro Kishida
幸弘 岸田
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2016253405A priority Critical patent/JP6742899B2/ja
Priority to KR1020170156150A priority patent/KR20180076291A/ko
Priority to US15/828,713 priority patent/US10671467B2/en
Priority to TW106143641A priority patent/TW201836270A/zh
Priority to EP17207204.3A priority patent/EP3343373B1/en
Priority to CN201711425968.9A priority patent/CN108241547B/zh
Publication of JP2018107679A publication Critical patent/JP2018107679A/ja
Application granted granted Critical
Publication of JP6742899B2 publication Critical patent/JP6742899B2/ja
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/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/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/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K17/00Electronic switching or gating, i.e. not by contact-making and –breaking
    • H03K17/22Modifications for ensuring a predetermined initial state when the supply voltage has been applied

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Electronic Switches (AREA)

Abstract

【課題】半導体装置の実使用中に故障診断が可能なウォッチドッグタイマを提供することにある。
【解決手段】ウォッチドッグタイマを備える半導体装置において、前記ウォッチドッグタイマは、カウンタと、前記カウンタのカウント値のリフレッシュ期間に、前記カウント値を所望の値へ変更するカウンタ制御回路と、故障診断モジュールと、を備える。前記故障診断モジュールは、前記リフレッシュ期間に、ウォッチドッグタイマの外部へのリセット信号の発生を抑制させる回路、および前記リセット信号を保持する保持回路と、を有する。
【選択図】図2

Description

本開示は半導体装置に関し、例えば、ウォッチドッグタイマを備える半導体装置に適用可能である。
特許文献1には、「半導体装置は、ウォッチドッグタイマと中央処理装置とモード端子とを有する。前記中央処理装置は、前記ウォッチドッグタイマのタイムアウト制御を制御する。前記ウォッチドッグタイマは、前記モード端子を介して、前記ウォッチドッグタイマのタイマ周期を前記中央処理装置のタイムアウト制御による周期よりも短くする指示を外部から与えられる。前記ウォッチドッグタイマは、前記指示に応答して、前記中央処理装置によるタイムアウト制御よりも先に、タイムアウトを検出する。」ことが開示されている。
特開2010−87959号公報
特許文献1の開示は、ウォッチドッグタイマの評価を行う場合、半導体装置を評価モードに設定した後、ウォッチドッグタイマの評価を行う技術であり、半導体装置の実動作時には適用できない。そのため、特許文献1の開示は、特に、車載用半導体装置の機能安全の観点では課題を有する。
本開示の課題は、半導体装置の実動作中において、故障診断が可能なウォッチドッグタイマを備える半導体装置を提供することにある。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本開示のうち代表的なものの概要を簡単に説明すれば下記の通りである。
すなわち、ウォッチドッグタイマを備える半導体装置において、前記ウォッチドッグタイマは、カウンタと、前記カウンタのカウント値のリフレッシュ期間に、前記カウント値を所望の値へ変更するカウンタ制御回路と、故障診断モジュールと、を備える。前記故障診断モジュールは、前記リフレッシュ期間に、ウォッチドッグタイマの外部へのリセット信号の発生を抑制させる回路、および前記リセット信号を保持する保持回路と、を有する。
上記半導体装置によれば、半導体装置の実動作中に、ウォッチドッグタイマの故障の診断が可能である。
実施例に係る半導体装置を説明するためのブロック図である。 実施例に係るウォッチドッグタイマの構成を示す図である。 実施例に係るウォッチドッグタイマの通常動作時とリセット出力故障時の動作フローを説明するための図である。 実施例に係るウォッチドッグタイマのオーバーフロー時の動作フローを説明するための図である。 変形例1に係るウォッチドッグタイマの構成を示す図である。 変形例1に係るウォッチドッグタイマの通常動作時とリセット故障及び割り込み故障時における動作フローを説明するための図である。 変形例1に係るウォッチドッグタイマの通常動作時とリセット故障及び割り込み故障時における他の動作フローを説明するための図である。 変形例2に係るカウンタ制御回路を説明するための図である。 ビット制御回路の動作フローを説明するための図である。
以下、実施例について、図面を用いて説明する。ただし、以下の説明において、同一構成要素には同一符号を付し繰り返しの説明を省略することがある。
[半導体装置の構成]
図1は、実施例に係る半導体装置を説明するためのブロック図である。図1には、ウォッチドッグタイマ(WDT)10を搭載する半導体装置1のブロック図が例示される。半導体装置1は車載制御用のマイクロコンピュータであり、1つの半導体チップに形成される。
マイクロコンピュータ1は、プログラムを実行する中央処理装置(CPU)2、前記プログラムを格納するROM(Read Only Memory)3、前記中央処理装置2のワーク領域とされるRAM(Random Access Memory)4、を有する。
マイクロコンピュータ1は、外部に接続される自動車ネットワークの1つであるLIN(Local Interconnect Network)バスLINBUSとのインターフェース回路であるLINモジュール(LINM)5を有する。マイクロコンピュータ1は、外部に接続される自動車ネットワークの他の1つであるCAN(コントローラエリアネットワーク)バスCANBUSとのインターフェース回路であるCANモジュール(CANM)6を有する。LINBUSおよびCANBUSのそれぞれには、複数の車載制御用の電子制御ユニット(ECU1,ECU2)がそれぞれ接続される。
マイクロコンピュータ1は、さらに、外部端子(図示せず)を介して外部と情報の入出力を行うポート(PORT)7、システム制御回路(SCNT)8、クロック生成回路(OCO)9、ウォッチドッグタイマ(WDT)10、内部バス11、を有する。内部バス11は、マイクロコンピュータ1内の各部(2,3,4,5,6,7,8,10)を相互に接続する。
システム制御回路(SCNT)8は、システムの動作モードの制御やシステムを初期化する制御を行う。システム制御回路(SCNT)8は、クロック生成回路(OCO)9の設定およびその設定の確認のため、クロック生成回路(OCO)9に結合される。
クロック生成回路(OCO)9は、マイクロコンピュータ1の各部(2,3,4,5,6,7,8)にクロック信号CLKを供給する。マイクロコンピュータ1の実動作中において、中央処理装置2は、クロック信号CLKに同期して、ROM3に格納されたプログラムを実行する。クロック生成回路(OCO)9は、また、ウォッチドッグタイマ10向けのカウントソースクロックとされるクロック信号WCLKを発生する。クロック生成回路(OCO)9は、クロック信号WCLKを発生する専用のクロック生成回路(WDTOCO)を内蔵しても良い。
ウォッチドッグタイマ10は、マイクロコンピュータ1の実動作中において、クロック信号WCLKをカウント(計数)することにより、前記中央処理装置2が実行するプログラムの設計ミス等によって生じる無限ループや前記中央処理装置2の暴走等を検出する。
ウォッチドッグタイマ10は、中央処理装置2によって予め設定された値(カウンタ値のオーバーフロー値OVFV)に向かってクロック信号WCLKをカウント(計数)し、カウントした値が設定された値に到達したときオーバーフローを検出するタイマである。ウォッチドッグタイマ10は、このオーバーフローを抑止するために、中央処理装置2が実行するプログラムによって、カウントした値が定期的に初期化(リフレッシュ)される。従って、中央処理装置2がプログラムを正常に実行していれば、ウォッチドッグタイマ10によってカウントされた値がオーバーフローすることはない。一方、中央処理装置2が暴走していれば、ウォッチドッグタイマ10によってカウントした値が初期化(リフレッシュ)されないため、ウォッチドッグタイマ10によってオーバーフローが検出される。なお、この明細書では、オーバーフローの検出について説明するが、アンダーフローの検出へ変更されてもよい。この場合、中央処理装置2によって予め設定された値からカウントダウンを行うことで、アンダーフローが検出される。
ウォッチドッグタイマ10は、システム制御回路(SCNT)8に対して、後述されるように、リセット信号60、割り込み信号61、および故障検知信号62などの複数の出力信号SOUTを発生する。
[ウォッチドッグタイマの構成]
図2は、実施例に係るウォッチドッグタイマの構成を示す図である。ウォッチドッグタイマ(WDT)10は、ウォッチドッグタイマ回路部(ウォッチドッグタイマモジュール)20と故障診断回路部(故障診断モジュール)40とを有する。
ウォッチドッグタイマモジュール20は、カウンタ21、リセット出力制御回路22、割り込み出力制御回路23、トリガレジスタ24、およびカウンタ制御回路25、を具備する。
カウンタ21は、カウントソースクロックWCLKをカウントアップし、カウント値26を出力する。内部リセット信号27の出力を制御する回路(リセット出力制御回路)22は、カウンタ21のカウント値26が予め設定された値(オーバーフロー値OVFV)に到達してオーバーフローしたことを検知した時、内部リセット信号27を出力する。内部リセット信号27は、後述されるAND回路(第1AND回路)41によりマスク(無効化)されない時、リセット信号60としてシステム制御回路8へ出力される。
内部割り込み信号29の出力を制御する回路(割り込み出力制御回路)23は、カウンタ21のカウント値26がある特定のカウント値INTV(例えば、オーバーフロー値OVFVの50%、または75%等)である時に、それを検知し、内部割り込み信号29をアサートする。内部割り込み信号29は、後述されるAND回路(第2AND回路)45によりマスク(無効化)されない時、割り込み信号61としてシステム制御回路8に出力される。
トリガレジスタ(TRREG)24は、内部バス11に信号配線14を介して接続され、中央処理装置2によってそのレジスタ値の読み出しおよび書き込みが可能である。中央処理装置2は、オーバーフローの抑止、すなわち、ウォッチドッグタイマ10のカウント値の初期化(リフレッシュ)のため、トリガレジスタ24に所定の第1値(例えば、所定の第1固定値)の書込みを行う。それにより、トリガレジスタ24はトリガ信号30をアサートする。
カウンタ制御回路25はカウンタ21のカウント値26の初期化動作、すなわち、カウント値26のリフレッシュ動作を制御する回路である。カウンタ制御回路25は、トリガ信号30がアサートされたことをトリガとして、オーバーフロー直前のカウント値(BOVF)の書き込みを指示する書き込み信号(第1書込み信号)31をアサートし、カウンタ21に、直接、オーバーフロー直前のカウント値(BOVF)の書き込みを行う。このとき併せて、カウンタ制御回路25は、オーバーフロー直前のカウント値の書き込み状態を示す書き込みステータス信号(第1書込み状態信号)32を出力する。
また、カウンタ制御回路25はカウント値の初期化を制御する機能も有する。この場合、カウンタ制御回路25は、カウンタ値の初期化(リフレッシュ)を指示するためのリフレッシュ信号33をアサートする。リフレッシュ信号33のアサートは、故障診断モジュール40から出力されるリセット出力正常信号34のアサートをトリガとして行われる。
オーバーフロー直前のカウント値(BOVF)とは、カウンタ21がカウントアップ動作を行う8ビットのカウンタで、カウント値のオーバーフロー値(OVFV)が11111111(2進数表記)の場合、たとえば、11110011(2進数表記)や11110111(2進数表記)等の様な値である。すなわち、オーバーフロー直前のカウント値(BOVF)とは、クロック信号WCLKを数クロック分だけカウントアップすると、オーバーフロー値(OVFV)となる様な値である。オーバーフロー直前のカウント値(BOVF)は、任意とされるが、後述されるリフレッシュ期間の長さを考慮して決めるのが良い。カウンタ21がカウントダウン動作を行う8ビットのカウンタで、カウント値のアンダーフロー値が00000000(2進数表記)の場合、アンダーフロー直前のカウント値は、たとえば、000001000(2進数表記)、00000111(2進数表記)等の様な値、すなわち、クロック信号WCLKを数クロック分だけカウントダウンするとアンダーフロー値となる様な値である。
故障診断モジュール40はウォッチドッグタイマモジュール20の故障を診断する回路である。故障診断モジュール40は、AND回路(第1AND回路)41、リセットフラグ回路(第1保持回路)42、AND回路(第2AND回路)45、および割り込みフラグ回路(第2保持回路)46を有する。リセットフラグ回路42は内部リセット信号27のアサートを検出し、それをリセットフラグとして保持する保持回路(第1保持回路)である。割り込みフラグ回路46は内部割り込み信号29のアサートを検出し、それを割り込みフラグとして保持する保持回路(第2保持回路)である。
先ず、オーバーフロー直前の値の書き込みステータス信号(第1書込み状態信号)32がアサートされている場合について説明する。この場合、AND回路(第1AND回路)41により内部リセット信号27が抑制(マスク)されるので、システム制御回路8へのリセット信号60の発行が阻止される。その代わりに、リセットフラグ回路(第1保持回路)42は内部リセット信号27のアサートを検出し、それをリセットフラグとして保持する保持回路としての機能を有する。リセットフラグ回路42はリセットフラグ信号43をアサートし、故障診断回路44に通知する。
また、AND回路(第2AND回路)45により内部割り込み信号29が抑制(マスク)されるので、システム制御回路8への割り込み信号61の発行が阻止される。その代わりに、割り込みフラグ回路(第2保持回路)46は内部割り込み信号29のアサートを検出し、それを割り込みフラグとして保持する保持回路としての機能を有する。割り込みフラグ回路46は割り込みフラグ信号47をアサートし、故障診断回路44に通知する。
故障診断回路44は、リセットフラグ信号43のアサートにより、内部リセット信号27が正常に出力されたことを示すリセット出力正常信号34をアサートする。リセットフラグ信号43がアサートされない場合、故障診断回路44は故障検知信号62をアサートし、システム制御回路8に警告する。その結果、システム制御回路8は、例えば、システムリセット信号を発生し、マイクロコンピュータ1のシステム全体のリセット動作を指示する。
次に、オーバーフロー直前の値の書き込みステータス信号(第1書込み状態信号)32がネゲートされている場合について説明する。この場合、AND回路41は内部リセット信号27を抑制(マスク)しないため、システム制御回路8にリセット信号60として発行される。また、この場合、リセットフラグ回路42は、オーバーフロー直前の値の書き込みステータス信号(第1書込み状態信号)32のネゲートにより、リセットされる。
リセットフラグ回路42および割り込みフラグ回路46は、内部バス11からの選択信号SELにより選択可能にされている。CPU2が選択信号SELを発生し、リセットフラグ回路42および割り込みフラグ回路46を選択すると、リセットフラグ回路42および割り込みフラグ回路46に保持されるリセットフラグ信号43および割り込みフラグ信号47はリードデータRDとして内部バス11を介してCPU2により取得可能である。リセットフラグ信号43および割り込みフラグ信号47の信号状態を確認することが出来るので、ウォッチドッグタイマ(WDT)10の故障の解析が容易にできる。
[実施例に係る動作フロー]
図3は、実施例に係るウォッチドッグタイマの通常動作時とリセット出力故障時の動作フローを説明するための図である。図3において、各信号は図2の信号に対応している。また、ステータスSTはウォッチドッグタイマモジュール20と故障診断モジュール40の状態を示す。カウンタ値26はカウンタ21がカウントアップされている様子を模式的に表したものである。OVFVは、カウント値のオーバーフロー値を示す。図3において、実線が通常動作時を示しており、太い点線がリセット出力故障時を示している。
最初に、ステータスSTについて説明する。ステータスSTに示されるように、時刻t0から時刻t1の期間はウォッチドッグタイマモジュール20のカウントアップ動作の期間であり、時刻t1から時刻t3の期間はウォッチドッグタイマモジュール20のリフレッシュ動作の期間および故障診断モジュール40の故障診断の動作の期間である。また、時刻t3以降はウォッチドッグタイマモジュール20のカウントアップ動作の期間である。また、ウォッチドッグタイマ10の実動作中のカウントアップ動作の期間において、カウンタ21はカウントアップ動作を行っているものとする。
「通常動作時」
時刻t1において、ウォッチドッグタイマ10の実動作中に、CPU2のプログラム実行によりトリガレジスタ24への所望の固定値の書き込みが行われる。この書込みがトリガとなり、リフレッシュ動作が開始される。先ず、カウンタ制御回路25により、オーバーフロー直前の値の書き込み信号(第1書込み信号)31がアサートされ、カウンタ21にオーバーフロー直前の値(BOVF)が書きこまれる。併せて、オーバーフロー直前の値の書き込みステータス信号(第1書込み状態信号)32がハイレベルとしてアサートされる。これにより、リセット出力正常信号34が故障診断回路44によりロウレベルへクリアされる。
時刻t2において、カウントソースクロックWCLKの数カウント後、カウンタ21のカウント値がオーバーフロー値(OVFV)に到達し、オーバーフローとなる。オーバーフローとなるため、内部リセット信号27がリセット出力制御回路22により発行されるが、故障診断モジュール40内のAND回路(第1AND回路)41によりマスクされているため、リセット信号60はロウレベルを維持する。そのため、システム制御回路8にはリセット信号60は発行されない。代わりに、リセットフラグ42がセットされ、リセットフラグ信号43がハイレベルとしてアサートされる。
続いて、故障診断回路44は、オーバーフロー直前の値の書き込みステータス信号(第1書込み状態信号)32がアサートされてからある所定の期間内にリセットフラグ回路42がハイレベルとしてアサートされたか否かを、リセットフラグ信号43を通して確認する。リセットフラグ信号43がハイレベルにセットされていた場合(実線)、故障診断回路44はリセット出力を正常動作と診断し、リセット出力正常信号34をハイレベルとしてアサートする。
時刻t3において、リセット出力正常信号34のアサートを受け、カウンタ制御回路25はカウンタ21の初期化(リフレッシュ)を行い、次のカウントアップ動作を開始させる。それと同時に、カウンタ制御回路25はオーバーフロー直前の値(BOVF)の書き込みステータス信号(第1書込み状態信号)32をロウレベルとしてネゲートする。これにより、リセットフラグ信号43がロウレベルへクリアされる。
[リセット故障時]
時刻t1で、カウンタ21にオーバーフロー直前の値(BOVF)が書きこまれる。併せて、オーバーフロー直前の値の書き込みステータス信号(第1書込み状態信号)32がハイレベルとしてアサートされる。これにより、リセット出力正常信号34が故障診断回路44によりロウレベルへクリアされる。
この後、例えば、カウンタ21が故障し、カウント値がオーバーフロー値に到達しないものとする(太い点線)。この場合、リセットフラグ信号43はロウレベルでクリアされたまま(時刻t2−時刻t3の太い点線)であるので、リセット信号が発生しない故障と見做される。そのため、故障診断回路44はリセット信号発生経路の回路の故障と診断し、リセット出力正常信号34をロウレベルのままとし、故障検知信号62をハイレベルとしてアサートし、システム制御回路8に警告する。なお、上記ではカウンタ21の故障の例を説明したが、リセット信号が発生しない故障としては、リセット出力制御回路22やリセットフラグ回路42の故障も考えられる。
[暴走時]
図4は、実施例に係るウォッチドッグタイマのオーバーフロー時の動作フローを説明するための図である。図4には、図3との比較のため、オーバーフロー直前の値(BOVF)の書込みのタイミングを点線で例示的に示した。
時刻t0に、カウンタ21がカウントアップ動作を開始し、時刻t1でカウンタ21のカウント値がオーバーフローに到達した場合である。言いかえると、CPU2はプログラムの暴走などによりトリガレジスタ24へ所定の第1固定値の書込みを行うことが出来ず、リフレッシュ動作に入る前に、カウンタ21のカウント値がオーバーフローした場合である。この場合、オーバーフローにより、リセット出力制御回路22は内部リセット信号27をハイレベルとしてアサートする。ただし、カウンタ制御回路25は、トリガ信号30がアサートされないため、オーバーフロー直前の値の書き込みステータス信号(第1書込み状態信号)32をロウレベルとしてネゲートに維持する。このため、内部リセット信号27はAND回路(第1AND回路)41にマスクされることなく、アサートされたリセット信号60として、システム制御回路8へ発行される。その結果、システム制御回路8は、例えば、システムリセット信号を発生し、マイクロコンピュータ1のシステム全体のリセット動作が行われる。リセット期間TR経過後の時刻t2において、マイクロコンピュータ1がリセットスタートされ、カウンタ21のカウントアップ動作が開始される。
実施例によれば、カウンタ21にオーバーフロー直前の値(BOVF)を書き込み可能なカウンタ制御回路25がウォッチドッグタイマ(WDT)10に設けられる。カウンタ制御回路25は、ウォッチドッグタイマ(WDT)10実動作中のリフレッシュ動作時に、カウンタ21にオーバーフロー直前の値(BOVF)を書き込み可能である。そのため、リフレッシュ動作の期間において、意図的に、カウンタ21のカウント値26をオーバーフローさせて、内部リセット信号27を発生させることが出来る。そのため、リセット信号を発生させる回路の故障を診断できる。
リフレッシュ動作の期間に発生される内部リセット信号27はAND回路41でマスクされるので、リセット信号60としてシステム制御回路8へは発生されない。また、内部リセット信号27はリセットフラグ回路42により検知および保持できる様にした。
上記により、CPU2のプログラム実行中において、ウォッチドッグタイマ(WDT)10の実動作中におけるリフレッシュ動作の期間に、ウォッチドッグタイマ(WDT)10の自己診断(リセット出力の故障検出)が可能となる。また、ウォッチドッグタイマ(WDT)10の自己診断は、プログラムの暴走の検知を妨げることなく、ウォッチドッグタイマ(WDT)10の実動作中に行うことができる。
図2に示されるように、簡易な回路構成により、ウォッチドッグタイマ(WDT)10の自己診断を実現できるため、冗長構成(ウォッチドッグタイマを複数設け、それらの動作を比較する等)の様に回路規模を大きくすることなく、ウォッチドッグタイマ(WDT)10のリセット信号を発生させる回路部分の故障診断が可能である。
[変形例1]
図5は、変形例1に係るウォッチドッグタイマの構成を示す図である。図5に示されるウォッチドッグタイマ10Aは、図2に示されるウォッチドッグタイマ10の変形例である。
図2に示されるウォッチドッグタイマ10はリセット信号の発生経路の回路の故障検出に関して説明されたが、図5に示されるウォッチドッグタイマ10Aはリセット信号の発生経路の回路の故障検出、および割り込み信号の発生経路の回路の故障検出も検出可能にするものである。
図2に示されるウォッチドッグタイマ10と異なる部分が説明される。
カウンタ制御回路25は、さらに、割り込み信号の発生の可能・不可能を制御する制御レジスタ(割り込みイネーブルレジスタ、INTEREG)50を具備する。カウンタ制御回路25は、さらに、割り込み直前の値(BINT)の書き込み信号(第2書込み信号)51をカウンタ21へ出力し、割り込み直前の値(BINT)の書き込みステータス信号(第2書込み状態信号)52を故障診断回路44へ出力し、また、割り込みフラグ回路46から割り込みフラグ信号47を入力される。カウンタ制御回路25への割り込みフラグ信号47の入力は、ウォッチドッグタイマ10の動作フローが後述される図6の変形例1に係る動作フロー1とされるか、図7の変形例1に係る動作フロー2とされるかを決定するのに利用される。
故障診断回路44は、さらに、割り込み出力正常信号54をカウンタ制御回路25へ出力し、フラグ初期化信号57をリセットフラグ回路42と割り込みフラグ回路46とのそれぞれのリセット入力へ出力する。また、OR回路55が設けられ、オーバーフロー直前の値の書き込みステータス信号(第1書込み信号)32と割り込み直前の値(BINT)の書き込みステータス信号(第2書込み状態信号)52との論理ORを取った信号56がAND回路(第1AND回路、第2AND回路)41、45のそれぞれ入力端子へ入力される。
割り込みイネーブルレジスタ(INTEREG)50のレジスタ値がデータ“1”に設定されると、割り込み出力制御回路23はカウンタ21のカウント値26がある特定のカウント値INTV(例えば、オーバーフロー値OVFVの75%)である時、それを検知し、内部割り込み信号29を出力する。INTEREG50のレジスタ値がデータ“0”に設定されると、割り込み出力制御回路23は内部割り込み信号29を発生しない。
割り込みイネーブルレジスタ(INTEREG)50のレジスタ値がデータ“1”に設定されている場合のCPU2の動作の一例が以下に説明される。なお、以下に説明されるCPU2の動作の一例は、後述される図6の動作フローに対応するものであり、内部割り込み信号29の発生の前にカウンタ値26の第1リフレッシュ動作が行われるものである。一方、CPU2の動作の他の一例は、後述される図7の動作フロー関するものである。図7の動作フローにおいては、内部割り込み信号29、および割り込み信号61の発生の後に、カウンタ値26の第2リフレッシュ動作が行われるものである。
プログラムを実行する中央処理装置2は、内部割り込み信号29の発生を規定する割り込みカウント値(INTV)にカウント値26が到達する前に、すなわち、カウント値26の初期化(リフレッシュ)のため、トリガレジスタ24に所定の第2値(例えば、所定の第2固定値)の書込みを行う。それにより、トリガレジスタ24はトリガ信号30をアサートする。
カウンタ制御回路25は、トリガ信号30がアサートされたことをトリガとして、カウンタ21へ割り込み直前の値(BINT)の書込みを指示する書き込み信号(第2書込み信号)51をアサートし、カウンタ21に、直接、割り込み直前の値(BINT)の書込みを行うことで、カウント値26を割り込み直前の値(BINT)へ変更する。この時併せて、カウンタ制御回路25は、割り込み直前の値の書き込みステータスを示す書き込みステータス信号(第2書込み状態信号)52をアサートし、故障診断回路44に通知する。
リフレッシュ期間(第1リフレッシュ動作)において、カウンタ21は割り込み直前の値(BINT)からカウントを継続し、カウント値26が割り込みカウント値(INTV)に到達すると、割り込み出力制御回路23はそれを検知し、内部割込み信号29をアサートする。
割り込み直前の値(BINT)の書き込みステータス信号(第2書込み状態信号)52がアサートされている場合、AND回路(第2AND回路)45により内部割り込み信号29が抑制(マスク)されるので、システム制御回路8への割り込み信号61の発行が阻止される。その代わりに、割り込みフラグ回路46は内部割り込み信号29のアサートを検出し、それを割り込みフラグ信号47として保持する。割り込みフラグ回路46は割り込みフラグ信号47をアサートし、故障診断回路44に通知する。故障診断回路44は、割り込みフラグ信号47のアサートにより、内部割込み信号29が正常に出力されたことを示す割り込み出力正常信号54をアサートする。一方、割込みフラグ信号47がアサートされない場合、故障診断回路44は故障検知信号62をアサートし、システム制御回路8に警告する。これにより、割り込み信号経路の回路の故障検出が行われる。
割り込み直前の値(BINT)の書き込みステータス信号(第2書込み状態信号)52がネゲートされている場合、内部割り込み信号29はAND回路45にマスクされることなく、アサートされた割り込み信号61として、システム制御回路8へ発行される。
カウント値26が割り込みカウント値(INTV)に到達した後、カウンタ21のカウントアップ動作は継続されているが、割り込み出力正常信号54のアサートにより、カウント値26がオーバーフロー直前の値(BOVF)にされる。これに併せて、割り込み直前の値(BINT)の書き込みステータス信号(第2書込み状態信号)52がクリア(ネゲート)され、オーバーフロー直前の値の書き込みステータス信号(第1書込み状態信号)32がアサートされる。以降、図3およびその説明と同様なリフレッシュ動作(後述される図6および図7において、リフレッシュ動作2として示される)が行われる。これにより、リセット信号の発生経路の回路の故障検出が行われる。
なお、割り込みイネーブルレジスタ(INTEREG)50のレジスタ値がデータ“1”に設定されている場合、上記の様に、トリガレジスタ24へ所定の第2値(例えば、所定の第2固定値)によって、カウント値26を割り込み直前の値(BINT)へ変更するようにしたが、これに限定されない。中央処理装置2によるトリガレジスタ24への書込みは、所定の第1値(例えば、所定の第1固定値)とし、トリガ信号30の発生時点において、カウンタ制御回路25により、割り込みフラグ回路46がアサートされた割り込みフラグ信号47を保持しているか否かを判断することで、カウント値26への書込み値を変更できる。例えば、割り込みフラグ回路46がアサートされた割り込みフラグ信号47を保持していない場合、カウンタ制御回路25はカウント値26を割り込み直前の値(BINT)へ変更する(図6参照)。一方、割り込みフラグ回路46がアサートされた割り込みフラグ信号47を保持する場合、カウンタ制御回路25はカウント値26をオーバーフロー直前の値(BOVF)へ変更する(図7参照)。
[変形例1に係る動作フロー1]
図6は、変形例1に係るウォッチドッグタイマの通常動作時とリセット故障及び割り込み故障時における動作フローを説明するための図である。図6の動作フローの前提は、割り込みイネーブルレジスタ50のレジスタ値がデータ“1”に設定されて、ウォッチドッグタイマ10から割り込み信号61およびリセット信号60を発生させる動作とされ、かつ、内部割り込み信号29の発生の前に、リフレッシュ動作1が行われる場合である。
図6において、各信号は図5の信号に対応している。図中、実線が通常動作時を示し、太い点線がリセット故障及び割り込み故障時を示す。ステータスSTはウォッチドッグタイマモジュール20と故障診断モジュール40の状態を示す。カウンタ値26はカウンタ21がカウントアップされている様子を模式的に表したものである。OVFVはオーバーフローを規定するオーバーフローカウント値を示し、INTVは内部割り込み信号29の発生を規定する割り込みカウント値を示す。
[通常動作時]
最初に、ステータスSTについて説明する。ステータスSTに示されるように、時刻t0から時刻t1の期間はウォッチドッグタイマモジュール20のカウントアップ動作の期間であり、時刻t1から時刻t4の期間はウォッチドッグタイマモジュール20の第1リフレッシュ動作(リフレッシュ動作1と示す)の期間および故障診断モジュール40の割り込みに関する故障診断の動作の期間である。時刻t4から時刻t7は、期間はウォッチドッグタイマモジュール20の第2リフレッシュ動作(リフレッシュ動作2と示す)の期間および故障診断モジュール40のリセットに関する故障診断の動作の期間である。時刻t7以降は、ウォッチドッグタイマモジュール20のカウントアップ動作の期間である。ウォッチドッグタイマ10の実動作中のカウントアップ動作の期間において、カウンタ21はカウントアップ動作を行っているものとする。
時刻t1において、ウォッチドッグタイマ10の実動作中、割り込みが発行される前に、プログラムを実行するCPU2がトリガレジスタ24へ所定の第2値(所定の第2固定値)の書き込みを行う。これがトリガとなり、トリガ信号30がアサートされ、カウンタ制御回路25へ入力される。カウンタ制御回路25はトリガ信号30のアサートにより、割り込みフラグ信号47の値を参照する。この場合、割り込みフラグ信号47の値は、“0”クリア状態であり、リフレッシュ動作1が開始される。
先ず、カウンタ制御回路25より、割り込み直前の値の書き込み信号(第2書込み信号)51がアサートされ、カウンタ21に割り込み直前のカウント値(BINT)が書きこまれる。併せて、割り込み直前の値の書き込みステータス信号(第2書込み状態信号)52がアサートされる。これにより、割り込み出力正常信号54がクリアされる。
時刻t2において、カウントソースクロックWCLKの数クロック後、カウンタ値26が割り込み発行の値(INTV)に到達する。割り込み出力制御回路23は、これを検知し、内部割り込み信号29を発行する。一方、故障診断モジュール40内のAND回路45によりマスクされるため、割り込み信号61までは伝わらず、システム制御回路8への割り込み信号61の発行が阻止される。代わりに、割り込みフラグ回路46がセットされ、割り込みフラグ信号47がアサートされる。
時刻t3において、故障診断回路44は割り込み直前の値の書き込みステータス信号(第2書込み状態信号)52がアサートされてからある期間内に割り込みフラグ回路46がセットされているかどうかを、割り込みフラグ信号47を通して確認する。割り込みフラグ回路46がセットされていた場合(実線)、正常動作と診断し、割り込み出力正常信号54をアサートする。その後、割り込み直前値書き込みステータス信号(第2書込み状態信号)52をネゲートする。一方、割り込みフラグ回路46がクリアされたままでセットされていない場合(太い点線)、割り込み故障と診断し、故障検知信号62をアサートし、システム制御回路8へ警告する。
時刻t4以降は、図3の動作フローにおける、時刻t1−t3のリフレッシュ動作(故障診断)と同様な動作を実施する。
ただし、図3の動作フローにおいて、時刻t1のカウンタ21へのオーバーフロー直前の値(BINV)の書き込みは、ユーザプログラムをトリガとしたものではなく、図6の時刻t4の様に、故障診断回路44から出力される割り込み出力正常信号54のアサートをトリガとしたものへ変更される。また、図3の動作フローにおいて、時刻t3のリセット出力正常信号34のセットは、図6の時刻t6のように、リセットフラグ信号43だけでなく、割り込みフラグ信号47も確認し、正常動作かを故障診断回路44により診断する。正常動作の場合、故障診断回路44は、リセット出力正常信号34をアサートし、オーバーフロー直前の値の書き込みステータス信号(第1書込み状態信号)32をネゲートするとともに、1パルスのフラグ初期化信号57を出力してリセットフラグ回路42及び割り込みフラグ回路46をクリアする。
[リセット故障及び割り込み故障時]
割り込み故障時、時刻t1で、カウンタ21に割り込み直前の値(BINT)が書きこまれる。併せて、割り込み直前の値の書き込みステータス信号(第2書込み状態信号)52がハイレベルとしてアサートされる。これにより、割り込み出力正常信号54が故障診断回路44によりロウレベルへクリアされる。
この後、例えば、カウンタ21が故障し、カウント値26が割り込みカウント値(INTV)に到達しないものとする(太い点線)。この場合、割り込みフラグ信号47はロウレベルでクリアされたまま(太い点線)であるので、割り込みフラグ信号47が発生しない故障と見做される。
そのため、故障診断回路44は割り込み信号発生経路の回路の故障と診断し、割り込み出力正常信号54をロウレベルのままとし、故障検知信号62をハイレベルとしてアサートし、システム制御回路8に警告する。なお、上記ではカウンタ21の故障の例を説明したが、割り込み信号が発生しない故障としては、割り込み出力制御回路23や割り込みフラグ回路46の故障も考えられる。
リセット故障時、時刻t4で、カウンタ21にオーバーフロー直前の値(BOVF)が書きこまれる。併せて、オーバーフロー直前の値の書き込みステータス信号(第1書込み状態信号)32がハイレベルとしてアサートされる。これにより、リセット出力正常信号34が故障診断回路44によりロウレベルへクリアされる。
この後、例えば、カウンタ21が故障し、カウント値がオーバーフローに到達しないものとする(太い点線)。この場合、リセットフラグ信号43はロウレベルでクリアされたままであるので、リセット信号が発生しない故障と見做される。そのため、故障診断回路44はリセット信号発生経路の回路の故障と診断し、リセット出力正常信号34をロウレベルのままとし、故障検知信号62をハイレベルとしてアサートし、システム制御回路8に警告する。なお、上記ではカウンタ21の故障の例を説明したが、リセット信号が発生しない故障としては、リセット出力制御回路22やリセットフラグ回路42の故障も考えられる。
[暴走時]
CPU2はプログラムの暴走などによりトリガレジスタ24へ所定の第2固定値の書込みを行うことが出来ず、リフレッシュ動作1に入る前に、カウンタ21のカウント値がオーバーフローした場合、割り込み直前の値の書き込みステータス信号(第2書込み状態信号)52およびオーバーフロー直前の値の書き込みステータス信号(第1書込み状態信号)32はネゲートされたままである。そのため、AND回路45およびAND回路41は、割り込み出力制御回路23から発生される内部割り込み信号29およびリセット出力制御回路22から発生される内部リセット信号27のそれぞれをマスクしないので、割り込み信号61およびリセット信号60がシステム制御回路8へ通知される。システム制御回路8は、例えば、割り込み信号61を受けて、所定の準備処理(退避処理等)を実施し、リセット信号60を受けて、システムリセット信号を発生する。
[変形例1に係る動作フロー2]
図7は、変形例1に係るウォッチドッグタイマの通常動作時とリセット故障及び割り込み故障時における他の動作フローを説明するための図である。図7の動作フローの前提は、割り込みイネーブルレジスタ50のレジスタ値がデータ“1”に設定されて、ウォッチドッグタイマ10から割り込み信号61およびリセット信号60を発生させる動作とされ、かつ、内部割り込み信号29の発生の後に、リフレッシュ動作2が行われる場合である。すなわち、図6のリフレッシュ動作1が行われない場合の動作フローである。
[通常動作時]
時刻t1において、カウンタ21のカウント値26が割り込み発行の値(INTV)に到達する。割り込み出力制御回路23は、これを検知し、内部割り込み信号29を発行する。これにより、割り込みフラグ回路46がセットされ、割り込みフラグ信号47が発生される。割り込み直前の値の書き込みステータス信号(第2書込み状態信号)52はネゲートされているため、AND回路(第2AND回路)45は、割り込み出力制御回路23から発生される内部割り込み信号29をマスクしないので、割り込み信号61がシステム制御回路8へ通知される。システム制御回路8は、割り込み信号61の受信により、CPU2に割り込み信号61に従う割り込み処理を指示する。この割り込み処理は、例えば、トリガレジスタ24への所定の第1値(所定の第1固定値)の書き込みの処理である。
時刻t2において、CPU2はトリガレジスタ24への所定の第1値(所定の第1固定値)の書き込みを行う。これがトリガとなり、トリガ信号30がアサートされ、カウンタ制御回路25へ入力される。
カウンタ制御回路25はトリガ信号30のアサートにより、割り込みフラグ信号47の値を参照する。この場合、割り込みフラグ信号47の値は、“1”セット状態であり、リフレッシュ動作1がスキップされ、リフレッシュ動作2が開始される。カウンタ制御回路25は、前記同様に、カウンタ21のカウント値26をオーバーフロー直前の値(BOVF)に書き換える。これに併せて、オーバーフロー直前の値の書き込みステータス信号(第1書込み状態信号)32がアサートされ、リセット出力正常信号34がクリアされる。
時刻t3において、カウントソースクロックWCLKの数カウント後、カウンタ21のカウント値がオーバーフロー値(OVFV)に到達し、オーバーフローとなる。オーバーフローとなるため、内部リセット信号27がリセット出力制御回路22により発行されるが、AND回路(第1AND回路)41によりマスクされているため、リセット信号60はロウレベルを維持する。そのため、システム制御回路8にはリセット信号60は発行されない。代わりに、リセットフラグ回路42がセットされ、リセットフラグ信号43がハイレベルとしてアサートされる。
時刻t4では、故障診断回路44は、オーバーフロー直前の値の書き込みステータス信号(第1書込み状態信号)32がアサートされてからある所定の期間内にリセットフラグ回路42および割り込みフラグ回路46がハイレベルとしてアサートされたか否かを、リセットフラグ信号43および割り込みフラグ信号47を通して確認する。リセットフラグ信号43および割り込みフラグ信号47がハイレベルにセットされていた場合(実線)、故障診断回路44は正常動作と診断し、リセット出力正常信号34をアサートし、1パルスのリセット初期化信号57を出力してリセットフラグ回路42及び割り込みフラグ回路46をクリアする。
時刻t5において、故障診断回路44はオーバーフロー直前の値の書き込みステータス信号(第1書込み状態信号)32をネゲートする。リセット出力正常信号34のアサートを受け、カウンタ制御回路25はリフレッシュ信号33をアサートし、カウンタ21のカウント値26の初期化(リフレッシュ)を行い、次のカウントアップ動作を開始させる。
[リセット故障時または割り込み故障時]
時刻t2−時刻t5の期間、すなわち、リフレッシュ動作2の期間は、故障診断モジュール40の故障診断の動作の期間である。この期間において、リセットフラグ回路42及び/または割り込みフラグ回路46がハイレベルにセットされていない場合(太い点線)、障診断回路44はリセット故障および/または割り込み故障と診断し、故障検知信号62をアサートし、システム制御回路8へ警告する。これにより、リセット信号の発生経路の回路の故障検出や割り込み信号経路の回路の故障検出が行われる。
変形例1によれば、カウンタ21に割り込み直前の値(BINT)およびオーバーフロー直前の値(BOVF)を書き込み可能なカウンタ制御回路25がウォッチドッグタイマ(WDT)10に設けられる。カウンタ制御回路25は、ウォッチドッグタイマ(WDT)10実動作中のリフレッシュ動作時(リフレッシュ動作1、リフレッシュ動作2)に、カウンタ21に割り込み直前の値(BINT)およびオーバーフロー直前の値(BOVF)を書き込み可能である。そのため、リフレッシュ動作の期間において、意図的に、カウンタ21のカウント値をオーバーフロー(OVFV)や割り込みが発生するカウント値(INTV)に到達させて、内部割り込み信号29および内部リセット信号27を発生させることが出来る。そのため、割り込み信号を発生させる回路の故障およびリセット信号を発生させる回路の故障を診断できる。
リフレッシュ動作の期間に発生される内部割り込み信号29および内部リセット信号27はAND回路(第2AND回路)45、AND回路(第1AND回路)41でマスクされるので、割り込み信号61、リセット信号60としてシステム制御回路8へは発生されない。また、内部割り込み信号29および内部リセット信号27は割り込みフラグ回路46およびリセットフラグ回路42により検知および保持しできる様にした。
上記により、CPU2のプログラム実行中において、ウォッチドッグタイマ(WDT)10の実動作中におけるリフレッシュ動作の期間に、ウォッチドッグタイマ(WDT)10の自己診断(リセット出力の故障検出、割り込み出力の故障検出)が可能となる。また、ウォッチドッグタイマ(WDT)10の自己診断は、プログラムの暴走の検知を妨げることなく、ウォッチドッグタイマ(WDT)10の実動作中に行うことができる。
図5に示されるように、簡易な回路構成により、ウォッチドッグタイマ(WDT)10の自己診断を実現できるため、冗長構成(ウォッチドッグタイマを複数設け、それらの動作を比較する等)の様に回路規模を大きくすることなく、ウォッチドッグタイマ(WDT)10のリセット信号を発生させる回路部分の故障診断が可能である。
[変形例2]
図8は、変形例2に係るカウンタ制御回路を説明するための図である。図8に記載のカウンタ制御回路25は、図2の実施例および図5の変形例1に記載のカウンタ制御回路25の変形例であり、実施例および変形例1の構成も併せて記載される。
カウンタ制御回路25は、制御回路250、割り込みイネーブルレジスタ(INTEREG)50を有する。制御回路250はトリガレジスタ24からのトリガ信号30、および、制御信号(34,54,47)を入力され、制御信号(第1書込み状態信号32,第2書込み状態信号52)を出力し、カウンタ制御回路25の全体の動作の制御を司る。制御信号(34,54,47、32,52)は、図2の実施例および図5変形例1の信号の番号と同じである。
カウンタ制御回路25は、さらに、初期化回路251、BOVF値書込み回路252、BINT値書込み回路253、ビット制御回路254を含む。初期化回路251は、カウンタ21内のカウンタ回路211のカウント値26を格納および出力する出力回路(FF1−FF8)の値を初期化するための回路である。BOVF値書込み回路252は、出力回路(FF1−FF8)の値を、オーバーフロー直前の値(BOVF)へ書き換えるための回路である。BINT値書込み回路253は、出力回路(FF1−FF8)の値を、割り込み直前の値(BINT)へ書き換えるための回路である。初期化回路251、BOVF値書込み回路252、BINT値書込み回路253の出力のそれぞれは、信号33,31,51として、出力回路(FF1−FF8)へ供給される。信号33,31,51は、図2の実施例および図5変形例の信号の番号と同じである。
ビット制御回路254は、出力回路(FF1−FF8)の個々のフリップフロップFFの値を、自由に、“1”および“0”に書き込めるように構成され、出力回路(FF1−FF8)の全ビット分の故障検出を可能にする。この場合、ビット制御回路254は、出力回路(FF1−FF8)に対して、制御信号70を発生し、個々のフリップフロップFFの値を所望に変更する。
制御回路250は、初期化回路251、BOVF値書込み回路252、BINT値書込み回路253、およびビット制御回路254の内、どれを動作させるかを選択する機能を有する。
図9は、ビット制御回路の動作フローを説明するための図である。
ステップS1で、プログラムを実行するCPU2により、トリガレジスタ24に所定の固定値が書き込まれる。これがトリガなり、リフレッシュ動作が開始される。
ステップS2では、ビット制御回路254により、カウンタ21の出力回路(FF1−FF8)に、11110111の様なカウント値、すなわち、全ビットの中で1ビットだけに“0”を、それ以外のビットに“1”を書き込む。
ステップS3では、ビット制御回路254により、11110111の様なカウント値のうち、“0”のビットを“1”へ書き換える。
ステップS4では、オーバーフローを発生させて、リセットフラグ回路42をセットする。
ステップS5では、リセットフラグ回路42が“1“にセットされたか否かをリセットフラグ信号43で確認することで、故障診断回路44により故障診断が行われる。リセットフラグ回路42が“1“にセットされていれば、ステップS6へ遷移し、リフレッシュが完了する。リセットフラグ回路42が“1“にセットされておらずクリアされたままであれば、ステップS7へ遷移し、故障診断回路44は、故障と判断し、故障検知信号62をアサートし、システム制御回路8に警告する。
上記ステップS2−ステップS5を、リフレッシュ動作が開始毎に、カウンタ21の出力回路のFF1−FF8の異なるFFに対して繰り返し実行することで、FF1−FF8全回路の故障検出が可能である。
変形例2によれば、実施例および変形例1では、カウンタ21の異常のうちオーバーフロー直前〜オーバーフローの間のカウンタ21の異常のみしか検出できない。即ち、カウンタ21の異常のうち、下位数ビットのみの異常しか検出できないことになる。それに対し、変形例2では、実施例や変形例1のリフレッシュ動作を上記の様に変更することにより、カウンタ21の全ビット分の故障検出が可能となる。
以上、本発明者によってなされた発明を実施形態および実施例に基づき具体的に説明したが、本発明は、上記実施形態および実施例に限定されるものではなく、種々変更可能であることはいうまでもない。
例えば、カウンタ21をリセット用カウンタと割り込み用カウンタとに分割する。そして、リセット用カウンタにはリセット用カウントソースクロックを供給し、割り込み用カウンタには割り込み用カウントソースクロックを供給する。ここで、リセット用カウントソースクロックの周波数と、割り込み用カウントソースクロックの周波数とを異なるものにする。この様に構成することで、割り込みの発生時間と、リセットの発生時間を細かく調整することが出来る。
1:半導体装置、2:中央処理装置(CPU)、3:ROM、4:RAM、5:LINモジュール(LINM)、6:CANモジュール(CANM)、7:ポート、8:システム制御回路(SCNT)、9:クロック生成回路(OCO)、10:ウォッチドッグタイマ(WDT)、11:内部バス、LINBUS:LIN(Local Interconnect Network)バス、CANBUS:CAN(コントローラエリアネットワーク)バス、ECU1,ECU2:電子制御ユニット、20:ウォッチドッグタイマ回路部(ウォッチドッグタイマモジュール)、21:カウンタ、22:リセット出力制御回路、23:割り込み出力制御回路、24:トリガレジスタ、25:カウンタ制御回路、31:オーバーフロー直前のカウント値(BOVF)の書き込みを指示する書き込み信号(第1書込み信号)、32:オーバーフロー直前のカウント値の書き込み状態を示す書き込みステータス信号(第1書込み状態信号)、40:故障診断回路部(故障診断モジュール)、41:AND回路(第1AND回路)、42:リセットフラグ回路、44障診断回路、45:AND回路(第2AND回路)、46:割り込みフラグ回路、50:割り込みイネーブルレジスタ(INTEREG)、51:割り込み直前の値(BINT)の書き込み信号(第2書込み信号)、52:割り込み直前の値(BINT)の書き込みステータス信号(第2書込み状態信号)

Claims (19)

  1. ウォッチドッグタイマを備える半導体装置であって、
    前記ウォッチドッグタイマは、
    カウンタと、
    前記カウンタのカウント値のリフレッシュ期間に、前記カウント値を所望の値へ変更するカウンタ制御回路と、
    故障診断モジュールと、を備え、
    前記故障診断モジュールは、
    前記リフレッシュ期間に、前記ウォッチドッグタイマの外部へのリセット信号の発生を抑制させる回路と、
    前記リセット信号を保持する第1保持回路と、
    を備える半導体装置。
  2. 請求項1の半導体装置において、
    前記所望の値は、前記カウント値のオーバーフローの直前の値である、半導体装置。
  3. 請求項2の半導体装置において、
    前記故障診断モジュールは、さらに、故障診断回路を有し、
    前記故障診断回路は、前記リフレッシュ期間において、前記第1保持回路に前記リセット信号が保持されないとき、故障検知信号を発生する、半導体装置。
  4. 請求項2の半導体装置において、さらに、
    CPUと、
    内部バスと、を有し
    前記ウォッチドッグタイマは、
    トリガレジスタ、を有し、
    前記トリガレジスタは、前記内部バスを介して前記CPUから所定値が書き込まれた場合、前記カウンタ制御回路へトリガ信号を発生し、
    前記カウンタ制御回路は、前記トリガ信号に従って、前記カウンタのカウント値を前記リフレッシュ期間に、前記所望の値へ変更する、半導体装置。
  5. 請求項4の半導体装置において、
    前記第1保持回路は、前記CPUからの選択信号により、前記内部バスに結合される、半導体装置。
  6. 請求項1の半導体装置において、
    前記故障診断モジュールは、さらに、
    前記リフレッシュ期間に、前記ウォッチドッグタイマの外部への割り込み信号の発生を抑制させる回路と、
    前記割り込み信号を保持する第2保持回路と、を備える半導体装置。
  7. 請求項6の半導体装置において、
    前記故障診断モジュールは、さらに、
    故障診断回路、を有し、
    前記故障診断回路は、前記リフレッシュ期間において、前記2保持回路に前記割り込み信号が保持されないとき、故障検知信号を発生する、半導体装置。
  8. 請求項1の半導体装置において、
    前記カウンタは、前記カウント値を出力する出力回路を、有し
    前記カウンタ制御回路は、前記リフレッシュ期間において、前記出力回路の値を変更可能なビット制御回路を有する、半導体装置。
  9. ウォッチドッグタイマを備える半導体装置であって、
    前記ウォッチドッグタイマは、
    カウンタと、
    前記カウンタのカウント値のリフレッシュ期間に、前記カウント値を所望の値へ変更するカウンタ制御回路と、
    故障診断モジュールと、を備え、
    前記故障診断モジュールは、
    前記リフレッシュ期間に、前記ウォッチドッグタイマの外部への割り込み信号の発生を抑制させる回路と、
    前記割り込み信号を保持する第1保持回路と、
    を備える半導体装置。
  10. 請求項9の半導体装置において、
    前記所望の値は、前記割り込み信号の発生を規定する前記カウント値の直前の値である、半導体装置。
  11. 請求項9の半導体装置において、
    前記故障診断モジュールは、さらに、故障診断回路を有し、
    前記故障診断回路は、前記リフレッシュ期間において、前記第1保持回路に前記割り込み信号が保持されないとき、故障検知信号を発生する、半導体装置。
  12. 請求項9の半導体装置において、さらに、
    CPUと、
    内部バスと、を有し
    前記ウォッチドッグタイマは、
    トリガレジスタ、を有し、
    前記トリガレジスタは、前記内部バスを介して前記CPUから所定値が書き込まれた場合、前記カウンタ制御回路へトリガ信号を発生し、
    前記カウンタ制御回路は、前記トリガ信号に従って、前記カウンタのカウント値を前記リフレッシュ期間に、前記所望の値へ変更する、半導体装置。
  13. 請求項12の半導体装置において、
    前記第1保持回路は、前記CPUからの選択信号により、前記内部バスに結合される、半導体装置。
  14. 請求項9の半導体装置において、
    前記故障診断モジュールは、さらに、
    前記リフレッシュ期間に、前記ウォッチドッグタイマの外部へのリセット信号の発生を抑制させる回路と、
    前記リセット信号を保持する第2保持回路と、を備える半導体装置。
  15. 請求項14の半導体装置において、
    前記故障診断モジュールは、さらに、
    故障診断回路、を有し、
    前記故障診断回路は、前記リフレッシュ期間において、前記2保持回路に前記リセット信号が保持されないとき、故障検知信号を発生する、半導体装置。
  16. 中央処理装置と、
    内部バスと、
    ウォッチドッグタイマと、を具備し、
    前記ウォッチドッグタイマは、
    前記中央処理装置が前記内部バスを介して所定値を書き込み可能とされたトリガレジスタと、
    カウンタと、
    前記トリガレジスタへの前記所定値に書き込みにより、前記ウォッチドッグタイマがリフレッシュ期間とされた場合、前記リフレッシュ期間において、前記カウンタのカウント値を所望の値へ変更可能なカウンタ制御回路と、
    故障診断モジュールと、を備え、
    前記故障診断モジュールは、
    前記リフレッシュ期間に、前記ウォッチドッグタイマの外部へのリセット信号の発生を抑制させる第1AND回路と、
    前記リセット信号を保持するリセットフラグ回路と、
    前記リフレッシュ期間に、前記ウォッチドッグタイマの外部への割り込み信号の発生を抑制させる第2AND回路と、
    前記割り込み信号を保持する割り込みフラグ回路と、
    故障診断回路と、を備え、
    前記カウンタ制御回路は、前記割り込み信号の発生を制御する制御レジスタを有する、
    半導体装置。
  17. 請求項16の半導体装置において、
    前記故障診断回路は、前記リフレッシュ期間に、前記リセットフラグ回路または割り込みフラグ回路の保持する値に基づいて、故障検知信号を発生する、半導体装置。
  18. 請求項16の半導体装置において、
    前記リセットフラグ回路および前記割り込みフラグ回路は、前記中央処理装置からの選択信号により、前記内部バスに結合される、半導体装置。
  19. 請求項16の半導体装置において、
    前記カウンタは、前記カウント値を出力する出力回路を、有し
    前記カウンタ制御回路は、前記リフレッシュ期間において、前記出力回路の値を変更可能なビット制御回路を有する、半導体装置。
JP2016253405A 2016-12-27 2016-12-27 半導体装置 Active JP6742899B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2016253405A JP6742899B2 (ja) 2016-12-27 2016-12-27 半導体装置
KR1020170156150A KR20180076291A (ko) 2016-12-27 2017-11-22 반도체 장치
US15/828,713 US10671467B2 (en) 2016-12-27 2017-12-01 Semiconductor device
TW106143641A TW201836270A (zh) 2016-12-27 2017-12-13 半導體裝置
EP17207204.3A EP3343373B1 (en) 2016-12-27 2017-12-14 Semiconductor device comprising watchdog timer
CN201711425968.9A CN108241547B (zh) 2016-12-27 2017-12-26 半导体装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016253405A JP6742899B2 (ja) 2016-12-27 2016-12-27 半導体装置

Publications (2)

Publication Number Publication Date
JP2018107679A true JP2018107679A (ja) 2018-07-05
JP6742899B2 JP6742899B2 (ja) 2020-08-19

Family

ID=60673540

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016253405A Active JP6742899B2 (ja) 2016-12-27 2016-12-27 半導体装置

Country Status (6)

Country Link
US (1) US10671467B2 (ja)
EP (1) EP3343373B1 (ja)
JP (1) JP6742899B2 (ja)
KR (1) KR20180076291A (ja)
CN (1) CN108241547B (ja)
TW (1) TW201836270A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109522148A (zh) * 2018-12-11 2019-03-26 中山芯达电子科技有限公司 一种低功耗看门狗电路
JP2022536818A (ja) * 2019-09-11 2022-08-19 エルジー・ケム・リミテッド ウォッチドッグシステム、ウォッチドッグ方法、およびウォッチドッグシステムを含むバッテリー管理システム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102415309B1 (ko) * 2020-06-16 2022-07-01 에스케이하이닉스 주식회사 인터페이스 장치 및 그 동작 방법
KR102518285B1 (ko) 2021-04-05 2023-04-06 에스케이하이닉스 주식회사 PCIe 인터페이스 및 인터페이스 시스템
IT202200006458A1 (it) * 2022-04-01 2023-10-01 Stmicroelectronics Application Gmbh Sistema di elaborazione, relativo circuito integrato, dispositivo e procedimento
CN117498856B (zh) * 2024-01-03 2024-03-26 苏州萨沙迈半导体有限公司 异构双模冗余定时器、芯片以及车辆

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05100889A (ja) * 1991-10-07 1993-04-23 Mitsubishi Electric Corp 自己診断回路
JPH05216711A (ja) * 1991-06-10 1993-08-27 Mitsubishi Electric Corp 自己診断装置
JPH0895830A (ja) * 1994-09-29 1996-04-12 Mitsubishi Electric Corp 電子機器の異常監視装置
US20030163766A1 (en) * 2002-02-22 2003-08-28 Masakazu Urahama Microcontroller having an error detector detecting errors in itself as well
JP2010087959A (ja) * 2008-10-01 2010-04-15 Renesas Technology Corp 半導体装置
JP2011175607A (ja) * 2010-02-25 2011-09-08 Mitsubishi Heavy Ind Ltd 検査装置及び方法並びにプログラム
JP2013061863A (ja) * 2011-09-14 2013-04-04 Keihin Corp 電子制御装置
JP2014238348A (ja) * 2013-06-10 2014-12-18 三菱電機株式会社 集積回路素子を有する電子制御装置及びその集積回路素子の単品検査装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3616367B2 (ja) * 2001-10-24 2005-02-02 三菱電機株式会社 電子制御装置
JP4431883B2 (ja) 2004-09-08 2010-03-17 横河電機株式会社 伝送器
JP5476238B2 (ja) * 2010-07-12 2014-04-23 ルネサスエレクトロニクス株式会社 半導体装置
JP5778536B2 (ja) 2011-09-14 2015-09-16 株式会社ケーヒン 電子制御装置及び車両制御システム
CN105677497A (zh) * 2015-12-10 2016-06-15 中国航空工业集团公司西安航空计算技术研究所 一种高可用性看门狗电路

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05216711A (ja) * 1991-06-10 1993-08-27 Mitsubishi Electric Corp 自己診断装置
JPH05100889A (ja) * 1991-10-07 1993-04-23 Mitsubishi Electric Corp 自己診断回路
JPH0895830A (ja) * 1994-09-29 1996-04-12 Mitsubishi Electric Corp 電子機器の異常監視装置
US20030163766A1 (en) * 2002-02-22 2003-08-28 Masakazu Urahama Microcontroller having an error detector detecting errors in itself as well
JP2003248598A (ja) * 2002-02-22 2003-09-05 Oki Electric Ind Co Ltd マイクロコントローラ及びマイクロコントローラの故障検出方法
JP2010087959A (ja) * 2008-10-01 2010-04-15 Renesas Technology Corp 半導体装置
JP2011175607A (ja) * 2010-02-25 2011-09-08 Mitsubishi Heavy Ind Ltd 検査装置及び方法並びにプログラム
JP2013061863A (ja) * 2011-09-14 2013-04-04 Keihin Corp 電子制御装置
JP2014238348A (ja) * 2013-06-10 2014-12-18 三菱電機株式会社 集積回路素子を有する電子制御装置及びその集積回路素子の単品検査装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109522148A (zh) * 2018-12-11 2019-03-26 中山芯达电子科技有限公司 一种低功耗看门狗电路
CN109522148B (zh) * 2018-12-11 2022-03-15 中山芯达电子科技有限公司 一种低功耗看门狗电路
JP2022536818A (ja) * 2019-09-11 2022-08-19 エルジー・ケム・リミテッド ウォッチドッグシステム、ウォッチドッグ方法、およびウォッチドッグシステムを含むバッテリー管理システム
JP7179255B2 (ja) 2019-09-11 2022-11-29 エルジー エナジー ソリューション リミテッド ウォッチドッグシステム、ウォッチドッグ方法、およびウォッチドッグシステムを含むバッテリー管理システム
US11928008B2 (en) 2019-09-11 2024-03-12 Lg Energy Solution, Ltd. Watchdog system, watchdog method, and battery management system comprising watchdog system

Also Published As

Publication number Publication date
EP3343373B1 (en) 2019-11-13
CN108241547A (zh) 2018-07-03
TW201836270A (zh) 2018-10-01
US20180181457A1 (en) 2018-06-28
US10671467B2 (en) 2020-06-02
KR20180076291A (ko) 2018-07-05
CN108241547B (zh) 2023-08-29
EP3343373A1 (en) 2018-07-04
JP6742899B2 (ja) 2020-08-19

Similar Documents

Publication Publication Date Title
JP6742899B2 (ja) 半導体装置
US8937496B1 (en) Clock monitor
EP3198725B1 (en) Programmable ic with safety sub-system
US9841795B2 (en) Method for resetting an electronic device having independent device domains
US20160147545A1 (en) Real-Time Optimization of Many-Core Systems
US8762792B2 (en) Event monitor having switch matrix, separate counter, and compare circuitry
US9697065B1 (en) Systems and methods for managing reset
US10318466B2 (en) Method and apparatus for handling outstanding interconnect transactions
JP4454772B2 (ja) 通信バスの異常検出装置とマイクロコンピュータ
US7617428B2 (en) Circuits and associated methods for improved debug and test of an application integrated circuit
US20150339178A1 (en) Processing system and method of operating a processing system
JP6191124B2 (ja) 半導体集積回路
EP3971595A1 (en) Fault injection in a clock monitor unit
US20210173004A1 (en) Debug state machine triggered extended performance monitor counter
US8458539B2 (en) G-ODLAT on-die logic analyzer trigger with parallel vector finite state machine
JP6786449B2 (ja) 半導体装置
JP2005092430A (ja) ウォッチドッグタイマ
JP5909423B2 (ja) 半導体装置
JP3953467B2 (ja) チップ中の欠陥を検出し報告するためのシステム
CN108872828B (zh) 复位管理电路和用于复位管理电路的方法
JP7135497B2 (ja) データ処理装置
JP2001296919A (ja) 故障診断装置
JPS59121555A (ja) Cpu暴走監視方式
WO2005062182A1 (ja) 半導体集積回路装置
JP2006119905A (ja) 障害検出装置及びコンピュータシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190520

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200303

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200420

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: 20200707

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200729

R150 Certificate of patent or registration of utility model

Ref document number: 6742899

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150