Oscillation circuit, integrated circuit and abnormality detection method

申请号 JP2012039270 申请日 2012-02-24 公开(公告)号 JP2013175056A 公开(公告)日 2013-09-05
申请人 Lapis Semiconductor Co Ltd; ラピスセミコンダクタ株式会社; 发明人 YOSHIMURA KATSUTOSHI; INOUE KAZUTOSHI;
摘要 PROBLEM TO BE SOLVED: To enable abnormality detection even when a sub-oscillation circuit stops and also achieve the miniaturization of an oscillation circuit itself .SOLUTION: In a period predetermined in accordance with the oscillation frequency of a sub-oscillation circuit 50, the lower limit value and upper limit value of the number of high speed clocks of a main oscillation circuit 30 are preliminarily stored in a lower limit value register 40 and an upper limit value register 44. In a first abnormality detection part 22, high speed clocks are counted by a counter 32 in a period corresponding to a high speed clock and a low speed clock, and the count value is compared with the upper limit value by a comparator 42, and when the count value exceeds the upper limit value, abnormality is detected, and the output value of a register 36 corresponding to the count value is compared with the lower limit value by a comparator 38, and when the output value is less than the lower limit value, abnormality is detected. In a second abnormality detection part 24, when the respective bits of the output value of a shift register 54 which has fetched a frequency-division clock obtained by frequency-dividing the high speed clock by a frequency-divider 52 in a timing corresponding to the low speed clock are all the same value, abnormality is detected by an oscillation confirmation circuit 56.
权利要求
  • 内部回路に所定のメインクロックを出力するメイン発振回路と、
    前記メイン発振回路と異なる周波数のサブクロックを出力するサブ発振回路と、
    前記サブ発振回路から出力されたサブクロックに応じて予め定められた期間内に、前記メイン発振回路から出力されたメインクロックの数に応じて、異常を検出する第1異常検出手段と、
    前記メイン発振回路から出力されたメインクロックが分周された分周クロックと、前記サブ発振回路から出力されたサブクロックとに応じて、異常を検出する第2異常検出手段と、
    を備えた発振回路。
  • 前記第1異常検出手段は異常として、前記メイン発振回路及び前記サブ発振回路の発振周波数の異常、及び前記サブ発振回路の発振停止を検出する、請求項1に記載の発振回路。
  • 前記第2異常検出手段は異常として、前記メイン発振回路の発振停止を検出する、請求項1または請求項2に記載の発振回路。
  • 前記第1異常検出手段は、前記メインクロック数の上限値及び下限値を記憶する記憶手段を備え、前記予め定められた期間内に前記メイン発振回路から出力された前記メインクロックの数と、前記上限値及び前記下限値と、を比較した比較結果に基づいて、異常を検出する、請求項1から請求項3のいずれか1項に記載の発振回路。
  • 前記第2異常検出手段は、前記サブ発振回路から出力された前記サブクロックに応じたタイミングにおける、前記分周クロックのレベルに基づいて、異常を検出する、請求項1から請求項4のいずれか1項に記載の発振回路。
  • 自己の異常を検出する機能を有する前記請求項1から前記請求項5のいずれか1項に記載の発振回路と、
    前記発振回路に備えられたメイン発振回路から出力されたメインクロックに応じて動作する内部回路と、
    を備えた集積回路。
  • 内部回路に所定のメインクロックを出力するメイン発振回路と、前記メイン発振回路と異なる周波数のサブクロックを出力するサブ発振回路と、を備えた発振回路に対して、
    前記サブ発振回路から出力された前記サブクロックに応じたタイミングにおける、前記メイン発振回路から出力されたメインクロックが分周された前記分周クロックのレベルを記憶する工程と、
    記憶した前記分周クロックのレベルが、予め定められた回数、同レベルである場合に、異常として前記メイン発振回路が発振停止したことを検出する工程と、
    を備えた異常検出方法。
  • 内部回路に所定のメインクロックを出力するメイン発振回路と、前記メイン発振回路と異なる周波数のサブクロックを出力するサブ発振回路と、を備えた発振回路に対して、
    前記サブ発振回路から出力されたサブクロックに応じて予め定められた期間内に、前記メイン発振回路から出力されたメインクロックの数を取得する工程と、
    取得したメインクロックの数と、予め記憶手段に記憶されている上限値とを比較して、前記メインクロックの数が上限値を超える場合に、異常を検出する工程と、
    取得したメインクロックの数と、予め記憶手段に記憶されている下限値とを比較して、前記メインクロックの数が下限値よりも小さい場合に、異常を検出する工程と、
    を備えた異常検出方法。
  • 说明书全文

    本発明は、発振回路、集積回路、及び異常検出方法に関するものである。

    一般に、発振回路を内蔵するIC(集積回路)は、1系統の発振回路を内蔵し、当該発振回路で生成されたクロックで動作する構成になっている。

    このように発振回路を内蔵するICは、発振回路で生成するクロックにより動作するが、ICの異常等により発振回路の発振が停止したり、発振周波数が異常となったりした場合に正常に動作せず、システムとして致命的な問題を引き起こす可能性があった。

    そのため、発振回路の動作の異常を検出する技術が求められている。 例えば、WDT(ウオッチドッグタイマ)等のセルフリセット機能を有する監視タイマを内蔵することが考えられる。 しかしながらこのような場合、WDTのクロックが停止すると、WDTによるセルフリセットもできなくなってしまう。

    そこで、発振回路の異常を検出するその他の技術として、例えば、特許文献1及び特許文献2等に記載の技術がある。 特許文献1及び特許文献2に記載の技術は、内部回路の動作のためのクロックを出するメイン発振回路の異常検出を、異常検出用のサブ発振回路から出力された異常検出用のクロックを利用して行う技術が記載されている。

    特開平6−83474号公報

    特開平8−76877号公報

    しかしながら、特許文献1及び特許文献2に記載の技術では、サブ発振回路が停止した場合には、メイン発振回路が異常となった場合に、当該異常の検出が行えなくなるという問題があった。

    そこで本発明者らは、メイン発振回路とサブ発振回路とを備えた発振回路において、サブ発振回路をチェックするために、サブ発振回路チェック用の発振回路を新たに設けることを検討した。 しかしながら、新たにサブ発振回路チェック用の発振回路を設けると、発振回路全体として小型化が図れず、また、新たに設けたサブ発振回路チェック用の発振回路の動作状態もさらに把握する必要があることを新たな問題点として見いだした。

    本発明は、上述した問題を解決するために提案されたものであり、サブ発振回路が停止した場合であっても、異常検出を可能にすると共に、発振回路自身の小型化を実現することができる、発振回路、集積回路、及び異常検出方法を提供することを目的とする。

    上記目的を達成するために、請求項1に記載の発振回路は、内部回路に所定のメインクロックを出力するメイン発振回路と、前記メイン発振回路と異なる周波数のサブクロックを出力するサブ発振回路と、前記サブ発振回路から出力されたサブクロックに応じて予め定められた期間内に、前記メイン発振回路から出力されたメインクロックの数に応じて、異常を検出する第1異常検出手段と、前記メイン発振回路から出力されたメインクロックが分周された分周クロックと、前記サブ発振回路から出力されたサブクロックとに応じて、異常を検出する第2異常検出手段と、を備える。

    請求項6に記載の集積回路は、自己の異常を検出する機能を有する前記請求項1から前記請求項5のいずれか1項に記載の発振回路と、前記発振回路に備えられたメイン発振回路から出力されたメインクロックに応じて動作する内部回路と、を備える。

    請求項7に記載の異常検出方法は、内部回路に所定のメインクロックを出力するメイン発振回路と、前記メイン発振回路と異なる周波数のサブクロックを出力するサブ発振回路と、を備えた発振回路に対して、前記サブ発振回路から出力された前記サブクロックに応じたタイミングにおける、前記メイン発振回路から出力されたメインクロックが分周された前記分周クロックのレベルを記憶する工程と、記憶した前記分周クロックのレベルが、予め定められた回数、同レベルである場合に、異常として前記メイン発振回路が発振停止したことを検出する工程と、を備える。

    請求項8に記載の異常検出方法は、内部回路に所定のメインクロックを出力するメイン発振回路と、前記メイン発振回路と異なる周波数のサブクロックを出力するサブ発振回路と、を備えた発振回路に対して、前記サブ発振回路から出力されたサブクロックに応じて予め定められた期間内に、前記メイン発振回路から出力されたメインクロックの数を取得する工程と、取得したメインクロックの数と、予め記憶手段に記憶されている上限値とを比較して、前記メインクロックの数が上限値を超える場合に、異常を検出する工程と、取得したメインクロックの数と、予め記憶手段に記憶されている下限値とを比較して、前記メインクロックの数が下限値よりも小さい場合に、異常を検出する工程と、を備える。

    本発明によれば、サブ発振回路が停止した場合であっても、異常検出を可能にすると共に、発振回路自身の小型化を実現することができる、という効果を奏する。

    本実施の形態の集積回路の概略構成の一例を示す概略構成図である。

    本実施の形態の発振回路の概略構成の一例を示す概略構成図である。

    本実施の形態のメイン発振回路及びサブ発振回路の正常動作時のタイムチャートの一例である。

    本実施の形態のメイン発振回路の発振異常の動作時のタイミングチャートの一例である。

    本実施の形態のサブ発振回路の発振異常の動作時のタイミングチャートの一例である。

    本実施の形態のメイン発振回路の発振停止の動作時のタイミングチャートの一例である。

    本実施の形態のサブ発振回路の発振停止の動作時のタイミングチャートの一例である。

    本実施の形態のメイン発振回路及びサブ発振回路の異常と、比較器(38)、比較器(42)、及び発振確認回路における異常(NG)の検出との関係をまとめた図である。

    以下、図面を参照して、本実施の形態の集積回路及び自己診断機能を有する発振回路について説明する。 以下では、メイン発振回路30及びサブ発振回路50の異常について、発振異常と、発進停止と、二つの状態にわけて説明する。 なお、本実施の形態において発振異常とは、発振が停止してはいないが、所定の周波数よりも発振周波数が高い、または低い状態の異常をいう。

    まず、本実施の形態の発振回路を備えた集積回路(IC)の概略構成について説明する。 図1に、本実施の形態の集積回路の概略構成の一例を示す。

    本実施の形態の集積回路10は、内部回路12、内部回路動作制御部14、及び発振回路20を備えている。 当該集積回路10は、外部のMCU(マイクロプロセッサ)8から入力される制御信号に基づいて、動作が制御される。

    発振回路20は、異常に対する自己診断機能を有する発振回路である。 詳細は後述するが、発振回路20は、メイン(高速)発振回路30を備えた第1異常検出部22と、サブ(低速)発振回路50を備えた第2異常検出部24と、OR回路26と、を備えている。 発振回路20から内部回路動作制御部14へは、異常検出信号が出力される。 本実施の形態の発振回路20では、メイン発振回路30及びサブ発振回路50の少なくとも一方の異常を検出すると、異常を検出したことを内部回路動作制御部14に報知する。

    また、内部回路12へは、メイン発振回路30から出力された高速クロックが供給される。 内部回路12は、当該高速クロックに応じて所定の動作を行う。 なお、このようにメイン発振回路30から供給される高速クロックに応じて所定の動作を行うものであれば、内部回路12の構成、機能等は特に限定されない。

    内部回路動作制御部14は、内部回路12の動作を制御する機能を有しており、例えば、制御回路やCPU等により構成されている。 本実施の形態の内部回路動作制御部14は、発振回路20から、異常を検出した旨を知らせる異常検出信号を受信すると、内部回路12をリセットしたり、内部回路12の機能を停止させたり等、所定の制御処理を行う。 また、異常を検出した旨(または、所定の制御処理を行った旨)を外部に報知する。

    次に、本実施の形態の自己診断機能を有する発振回路20について詳細に説明する。 図2に、本実施の形態の発振回路20の概略構成の一例を示す。 本実施の形態の発振回路20は、上述したように第1異常検出部22、第2異常検出部24、及びOR回路26を備えている。

    第1異常検出部22は、メイン発振回路30、カウンタ32、立上り検出回路34、レジスタ36、比較器38、下限値レジスタ40、比較器42、及び上限値レジスタ44を備えている。 一方、第2異常検出部24は、サブ発振回路50、分周器52、シフトレジスタ54、及び発振確認回路56を備えている。

    第1異常検出部22は、メイン発振回路30及びサブ発振回路50の発振異常と、サブ発振回路50の発振停止とを異常として検出する。 一方、第2異常検出部24は、メイン発振回路30の発振停止を異常として検出する。

    メイン発振回路30は、内部回路12に供給する高速クロックを発生させる高速(サブ発振回路50に対して高速)発振回路である。 本実施の形態では、具体的一例として、発振周波数を1MHzとしている。 一方、サブ発振回路50は、メイン発振回路30の異常を検出するための低速クロックを発生させる低速(メイン発振回路30に対して低速)発振回路である。 本実施の形態では、具体的一例として、発振周波数をメイン発振回路30の1/16、すなわち1/16MHzとしている。

    カウンタ32は、メイン発振回路30から入力された高速クロックを、立上り検出回路34からリセット(RESET)に入力される信号(以下、リセット信号という)に応じてカウントし、カウント値をレジスタ36及び比較器42に出力する。 本実施の形態では、具体的一例として、カウンタ32の出力値を16進数(HEX)としている。

    立上り検出回路34は、サブ発振回路50の低速クロックの立ち上がりをメイン発振回路30の高速クロックによりサンプリングして検出する機能を有している。 レジスタ36は、立上り検出回路34から入力される信号の立ち下がりをクロックとして、カウンタ32の出力を取り込み、比較器38に出力する機能を有している。 本実施の形態では、具体的一例として、レジスタ36を8ビット(16進数:HEX)としている。

    下限値レジスタ40には、レジスタ36の出力値が正常であるとみなす下限値が予め記憶されている。 比較器38は、下限値レジスタ40に記憶されている下限値と、レジスタ36の出力値とを比較し、レジスタ36の出力値が、下限値よりも小さい場合は、NG(異常)として、「1」を示す信号をOR回路26に出力する。

    一方、上限値レジスタ44には、カウンタ32
    の出力値が正常であるとみなす上限値が予め記憶されている。 比較器42は、上限値レジスタ44に記憶されている上限値と、カウンタ32の出力値とを比較し、カウンタ32の出力値が、上限値よりも大きい場合は、NG(異常)として、「1」を示す信号をOR回路26に出力する。

    分周器52は、メイン発振回路30から出力された高速クロックを分周した分周クロックを生成し、シフトレジスタ54に出力する機能を有している。 本実施の形態では、具体的一例として、分周器52は、メイン発振回路30から出力された高速クロックを1/32に分周している。

    シフトレジスタ54は、サブ発振回路50から出力された低速クロックに応じて、分周器52から出力された分周クロックを取り込んで、発振確認回路56に出力する機能を有している。 本実施の形態では、具体的一例として、シフトレジスタ54を4ビット(BIN)としている。

    発振確認回路56は、シフトレジスタ54の出力値が所定の値となった場合に、NG(異常)として、「1」を示す信号をOR回路26に出力する。 本実施の形態では、具体的一例として、発振確認回路56は、シフトレジスタ54の出力値である4ビットが全て同じ値、すなわち「1111」または、「0000」となった場合にNG(異常)としている。

    OR回路26には、比較器38、比較器42、及び発振確認回路56から出力された信号が入力される。 本実施の形態では、比較器38、比較器42、及び発振確認回路56のうちのいずれか1つでもNG(異常)を検出した場合は、OR回路26からは「H」レベルの異常検出信号が出力される。 また、比較器38、比較器42、及び発振確認回路56のすべてがOK(正常)を検出した場合は、「L」レベルの異常検出信号が出力される。

    次に、本実施の形態の発振回路20の動作について図面を参照して説明する。

    まず、メイン発振回路30及びサブ発振回路50が正常に動作している場合について説明する。 図3には、メイン発振回路30及びサブ発振回路50の正常動作時のタイミングチャートの一例を示す。

    サブ発振回路50の低速クロックの立ち上がりをメイン発振回路30の高速クロックによりサンプリングして検出する。

    立上り検出回路34は、サブ発振回路50の立ち上がりを検出後、高速クロックの1クロック間だけ「H」レベルの信号を出力し、次のサブ発振回路50の立ち上がりを検出するまで「L」レベルの信号を出力する。 本実施の形態では、サブ発振回路50がメイン発振回路30の1/16の周波数であるため、高速クロックの16クロック毎に、立上り検出回路34の出力信号が立ち上がる(または立ち下がる)。

    カウンタ32は、高速クロックを、立上り検出回路34の出力信号の立ち下がりから次の立ち下がりまでの期間、カウントし、カウント値を比較器38に出力する。 本実施の形態では、図3に示すように、0〜F(15)までカウントし、カウント値「F(15)」を出力する。

    比較器42では、カウンタ32のカウント値(「F(15)」)と、上限値レジスタ44に記憶されている上限値(例えば、16)とを比較し、上限値以下であるため、正常(OK)である旨の「0」を示す信号をOR回路26に出力する。

    一方、レジスタ36は、カウンタ32と同様に、立上り検出回路34の出力信号の立ち下がりから次の立ち下がりまでの期間、カウンタ32の出力を格納し、比較器38に出力する。 本実施の形態では、図3に示すように、「0x0F(15)」を出力する。 このように、メイン発振回路30及びサブ発振回路50が正常動作している場合は、比較器38と比較器42とに入力される信号が示す値は共通(本実施の形態では「15」)になる。

    比較器38では、レジスタ36の出力値(「0x0F(15)」)と、比較器38に記憶されている下限値(例えば、14)とを比較し、下限値以上であるため、正常(OK)である旨の「0」を示す信号をOR回路26に出力する。

    また、第2異常検出部24のシフトレジスタ54は、サブ発振回路50から出力された低速クロックが立ち上がるタイミングで、分周器52から出力された分周クロックを取り込み、分周クロックのレベルに応じて「1」または「0」を格納する。 本実施の形態では、図3に示すように、シフトレジスタ54には、「1」と「0」とが交互に格納される。

    発振確認回路56は、シフトレジスタ54から出力された4ビットの出力信号の各ビットの値に応じて、異常であるか正常であるかを示す信号をOR回路26に出力する。 図3に示したように、メイン発振回路30及びサブ発振回路50の正常動作時は、上述したように、シフトレジスタ54には、「1」、「0」が交互に格納されるため、出力信号の各ビットが同じ値になることはない。 従って、発振確認回路56は、正常(OK)である旨の「0」を示す信号をOR回路26に出力する。

    OR回路26からは、入力される全信号が「0」を示すため、正常である旨を示す「L」レベルの異常検出信号が出力される。

    次に、メイン発振回路30が発振異常を起こした場合について説明する。 図4には、メイン発振回路30の発振異常の動作時のタイミングチャートの一例を示す。

    図4に示すようにメイン発振回路30の周波数が低くなる発振異常が発生した場合、カウンタ32のカウント値が正常動作時よりも小さいうちに、立上り検出回路34からリセット信号が入力される。 図4では、正常動作時ならば高速クロックが16クロックあるべき期間に、13クロックしか発生していないため、カウンタ32は、カウント値として「C(12)」を出力する。 当該カウント値=12は、比較器42に入力されるが、上限値レジスタ44に記憶されている上限値以下であるため、比較器42は、異常(NG)とみなさず、正常(OK)である旨の「0」を示す信号をOR回路26に出力する。

    一方、カウンタ32のカウント値は、レジスタ36にも入力される。 13クロック分までしかカウントされていないため、レジスタ36は、図4に示すように、「0x0C(12)」を出力する。 比較器38では、レジスタ36の出力値(「0x0C(12)」)と、比較器38に記憶されている下限値とを比較し、下限値以下であるため、異常(NG)である旨の「1」を示す信号をOR回路26に出力する。

    なお、この際、第2異常検出部24では、図4に示すように、シフトレジスタ54に、「1」、「0」が交互に格納されはしないが、4ビット全てが同じ値とはならない。 そのため、発振確認回路56は、正常(OK)である旨の「0」を示す信号をOR回路26に出力する。

    OR回路26からは、比較器38、比較器42、及び発振確認回路56から入力される信号のうち、比較器38から入力される信号が「1」を示しているため、異常である旨を示す「H」レベルの異常検出信号が出力される。

    また、図4に示すように、メイン発振回路30の周波数が高くなる発振異常が発生した場合、カウンタ32のカウント値が正常動作時の値を超えてもカウントを続け、カウント値が大きくなる。 図4では、正常動作時ならば高速クロックが16クロックあるべき期間に、18クロック発生しているため、カウンタ32は、カウント値として「11(17)」を出力する。 当該カウント値=17は、比較器42に入力される。 比較器42は、上限値レジスタ44に記憶されている上限値以上であるため、異常(NG)である旨の「1」を示す信号をOR回路26に出力する。

    一方、カウンタ32のカウント値は、レジスタ36にも入力される。 18クロック分までカウントされ、レジスタ36は、図4に示すように、「0x11(17)」を出力する。 比較器38では、レジスタ36の出力値(「0x11(17)」)と、比較器38に記憶されている下限値とを比較するが、下限値以上であるため、正常(OK)である旨の「0」を示す信号をOR回路26に出力する。

    このように、メイン発振回路30の動作が発振異常を起こした場合は、第1異常検出部22の比較器38及び比較器42により異常(NG)であることを検出することができる。

    次に、サブ発振回路50が発振異常を起こした場合について説明する。 図5には、サブ発振回路50の発振異常の動作時のタイミングチャートの一例を示す。

    図5に示すように、サブ発振回路50の周波数が低くなる発振異常が発生した場合、立上り検出回路34で立ち上がりを検出するタイミングが正常動作時よりも遅くなる。 そのため、カウンタ32にリセット信号が入力されるタイミングが遅くなり、カウンタ32のカウント値が正常動作時の値を超えてもカウントを続け、カウント値が大きくなる。 図5では、カウンタ32は、カウント値として「11(17)」を出力する。 当該カウント値=17は、比較器42に入力される。 比較器42は、上限値レジスタ44に記憶されている上限値以上であるため、異常(NG)である旨の「1」を示す信号をOR回路26に出力する。

    一方、カウンタ32のカウント値は、レジスタ36にも入力される。 レジスタ36は、図5に示すように、「0x11(17)」を出力する。 比較器38では、レジスタ36の出力値(「0x11(17)」)と、比較器38に記憶されている下限値とを比較するが、下限値以上であるため、正常(OK)である旨を示す「0」レベルの信号をOR回路26に出力する。

    なお、この際、第2異常検出部24では、図5に示すように、シフトレジスタ54に、「1」、「0」が交互に格納されはしないが、4ビット全てが同じ値とはならないため、発振確認回路56は、正常(OK)である旨の「0」を示す信号をOR回路26に出力する。

    また、図5に示すように、サブ発振回路50の周波数が高くなる発振異常が発生した場合、カウンタ32のカウント値が正常動作時よりも小さいうちに、立上り検出回路34からリセット信号が入力される。 図5では、高速クロックが12クロックしか発生していないうちにリセット信号が入力されるため、カウンタ32は、カウント値として「B(11)」を出力する。 当該カウント値=11は、比較器42に入力されるが、上限値レジスタ44に記憶されている上限値以下であるため、比較器42は、異常(NG)とみなさず、正常(OK)である旨の「0」を示す信号をOR回路26に出力する。

    一方、カウンタ32のカウント値は、レジスタ36にも入力される。 12クロック分しかカウントされていないため、レジスタ36は、図5に示すように、「0x0B(11)」を出力する。 比較器38では、レジスタ36の出力値(「0x0B(11)」)と、比較器38に記憶されている下限値とを比較し、下限値以下であるため、異常(NG)である旨を示す「1」レベルの信号をOR回路26に出力する。

    このように、サブ発振回路50の動作が発振異常を起こした場合は、第1異常検出部22の比較器38及び比較器42により異常(NG)であることを検出することができる。

    次に、サブ発振回路50が発振停止を起こした場合について説明する。 図6には、サブ発振回路50の発振停止の動作時のタイミングチャートの一例を示す。

    図6に示すようにサブ発振回路50が発振停止した場合、立上り検出回路34では、発振停止以降、立ち上がりが検出されない。 そのため、カウンタ32にはリセット信号が入力されず、カウンタ32は、カウントアップを続ける。 カウントアップを続けられたカウント値が比較器42に入力されるため、比較器42では、上限値レジスタ44に記憶されている上限値以上となった際に、異常(NG)である旨の「1」を示す信号をOR回路26に出力する。

    一方、レジスタ36にも、サブ発振回路50の発振停止以降、立上り検出回路34から信号が入力されない。 そのため、レジスタ36からは、直前(サブ発振回路50の発振停止前:正常動作時)に入力された信号に基づいて、「0x0F(15)」が出力された状態になる。 従って、比較器38は、下限値レジスタ40に記憶された下限値以上であるため、正常(OK)である旨の「0」を示す信号をOR回路26に出力する。

    また、シフトレジスタ54には、サブ発振回路50の発振停止以降、サブ発振回路50から信号が入力されない。 そのため、シフトレジスタ54からは、直前(サブ発振回路50の発振停止前:正常動作時)に入力された低速クロックに基づいて、「0101」が出力された状態になる。 従って、発振確認回路56は、正常(OK)である旨の「0」を示す信号をOR回路26に出力する。

    このように、サブ発振回路50が発振停止を起こした場合は、第1異常検出部22の比較器42により異常(NG)であることを検出することができる。

    次に、メイン発振回路30が発振停止を起こした場合について説明する。 図7には、メイン発振回路30の発振停止の動作時のタイミングチャートの一例を示す。

    図7に示すようにメイン発振回路30が発振停止した場合、立上り検出回路34では、発振停止以降、立ち上がりが検出されない。 そのため、カウンタ32にはリセット信号が入力されないが、高速クロックが入力されないため、カウントアップも停止する。 図7に示した例では、カウント値「B(11)」が出力されたままになる。 比較器42では、上限値レジスタ44に記憶されている上限値以下であるため、正常(OK)である旨の「0」を示す信号をOR回路26に出力する。

    一方、レジスタ36にも、メイン発振回路30の発振停止以降、立上り検出回路34から信号が入力されない。 そのため、レジスタ36からは、直前(メイン発振回路30の発振停止前:正常動作時)に入力された信号に基づいて、「0x0F(15)」が出力された状態になる。 従って、比較器38は、下限値レジスタ40に記憶された下限値以上であるため、正常(OK)である旨の「0」を示す信号をOR回路26に出力する。

    また、分周器52は、メイン発振回路30の発振停止以降、新たに高速クロックが入力されないため、図7に示した例では、「H」レベルの分周クロックを出力し続ける。 シフトレジスタ54は、「H」レベルの分周クロックをサブ発振回路50の低速クロックの立ち上がりタイミングで取り込むため、同じ値(「1」)を格納し続ける。 発振確認回路56では、シフトレジスタ54の出力値が「1111」になると、異常(NG)である旨の「1」を示す信号をOR回路26に出力する。

    このように、メイン発振回路30が発振停止を起こした場合は、第2異常検出部24の発振確認回路56により異常(NG)であることを検出することができる。

    メイン発振回路30及びサブ発振回路50の異常と、比較器38、比較器42、及び発振確認回路56における検出との関係をまとめたものを図8に示す。

    以上説明したように、本実施の形態の発振回路20では、内部回路12に高速クロックを供給するメイン発振回路30、及びサブ発振回路50を備えており、これらの異常を検出するための第1異常検出部22及び第2異常検出部24を備えている。 サブ発振回路50の発振周波数に応じて予め定められた期間に、メイン発振回路30から出力される高速クロックのクロック数の正常とみなせる下限値が予め下限値レジスタ40に記憶されており、上限値が予め上限値レジスタ44に記憶されている。 第1異常検出部22では、高速クロックと低速クロックとに応じた期間、カウンタ32で高速クロックのクロック数をカウントし、カウント値と、上限値レジスタ44に記憶されている上限値とを比較器42して、上限値を超えている場合は、比較器42から異常(NG)を表す旨の信号が出力される。 また、カウンタ32のカウント値に応じたレジスタ36の出力値と、下限値レジスタ40に記憶されている下限値とを比較器38で比較して、下限値よりも小さい場合は、比較器38から異常(NG)を表す旨の信号が出力される。

    また、第2異常検出部24では、高速クロックを分周器52で分周した分周クロックを低速クロックに応じたタイミングでシフトレジスタ54が取り込み、シフトレジスタ54の出力値の各ビットが全て同じ値の場合に、発振確認回路56から異常(NG)を表す旨の信号が出力される。

    これにより、第1異常検出部22により、メイン発振回路30及びサブ発振回路50の発振異常、サブ発振回路50の発振停止に関する異常を検出することができる。 また、第2異常検出部24により、メイン発振回路30の発振停止に関する異常を検出することができる。

    従って、サブ発振回路50が停止した場合であっても、異常検出を可能にすると共に、サブ発振回路50の異常を検出するための発振回路を新たに設けずともよいため、小型化を実現しつつ信頼性の高い発振回路20を提供することができる。

    なお、このような自己の異常を検出する機能を有する発振回路20を備えた集積回路10としては、特に限定されないが、例えば、車載の電池を監視するための監視システムに用いられる集積回路10に適用することが好ましい例として挙げられる。 このような電池監視システムに用いられる集積回路10では、電池の放電中に発振回路が異常発振をすると、電池の放電が止まらず、電池の残量が無くなってしまう場合がある。 そのため、発振回路の異常を精度良く検出するために本発明の発振回路を適用することが好ましい。

    なお、本実施の形態では、メイン発振回路30を高速発振回路とし、サブ発振回路50を、周波数がメイン発振回路30の1/16の低速発振回路としたが、倍率は、これに限らない。 なお、倍率が高い方が、異常の検出精度は高くなる。 また、上記実施の形態で下限値レジスタ40に記憶させてある下限値及び上限値レジスタ44に記憶させてある上限値は一例であり、本実施の形態に限定されず、異常の検出精度等に応じて定めればよい。 また、レジスタ36やシフトレジスタ54のビット数、分周器52の分周割合等も、本実施の形態に限定されず、異常の検出精度等に応じて定めればよい。

    また、メイン発振回路30を高速発振回路とし、サブ発振回路50を低速発振回路としたが、両者の周波数を同一としてもよいし、メイン発振回路30を低速発振回路、サブ発振回路50を高速発振回路としてもよい。 この場合、分周器52をメイン発振回路30から出力されるクロックではなく、サブ発振回路50から出力されるクロックが入力されるように設けるように構成する。 なお、サブ発振回路50を高速発振回路とした場合、電流の消費が多くなるため、消費電力抑制の観点からは好ましくない。

    また、本実施の形態では、比較器38、比較器42、及び発振確認回路56の出力に応じて、いずれかが異常(NG)を示す場合に、OR回路26から異常である旨を示す異常検出信号が出力されるように構成しているがこれに限らない。 例えば、OR回路26を介さずに、比較器38、比較器42、及び発振確認回路56の各出力信号が発振回路20の外部(例えば内部回路動作制御部14)に出力されるようにしてもよい。

    また、本実施の形態では、立上り検出回路34を使用して、サブ発振回路50の低速クロックの立ち上がりを検出しているが、立ち下がりを検出する回路を使用しても同様の機能を実現できる。

    また、上述の実施の形態で説明した集積回路10、発振回路20等の構成及び動作等は一例であり、本発明の主旨を逸脱しない範囲内において状況に応じて変更可能であることは言うまでもない。 例えば、下限値レジスタ40及び上限値レジスタ44をレジスタではなく、メモリとして構成してもよい。

    10 集積回路12 内部回路20 発振回路22 第1異常検出部24 第2異常検出部30 メイン発振回路32 カウンタ34 立上り検出回路36 レジスタ38 比較器42 比較器40 下限値レジスタ44 上限値レジスタ50 サブ発振回路52 分周器54 シフトレジスタ56 発振確認回路

    QQ群二维码
    意见反馈