半導体装置
【課題】ドライバの故障による出力異常を救済することが可能な故障検出救済回路を含んだ半導体装置を提供すること。
【解決手段】故障検知部1は、ドライバ10の出力の期待電位の逆電位となるようにドライバ10の出力にプルアップ抵抗15またはプルダウン抵抗18を接続し、ドライバ10の入力電位と出力電位とを比較することによりドライバ10の故障を検出する。故障救済部2は、故障検知部1によってドライバ10の故障が検出された場合に、期待電位と同電位となるようにドライバ10の出力にプルアップ抵抗26またはプルダウン抵抗29を接続してドライバ10の故障を救済する。したがって、ドライバ10の故障による出力異常を救済することが可能となる。
【解決手段】故障検知部1は、ドライバ10の出力の期待電位の逆電位となるようにドライバ10の出力にプルアップ抵抗15またはプルダウン抵抗18を接続し、ドライバ10の入力電位と出力電位とを比較することによりドライバ10の故障を検出する。故障救済部2は、故障検知部1によってドライバ10の故障が検出された場合に、期待電位と同電位となるようにドライバ10の出力にプルアップ抵抗26またはプルダウン抵抗29を接続してドライバ10の故障を救済する。したがって、ドライバ10の故障による出力異常を救済することが可能となる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体集積回路の故障を検出して救済する技術に関し、特に、ドライバの故障を検出して自動的に救済する故障検出救済回路を含んだ半導体装置に関する。
【背景技術】
【0002】
近年、半導体集積回路の高機能化、多機能化が進んでおり、たとえば、マイクロコンピュータ(以下、マイコンと呼ぶ。)などの半導体装置に外部のデバイスを駆動するドライバが搭載されることも多くなってきている。このようなドライバの故障を検出する技術として、下記の特許文献1〜2に開示された発明がある。
【0003】
特許文献1は、従来の出力回路において、ディジタル回路からの信号がバッファ回路を通してそのまま外部端子に出力されていたので、出力端子の先で電源やグランドに短絡されていたり、隣りあう出力端子が短絡されている場合に、信号が正確に出力されているかどうか知ることができないという欠点を解決するものである。出力回路は、1つ又は複数の出力端子を有するディジタル回路と、ディジタル回路の各出力端子にそれぞれ入力端子を接続した同数のバッファ回路と、バッファ回路の各出力端子を接続した同数の外部端子と、各バッファ回路の入力端子と出力端子とをそれぞれ異なる2つの入力端子に接続した同数の排他的論理和回路と、排他的論理和回路の各出力端子を接続した同数の検出端子とを有している。
【0004】
特許文献2は、一方の装置から複数の装置にそれぞれ出力バッファを介したデータ信号の伝送における出力バッファ障害検出方式に関し、出力バッファの障害が簡単な構成で検出できる出力バッファ障害検出方式を提供することを目的とする。各出力バッファの入力信号と出力信号とを入力とする2入力のチェック回路を設ける。このチェック回路は2つの信号を比較することにより正常でない場合に出力バッファの障害検出信号を発生するよう構成する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平01−122207号公報
【特許文献2】特開平04−287256号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
半導体装置に搭載されたドライバの不具合サンプルを解析した結果、不具合の原因は、ドライバ出力部のPチャネルトランジスタの絶縁膜不良により、ゲート・ソース間がショートし、正常であればハイレベル(以下、Hレベルと略す。)を出力すべきであるのに、ハイ・インピーダンス(Hi−Z)を出力したことによるものが多いことが判明した。これは、出荷時にはドライバが正常に動作していたが、出荷後にドライバが劣化して誤動作したものである。
【0007】
一方、特許文献1に開示された発明は、出力端子の先で電源やグランドに短絡されていたり、隣りあう出力端子が短絡されている場合に、信号が正確に出力されていないことを検出することができるが、それを自動的に救済することができない。
【0008】
また、特許文献2に開示された発明においては、チェック回路が2つの信号を比較することにより正常でない場合に出力バッファの障害検出信号を発生するよう構成されるので、出力バッファの障害を簡単な構成で検出することができるが、特許文献1と同様に、それを自動的に救済することができない。
【0009】
本発明は、上記問題点を解決するためになされたものであり、その目的は、ドライバの故障による出力異常を救済することが可能な故障検出救済回路を含んだ半導体装置を提供することである。
【課題を解決するための手段】
【0010】
本発明の一実施例によれば、ドライバの故障を検出して救済する半導体装置が提供される。故障検知部は、ドライバの出力の期待電位の逆電位となるようにドライバの出力にプルアップ抵抗またはプルダウン抵抗を接続し、ドライバの入力電位と出力電位とを比較することによりドライバの故障を検出する。故障救済部は、故障検出部によってドライバの故障が検出された場合に、期待電位と同電位となるようにドライバの出力にプルアップ抵抗またはプルダウン抵抗を接続してドライバの故障を救済する。
【発明の効果】
【0011】
本発明の一実施例によれば、故障救済部が期待電位と同電位となるようにドライバの出力にプルアップ抵抗またはプルダウン抵抗を接続するので、ドライバの故障による出力異常を救済することが可能となる。
【図面の簡単な説明】
【0012】
【図1】本発明の第1の実施の形態における故障検出救済回路の構成例を示す図である。
【図2】本発明の第1の実施の形態における故障検出救済回路の動作を説明するためのフローチャートである。
【図3】本発明の第2の実施の形態における故障検出救済回路の構成例を示す図である。
【図4】本発明の第2の実施の形態における故障検出救済回路の動作を説明するためのタイミングチャートである。
【図5】本発明の第3の実施の形態における故障検出救済回路の構成例を示す図である。
【図6】本発明の第3の実施の形態における故障検出救済回路の動作を説明するためのタイミングチャートである。
【図7】本発明の第4の実施の形態における故障救済部2の構成例を示す図である。
【図8】本発明の第4の実施の形態における故障救済部2の動作を説明するためのタイミングチャートである。
【図9】本発明の第5の実施の形態における故障救済部2の構成例を示す図である。
【図10】本発明の第5の実施の形態における故障救済部2の動作を説明するためのタイミングチャートである。
【図11】本発明の第6の実施の形態における故障検出救済回路の構成例を示す図である。
【図12】本発明の第6の実施の形態における故障検出救済回路の動作を説明するためのタイミングチャートである。
【発明を実施するための形態】
【0013】
(第1の実施の形態)
図1は、本発明の第1の実施の形態における故障検出救済回路の構成例を示す図である。この故障検出救済回路は、たとえば、マイコンなどの半導体装置内に設けられ、故障検知部1と、故障救済部2と、出力PAD3とを含む。
【0014】
故障検知部1は、出力故障検知対象のドライバ10と、故障検知レジスタA11と、故障検知レジスタB12と、OR回路13と、AND回路14と、プルアップ抵抗15と、Pチャネルトランジスタ16と、Nチャネルトランジスタ17と、プルダウン抵抗18と、排他的論理和(EOR)回路19とを含む。
【0015】
故障検知レジスタA11は、図示しないCPU(Central Processing Unit)によって値が設定されるレジスタであり、通常動作モード時には“H”が書き込まれ、故障検知モード時には“L”が書き込まれる。
【0016】
また、故障検知レジスタB12も、図示しないCPUによって値が設定されるレジスタであり、通常動作モード時には“L”が書き込まれ、故障検知モード時には“H”が書き込まれる。
【0017】
通常動作モード時には、故障検知レジスタA11がHレベルを出力するため、OR回路13もHレベルを出力する。したがって、Pチャネルトランジスタ16はOFFとなる。また、故障検知レジスタB12がロウレベル(以下、Lレベルと略す。)を出力するため、AND回路14もLレベルを出力する。したがって、Nチャネルトランジスタ17はOFFとなる。
【0018】
その結果、ドライバ10の出力にはプルアップ抵抗15およびプルダウン抵抗18が接続されていない状態となる。このとき、ドライバ10が正常に動作していれば、EOR回路19の2つの入力の値が同じであるため、EOR回路19は正常であることを示すLレベルを出力する。また、ドライバ10が故障して、出力がハイ・インピーダンスになっている場合には、EOR回路18の出力は不定、すなわちEOR回路19のプロセス特性やドライバ10の出力レベルがLレベルとHレベルのどちらにバイアスされているか等に応じてLレベルまたはHレベルのどちらかを出力することとなる。特に、ドライバ10の出力インピーダンスが高い状態であるものの、入力に追随する出力をするような故障状態にある場合、EOR回路19は正常であることを示すLレベルを出力する傾向が高くなる。
【0019】
故障検知モード時には、故障検知レジスタA11がLレベルを出力するため、OR回路13はドライバ10の入力と同じ値を出力する。また、故障検知レジスタB12がHレベルを出力するため、AND回路14はドライバ10の入力と同じ値を出力する。
【0020】
そのため、ドライバ10の入力がLレベルであれば、OR回路13もLレベルを出力し、Pチャネルトランジスタ16はONとなる。また、AND回路14もLレベルを出力し、Nチャネルトランジスタ17はOFFとなる。その結果、ドライバ10の出力にプルアップ抵抗15が接続されることになり、ドライバ10の出力がハイ・インピーダンスであれば、プルアップ抵抗15によってHレベルとされる。このとき、ドライバ10の入力と出力との値が異なるため、EOR回路19はドライバ10が故障していることを示すHレベルを出力する。
【0021】
また、ドライバ10の入力がHレベルであれば、OR回路13もHレベルを出力し、Pチャネルトランジスタ16はOFFとなる。また、AND回路14もHレベルを出力し、Nチャネルトランジスタ17はONとなる。その結果、ドライバ10の出力にプルダウン抵抗18が接続されることになり、ドライバ10の出力がハイ・インピーダンスであれば、プルダウン抵抗18によってLレベルとされる。このとき、ドライバ10の入力と出力との値が異なるため、EOR回路19はドライバ10が故障していることを示すHレベルを出力する。
【0022】
このように、故障検知モード時には、ドライバ10の出力の期待電位と逆電位となるようにプルアップ抵抗15またはプルダウン抵抗18を接続する。このとき、ドライバ10が故障してハイ・インピーダンスを出力していれば、プルアップ抵抗15またはプルダウン抵抗18によってドライバ10の入力電位と出力電位とが逆になり、EOR回路19がHレベルを出力することになる。なお、プルアップ抵抗15およびプルダウン抵抗18の抵抗値は、ドライバ10が正常に動作している場合にはその出力のレベルが変わらない程度の値が設定される。すなわち、プルアップ抵抗15およびプルダウン抵抗18を流れる電流を、ドライバ10の出力駆動電流よりも小さくする。
【0023】
故障救済部2は、救済レジスタA21と、救済レジスタB22と、インバータ(NOT)回路23と、NAND回路24と、NOR回路25と、プルアップ抵抗26と、Pチャネルトランジスタ27と、Nチャネルトランジスタ28と、プルダウン抵抗29とを含む。
【0024】
救済レジスタA21は、ドライバ10が正常に動作している場合、すなわちEOR回路19がLレベルを出力している場合にはLレベルを保持して出力する。また、救済レジスタA21は、ドライバ10の故障が検出された場合、すなわちEOR回路19の出力がLレベルからHレベルに変化した場合にHレベルを保持して出力する。
【0025】
救済レジスタB22は、ドライバ10が正常に動作している場合、すなわちEOR回路19がLレベルを出力している場合にはHレベルを保持して出力する。また、救済レジスタB22は、ドライバ10の故障が検出された場合、すなわちEOR回路19の出力がLレベルからHレベルに変化した場合にLレベルを保持して出力する。
【0026】
ドライバ10の動作が正常時には、救済レジスタA21がLレベルを出力するため、NAND回路24はHレベルを出力する。したがって、Pチャネルトランジスタ27はOFFとなる。また、救済レジスタB22がHレベルを出力するため、NOR回路25はLレベルを出力する。したがって、Nチャネルトランジスタ28はOFFとなる。
【0027】
その結果、ドライバ10の出力にはプルアップ抵抗26およびプルダウン抵抗29が接続されていない状態となる。このとき、ドライバ10が正常に動作していれば、PAD3に接続される外部のデバイスが正常に駆動されることになる。
【0028】
ドライバ10の故障時には、救済レジスタA21がHレベルを出力するため、NAND回路24はドライバ10の入力を反転した値を出力する。また、救済レジスタB22がLレベルを出力するため、NOR回路25はドライバ10の入力を反転した値を出力する。
【0029】
そのため、ドライバ10の入力がLレベルであれば、NAND回路24はHレベルを出力し、Pチャネルトランジスタ16はOFFとなる。また、NOR回路25はHレベルを出力し、Nチャネルトランジスタ28はONとなる。その結果、ドライバ10の出力にプルダウン抵抗29が接続されることになり、ドライバ10の出力がハイ・インピーダンスであれば、プルダウン抵抗29によってLレベルとされる。なお、プルダウン抵抗29の抵抗値は、ドライバ10の出力駆動能力と同程度の駆動能力となるように設定される。
【0030】
また、ドライバ10の入力がHレベルであれば、NAND回路24はLレベルを出力し、Pチャネルトランジスタ27はONとなる。また、NOR回路25はLレベルを出力し、Nチャネルトランジスタ28はOFFとなる。その結果、ドライバ10の出力にプルアップ抵抗26が接続されることになり、ドライバ10の出力がハイ・インピーダンスであれば、プルアップ抵抗26によってHレベルとされる。なお、プルアップ抵抗26の抵抗値は、ドライバ10の出力駆動能力と同程度の駆動能力となるように設定される。
【0031】
このように、ドライバ10の故障が検知された場合、ドライバ10の出力と同電位となるようにプルアップ抵抗26またはプルダウン抵抗29を接続する。したがって、ドライバ10が故障して出力がハイ・インピーダンスになっている場合でも、それを救済することができる。
【0032】
図2は、本発明の第1の実施の形態における故障検出救済回路の動作を説明するためのフローチャートである。まず、図示しないCPUが故障を検知させる必要があるか否かを判定する(S11)。故障を検知させる必要がなければ(S11,No)、すなわち通常動作モード時には、CPUが故障検知レジスタA11に“H”を設定し、故障検知レジスタB12に“L”を設定する(S12)。
【0033】
また、セルフチェックなどで故障を検知させる必要があれば(S11,Yes)、CPUが故障検知レジスタA11に“L”を設定し、故障検知レジスタB12に“H”を設定する(S13)。そして、ドライバ10の出力の期待電位と逆電位となるようにトランジスタ16または17をONさせる(S14)。
【0034】
EOR回路19は、ドライバ10の入力電位と出力電位とを比較する(S15)。そして、比較結果が同じであれば、すなわちドライバ10が正常に動作していれば(S16,Yes)、救済レジスタA21に“L”が設定され、救済レジスタB22に“H”が設定される(S17)。
【0035】
また、比較結果が異なっていれば、すなわちドライバ10の故障が検知されれば(S16,No)、救済レジスタA21に“H”が設定され、救済レジスタB22に“L”が設定される(S18)。そして、ドライバ10の出力の期待電位と同電位となるようにトランジスタ27または28をONさせる(S19)。
【0036】
以上の説明においては、ドライバ10が故障して出力がハイ・インピーダンスになる場合について説明したが、ドライバ10が劣化して駆動能力が低下している場合でも、プルアップ抵抗15およびプルダウン抵抗18の抵抗値の設定によって、故障検知部1はそれを検知することができる。したがって、そのような場合でも、故障救済部2がドライバ10の故障の救済を行なうことができる。
【0037】
また、ドライバ10が、入力電位と同じ電位を出力する場合について説明したが、入力電位を反転して出力するようなドライバにも適用することができる。この場合、故障検知部1において、抵抗15をグラウンドに接続してプルダウン抵抗とし、抵抗18を電源に接続してプルアップ抵抗とする。そして、EOR回路19の入力のいずれかにインバータ(NOT)回路を追加する。
【0038】
また、故障救済部2において、抵抗26をグラウンドに接続してプルダウン抵抗とし、抵抗29を電源に接続してプルアップ抵抗とする。これによって、反転タイプのドライバにも適用することができる。
【0039】
以上説明したように、本実施の形態における故障検出救済回路によれば、故障検知モード時に、故障検知部1がドライバ10の出力の期待電位と逆電位となるようにドライバ10の出力にプルアップ抵抗15またはプルダウン抵抗18を接続し、ドライバ10の入力電位と出力電位とを比較してドライバ10の故障を検出するようにした。したがって、ドライバ10が故障してハイ・インピーダンスを出力している場合でも、ドライバ10の故障を検出することが可能となった。
【0040】
また、故障検知部1がドライバ10の故障を検知したときに、故障救済部2がドライバ10の出力の期待電位と同電位となるようにプルアップ抵抗26またはプルダウン抵抗29を接続するようにしたので、ドライバ10の故障による出力異常を救済することが可能となった。
【0041】
また、本実施の形態における故障検出救済回路を、マイコンが検出したエラーを外部に対して出力するIOポートドライバに適用した場合、IOポートドライバが故障してエラー検出がシステム全体に伝わらないといった不具合を防止することが可能となる。
【0042】
また、本実施の形態における故障検出救済回路を、外部のデバイスにリセット信号を出力するIOポートドライバに適用した場合、IOポートドライバが故障してリセットがシステム全体に伝わらないといった不具合を防止することが可能となる。
【0043】
また、本実施の形態における故障検出救済回路を、車載用マイコンなどの高い信頼性が要求される半導体装置に搭載するようにすれば、より安全性の向上を図ることが可能となる。
【0044】
(第2の実施の形態)
図3は、本発明の第2の実施の形態における故障検出救済回路の構成例を示す図である。本発明の第2の実施の形態における故障検出救済回路は、図1に示す第1の実施の形態における故障検出救済回路と比較して、故障検知部1の故障検知レジスタを1つとし、それに応じてインバータ(NOT)回路32およびAND回路33を追加した点と、故障救済部2の救済レジスタを1つとし、それに応じてインバータ23が削除され、さらにインバータ42が追加された点とが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。
【0045】
故障検知レジスタ31、図示しないCPUによって値が設定されるレジスタであり、通常動作モード時には“L”が書き込まれ、故障検知モード時には“H”が書き込まれる。故障検知レジスタ31の出力は、AND回路14に接続されると共に、インバータ32を介してOR回路13に接続される。したがって、OR回路13、AND回路14、プルアップ抵抗15、Pチャネルトランジスタ16、Nチャネルトランジスタ17、プルダウン抵抗18、EOR回路19などの動作は、第1の実施の形態において説明したものと同様である。
【0046】
AND回路33は、故障検知レジスタ31からHレベルが出力される場合、すなわち故障検知モード時にのみEOR回路19の出力値を救済レジスタ41に出力し、通常動作モード時にはEOR回路19の出力値をマスクする。
【0047】
救済レジスタ41は、ドライバ10が正常に動作している場合、すなわちAND回路33がLレベルを出力している場合にはLレベルを保持して出力する。また、救済レジスタ41は、ドライバ10の故障が検出された場合、すなわちAND回路33の出力がLレベルからHレベルに変化した場合に、救済レジスタセット信号にパルスが印加され、AND回路33の出力(Hレベル)を保持して出力する。
【0048】
救済レジスタ41の出力は、NAND回路24に接続されると共に、インバータ42を介してNOR回路25に接続される。したがって、NAND回路24、NOR回路25、プルアップ抵抗26、Pチャネルトランジスタ27、Nチャネルトランジスタ28、プルダウン抵抗29などの動作は、第1の実施の形態において説明したものと同様である。
【0049】
図4は、本発明の第2の実施の形態における故障検出救済回路の動作を説明するためのタイミングチャートである。T1において、CPUによって故障検知レジスタ31に“H”が設定されると、インバータ(NOT)回路32の出力がLレベルとなる。このとき、ドライバ10の入力がHレベルであるとすると、OR回路13がHレベルを出力し、AND回路14はHレベルを出力する。したがって、Pチャネルトランジスタ16がOFFとなり、Nチャネルトランジスタ17がONとなる。
【0050】
ドライバ10が故障しており、ドライバ10の出力がハイ・インピーダンスとなっていれば、T2において、ドライバ10の出力がLレベルに駆動され、EOR回路19がHレベルを出力し、AND回路33がHレベルを出力する。このとき、救済レジスタセット信号にパルスが出力されて、救済レジスタ41に“H”が設定される。
【0051】
このとき、NAND回路24がLレベルを出力する。また、インバータ(NOT)回路42がLレベルを出力するが、ドライバ10の入力がHレベルであるのでNOR回路25はLレベルを維持する。
【0052】
トランジスタ27がONとなり、トランジスタ28がOFFとなるため、T3において、ドライバ10の出力にプルアップ抵抗27が接続されて、ドライバ10の出力がHレベルに駆動され、出力PAD3の電位がHレベルとなって救済状態となる。このとき、EOR回路19およびAND回路33がLレベルを出力する。
【0053】
T4において、CPUによって故障検知レジスタ31に“L”が設定されると、トランジスタ17がOFFとなってプルダウン抵抗18が切断されるが、故障救済部2による救済状態が維持される。
【0054】
以上説明したように、本実施の形態における故障検出救済回路によれば、1つの故障検知レジスタ31および1つの救済レジスタ41によって故障検出および故障救済を行なうようにしたので、第1の実施の形態において説明した効果に加えて、回路規模をさらに削減することが可能となった。
【0055】
(第3の実施の形態)
第1および第2の実施の形態においては、故障検出救済回路が半導体装置の出力ドライバに適用された。本発明の第3の実施の形態においては、故障検出救済回路が半導体装置の入力バッファに適用されるものである。
【0056】
図5は、本発明の第3の実施の形態における故障検出救済回路の構成例を示す図である。本発明の第3の実施の形態における故障検出救済回路は、図3に示す第2の実施の形態における故障検出救済回路と比較して、ドライバ10が入力バッファとなっており、入力バッファ10の入力に入力PAD4が接続され、入力バッファ10の出力が半導体装置の内部信号に接続される点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。
【0057】
図6は、本発明の第3の実施の形態における故障検出救済回路の動作を説明するためのタイミングチャートである。T1において、CPUによって故障検知レジスタ31に“H”が設定されると、インバータ(NOT)回路32の出力がLレベルとなる。このとき、ドライバ10の入力がLレベルであるとすると、OR回路13がLレベルを出力し、AND回路14がLレベルを出力する。したがって、Pチャネルトランジスタ16がONとなり、Nチャネルトランジスタ17がOFFとなる。
【0058】
ドライバ10が故障しており、ドライバ10の出力がハイ・インピーダンスとなっていれば、T2において、ドライバ10の出力がHレベルに駆動され、EOR回路19がHレベルを出力し、AND回路33がHレベルを出力する。このとき、救済レジスタセット信号にパルスが出力されて、救済レジスタ41に“H”が設定される。
【0059】
このとき、NAND回路24がHレベルを出力する。また、インバータ(NOT)回路42がLレベルを出力するが、ドライバ10の入力がLレベルであるのでNOR回路25はHレベルを出力する。
【0060】
トランジスタ27がOFFとなり、トランジスタ28がONとなるため、T3において、ドライバ10の出力にプルダウン抵抗29が接続されて、ドライバ10の出力がLレベルに駆動され、内部信号の電位がLレベルとなって救済状態となる。このとき、EOR回路19およびAND回路33がLレベルを出力する。
【0061】
T4において、CPUによって故障検知レジスタ31に“L”が設定されると、トランジスタ16がOFFとなってプルアップ抵抗15が切断されるが、故障救済部2による救済状態が維持される。
【0062】
以上説明したように、本実施の形態における故障検出救済回路によれば、故障検知部1および故障救済部2を入力バッファに適用するようにしたので、第1および第2の実施の形態において説明した効果と同様の効果を奏することが可能となった。
【0063】
(第4の実施の形態)
第1〜第3の実施の形態においては、故障検知部1と故障救済部2とを含んだ故障検出救済回路に関するものであった。本発明の第3の実施の形態においては、故障救済部2のみを有する半導体装置に関するものである。
【0064】
図7は、本発明の第4の実施の形態における故障救済部2の構成例を示す図である。本発明の第4の実施の形態における故障救済部2は、図3に示す第2の実施の形態における故障救済部と比較して、救済レジスタ41の機能のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。
【0065】
救済レジスタ41は、図示しないCPUによって値が設定されるレジスタであり、通常動作モード時には“L”が書き込まれ、二重出力モード時には“H”が書き込まれる。救済レジスタ41の出力は、NAND回路24に接続されると共に、インバータ(NOT)回路42を介してNOR回路25に接続される。
【0066】
ドライバ10の故障が判明していたり、ドライバ10の出力駆動能力が低下していることが判明していたりする場合、CPUは救済レジスタ41に“H”を書き込み、二重出力モードに設定する。このとき、ドライバ10の入力がLレベルであれば、NAND回路24はHレベルを出力し、Pチャネルトランジスタ16はOFFとなる。また、NOR回路25はHレベルを出力し、Nチャネルトランジスタ28はONとなる。その結果、ドライバ10の出力にプルダウン抵抗29が接続される。
【0067】
また、ドライバ10の入力がHレベルであれば、NAND回路24はLレベルを出力し、Pチャネルトランジスタ27はONとなる。また、NOR回路25はLレベルを出力し、Nチャネルトランジスタ28はOFFとなる。その結果、ドライバ10の出力にプルアップ抵抗26が接続される。
【0068】
このようにして、ドライバ10が故障している場合や、ドライバ10の出力駆動能力が低下している場合でも、それを救済することができる。
【0069】
図8は、第4の実施の形態における故障救済部2の動作を説明するためのタイミングチャートである。T1において、救済レジスタ41に“H”が設定されると、ドライバ10の入力がLレベルであるため、NAND回路24がHレベルを出力する。また、インバータ(NOT)回路42がLレベルを出力し、ドライバ10の入力がLレベルであるのでNOR回路25の出力はHレベルとなる。
【0070】
Pチャネルトランジスタ27がOFFとなり、Nチャネルトランジスタ28がONとなるため、ドライバ10の出力にプルダウン抵抗28が接続されて、T2において、ドライバ10の出力がLレベルに駆動され、出力PAD3の電位がLレベルとなって救済状態となる。
【0071】
以上説明したように、本実施の形態における故障救済部2によれば、CPUによって救済レジスタ41に“H”が書き込まれたときに、ドライバ10の出力の期待電位と同電位となるようにプルアップ抵抗26またはプルダウン抵抗29を接続するようにしたので、ドライバ10の故障による出力異常を救済することが可能となった。
【0072】
(第5の実施の形態)
第4の実施の形態においては、故障救済部2が半導体装置の出力ドライバに適用された。本発明の第5の実施の形態においては、故障救済部2が半導体装置の入力バッファに適用されるものである。
【0073】
図9は、本発明の第5の実施の形態における故障救済部2の構成例を示す図である。本発明の第5の実施の形態における故障救済部2は、図7に示す第4の実施の形態における故障救済部と比較して、ドライバ10が入力バッファとなっており、入力バッファ10の入力に入力PAD4が接続され、入力バッファ10の出力が半導体装置の内部信号に接続される点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。
【0074】
図10は、本発明の第5の実施の形態における故障救済部2の動作を説明するためのタイミングチャートである。T1において、救済レジスタ41に“H”が設定されると、ドライバ10の入力がHレベルであるため、NAND回路24がLレベルを出力する。また、インバータ(NOT)回路42がLレベルを出力し、ドライバ10の入力がHレベルであるのでNOR回路25の出力はLレベルとなる。
【0075】
Pチャネルトランジスタ27がONとなり、Nチャネルトランジスタ28がOFFとなるため、ドライバ10の出力にプルアップ抵抗26が接続されて、T2において、ドライバ10の出力がHレベルに駆動され、内部信号の電位がHレベルとなって救済状態となる。
【0076】
以上説明したように、本実施の形態における故障救済部2によれば、故障救済部2を入力バッファに適用するようにしたので、第4の実施の形態において説明した効果と同様の効果を奏することが可能となった。
【0077】
(第6の実施の形態)
図11は、本発明の第6の実施の形態における故障検出救済回路の構成例を示す図である。この故障検出救済回路は、たとえば、マイコンなどの半導体装置内に設けられ、故障検知部1と、故障救済部2とを含む。
【0078】
故障検知部1は、出力故障検知対象のドライバ51と、排他的論理和(EOR)回路52とを含む。EOR回路52は、ドライバ51が故障して、ドライバ10の入力電位と出力電位とが異なる場合に、ドライバ51が故障していることを示すHレベルを出力する。
【0079】
故障救済部2は、NAND回路53と、インバータ(NOT)回路54と、NOR回路55と、出力PAD56〜58と、プルアップ抵抗59と、スイッチ60および61と、プルダウン抵抗62とを含む。なお、プルアップ抵抗59、スイッチ60,61およびプルダウン抵抗62は、半導体装置(マイコン)の外部に設けられる。
【0080】
ドライバ51の故障時には、EOR回路52がHレベルを出力するため、NAND回路53はドライバ51の入力を反転した値を出力する。また、インバータ(NOT)回路54がLレベルを出力するため、NOR回路55はドライバ51の入力を反転した値を出力する。
【0081】
そのため、ドライバ51の入力がLレベルであれば、NAND回路53はHレベルを出力し、スイッチ60はOFFとなる。また、NOR回路55はHレベルを出力し、スイッチ61はONとなる。その結果、ドライバ51の出力にプルダウン抵抗62が接続されることになり、ドライバ51の出力がハイ・インピーダンスであれば、プルダウン抵抗62によってLレベルとされる。なお、プルダウン抵抗62の抵抗値は、ドライバ51の出力駆動能力と同程度の駆動能力となるように設定される。
【0082】
また、ドライバ51の入力がHレベルであれば、NAND回路53はLレベルを出力し、スイッチ60はONとなる。また、NOR回路55はLレベルを出力し、スイッチ61はOFFとなる。その結果、ドライバ51の出力にプルアップ抵抗59が接続されることになり、ドライバ51の出力がハイ・インピーダンスであれば、プルアップ抵抗59によってHレベルとされる。なお、プルアップ抵抗59の抵抗値は、ドライバ51の出力駆動能力と同程度の駆動能力となるように設定される。
【0083】
図12は、本発明の第6の実施の形態における故障検出救済回路の動作を説明するためのタイミングチャートである。T1において、ドライバ51の入力がLレベルになると、EOR回路52の出力がHレベルとなり、インバータ(NOT)回路54の出力がLレベルとなり、NOR回路55の出力がHレベルとなる。このとき、出力PAD58にHレベルが出力されて、スイッチ61がONとなり、ドライバ51の故障の救済状態となる。
【0084】
ドライバ51の出力にプルダウン抵抗62が接続されるため、T2において、ドライバ51の出力がLレベルとなり、EOR回路52の出力がLレベルとなり、インバータ(NOT)回路54の出力がHレベルとなり、NOR回路55の出力がLレベルとなる。このとき、出力PAD58にLレベルが出力されて、スイッチ61がOFFとなる。
【0085】
T3において、ドライバ51の入力がHレベルになると、EOR回路52の出力がHレベルとなり、NAND回路53の出力がLレベルとなる。このとき、出力PAD56にLレベルが出力されて、スイッチ60がONとなり、ドライバ51の故障の救済状態となる。
【0086】
ドライバ51の出力にプルアップ抵抗59が接続されるため、T4において、ドライバ51の出力がHレベルとなり、EOR回路52の出力がLレベルとなり、NAND回路53の出力がHレベルとなる。このとき、出力PAD56にHレベルが出力されて、スイッチ60がOFFとなる。
【0087】
以上説明したように、本実施の形態における故障検出救済回路によれば、プルアップ抵抗59、スイッチ60,61およびプルダウン抵抗62が、半導体装置(マイコン)の外部に設けられるようにした。したがって、第1の実施の形態において説明した効果に加えて、たとえば出力ポート端子とシステム基板との間の接触不良により、ドライバ51の出力信号が外部に伝わらないような不良が発生した場合でも、半導体装置から出力される信号を正しく外部に伝えることが可能となった。
【0088】
また、プルアップ抵抗59およびプルダウン抵抗62が半導体装置の外部で接続されるようにしたため、これらの抵抗値を容易に変更することができ、駆動能力を容易に変更することが可能となった。
【0089】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0090】
1 故障検知部、2 故障救済部、3 出力PAD、4 入力PAD、10,51 ドライバ、11,12,31 故障検知レジスタ、13 OR回路、14,33 AND回路、15,26,59 プルアップ抵抗、16,27 Pチャネルトランジスタ、17,28 Nチャネルトランジスタ、18,29,62 プルダウン抵抗、19,52 EOR回路、21,22,41 救済レジスタ、23,32,42,54 NOT回路、24,53 NAND回路、25,55 NOR回路、56〜58 PAD、60,61 スイッチ。
【技術分野】
【0001】
本発明は、半導体集積回路の故障を検出して救済する技術に関し、特に、ドライバの故障を検出して自動的に救済する故障検出救済回路を含んだ半導体装置に関する。
【背景技術】
【0002】
近年、半導体集積回路の高機能化、多機能化が進んでおり、たとえば、マイクロコンピュータ(以下、マイコンと呼ぶ。)などの半導体装置に外部のデバイスを駆動するドライバが搭載されることも多くなってきている。このようなドライバの故障を検出する技術として、下記の特許文献1〜2に開示された発明がある。
【0003】
特許文献1は、従来の出力回路において、ディジタル回路からの信号がバッファ回路を通してそのまま外部端子に出力されていたので、出力端子の先で電源やグランドに短絡されていたり、隣りあう出力端子が短絡されている場合に、信号が正確に出力されているかどうか知ることができないという欠点を解決するものである。出力回路は、1つ又は複数の出力端子を有するディジタル回路と、ディジタル回路の各出力端子にそれぞれ入力端子を接続した同数のバッファ回路と、バッファ回路の各出力端子を接続した同数の外部端子と、各バッファ回路の入力端子と出力端子とをそれぞれ異なる2つの入力端子に接続した同数の排他的論理和回路と、排他的論理和回路の各出力端子を接続した同数の検出端子とを有している。
【0004】
特許文献2は、一方の装置から複数の装置にそれぞれ出力バッファを介したデータ信号の伝送における出力バッファ障害検出方式に関し、出力バッファの障害が簡単な構成で検出できる出力バッファ障害検出方式を提供することを目的とする。各出力バッファの入力信号と出力信号とを入力とする2入力のチェック回路を設ける。このチェック回路は2つの信号を比較することにより正常でない場合に出力バッファの障害検出信号を発生するよう構成する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平01−122207号公報
【特許文献2】特開平04−287256号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
半導体装置に搭載されたドライバの不具合サンプルを解析した結果、不具合の原因は、ドライバ出力部のPチャネルトランジスタの絶縁膜不良により、ゲート・ソース間がショートし、正常であればハイレベル(以下、Hレベルと略す。)を出力すべきであるのに、ハイ・インピーダンス(Hi−Z)を出力したことによるものが多いことが判明した。これは、出荷時にはドライバが正常に動作していたが、出荷後にドライバが劣化して誤動作したものである。
【0007】
一方、特許文献1に開示された発明は、出力端子の先で電源やグランドに短絡されていたり、隣りあう出力端子が短絡されている場合に、信号が正確に出力されていないことを検出することができるが、それを自動的に救済することができない。
【0008】
また、特許文献2に開示された発明においては、チェック回路が2つの信号を比較することにより正常でない場合に出力バッファの障害検出信号を発生するよう構成されるので、出力バッファの障害を簡単な構成で検出することができるが、特許文献1と同様に、それを自動的に救済することができない。
【0009】
本発明は、上記問題点を解決するためになされたものであり、その目的は、ドライバの故障による出力異常を救済することが可能な故障検出救済回路を含んだ半導体装置を提供することである。
【課題を解決するための手段】
【0010】
本発明の一実施例によれば、ドライバの故障を検出して救済する半導体装置が提供される。故障検知部は、ドライバの出力の期待電位の逆電位となるようにドライバの出力にプルアップ抵抗またはプルダウン抵抗を接続し、ドライバの入力電位と出力電位とを比較することによりドライバの故障を検出する。故障救済部は、故障検出部によってドライバの故障が検出された場合に、期待電位と同電位となるようにドライバの出力にプルアップ抵抗またはプルダウン抵抗を接続してドライバの故障を救済する。
【発明の効果】
【0011】
本発明の一実施例によれば、故障救済部が期待電位と同電位となるようにドライバの出力にプルアップ抵抗またはプルダウン抵抗を接続するので、ドライバの故障による出力異常を救済することが可能となる。
【図面の簡単な説明】
【0012】
【図1】本発明の第1の実施の形態における故障検出救済回路の構成例を示す図である。
【図2】本発明の第1の実施の形態における故障検出救済回路の動作を説明するためのフローチャートである。
【図3】本発明の第2の実施の形態における故障検出救済回路の構成例を示す図である。
【図4】本発明の第2の実施の形態における故障検出救済回路の動作を説明するためのタイミングチャートである。
【図5】本発明の第3の実施の形態における故障検出救済回路の構成例を示す図である。
【図6】本発明の第3の実施の形態における故障検出救済回路の動作を説明するためのタイミングチャートである。
【図7】本発明の第4の実施の形態における故障救済部2の構成例を示す図である。
【図8】本発明の第4の実施の形態における故障救済部2の動作を説明するためのタイミングチャートである。
【図9】本発明の第5の実施の形態における故障救済部2の構成例を示す図である。
【図10】本発明の第5の実施の形態における故障救済部2の動作を説明するためのタイミングチャートである。
【図11】本発明の第6の実施の形態における故障検出救済回路の構成例を示す図である。
【図12】本発明の第6の実施の形態における故障検出救済回路の動作を説明するためのタイミングチャートである。
【発明を実施するための形態】
【0013】
(第1の実施の形態)
図1は、本発明の第1の実施の形態における故障検出救済回路の構成例を示す図である。この故障検出救済回路は、たとえば、マイコンなどの半導体装置内に設けられ、故障検知部1と、故障救済部2と、出力PAD3とを含む。
【0014】
故障検知部1は、出力故障検知対象のドライバ10と、故障検知レジスタA11と、故障検知レジスタB12と、OR回路13と、AND回路14と、プルアップ抵抗15と、Pチャネルトランジスタ16と、Nチャネルトランジスタ17と、プルダウン抵抗18と、排他的論理和(EOR)回路19とを含む。
【0015】
故障検知レジスタA11は、図示しないCPU(Central Processing Unit)によって値が設定されるレジスタであり、通常動作モード時には“H”が書き込まれ、故障検知モード時には“L”が書き込まれる。
【0016】
また、故障検知レジスタB12も、図示しないCPUによって値が設定されるレジスタであり、通常動作モード時には“L”が書き込まれ、故障検知モード時には“H”が書き込まれる。
【0017】
通常動作モード時には、故障検知レジスタA11がHレベルを出力するため、OR回路13もHレベルを出力する。したがって、Pチャネルトランジスタ16はOFFとなる。また、故障検知レジスタB12がロウレベル(以下、Lレベルと略す。)を出力するため、AND回路14もLレベルを出力する。したがって、Nチャネルトランジスタ17はOFFとなる。
【0018】
その結果、ドライバ10の出力にはプルアップ抵抗15およびプルダウン抵抗18が接続されていない状態となる。このとき、ドライバ10が正常に動作していれば、EOR回路19の2つの入力の値が同じであるため、EOR回路19は正常であることを示すLレベルを出力する。また、ドライバ10が故障して、出力がハイ・インピーダンスになっている場合には、EOR回路18の出力は不定、すなわちEOR回路19のプロセス特性やドライバ10の出力レベルがLレベルとHレベルのどちらにバイアスされているか等に応じてLレベルまたはHレベルのどちらかを出力することとなる。特に、ドライバ10の出力インピーダンスが高い状態であるものの、入力に追随する出力をするような故障状態にある場合、EOR回路19は正常であることを示すLレベルを出力する傾向が高くなる。
【0019】
故障検知モード時には、故障検知レジスタA11がLレベルを出力するため、OR回路13はドライバ10の入力と同じ値を出力する。また、故障検知レジスタB12がHレベルを出力するため、AND回路14はドライバ10の入力と同じ値を出力する。
【0020】
そのため、ドライバ10の入力がLレベルであれば、OR回路13もLレベルを出力し、Pチャネルトランジスタ16はONとなる。また、AND回路14もLレベルを出力し、Nチャネルトランジスタ17はOFFとなる。その結果、ドライバ10の出力にプルアップ抵抗15が接続されることになり、ドライバ10の出力がハイ・インピーダンスであれば、プルアップ抵抗15によってHレベルとされる。このとき、ドライバ10の入力と出力との値が異なるため、EOR回路19はドライバ10が故障していることを示すHレベルを出力する。
【0021】
また、ドライバ10の入力がHレベルであれば、OR回路13もHレベルを出力し、Pチャネルトランジスタ16はOFFとなる。また、AND回路14もHレベルを出力し、Nチャネルトランジスタ17はONとなる。その結果、ドライバ10の出力にプルダウン抵抗18が接続されることになり、ドライバ10の出力がハイ・インピーダンスであれば、プルダウン抵抗18によってLレベルとされる。このとき、ドライバ10の入力と出力との値が異なるため、EOR回路19はドライバ10が故障していることを示すHレベルを出力する。
【0022】
このように、故障検知モード時には、ドライバ10の出力の期待電位と逆電位となるようにプルアップ抵抗15またはプルダウン抵抗18を接続する。このとき、ドライバ10が故障してハイ・インピーダンスを出力していれば、プルアップ抵抗15またはプルダウン抵抗18によってドライバ10の入力電位と出力電位とが逆になり、EOR回路19がHレベルを出力することになる。なお、プルアップ抵抗15およびプルダウン抵抗18の抵抗値は、ドライバ10が正常に動作している場合にはその出力のレベルが変わらない程度の値が設定される。すなわち、プルアップ抵抗15およびプルダウン抵抗18を流れる電流を、ドライバ10の出力駆動電流よりも小さくする。
【0023】
故障救済部2は、救済レジスタA21と、救済レジスタB22と、インバータ(NOT)回路23と、NAND回路24と、NOR回路25と、プルアップ抵抗26と、Pチャネルトランジスタ27と、Nチャネルトランジスタ28と、プルダウン抵抗29とを含む。
【0024】
救済レジスタA21は、ドライバ10が正常に動作している場合、すなわちEOR回路19がLレベルを出力している場合にはLレベルを保持して出力する。また、救済レジスタA21は、ドライバ10の故障が検出された場合、すなわちEOR回路19の出力がLレベルからHレベルに変化した場合にHレベルを保持して出力する。
【0025】
救済レジスタB22は、ドライバ10が正常に動作している場合、すなわちEOR回路19がLレベルを出力している場合にはHレベルを保持して出力する。また、救済レジスタB22は、ドライバ10の故障が検出された場合、すなわちEOR回路19の出力がLレベルからHレベルに変化した場合にLレベルを保持して出力する。
【0026】
ドライバ10の動作が正常時には、救済レジスタA21がLレベルを出力するため、NAND回路24はHレベルを出力する。したがって、Pチャネルトランジスタ27はOFFとなる。また、救済レジスタB22がHレベルを出力するため、NOR回路25はLレベルを出力する。したがって、Nチャネルトランジスタ28はOFFとなる。
【0027】
その結果、ドライバ10の出力にはプルアップ抵抗26およびプルダウン抵抗29が接続されていない状態となる。このとき、ドライバ10が正常に動作していれば、PAD3に接続される外部のデバイスが正常に駆動されることになる。
【0028】
ドライバ10の故障時には、救済レジスタA21がHレベルを出力するため、NAND回路24はドライバ10の入力を反転した値を出力する。また、救済レジスタB22がLレベルを出力するため、NOR回路25はドライバ10の入力を反転した値を出力する。
【0029】
そのため、ドライバ10の入力がLレベルであれば、NAND回路24はHレベルを出力し、Pチャネルトランジスタ16はOFFとなる。また、NOR回路25はHレベルを出力し、Nチャネルトランジスタ28はONとなる。その結果、ドライバ10の出力にプルダウン抵抗29が接続されることになり、ドライバ10の出力がハイ・インピーダンスであれば、プルダウン抵抗29によってLレベルとされる。なお、プルダウン抵抗29の抵抗値は、ドライバ10の出力駆動能力と同程度の駆動能力となるように設定される。
【0030】
また、ドライバ10の入力がHレベルであれば、NAND回路24はLレベルを出力し、Pチャネルトランジスタ27はONとなる。また、NOR回路25はLレベルを出力し、Nチャネルトランジスタ28はOFFとなる。その結果、ドライバ10の出力にプルアップ抵抗26が接続されることになり、ドライバ10の出力がハイ・インピーダンスであれば、プルアップ抵抗26によってHレベルとされる。なお、プルアップ抵抗26の抵抗値は、ドライバ10の出力駆動能力と同程度の駆動能力となるように設定される。
【0031】
このように、ドライバ10の故障が検知された場合、ドライバ10の出力と同電位となるようにプルアップ抵抗26またはプルダウン抵抗29を接続する。したがって、ドライバ10が故障して出力がハイ・インピーダンスになっている場合でも、それを救済することができる。
【0032】
図2は、本発明の第1の実施の形態における故障検出救済回路の動作を説明するためのフローチャートである。まず、図示しないCPUが故障を検知させる必要があるか否かを判定する(S11)。故障を検知させる必要がなければ(S11,No)、すなわち通常動作モード時には、CPUが故障検知レジスタA11に“H”を設定し、故障検知レジスタB12に“L”を設定する(S12)。
【0033】
また、セルフチェックなどで故障を検知させる必要があれば(S11,Yes)、CPUが故障検知レジスタA11に“L”を設定し、故障検知レジスタB12に“H”を設定する(S13)。そして、ドライバ10の出力の期待電位と逆電位となるようにトランジスタ16または17をONさせる(S14)。
【0034】
EOR回路19は、ドライバ10の入力電位と出力電位とを比較する(S15)。そして、比較結果が同じであれば、すなわちドライバ10が正常に動作していれば(S16,Yes)、救済レジスタA21に“L”が設定され、救済レジスタB22に“H”が設定される(S17)。
【0035】
また、比較結果が異なっていれば、すなわちドライバ10の故障が検知されれば(S16,No)、救済レジスタA21に“H”が設定され、救済レジスタB22に“L”が設定される(S18)。そして、ドライバ10の出力の期待電位と同電位となるようにトランジスタ27または28をONさせる(S19)。
【0036】
以上の説明においては、ドライバ10が故障して出力がハイ・インピーダンスになる場合について説明したが、ドライバ10が劣化して駆動能力が低下している場合でも、プルアップ抵抗15およびプルダウン抵抗18の抵抗値の設定によって、故障検知部1はそれを検知することができる。したがって、そのような場合でも、故障救済部2がドライバ10の故障の救済を行なうことができる。
【0037】
また、ドライバ10が、入力電位と同じ電位を出力する場合について説明したが、入力電位を反転して出力するようなドライバにも適用することができる。この場合、故障検知部1において、抵抗15をグラウンドに接続してプルダウン抵抗とし、抵抗18を電源に接続してプルアップ抵抗とする。そして、EOR回路19の入力のいずれかにインバータ(NOT)回路を追加する。
【0038】
また、故障救済部2において、抵抗26をグラウンドに接続してプルダウン抵抗とし、抵抗29を電源に接続してプルアップ抵抗とする。これによって、反転タイプのドライバにも適用することができる。
【0039】
以上説明したように、本実施の形態における故障検出救済回路によれば、故障検知モード時に、故障検知部1がドライバ10の出力の期待電位と逆電位となるようにドライバ10の出力にプルアップ抵抗15またはプルダウン抵抗18を接続し、ドライバ10の入力電位と出力電位とを比較してドライバ10の故障を検出するようにした。したがって、ドライバ10が故障してハイ・インピーダンスを出力している場合でも、ドライバ10の故障を検出することが可能となった。
【0040】
また、故障検知部1がドライバ10の故障を検知したときに、故障救済部2がドライバ10の出力の期待電位と同電位となるようにプルアップ抵抗26またはプルダウン抵抗29を接続するようにしたので、ドライバ10の故障による出力異常を救済することが可能となった。
【0041】
また、本実施の形態における故障検出救済回路を、マイコンが検出したエラーを外部に対して出力するIOポートドライバに適用した場合、IOポートドライバが故障してエラー検出がシステム全体に伝わらないといった不具合を防止することが可能となる。
【0042】
また、本実施の形態における故障検出救済回路を、外部のデバイスにリセット信号を出力するIOポートドライバに適用した場合、IOポートドライバが故障してリセットがシステム全体に伝わらないといった不具合を防止することが可能となる。
【0043】
また、本実施の形態における故障検出救済回路を、車載用マイコンなどの高い信頼性が要求される半導体装置に搭載するようにすれば、より安全性の向上を図ることが可能となる。
【0044】
(第2の実施の形態)
図3は、本発明の第2の実施の形態における故障検出救済回路の構成例を示す図である。本発明の第2の実施の形態における故障検出救済回路は、図1に示す第1の実施の形態における故障検出救済回路と比較して、故障検知部1の故障検知レジスタを1つとし、それに応じてインバータ(NOT)回路32およびAND回路33を追加した点と、故障救済部2の救済レジスタを1つとし、それに応じてインバータ23が削除され、さらにインバータ42が追加された点とが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。
【0045】
故障検知レジスタ31、図示しないCPUによって値が設定されるレジスタであり、通常動作モード時には“L”が書き込まれ、故障検知モード時には“H”が書き込まれる。故障検知レジスタ31の出力は、AND回路14に接続されると共に、インバータ32を介してOR回路13に接続される。したがって、OR回路13、AND回路14、プルアップ抵抗15、Pチャネルトランジスタ16、Nチャネルトランジスタ17、プルダウン抵抗18、EOR回路19などの動作は、第1の実施の形態において説明したものと同様である。
【0046】
AND回路33は、故障検知レジスタ31からHレベルが出力される場合、すなわち故障検知モード時にのみEOR回路19の出力値を救済レジスタ41に出力し、通常動作モード時にはEOR回路19の出力値をマスクする。
【0047】
救済レジスタ41は、ドライバ10が正常に動作している場合、すなわちAND回路33がLレベルを出力している場合にはLレベルを保持して出力する。また、救済レジスタ41は、ドライバ10の故障が検出された場合、すなわちAND回路33の出力がLレベルからHレベルに変化した場合に、救済レジスタセット信号にパルスが印加され、AND回路33の出力(Hレベル)を保持して出力する。
【0048】
救済レジスタ41の出力は、NAND回路24に接続されると共に、インバータ42を介してNOR回路25に接続される。したがって、NAND回路24、NOR回路25、プルアップ抵抗26、Pチャネルトランジスタ27、Nチャネルトランジスタ28、プルダウン抵抗29などの動作は、第1の実施の形態において説明したものと同様である。
【0049】
図4は、本発明の第2の実施の形態における故障検出救済回路の動作を説明するためのタイミングチャートである。T1において、CPUによって故障検知レジスタ31に“H”が設定されると、インバータ(NOT)回路32の出力がLレベルとなる。このとき、ドライバ10の入力がHレベルであるとすると、OR回路13がHレベルを出力し、AND回路14はHレベルを出力する。したがって、Pチャネルトランジスタ16がOFFとなり、Nチャネルトランジスタ17がONとなる。
【0050】
ドライバ10が故障しており、ドライバ10の出力がハイ・インピーダンスとなっていれば、T2において、ドライバ10の出力がLレベルに駆動され、EOR回路19がHレベルを出力し、AND回路33がHレベルを出力する。このとき、救済レジスタセット信号にパルスが出力されて、救済レジスタ41に“H”が設定される。
【0051】
このとき、NAND回路24がLレベルを出力する。また、インバータ(NOT)回路42がLレベルを出力するが、ドライバ10の入力がHレベルであるのでNOR回路25はLレベルを維持する。
【0052】
トランジスタ27がONとなり、トランジスタ28がOFFとなるため、T3において、ドライバ10の出力にプルアップ抵抗27が接続されて、ドライバ10の出力がHレベルに駆動され、出力PAD3の電位がHレベルとなって救済状態となる。このとき、EOR回路19およびAND回路33がLレベルを出力する。
【0053】
T4において、CPUによって故障検知レジスタ31に“L”が設定されると、トランジスタ17がOFFとなってプルダウン抵抗18が切断されるが、故障救済部2による救済状態が維持される。
【0054】
以上説明したように、本実施の形態における故障検出救済回路によれば、1つの故障検知レジスタ31および1つの救済レジスタ41によって故障検出および故障救済を行なうようにしたので、第1の実施の形態において説明した効果に加えて、回路規模をさらに削減することが可能となった。
【0055】
(第3の実施の形態)
第1および第2の実施の形態においては、故障検出救済回路が半導体装置の出力ドライバに適用された。本発明の第3の実施の形態においては、故障検出救済回路が半導体装置の入力バッファに適用されるものである。
【0056】
図5は、本発明の第3の実施の形態における故障検出救済回路の構成例を示す図である。本発明の第3の実施の形態における故障検出救済回路は、図3に示す第2の実施の形態における故障検出救済回路と比較して、ドライバ10が入力バッファとなっており、入力バッファ10の入力に入力PAD4が接続され、入力バッファ10の出力が半導体装置の内部信号に接続される点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。
【0057】
図6は、本発明の第3の実施の形態における故障検出救済回路の動作を説明するためのタイミングチャートである。T1において、CPUによって故障検知レジスタ31に“H”が設定されると、インバータ(NOT)回路32の出力がLレベルとなる。このとき、ドライバ10の入力がLレベルであるとすると、OR回路13がLレベルを出力し、AND回路14がLレベルを出力する。したがって、Pチャネルトランジスタ16がONとなり、Nチャネルトランジスタ17がOFFとなる。
【0058】
ドライバ10が故障しており、ドライバ10の出力がハイ・インピーダンスとなっていれば、T2において、ドライバ10の出力がHレベルに駆動され、EOR回路19がHレベルを出力し、AND回路33がHレベルを出力する。このとき、救済レジスタセット信号にパルスが出力されて、救済レジスタ41に“H”が設定される。
【0059】
このとき、NAND回路24がHレベルを出力する。また、インバータ(NOT)回路42がLレベルを出力するが、ドライバ10の入力がLレベルであるのでNOR回路25はHレベルを出力する。
【0060】
トランジスタ27がOFFとなり、トランジスタ28がONとなるため、T3において、ドライバ10の出力にプルダウン抵抗29が接続されて、ドライバ10の出力がLレベルに駆動され、内部信号の電位がLレベルとなって救済状態となる。このとき、EOR回路19およびAND回路33がLレベルを出力する。
【0061】
T4において、CPUによって故障検知レジスタ31に“L”が設定されると、トランジスタ16がOFFとなってプルアップ抵抗15が切断されるが、故障救済部2による救済状態が維持される。
【0062】
以上説明したように、本実施の形態における故障検出救済回路によれば、故障検知部1および故障救済部2を入力バッファに適用するようにしたので、第1および第2の実施の形態において説明した効果と同様の効果を奏することが可能となった。
【0063】
(第4の実施の形態)
第1〜第3の実施の形態においては、故障検知部1と故障救済部2とを含んだ故障検出救済回路に関するものであった。本発明の第3の実施の形態においては、故障救済部2のみを有する半導体装置に関するものである。
【0064】
図7は、本発明の第4の実施の形態における故障救済部2の構成例を示す図である。本発明の第4の実施の形態における故障救済部2は、図3に示す第2の実施の形態における故障救済部と比較して、救済レジスタ41の機能のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。
【0065】
救済レジスタ41は、図示しないCPUによって値が設定されるレジスタであり、通常動作モード時には“L”が書き込まれ、二重出力モード時には“H”が書き込まれる。救済レジスタ41の出力は、NAND回路24に接続されると共に、インバータ(NOT)回路42を介してNOR回路25に接続される。
【0066】
ドライバ10の故障が判明していたり、ドライバ10の出力駆動能力が低下していることが判明していたりする場合、CPUは救済レジスタ41に“H”を書き込み、二重出力モードに設定する。このとき、ドライバ10の入力がLレベルであれば、NAND回路24はHレベルを出力し、Pチャネルトランジスタ16はOFFとなる。また、NOR回路25はHレベルを出力し、Nチャネルトランジスタ28はONとなる。その結果、ドライバ10の出力にプルダウン抵抗29が接続される。
【0067】
また、ドライバ10の入力がHレベルであれば、NAND回路24はLレベルを出力し、Pチャネルトランジスタ27はONとなる。また、NOR回路25はLレベルを出力し、Nチャネルトランジスタ28はOFFとなる。その結果、ドライバ10の出力にプルアップ抵抗26が接続される。
【0068】
このようにして、ドライバ10が故障している場合や、ドライバ10の出力駆動能力が低下している場合でも、それを救済することができる。
【0069】
図8は、第4の実施の形態における故障救済部2の動作を説明するためのタイミングチャートである。T1において、救済レジスタ41に“H”が設定されると、ドライバ10の入力がLレベルであるため、NAND回路24がHレベルを出力する。また、インバータ(NOT)回路42がLレベルを出力し、ドライバ10の入力がLレベルであるのでNOR回路25の出力はHレベルとなる。
【0070】
Pチャネルトランジスタ27がOFFとなり、Nチャネルトランジスタ28がONとなるため、ドライバ10の出力にプルダウン抵抗28が接続されて、T2において、ドライバ10の出力がLレベルに駆動され、出力PAD3の電位がLレベルとなって救済状態となる。
【0071】
以上説明したように、本実施の形態における故障救済部2によれば、CPUによって救済レジスタ41に“H”が書き込まれたときに、ドライバ10の出力の期待電位と同電位となるようにプルアップ抵抗26またはプルダウン抵抗29を接続するようにしたので、ドライバ10の故障による出力異常を救済することが可能となった。
【0072】
(第5の実施の形態)
第4の実施の形態においては、故障救済部2が半導体装置の出力ドライバに適用された。本発明の第5の実施の形態においては、故障救済部2が半導体装置の入力バッファに適用されるものである。
【0073】
図9は、本発明の第5の実施の形態における故障救済部2の構成例を示す図である。本発明の第5の実施の形態における故障救済部2は、図7に示す第4の実施の形態における故障救済部と比較して、ドライバ10が入力バッファとなっており、入力バッファ10の入力に入力PAD4が接続され、入力バッファ10の出力が半導体装置の内部信号に接続される点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。
【0074】
図10は、本発明の第5の実施の形態における故障救済部2の動作を説明するためのタイミングチャートである。T1において、救済レジスタ41に“H”が設定されると、ドライバ10の入力がHレベルであるため、NAND回路24がLレベルを出力する。また、インバータ(NOT)回路42がLレベルを出力し、ドライバ10の入力がHレベルであるのでNOR回路25の出力はLレベルとなる。
【0075】
Pチャネルトランジスタ27がONとなり、Nチャネルトランジスタ28がOFFとなるため、ドライバ10の出力にプルアップ抵抗26が接続されて、T2において、ドライバ10の出力がHレベルに駆動され、内部信号の電位がHレベルとなって救済状態となる。
【0076】
以上説明したように、本実施の形態における故障救済部2によれば、故障救済部2を入力バッファに適用するようにしたので、第4の実施の形態において説明した効果と同様の効果を奏することが可能となった。
【0077】
(第6の実施の形態)
図11は、本発明の第6の実施の形態における故障検出救済回路の構成例を示す図である。この故障検出救済回路は、たとえば、マイコンなどの半導体装置内に設けられ、故障検知部1と、故障救済部2とを含む。
【0078】
故障検知部1は、出力故障検知対象のドライバ51と、排他的論理和(EOR)回路52とを含む。EOR回路52は、ドライバ51が故障して、ドライバ10の入力電位と出力電位とが異なる場合に、ドライバ51が故障していることを示すHレベルを出力する。
【0079】
故障救済部2は、NAND回路53と、インバータ(NOT)回路54と、NOR回路55と、出力PAD56〜58と、プルアップ抵抗59と、スイッチ60および61と、プルダウン抵抗62とを含む。なお、プルアップ抵抗59、スイッチ60,61およびプルダウン抵抗62は、半導体装置(マイコン)の外部に設けられる。
【0080】
ドライバ51の故障時には、EOR回路52がHレベルを出力するため、NAND回路53はドライバ51の入力を反転した値を出力する。また、インバータ(NOT)回路54がLレベルを出力するため、NOR回路55はドライバ51の入力を反転した値を出力する。
【0081】
そのため、ドライバ51の入力がLレベルであれば、NAND回路53はHレベルを出力し、スイッチ60はOFFとなる。また、NOR回路55はHレベルを出力し、スイッチ61はONとなる。その結果、ドライバ51の出力にプルダウン抵抗62が接続されることになり、ドライバ51の出力がハイ・インピーダンスであれば、プルダウン抵抗62によってLレベルとされる。なお、プルダウン抵抗62の抵抗値は、ドライバ51の出力駆動能力と同程度の駆動能力となるように設定される。
【0082】
また、ドライバ51の入力がHレベルであれば、NAND回路53はLレベルを出力し、スイッチ60はONとなる。また、NOR回路55はLレベルを出力し、スイッチ61はOFFとなる。その結果、ドライバ51の出力にプルアップ抵抗59が接続されることになり、ドライバ51の出力がハイ・インピーダンスであれば、プルアップ抵抗59によってHレベルとされる。なお、プルアップ抵抗59の抵抗値は、ドライバ51の出力駆動能力と同程度の駆動能力となるように設定される。
【0083】
図12は、本発明の第6の実施の形態における故障検出救済回路の動作を説明するためのタイミングチャートである。T1において、ドライバ51の入力がLレベルになると、EOR回路52の出力がHレベルとなり、インバータ(NOT)回路54の出力がLレベルとなり、NOR回路55の出力がHレベルとなる。このとき、出力PAD58にHレベルが出力されて、スイッチ61がONとなり、ドライバ51の故障の救済状態となる。
【0084】
ドライバ51の出力にプルダウン抵抗62が接続されるため、T2において、ドライバ51の出力がLレベルとなり、EOR回路52の出力がLレベルとなり、インバータ(NOT)回路54の出力がHレベルとなり、NOR回路55の出力がLレベルとなる。このとき、出力PAD58にLレベルが出力されて、スイッチ61がOFFとなる。
【0085】
T3において、ドライバ51の入力がHレベルになると、EOR回路52の出力がHレベルとなり、NAND回路53の出力がLレベルとなる。このとき、出力PAD56にLレベルが出力されて、スイッチ60がONとなり、ドライバ51の故障の救済状態となる。
【0086】
ドライバ51の出力にプルアップ抵抗59が接続されるため、T4において、ドライバ51の出力がHレベルとなり、EOR回路52の出力がLレベルとなり、NAND回路53の出力がHレベルとなる。このとき、出力PAD56にHレベルが出力されて、スイッチ60がOFFとなる。
【0087】
以上説明したように、本実施の形態における故障検出救済回路によれば、プルアップ抵抗59、スイッチ60,61およびプルダウン抵抗62が、半導体装置(マイコン)の外部に設けられるようにした。したがって、第1の実施の形態において説明した効果に加えて、たとえば出力ポート端子とシステム基板との間の接触不良により、ドライバ51の出力信号が外部に伝わらないような不良が発生した場合でも、半導体装置から出力される信号を正しく外部に伝えることが可能となった。
【0088】
また、プルアップ抵抗59およびプルダウン抵抗62が半導体装置の外部で接続されるようにしたため、これらの抵抗値を容易に変更することができ、駆動能力を容易に変更することが可能となった。
【0089】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0090】
1 故障検知部、2 故障救済部、3 出力PAD、4 入力PAD、10,51 ドライバ、11,12,31 故障検知レジスタ、13 OR回路、14,33 AND回路、15,26,59 プルアップ抵抗、16,27 Pチャネルトランジスタ、17,28 Nチャネルトランジスタ、18,29,62 プルダウン抵抗、19,52 EOR回路、21,22,41 救済レジスタ、23,32,42,54 NOT回路、24,53 NAND回路、25,55 NOR回路、56〜58 PAD、60,61 スイッチ。
【特許請求の範囲】
【請求項1】
ドライバの故障を検出して救済する半導体装置であって、
前記ドライバの出力の期待電位の逆電位となるように前記ドライバの出力にプルアップ抵抗またはプルダウン抵抗を接続し、前記ドライバの入力電位と出力電位とを比較することにより前記ドライバの故障を検出する故障検出手段と、
前記故障検出手段によって前記ドライバの故障が検出された場合に、前記期待電位と同電位となるように前記ドライバの出力にプルアップ抵抗またはプルダウン抵抗を接続して前記ドライバの故障を救済する故障救済手段とを含む、半導体装置。
【請求項2】
前記故障検出手段は、故障検出の実施を設定するレジスタと、
前記レジスタに故障検出の実施が設定されている場合に、前記ドライバの出力の期待電位が第1の値のときに、前記ドライバの出力にプルアップ抵抗を接続する第1のトランジスタと、
前記レジスタに故障検出の実施が設定されている場合に、前記ドライバの出力の期待電位が第2の値のときに、前記ドライバの出力にプルダウン抵抗を接続する第2のトランジスタと、
前記ドライバの入力電位と出力電位とを比較する比較回路とを含む、請求項1記載の半導体装置。
【請求項3】
前記故障救済手段は、前記故障検出手段によって前記ドライバの故障が検出されたときに、第3の値が設定される第2のレジスタと、
前記第2のレジスタに前記第3の値が設定され、前記ドライバの出力の期待電位が前記第2の値のときに、前記ドライバの出力にプルアップ抵抗を接続する第3のトランジスタと、
前記第2のレジスタに前記第3の値が設定され、前記ドライバの出力の期待電位が前記第1の値のときに、前記ドライバの出力にプルダウン抵抗を接続する第4のトランジスタとを含む、請求項2記載の半導体装置。
【請求項4】
ドライバの故障を救済する半導体装置であって、
前記ドライバと、
前記ドライバの出力の期待電位と同電位となるように前記ドライバの出力にプルアップ抵抗またはプルダウン抵抗を接続して前記ドライバの故障を救済する故障救済手段とを含む、半導体装置。
【請求項5】
入力バッファの故障を検出して救済する半導体装置であって、
前記入力バッファの出力の期待電位の逆電位となるように前記入力バッファの出力にプルアップ抵抗またはプルダウン抵抗を接続し、前記入力バッファの入力電位と出力電位とを比較することにより前記入力バッファの故障を検出する故障検出手段と、
前記故障検出手段によって前記入力バッファの故障が検出された場合に、前記期待電位と同電位となるように前記入力バッファの出力にプルアップ抵抗またはプルダウン抵抗を接続して前記入力バッファの故障を救済する故障救済手段とを含む、半導体装置。
【請求項6】
入力バッファの故障を救済する半導体装置であって、
前記入力バッファと、
前記入力バッファの出力の期待電位と同電位となるように前記入力バッファの出力にプルアップ抵抗またはプルダウン抵抗を接続して前記入力バッファの故障を救済する故障救済手段とを含む、半導体装置。
【請求項7】
ドライバの故障を検出して救済する半導体装置であって、
前記ドライバの入力電位と出力電位とを比較することにより前記ドライバの故障を検出する故障検出手段と、
前記故障検出手段によって前記ドライバの故障が検出された場合に、前記ドライバの出力の期待電位と同電位となるように前記ドライバの出力にプルアップ抵抗またはプルダウン抵抗のいずれを接続するかを示す信号を外部に出力する故障救済手段とを含む、半導体装置。
【請求項1】
ドライバの故障を検出して救済する半導体装置であって、
前記ドライバの出力の期待電位の逆電位となるように前記ドライバの出力にプルアップ抵抗またはプルダウン抵抗を接続し、前記ドライバの入力電位と出力電位とを比較することにより前記ドライバの故障を検出する故障検出手段と、
前記故障検出手段によって前記ドライバの故障が検出された場合に、前記期待電位と同電位となるように前記ドライバの出力にプルアップ抵抗またはプルダウン抵抗を接続して前記ドライバの故障を救済する故障救済手段とを含む、半導体装置。
【請求項2】
前記故障検出手段は、故障検出の実施を設定するレジスタと、
前記レジスタに故障検出の実施が設定されている場合に、前記ドライバの出力の期待電位が第1の値のときに、前記ドライバの出力にプルアップ抵抗を接続する第1のトランジスタと、
前記レジスタに故障検出の実施が設定されている場合に、前記ドライバの出力の期待電位が第2の値のときに、前記ドライバの出力にプルダウン抵抗を接続する第2のトランジスタと、
前記ドライバの入力電位と出力電位とを比較する比較回路とを含む、請求項1記載の半導体装置。
【請求項3】
前記故障救済手段は、前記故障検出手段によって前記ドライバの故障が検出されたときに、第3の値が設定される第2のレジスタと、
前記第2のレジスタに前記第3の値が設定され、前記ドライバの出力の期待電位が前記第2の値のときに、前記ドライバの出力にプルアップ抵抗を接続する第3のトランジスタと、
前記第2のレジスタに前記第3の値が設定され、前記ドライバの出力の期待電位が前記第1の値のときに、前記ドライバの出力にプルダウン抵抗を接続する第4のトランジスタとを含む、請求項2記載の半導体装置。
【請求項4】
ドライバの故障を救済する半導体装置であって、
前記ドライバと、
前記ドライバの出力の期待電位と同電位となるように前記ドライバの出力にプルアップ抵抗またはプルダウン抵抗を接続して前記ドライバの故障を救済する故障救済手段とを含む、半導体装置。
【請求項5】
入力バッファの故障を検出して救済する半導体装置であって、
前記入力バッファの出力の期待電位の逆電位となるように前記入力バッファの出力にプルアップ抵抗またはプルダウン抵抗を接続し、前記入力バッファの入力電位と出力電位とを比較することにより前記入力バッファの故障を検出する故障検出手段と、
前記故障検出手段によって前記入力バッファの故障が検出された場合に、前記期待電位と同電位となるように前記入力バッファの出力にプルアップ抵抗またはプルダウン抵抗を接続して前記入力バッファの故障を救済する故障救済手段とを含む、半導体装置。
【請求項6】
入力バッファの故障を救済する半導体装置であって、
前記入力バッファと、
前記入力バッファの出力の期待電位と同電位となるように前記入力バッファの出力にプルアップ抵抗またはプルダウン抵抗を接続して前記入力バッファの故障を救済する故障救済手段とを含む、半導体装置。
【請求項7】
ドライバの故障を検出して救済する半導体装置であって、
前記ドライバの入力電位と出力電位とを比較することにより前記ドライバの故障を検出する故障検出手段と、
前記故障検出手段によって前記ドライバの故障が検出された場合に、前記ドライバの出力の期待電位と同電位となるように前記ドライバの出力にプルアップ抵抗またはプルダウン抵抗のいずれを接続するかを示す信号を外部に出力する故障救済手段とを含む、半導体装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−222178(P2012−222178A)
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願番号】特願2011−86992(P2011−86992)
【出願日】平成23年4月11日(2011.4.11)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願日】平成23年4月11日(2011.4.11)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】
[ Back to top ]