(57)【要約】【課題】ドライバの故障による出力異常を救済することが可能な故障検出救済回路を含んだ半導体装置を提供すること。【解決手段】故障検知部１は、ドライバ１０の出力の期待電位の逆電位となるようにドライバ１０の出力にプルアップ抵抗１５またはプルダウン抵抗１８を接続し、ドライバ１０の入力電位と出力電位とを比較することによりドライバ１０の故障を検出する。故障救済部２は、故障検知部１によってドライバ１０の故障が検出された場合に、期待電位と同電位となるようにドライバ１０の出力にプルアップ抵抗２６またはプルダウン抵抗２９を接続してドライバ１０の故障を救済する。したがって、ドライバ１０の故障による出力異常を救済することが可能となる。【選択図】図１
2012222178.tif 000002
【特許請求の範囲】
【請求項１】
ドライバの故障を検出して救済する半導体装置であって、
前記ドライバの出力の期待電位の逆電位となるように前記ドライバの出力にプルアップ抵抗またはプルダウン抵抗を接続し、前記ドライバの入力電位と出力電位とを比較することにより前記ドライバの故障を検出する故障検出手段と、
前記故障検出手段によって前記ドライバの故障が検出された場合に、前記期待電位と同電位となるように前記ドライバの出力にプルアップ抵抗またはプルダウン抵抗を接続して前記ドライバの故障を救済する故障救済手段とを含む、半導体装置。
【請求項２】
前記故障検出手段は、故障検出の実施を設定するレジスタと、
前記レジスタに故障検出の実施が設定されている場合に、前記ドライバの出力の期待電位が第１の値のときに、前記ドライバの出力にプルアップ抵抗を接続する第１のトランジスタと、
前記レジスタに故障検出の実施が設定されている場合に、前記ドライバの出力の期待電位が第２の値のときに、前記ドライバの出力にプルダウン抵抗を接続する第２のトランジスタと、
前記ドライバの入力電位と出力電位とを比較する比較回路とを含む、請求項１記載の半導体装置。
【請求項３】
前記故障救済手段は、前記故障検出手段によって前記ドライバの故障が検出されたときに、第３の値が設定される第２のレジスタと、
前記第２のレジスタに前記第３の値が設定され、前記ドライバの出力の期待電位が前記第２の値のときに、前記ドライバの出力にプルアップ抵抗を接続する第３のトランジスタと、
前記第２のレジスタに前記第３の値が設定され、前記ドライバの出力の期待電位が前記第１の値のときに、前記ドライバの出力にプルダウン抵抗を接続する第４のトランジスタとを含む、請求項２記載の半導体装置。
【請求項４】
ドライバの故障を救済する半導体装置であって、
前記ドライバと、
前記ドライバの出力の期待電位と同電位となるように前記ドライバの出力にプルアップ抵抗またはプルダウン抵抗を接続して前記ドライバの故障を救済する故障救済手段とを含む、半導体装置。
【請求項５】
入力バッファの故障を検出して救済する半導体装置であって、
前記入力バッファの出力の期待電位の逆電位となるように前記入力バッファの出力にプルアップ抵抗またはプルダウン抵抗を接続し、前記入力バッファの入力電位と出力電位とを比較することにより前記入力バッファの故障を検出する故障検出手段と、
前記故障検出手段によって前記入力バッファの故障が検出された場合に、前記期待電位と同電位となるように前記入力バッファの出力にプルアップ抵抗またはプルダウン抵抗を接続して前記入力バッファの故障を救済する故障救済手段とを含む、半導体装置。
【請求項６】
入力バッファの故障を救済する半導体装置であって、
前記入力バッファと、
前記入力バッファの出力の期待電位と同電位となるように前記入力バッファの出力にプルアップ抵抗またはプルダウン抵抗を接続して前記入力バッファの故障を救済する故障救済手段とを含む、半導体装置。
【請求項７】
ドライバの故障を検出して救済する半導体装置であって、
前記ドライバの入力電位と出力電位とを比較することにより前記ドライバの故障を検出する故障検出手段と、
前記故障検出手段によって前記ドライバの故障が検出された場合に、前記ドライバの出力の期待電位と同電位となるように前記ドライバの出力にプルアップ抵抗またはプルダウン抵抗のいずれを接続するかを示す信号を外部に出力する故障救済手段とを含む、半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の故障を検出して救済する技術に関し、特に、ドライバの故障を検出して自動的に救済する故障検出救済回路を含んだ半導体装置に関する。
【背景技術】
【０００２】
近年、半導体集積回路の高機能化、多機能化が進んでおり、たとえば、マイクロコンピュータ（以下、マイコンと呼ぶ。）などの半導体装置に外部のデバイスを駆動するドライバが搭載されることも多くなってきている。このようなドライバの故障を検出する技術として、下記の特許文献１〜２に開示された発明がある。
【０００３】
特許文献１は、従来の出力回路において、ディジタル回路からの信号がバッファ回路を通してそのまま外部端子に出力されていたので、出力端子の先で電源やグランドに短絡されていたり、隣りあう出力端子が短絡されている場合に、信号が正確に出力されているかどうか知ることができないという欠点を解決するものである。出力回路は、１つ又は複数の出力端子を有するディジタル回路と、ディジタル回路の各出力端子にそれぞれ入力端子を接続した同数のバッファ回路と、バッファ回路の各出力端子を接続した同数の外部端子と、各バッファ回路の入力端子と出力端子とをそれぞれ異なる２つの入力端子に接続した同数の排他的論理和回路と、排他的論理和回路の各出力端子を接続した同数の検出端子とを有している。
【０００４】
特許文献２は、一方の装置から複数の装置にそれぞれ出力バッファを介したデータ信号の伝送における出力バッファ障害検出方式に関し、出力バッファの障害が簡単な構成で検出できる出力バッファ障害検出方式を提供することを目的とする。各出力バッファの入力信号と出力信号とを入力とする２入力のチェック回路を設ける。このチェック回路は２つの信号を比較することにより正常でない場合に出力バッファの障害検出信号を発生するよう構成する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０１−１２２２０７号公報
【特許文献２】特開平０４−２８７２５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
半導体装置に搭載されたドライバの不具合サンプルを解析した結果、不具合の原因は、ドライバ出力部のＰチャネルトランジスタの絶縁膜不良により、ゲート・ソース間がショートし、正常であればハイレベル（以下、Ｈレベルと略す。）を出力すべきであるのに、ハイ・インピーダンス（Ｈｉ−Ｚ）を出力したことによるものが多いことが判明した。これは、出荷時にはドライバが正常に動作していたが、出荷後にドライバが劣化して誤動作したものである。
【０００７】
一方、特許文献１に開示された発明は、出力端子の先で電源やグランドに短絡されていたり、隣りあう出力端子が短絡されている場合に、信号が正確に出力されていないことを検出することができるが、それを自動的に救済することができない。
【０００８】
また、特許文献２に開示された発明においては、チェック回路が２つの信号を比較することにより正常でない場合に出力バッファの障害検出信号を発生するよう構成されるので、出力バッファの障害を簡単な構成で検出することができるが、特許文献１と同様に、それを自動的に救済することができない。
【０００９】
本発明は、上記問題点を解決するためになされたものであり、その目的は、ドライバの故障による出力異常を救済することが可能な故障検出救済回路を含んだ半導体装置を提供することである。
【課題を解決するための手段】
【００１０】
本発明の一実施例によれば、ドライバの故障を検出して救済する半導体装置が提供される。故障検知部は、ドライバの出力の期待電位の逆電位となるようにドライバの出力にプルアップ抵抗またはプルダウン抵抗を接続し、ドライバの入力電位と出力電位とを比較することによりドライバの故障を検出する。故障救済部は、故障検出部によってドライバの故障が検出された場合に、期待電位と同電位となるようにドライバの出力にプルアップ抵抗またはプルダウン抵抗を接続してドライバの故障を救済する。
【発明の効果】
【００１１】
本発明の一実施例によれば、故障救済部が期待電位と同電位となるようにドライバの出力にプルアップ抵抗またはプルダウン抵抗を接続するので、ドライバの故障による出力異常を救済することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施の形態における故障検出救済回路の構成例を示す図である。
【図２】本発明の第１の実施の形態における故障検出救済回路の動作を説明するためのフローチャートである。
【図３】本発明の第２の実施の形態における故障検出救済回路の構成例を示す図である。
【図４】本発明の第２の実施の形態における故障検出救済回路の動作を説明するためのタイミングチャートである。
【図５】本発明の第３の実施の形態における故障検出救済回路の構成例を示す図である。
【図６】本発明の第３の実施の形態における故障検出救済回路の動作を説明するためのタイミングチャートである。
【図７】本発明の第４の実施の形態における故障救済部２の構成例を示す図である。
【図８】本発明の第４の実施の形態における故障救済部２の動作を説明するためのタイミングチャートである。
【図９】本発明の第５の実施の形態における故障救済部２の構成例を示す図である。
【図１０】本発明の第５の実施の形態における故障救済部２の動作を説明するためのタイミングチャートである。
【図１１】本発明の第６の実施の形態における故障検出救済回路の構成例を示す図である。
【図１２】本発明の第６の実施の形態における故障検出救済回路の動作を説明するためのタイミングチャートである。
【発明を実施するための形態】
【００１３】
（第１の実施の形態）
図１は、本発明の第１の実施の形態における故障検出救済回路の構成例を示す図である。この故障検出救済回路は、たとえば、マイコンなどの半導体装置内に設けられ、故障検知部１と、故障救済部２と、出力ＰＡＤ３とを含む。
【００１４】
故障検知部１は、出力故障検知対象のドライバ１０と、故障検知レジスタＡ１１と、故障検知レジスタＢ１２と、ＯＲ回路１３と、ＡＮＤ回路１４と、プルアップ抵抗１５と、Ｐチャネルトランジスタ１６と、Ｎチャネルトランジスタ１７と、プルダウン抵抗１８と、排他的論理和（ＥＯＲ）回路１９とを含む。
【００１５】
故障検知レジスタＡ１１は、図示しないＣＰＵ（Central Processing Unit）によって値が設定されるレジスタであり、通常動作モード時には“Ｈ”が書き込まれ、故障検知モード時には“Ｌ”が書き込まれる。
【００１６】
また、故障検知レジスタＢ１２も、図示しないＣＰＵによって値が設定されるレジスタであり、通常動作モード時には“Ｌ”が書き込まれ、故障検知モード時には“Ｈ”が書き込まれる。
【００１７】
通常動作モード時には、故障検知レジスタＡ１１がＨレベルを出力するため、ＯＲ回路１３もＨレベルを出力する。したがって、Ｐチャネルトランジスタ１６はＯＦＦとなる。また、故障検知レジスタＢ１２がロウレベル（以下、Ｌレベルと略す。）を出力するため、ＡＮＤ回路１４もＬレベルを出力する。したがって、Ｎチャネルトランジスタ１７はＯＦＦとなる。
【００１８】
その結果、ドライバ１０の出力にはプルアップ抵抗１５およびプルダウン抵抗１８が接続されていない状態となる。このとき、ドライバ１０が正常に動作していれば、ＥＯＲ回路１９の２つの入力の値が同じであるため、ＥＯＲ回路１９は正常であることを示すＬレベルを出力する。また、ドライバ１０が故障して、出力がハイ・インピーダンスになっている場合には、ＥＯＲ回路１８の出力は不定、すなわちＥＯＲ回路１９のプロセス特性やドライバ１０の出力レベルがＬレベルとＨレベルのどちらにバイアスされているか等に応じてＬレベルまたはＨレベルのどちらかを出力することとなる。特に、ドライバ１０の出力インピーダンスが高い状態であるものの、入力に追随する出力をするような故障状態にある場合、ＥＯＲ回路１９は正常であることを示すＬレベルを出力する傾向が高くなる。
【００１９】
故障検知モード時には、故障検知レジスタＡ１１がＬレベルを出力するため、ＯＲ回路１３はドライバ１０の入力と同じ値を出力する。また、故障検知レジスタＢ１２がＨレベルを出力するため、ＡＮＤ回路１４はドライバ１０の入力と同じ値を出力する。
【００２０】
そのため、ドライバ１０の入力がＬレベルであれば、ＯＲ回路１３もＬレベルを出力し、Ｐチャネルトランジスタ１６はＯＮとなる。また、ＡＮＤ回路１４もＬレベルを出力し、Ｎチャネルトランジスタ１７はＯＦＦとなる。その結果、ドライバ１０の出力にプルアップ抵抗１５が接続されることになり、ドライバ１０の出力がハイ・インピーダンスであれば、プルアップ抵抗１５によってＨレベルとされる。このとき、ドライバ１０の入力と出力との値が異なるため、ＥＯＲ回路１９はドライバ１０が故障していることを示すＨレベルを出力する。
【００２１】
また、ドライバ１０の入力がＨレベルであれば、ＯＲ回路１３もＨレベルを出力し、Ｐチャネルトランジスタ１６はＯＦＦとなる。また、ＡＮＤ回路１４もＨレベルを出力し、Ｎチャネルトランジスタ１７はＯＮとなる。その結果、ドライバ１０の出力にプルダウン抵抗１８が接続されることになり、ドライバ１０の出力がハイ・インピーダンスであれば、プルダウン抵抗１８によってＬレベルとされる。このとき、ドライバ１０の入力と出力との値が異なるため、ＥＯＲ回路１９はドライバ１０が故障していることを示すＨレベルを出力する。
【００２２】
このように、故障検知モード時には、ドライバ１０の出力の期待電位と逆電位となるようにプルアップ抵抗１５またはプルダウン抵抗１８を接続する。このとき、ドライバ１０が故障してハイ・インピーダンスを出力していれば、プルアップ抵抗１５またはプルダウン抵抗１８によってドライバ１０の入力電位と出力電位とが逆になり、ＥＯＲ回路１９がＨレベルを出力することになる。なお、プルアップ抵抗１５およびプルダウン抵抗１８の抵抗値は、ドライバ１０が正常に動作している場合にはその出力のレベルが変わらない程度の値が設定される。すなわち、プルアップ抵抗１５およびプルダウン抵抗１８を流れる電流を、ドライバ１０の出力駆動電流よりも小さくする。
【００２３】
故障救済部２は、救済レジスタＡ２１と、救済レジスタＢ２２と、インバータ（ＮＯＴ）回路２３と、ＮＡＮＤ回路２４と、ＮＯＲ回路２５と、プルアップ抵抗２６と、Ｐチャネルトランジスタ２７と、Ｎチャネルトランジスタ２８と、プルダウン抵抗２９とを含む。
【００２４】
救済レジスタＡ２１は、ドライバ１０が正常に動作している場合、すなわちＥＯＲ回路１９がＬレベルを出力している場合にはＬレベルを保持して出力する。また、救済レジスタＡ２１は、ドライバ１０の故障が検出された場合、すなわちＥＯＲ回路１９の出力がＬレベルからＨレベルに変化した場合にＨレベルを保持して出力する。
【００２５】
救済レジスタＢ２２は、ドライバ１０が正常に動作している場合、すなわちＥＯＲ回路１９がＬレベルを出力している場合にはＨレベルを保持して出力する。また、救済レジスタＢ２２は、ドライバ１０の故障が検出された場合、すなわちＥＯＲ回路１９の出力がＬレベルからＨレベルに変化した場合にＬレベルを保持して出力する。
【００２６】
ドライバ１０の動作が正常時には、救済レジスタＡ２１がＬレベルを出力するため、ＮＡＮＤ回路２４はＨレベルを出力する。したがって、Ｐチャネルトランジスタ２７はＯＦＦとなる。また、救済レジスタＢ２２がＨレベルを出力するため、ＮＯＲ回路２５はＬレベルを出力する。したがって、Ｎチャネルトランジスタ２８はＯＦＦとなる。
【００２７】
その結果、ドライバ１０の出力にはプルアップ抵抗２６およびプルダウン抵抗２９が接続されていない状態となる。このとき、ドライバ１０が正常に動作していれば、ＰＡＤ３に接続される外部のデバイスが正常に駆動されることになる。
【００２８】
ドライバ１０の故障時には、救済レジスタＡ２１がＨレベルを出力するため、ＮＡＮＤ回路２４はドライバ１０の入力を反転した値を出力する。また、救済レジスタＢ２２がＬレベルを出力するため、ＮＯＲ回路２５はドライバ１０の入力を反転した値を出力する。
【００２９】
そのため、ドライバ１０の入力がＬレベルであれば、ＮＡＮＤ回路２４はＨレベルを出力し、Ｐチャネルトランジスタ１６はＯＦＦとなる。また、ＮＯＲ回路２５はＨレベルを出力し、Ｎチャネルトランジスタ２８はＯＮとなる。その結果、ドライバ１０の出力にプルダウン抵抗２９が接続されることになり、ドライバ１０の出力がハイ・インピーダンスであれば、プルダウン抵抗２９によってＬレベルとされる。なお、プルダウン抵抗２９の抵抗値は、ドライバ１０の出力駆動能力と同程度の駆動能力となるように設定される。
【００３０】
また、ドライバ１０の入力がＨレベルであれば、ＮＡＮＤ回路２４はＬレベルを出力し、Ｐチャネルトランジスタ２７はＯＮとなる。また、ＮＯＲ回路２５はＬレベルを出力し、Ｎチャネルトランジスタ２８はＯＦＦとなる。その結果、ドライバ１０の出力にプルアップ抵抗２６が接続されることになり、ドライバ１０の出力がハイ・インピーダンスであれば、プルアップ抵抗２６によってＨレベルとされる。なお、プルアップ抵抗２６の抵抗値は、ドライバ１０の出力駆動能力と同程度の駆動能力となるように設定される。
【００３１】
このように、ドライバ１０の故障が検知された場合、ドライバ１０の出力と同電位となるようにプルアップ抵抗２６またはプルダウン抵抗２９を接続する。したがって、ドライバ１０が故障して出力がハイ・インピーダンスになっている場合でも、それを救済することができる。
【００３２】
図２は、本発明の第１の実施の形態における故障検出救済回路の動作を説明するためのフローチャートである。まず、図示しないＣＰＵが故障を検知させる必要があるか否かを判定する（Ｓ１１）。故障を検知させる必要がなければ（Ｓ１１，Ｎｏ）、すなわち通常動作モード時には、ＣＰＵが故障検知レジスタＡ１１に“Ｈ”を設定し、故障検知レジスタＢ１２に“Ｌ”を設定する（Ｓ１２）。
【００３３】
また、セルフチェックなどで故障を検知させる必要があれば（Ｓ１１，Ｙｅｓ）、ＣＰＵが故障検知レジスタＡ１１に“Ｌ”を設定し、故障検知レジスタＢ１２に“Ｈ”を設定する（Ｓ１３）。そして、ドライバ１０の出力の期待電位と逆電位となるようにトランジスタ１６または１７をＯＮさせる（Ｓ１４）。
【００３４】
ＥＯＲ回路１９は、ドライバ１０の入力電位と出力電位とを比較する（Ｓ１５）。そして、比較結果が同じであれば、すなわちドライバ１０が正常に動作していれば（Ｓ１６，Ｙｅｓ）、救済レジスタＡ２１に“Ｌ”が設定され、救済レジスタＢ２２に“Ｈ”が設定される（Ｓ１７）。
【００３５】
また、比較結果が異なっていれば、すなわちドライバ１０の故障が検知されれば（Ｓ１６，Ｎｏ）、救済レジスタＡ２１に“Ｈ”が設定され、救済レジスタＢ２２に“Ｌ”が設定される（Ｓ１８）。そして、ドライバ１０の出力の期待電位と同電位となるようにトランジスタ２７または２８をＯＮさせる（Ｓ１９）。
【００３６】
以上の説明においては、ドライバ１０が故障して出力がハイ・インピーダンスになる場合について説明したが、ドライバ１０が劣化して駆動能力が低下している場合でも、プルアップ抵抗１５およびプルダウン抵抗１８の抵抗値の設定によって、故障検知部１はそれを検知することができる。したがって、そのような場合でも、故障救済部２がドライバ１０の故障の救済を行なうことができる。
【００３７】
また、ドライバ１０が、入力電位と同じ電位を出力する場合について説明したが、入力電位を反転して出力するようなドライバにも適用することができる。この場合、故障検知部１において、抵抗１５をグラウンドに接続してプルダウン抵抗とし、抵抗１８を電源に接続してプルアップ抵抗とする。そして、ＥＯＲ回路１９の入力のいずれかにインバータ（ＮＯＴ）回路を追加する。
【００３８】
また、故障救済部２において、抵抗２６をグラウンドに接続してプルダウン抵抗とし、抵抗２９を電源に接続してプルアップ抵抗とする。これによって、反転タイプのドライバにも適用することができる。
【００３９】
以上説明したように、本実施の形態における故障検出救済回路によれば、故障検知モード時に、故障検知部１がドライバ１０の出力の期待電位と逆電位となるようにドライバ１０の出力にプルアップ抵抗１５またはプルダウン抵抗１８を接続し、ドライバ１０の入力電位と出力電位とを比較してドライバ１０の故障を検出するようにした。したがって、ドライバ１０が故障してハイ・インピーダンスを出力している場合でも、ドライバ１０の故障を検出することが可能となった。
【００４０】
また、故障検知部１がドライバ１０の故障を検知したときに、故障救済部２がドライバ１０の出力の期待電位と同電位となるようにプルアップ抵抗２６またはプルダウン抵抗２９を接続するようにしたので、ドライバ１０の故障による出力異常を救済することが可能となった。
【００４１】
また、本実施の形態における故障検出救済回路を、マイコンが検出したエラーを外部に対して出力するＩＯポートドライバに適用した場合、ＩＯポートドライバが故障してエラー検出がシステム全体に伝わらないといった不具合を防止することが可能となる。
【００４２】
また、本実施の形態における故障検出救済回路を、外部のデバイスにリセット信号を出力するＩＯポートドライバに適用した場合、ＩＯポートドライバが故障してリセットがシステム全体に伝わらないといった不具合を防止することが可能となる。
【００４３】
また、本実施の形態における故障検出救済回路を、車載用マイコンなどの高い信頼性が要求される半導体装置に搭載するようにすれば、より安全性の向上を図ることが可能となる。
【００４４】
（第２の実施の形態）
図３は、本発明の第２の実施の形態における故障検出救済回路の構成例を示す図である。本発明の第２の実施の形態における故障検出救済回路は、図１に示す第１の実施の形態における故障検出救済回路と比較して、故障検知部１の故障検知レジスタを１つとし、それに応じてインバータ（ＮＯＴ）回路３２およびＡＮＤ回路３３を追加した点と、故障救済部２の救済レジスタを１つとし、それに応じてインバータ２３が削除され、さらにインバータ４２が追加された点とが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。
【００４５】
故障検知レジスタ３１、図示しないＣＰＵによって値が設定されるレジスタであり、通常動作モード時には“Ｌ”が書き込まれ、故障検知モード時には“Ｈ”が書き込まれる。故障検知レジスタ３１の出力は、ＡＮＤ回路１４に接続されると共に、インバータ３２を介してＯＲ回路１３に接続される。したがって、ＯＲ回路１３、ＡＮＤ回路１４、プルアップ抵抗１５、Ｐチャネルトランジスタ１６、Ｎチャネルトランジスタ１７、プルダウン抵抗１８、ＥＯＲ回路１９などの動作は、第１の実施の形態において説明したものと同様である。
【００４６】
ＡＮＤ回路３３は、故障検知レジスタ３１からＨレベルが出力される場合、すなわち故障検知モード時にのみＥＯＲ回路１９の出力値を救済レジスタ４１に出力し、通常動作モード時にはＥＯＲ回路１９の出力値をマスクする。
【００４７】
救済レジスタ４１は、ドライバ１０が正常に動作している場合、すなわちＡＮＤ回路３３がＬレベルを出力している場合にはＬレベルを保持して出力する。また、救済レジスタ４１は、ドライバ１０の故障が検出された場合、すなわちＡＮＤ回路３３の出力がＬレベルからＨレベルに変化した場合に、救済レジスタセット信号にパルスが印加され、ＡＮＤ回路３３の出力（Ｈレベル）を保持して出力する。
【００４８】
救済レジスタ４１の出力は、ＮＡＮＤ回路２４に接続されると共に、インバータ４２を介してＮＯＲ回路２５に接続される。したがって、ＮＡＮＤ回路２４、ＮＯＲ回路２５、プルアップ抵抗２６、Ｐチャネルトランジスタ２７、Ｎチャネルトランジスタ２８、プルダウン抵抗２９などの動作は、第１の実施の形態において説明したものと同様である。
【００４９】
図４は、本発明の第２の実施の形態における故障検出救済回路の動作を説明するためのタイミングチャートである。Ｔ１において、ＣＰＵによって故障検知レジスタ３１に“Ｈ”が設定されると、インバータ（ＮＯＴ）回路３２の出力がＬレベルとなる。このとき、ドライバ１０の入力がＨレベルであるとすると、ＯＲ回路１３がＨレベルを出力し、ＡＮＤ回路１４はＨレベルを出力する。したがって、Ｐチャネルトランジスタ１６がＯＦＦとなり、Ｎチャネルトランジスタ１７がＯＮとなる。
【００５０】
ドライバ１０が故障しており、ドライバ１０の出力がハイ・インピーダンスとなっていれば、Ｔ２において、ドライバ１０の出力がＬレベルに駆動され、ＥＯＲ回路１９がＨレベルを出力し、ＡＮＤ回路３３がＨレベルを出力する。このとき、救済レジスタセット信号にパルスが出力されて、救済レジスタ４１に“Ｈ”が設定される。
【００５１】
このとき、ＮＡＮＤ回路２４がＬレベルを出力する。また、インバータ（ＮＯＴ）回路４２がＬレベルを出力するが、ドライバ１０の入力がＨレベルであるのでＮＯＲ回路２５はＬレベルを維持する。
【００５２】
トランジスタ２７がＯＮとなり、トランジスタ２８がＯＦＦとなるため、Ｔ３において、ドライバ１０の出力にプルアップ抵抗２７が接続されて、ドライバ１０の出力がＨレベルに駆動され、出力ＰＡＤ３の電位がＨレベルとなって救済状態となる。このとき、ＥＯＲ回路１９およびＡＮＤ回路３３がＬレベルを出力する。
【００５３】
Ｔ４において、ＣＰＵによって故障検知レジスタ３１に“Ｌ”が設定されると、トランジスタ１７がＯＦＦとなってプルダウン抵抗１８が切断されるが、故障救済部２による救済状態が維持される。
【００５４】
以上説明したように、本実施の形態における故障検出救済回路によれば、１つの故障検知レジスタ３１および１つの救済レジスタ４１によって故障検出および故障救済を行なうようにしたので、第１の実施の形態において説明した効果に加えて、回路規模をさらに削減することが可能となった。
【００５５】
（第３の実施の形態）
第１および第２の実施の形態においては、故障検出救済回路が半導体装置の出力ドライバに適用された。本発明の第３の実施の形態においては、故障検出救済回路が半導体装置の入力バッファに適用されるものである。
【００５６】
図５は、本発明の第３の実施の形態における故障検出救済回路の構成例を示す図である。本発明の第３の実施の形態における故障検出救済回路は、図３に示す第２の実施の形態における故障検出救済回路と比較して、ドライバ１０が入力バッファとなっており、入力バッファ１０の入力に入力ＰＡＤ４が接続され、入力バッファ１０の出力が半導体装置の内部信号に接続される点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。
【００５７】
図６は、本発明の第３の実施の形態における故障検出救済回路の動作を説明するためのタイミングチャートである。Ｔ１において、ＣＰＵによって故障検知レジスタ３１に“Ｈ”が設定されると、インバータ（ＮＯＴ）回路３２の出力がＬレベルとなる。このとき、ドライバ１０の入力がＬレベルであるとすると、ＯＲ回路１３がＬレベルを出力し、ＡＮＤ回路１４がＬレベルを出力する。したがって、Ｐチャネルトランジスタ１６がＯＮとなり、Ｎチャネルトランジスタ１７がＯＦＦとなる。
【００５８】
ドライバ１０が故障しており、ドライバ１０の出力がハイ・インピーダンスとなっていれば、Ｔ２において、ドライバ１０の出力がＨレベルに駆動され、ＥＯＲ回路１９がＨレベルを出力し、ＡＮＤ回路３３がＨレベルを出力する。このとき、救済レジスタセット信号にパルスが出力されて、救済レジスタ４１に“Ｈ”が設定される。
【００５９】
このとき、ＮＡＮＤ回路２４がＨレベルを出力する。また、インバータ（ＮＯＴ）回路４２がＬレベルを出力するが、ドライバ１０の入力がＬレベルであるのでＮＯＲ回路２５はＨレベルを出力する。
【００６０】
トランジスタ２７がＯＦＦとなり、トランジスタ２８がＯＮとなるため、Ｔ３において、ドライバ１０の出力にプルダウン抵抗２９が接続されて、ドライバ１０の出力がＬレベルに駆動され、内部信号の電位がＬレベルとなって救済状態となる。このとき、ＥＯＲ回路１９およびＡＮＤ回路３３がＬレベルを出力する。
【００６１】
Ｔ４において、ＣＰＵによって故障検知レジスタ３１に“Ｌ”が設定されると、トランジスタ１６がＯＦＦとなってプルアップ抵抗１５が切断されるが、故障救済部２による救済状態が維持される。
【００６２】
以上説明したように、本実施の形態における故障検出救済回路によれば、故障検知部１および故障救済部２を入力バッファに適用するようにしたので、第１および第２の実施の形態において説明した効果と同様の効果を奏することが可能となった。
【００６３】
（第４の実施の形態）
第１〜第３の実施の形態においては、故障検知部１と故障救済部２とを含んだ故障検出救済回路に関するものであった。本発明の第３の実施の形態においては、故障救済部２のみを有する半導体装置に関するものである。
【００６４】
図７は、本発明の第４の実施の形態における故障救済部２の構成例を示す図である。本発明の第４の実施の形態における故障救済部２は、図３に示す第２の実施の形態における故障救済部と比較して、救済レジスタ４１の機能のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。
【００６５】
救済レジスタ４１は、図示しないＣＰＵによって値が設定されるレジスタであり、通常動作モード時には“Ｌ”が書き込まれ、二重出力モード時には“Ｈ”が書き込まれる。救済レジスタ４１の出力は、ＮＡＮＤ回路２４に接続されると共に、インバータ（ＮＯＴ）回路４２を介してＮＯＲ回路２５に接続される。
【００６６】
ドライバ１０の故障が判明していたり、ドライバ１０の出力駆動能力が低下していることが判明していたりする場合、ＣＰＵは救済レジスタ４１に“Ｈ”を書き込み、二重出力モードに設定する。このとき、ドライバ１０の入力がＬレベルであれば、ＮＡＮＤ回路２４はＨレベルを出力し、Ｐチャネルトランジスタ１６はＯＦＦとなる。また、ＮＯＲ回路２５はＨレベルを出力し、Ｎチャネルトランジスタ２８はＯＮとなる。その結果、ドライバ１０の出力にプルダウン抵抗２９が接続される。
【００６７】
また、ドライバ１０の入力がＨレベルであれば、ＮＡＮＤ回路２４はＬレベルを出力し、Ｐチャネルトランジスタ２７はＯＮとなる。また、ＮＯＲ回路２５はＬレベルを出力し、Ｎチャネルトランジスタ２８はＯＦＦとなる。その結果、ドライバ１０の出力にプルアップ抵抗２６が接続される。
【００６８】
このようにして、ドライバ１０が故障している場合や、ドライバ１０の出力駆動能力が低下している場合でも、それを救済することができる。
【００６９】
図８は、第４の実施の形態における故障救済部２の動作を説明するためのタイミングチャートである。Ｔ１において、救済レジスタ４１に“Ｈ”が設定されると、ドライバ１０の入力がＬレベルであるため、ＮＡＮＤ回路２４がＨレベルを出力する。また、インバータ（ＮＯＴ）回路４２がＬレベルを出力し、ドライバ１０の入力がＬレベルであるのでＮＯＲ回路２５の出力はＨレベルとなる。
【００７０】
Ｐチャネルトランジスタ２７がＯＦＦとなり、Ｎチャネルトランジスタ２８がＯＮとなるため、ドライバ１０の出力にプルダウン抵抗２８が接続されて、Ｔ２において、ドライバ１０の出力がＬレベルに駆動され、出力ＰＡＤ３の電位がＬレベルとなって救済状態となる。
【００７１】
以上説明したように、本実施の形態における故障救済部２によれば、ＣＰＵによって救済レジスタ４１に“Ｈ”が書き込まれたときに、ドライバ１０の出力の期待電位と同電位となるようにプルアップ抵抗２６またはプルダウン抵抗２９を接続するようにしたので、ドライバ１０の故障による出力異常を救済することが可能となった。
【００７２】
（第５の実施の形態）
第４の実施の形態においては、故障救済部２が半導体装置の出力ドライバに適用された。本発明の第５の実施の形態においては、故障救済部２が半導体装置の入力バッファに適用されるものである。
【００７３】
図９は、本発明の第５の実施の形態における故障救済部２の構成例を示す図である。本発明の第５の実施の形態における故障救済部２は、図７に示す第４の実施の形態における故障救済部と比較して、ドライバ１０が入力バッファとなっており、入力バッファ１０の入力に入力ＰＡＤ４が接続され、入力バッファ１０の出力が半導体装置の内部信号に接続される点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。
【００７４】
図１０は、本発明の第５の実施の形態における故障救済部２の動作を説明するためのタイミングチャートである。Ｔ１において、救済レジスタ４１に“Ｈ”が設定されると、ドライバ１０の入力がＨレベルであるため、ＮＡＮＤ回路２４がＬレベルを出力する。また、インバータ（ＮＯＴ）回路４２がＬレベルを出力し、ドライバ１０の入力がＨレベルであるのでＮＯＲ回路２５の出力はＬレベルとなる。
【００７５】
Ｐチャネルトランジスタ２７がＯＮとなり、Ｎチャネルトランジスタ２８がＯＦＦとなるため、ドライバ１０の出力にプルアップ抵抗２６が接続されて、Ｔ２において、ドライバ１０の出力がＨレベルに駆動され、内部信号の電位がＨレベルとなって救済状態となる。
【００７６】
以上説明したように、本実施の形態における故障救済部２によれば、故障救済部２を入力バッファに適用するようにしたので、第４の実施の形態において説明した効果と同様の効果を奏することが可能となった。
【００７７】
（第６の実施の形態）
図１１は、本発明の第６の実施の形態における故障検出救済回路の構成例を示す図である。この故障検出救済回路は、たとえば、マイコンなどの半導体装置内に設けられ、故障検知部１と、故障救済部２とを含む。
【００７８】
故障検知部１は、出力故障検知対象のドライバ５１と、排他的論理和（ＥＯＲ）回路５２とを含む。ＥＯＲ回路５２は、ドライバ５１が故障して、ドライバ１０の入力電位と出力電位とが異なる場合に、ドライバ５１が故障していることを示すＨレベルを出力する。
【００７９】
故障救済部２は、ＮＡＮＤ回路５３と、インバータ（ＮＯＴ）回路５４と、ＮＯＲ回路５５と、出力ＰＡＤ５６〜５８と、プルアップ抵抗５９と、スイッチ６０および６１と、プルダウン抵抗６２とを含む。なお、プルアップ抵抗５９、スイッチ６０，６１およびプルダウン抵抗６２は、半導体装置（マイコン）の外部に設けられる。
【００８０】
ドライバ５１の故障時には、ＥＯＲ回路５２がＨレベルを出力するため、ＮＡＮＤ回路５３はドライバ５１の入力を反転した値を出力する。また、インバータ（ＮＯＴ）回路５４がＬレベルを出力するため、ＮＯＲ回路５５はドライバ５１の入力を反転した値を出力する。
【００８１】
そのため、ドライバ５１の入力がＬレベルであれば、ＮＡＮＤ回路５３はＨレベルを出力し、スイッチ６０はＯＦＦとなる。また、ＮＯＲ回路５５はＨレベルを出力し、スイッチ６１はＯＮとなる。その結果、ドライバ５１の出力にプルダウン抵抗６２が接続されることになり、ドライバ５１の出力がハイ・インピーダンスであれば、プルダウン抵抗６２によってＬレベルとされる。なお、プルダウン抵抗６２の抵抗値は、ドライバ５１の出力駆動能力と同程度の駆動能力となるように設定される。
【００８２】
また、ドライバ５１の入力がＨレベルであれば、ＮＡＮＤ回路５３はＬレベルを出力し、スイッチ６０はＯＮとなる。また、ＮＯＲ回路５５はＬレベルを出力し、スイッチ６１はＯＦＦとなる。その結果、ドライバ５１の出力にプルアップ抵抗５９が接続されることになり、ドライバ５１の出力がハイ・インピーダンスであれば、プルアップ抵抗５９によってＨレベルとされる。なお、プルアップ抵抗５９の抵抗値は、ドライバ５１の出力駆動能力と同程度の駆動能力となるように設定される。
【００８３】
図１２は、本発明の第６の実施の形態における故障検出救済回路の動作を説明するためのタイミングチャートである。Ｔ１において、ドライバ５１の入力がＬレベルになると、ＥＯＲ回路５２の出力がＨレベルとなり、インバータ（ＮＯＴ）回路５４の出力がＬレベルとなり、ＮＯＲ回路５５の出力がＨレベルとなる。このとき、出力ＰＡＤ５８にＨレベルが出力されて、スイッチ６１がＯＮとなり、ドライバ５１の故障の救済状態となる。
【００８４】
ドライバ５１の出力にプルダウン抵抗６２が接続されるため、Ｔ２において、ドライバ５１の出力がＬレベルとなり、ＥＯＲ回路５２の出力がＬレベルとなり、インバータ（ＮＯＴ）回路５４の出力がＨレベルとなり、ＮＯＲ回路５５の出力がＬレベルとなる。このとき、出力ＰＡＤ５８にＬレベルが出力されて、スイッチ６１がＯＦＦとなる。
【００８５】
Ｔ３において、ドライバ５１の入力がＨレベルになると、ＥＯＲ回路５２の出力がＨレベルとなり、ＮＡＮＤ回路５３の出力がＬレベルとなる。このとき、出力ＰＡＤ５６にＬレベルが出力されて、スイッチ６０がＯＮとなり、ドライバ５１の故障の救済状態となる。
【００８６】
ドライバ５１の出力にプルアップ抵抗５９が接続されるため、Ｔ４において、ドライバ５１の出力がＨレベルとなり、ＥＯＲ回路５２の出力がＬレベルとなり、ＮＡＮＤ回路５３の出力がＨレベルとなる。このとき、出力ＰＡＤ５６にＨレベルが出力されて、スイッチ６０がＯＦＦとなる。
【００８７】
以上説明したように、本実施の形態における故障検出救済回路によれば、プルアップ抵抗５９、スイッチ６０，６１およびプルダウン抵抗６２が、半導体装置（マイコン）の外部に設けられるようにした。したがって、第１の実施の形態において説明した効果に加えて、たとえば出力ポート端子とシステム基板との間の接触不良により、ドライバ５１の出力信号が外部に伝わらないような不良が発生した場合でも、半導体装置から出力される信号を正しく外部に伝えることが可能となった。
【００８８】
また、プルアップ抵抗５９およびプルダウン抵抗６２が半導体装置の外部で接続されるようにしたため、これらの抵抗値を容易に変更することができ、駆動能力を容易に変更することが可能となった。
【００８９】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００９０】
１  故障検知部、２  故障救済部、３  出力ＰＡＤ、４  入力ＰＡＤ、１０，５１  ドライバ、１１，１２，３１  故障検知レジスタ、１３  ＯＲ回路、１４，３３  ＡＮＤ回路、１５，２６，５９  プルアップ抵抗、１６，２７  Ｐチャネルトランジスタ、１７，２８  Ｎチャネルトランジスタ、１８，２９，６２  プルダウン抵抗、１９，５２  ＥＯＲ回路、２１，２２，４１  救済レジスタ、２３，３２，４２，５４  ＮＯＴ回路、２４，５３  ＮＡＮＤ回路、２５，５５  ＮＯＲ回路、５６〜５８  ＰＡＤ、６０，６１  スイッチ。
【図１】
2012222178.tif 000003
【図２】
2012222178.tif 000004
【図３】
2012222178.tif 000005
【図４】
2012222178.tif 000006
【図５】
2012222178.tif 000007
【図６】
2012222178.tif 000008
【図７】
2012222178.tif 000009
【図８】
2012222178.tif 000010
【図９】
2012222178.tif 000011
【図１０】
2012222178.tif 000012
【図１１】
2012222178.tif 000013
【図１２】
2012222178.tif 000014