(57)【特許請求の範囲】
【請求項１】
バスラインを介して外部装置と通信を行うためのバス接続回路を備えた半導体装置であって、
前記バスラインに接続される端子にプルアップ電圧を印加する第１の抵抗及び前記端子にプルダウン電圧を印加する第２の抵抗と、
前記バスラインに前記第２の抵抗を介して前記プルダウン電圧を印加し、前記プルダウン電圧の印加時の前記バスラインの電圧レベルに応じて前記バスラインにプルアップのための電圧を印加する第３の抵抗の接続があるか否かを判定する抵抗接続判定手段と、
前記抵抗接続判定手段によって前記バスラインへの前記第３の抵抗の接続がないと判定されたとき前記プルダウン電圧の印加を停止して前記バスラインに前記第１の抵抗を介して前記プルアップ電圧を印加し、前記抵抗接続判定手段によって前記バスラインへの前記第３の抵抗の接続があると判定されたとき前記プルダウン電圧の印加を停止するプルアップ電圧制御手段と、を備えることを特徴とする半導体装置。
【請求項２】
前記抵抗接続判定手段は、前記バスラインの電圧レベルが前記プルダウン電圧に等しいとき前記バスラインへの前記第３の抵抗の接続がないと判定し、前記バスラインの電圧レベルが前記プルアップ電圧に等しいとき前記バスラインへの前記第３の抵抗の接続があると判定することを特徴とする請求項１記載の半導体装置。
【請求項３】
前記第１の抵抗と第１のスイッチ素子との第１直列回路を有し、前記プルアップ電圧が第１直列回路を介して前記バスラインへの前記端子に印加されるプルアップ回路と、
前記第２の抵抗と第２のスイッチ素子との第２直列回路を有し、前記プルダウン電圧が第２直列回路を介して前記端子に印加されるプルダウン回路と、を更に備え、
前記抵抗接続判定手段は、前記第２スイッチ素子をオンさせることにより前記バスラインに前記第２の抵抗を介して前記プルダウン電圧を印加し、
前記プルアップ電圧制御手段は、前記第２スイッチ素子をオフさせることにより前記プルダウン電圧の印加を停止し、前記第１スイッチ素子をオンさせることにより前記バスラインに前記第１の抵抗を介して前記プルアップ電圧を印加することを特徴とする請求項１又は２記載の半導体装置。
【請求項４】
前記抵抗接続判定手段及び前記プルアップ電圧制御手段は、ＭＣＵ（マイクロコントロールユニット）とインターフェース回路とによって構成され、
前記ＭＣＵは
前記インターフェース回路に前記第２スイッチ素子をオンさせる第１ステップと、
前記インターフェース回路に前記端子の電圧レベルを前記ＭＣＵに供給させる第２ステップと、
前記電圧レベルに応じて前記バスラインへの前記第３の抵抗の接続があるか否かを判定する第３ステップと、
前記電圧レベルが前記プルダウン電圧に等しいとき前記インターフェース回路に前記第２スイッチ素子をオフさせかつ前記第１スイッチ素子をオンさせる第４ステップと、
前記電圧レベルが前記プルアップ電圧に等しいとき前記インターフェース回路に前記第２スイッチ素子をオフさせる第５ステップと、を順に実行することを特徴とする請求項３記載の半導体装置。
【請求項５】
前記抵抗接続判定手段及び前記プルアップ電圧制御手段は、制御回路によって構成され、
前記制御回路は、クロック信号のパルスを初期値から計数するカウンタと、
前記カウンタの計数値が設定値に達するまで前記第２スイッチ素子をオンさせ、前記カウンタの計数値が前記設定値に達したとき前記第２スイッチ素子をオフさせるスイッチ素子制御回路と、
前記カウンタの計数値が前記設定値に達したとき前記電圧レベルが前記プルダウン電圧に等しいことを検出したならば前記第１スイッチ素子をオンさせる検出回路と、を備えることを特徴とする請求項３記載の半導体装置。
【請求項６】
前記抵抗接続判定手段及び前記プルアップ電圧制御手段は、前記半導体装置への電源投入直後に動作することを特徴とする請求項１〜５のいずれか１記載の半導体装置。
【請求項７】
バスラインを介して外部装置と通信を行う半導体装置のバス接続方法であって、
前記バスラインに前記半導体装置内の第２の抵抗を介してプルダウン電圧を印加するプルダウン電圧印加ステップと、
前記プルダウン電圧の印加時の前記バスラインの電圧レベルに応じて前記バスラインへの第３の抵抗の接続があるか否かを判定する抵抗接続判定ステップと、
前記抵抗接続判定ステップにおいて前記バスラインへの前記第３の抵抗の接続がないと判定されたとき前記プルダウン電圧の印加を停止して前記バスラインに前記半導体装置内の第１の抵抗を介してプルアップ電圧を印加し、前記抵抗接続判定ステップにおいて前記バスラインへの前記第３の抵抗の接続があると判定されたとき前記プルダウン電圧の印加を停止するプルアップ電圧制御ステップと、を備えることを特徴とするバス接続方法。
【請求項８】
前記抵抗接続判定ステップは、前記バスラインの電圧レベルが前記プルダウン電圧に等しいとき前記バスラインへの前記第３の抵抗の接続がないと判定し、前記バスラインの電圧レベルが前記プルアップ電圧に等しいとき前記バスラインへの前記第３の抵抗の接続があると判定することを特徴とする請求項７記載のバス接続方法。
【請求項９】
クロック信号のパルスを初期値から計数して計数値を生成するカウントステップを備え、
前記プルダウン電圧印加ステップは前記カウントステップの前記計数値が設定値に達するまで前記プルダウン電圧の印加を行い、
前記プルアップ電圧制御ステップは、前記カウントステップの前記計数値が設定値に達したときに前記抵抗接続判定ステップによって前記電圧レベルが前記プルダウン電圧に等しいことが検出されたならば、前記プルダウン電圧の印加を停止して前記バスラインに前記第１の抵抗を介して前記プルアップ電圧を印加するステップと、
前記カウントステップの前記計数値が設定値に達したときに前記抵抗接続判定ステップによって前記電圧レベルが前記プルアップ電圧に等しいことが検出されたならば、前記プルダウン電圧の印加を停止するステップと、を備えることを特徴とする請求項８記載のバス接続方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部装置との通信のためのバス接続回路を備えた半導体装置及びそのバス接続方法に関する。
【背景技術】
【０００２】
図１は各々が同一のバス接続回路を備えた２つの従来の半導体装置（ＬＳＩ：Large Scale Integration）１，２の回路構成を示している。そのバス接続回路はいわゆるＩ２Ｃバス対応回路である。ＬＳＩ１，２各々はバス接続回路として、ＭＣＵ（マイクロコントロールユニット）１１、Ｉ２Ｃ回路１２、及び２つのＩＯバッファ回路１３，１４を備える他、接続端子としてシリアルクロック端子ＳＣＬ，シリアルデータ端子ＳＤＡを有している。ＭＣＵ１１はＬＳＩ全体を制御する演算処理装置で図示しない内部ＲＯＭ又はＲＡＭに保存されたプログラムに応じて動作する。Ｉ２Ｃ回路１２はＭＣＵ１１によって制御され、Ｉ２Ｃバス機能を制御する論理回路である。Ｉ２Ｃ回路１２は具体的にはＩＯバッファ回路１３，１４各々に出力イネーブル信号ＯＥを個別に出力し、ＩＯバッファ回路１３，１４から個別に受信信号Ａを受け入れる。ＩＯバッファ回路１３，１４各々はオープンドレイン機能を有する入力出力バッファであり、クロック信号の入出力のためのＩＯバッファ回路１３はシリアルクロック端子ＳＣＬに接続され、データ信号の入出力のためのＩＯバッファ回路１４はシリアルクデータ端子ＳＤＡに接続されている。
【０００３】
ＬＳＩ１，２各々のシリアルクロック端子ＳＣＬはバスラインＢ１によって互いに接続され、シリアルデータ端子ＳＤＡはバスラインＢ２によって互いに接続されている。バスラインＢ１には電圧ＶＤＤがプルアップ抵抗Ｒ１を介して印加され、バスラインＢ２には電圧ＶＤＤがプルアップ抵抗Ｒ２を介して印加されている。
【０００４】
ＩＯバッファ回路１３，１４各々は図２に示すように、イネーブル端子付きの出力バッファ１５と入力バッファ１６とを有している。出力バッファ１５はイネーブル端子１５ａに供給される出力イネーブル信号ＯＥに応じて動作する。ＩＯバッファ回路１３の場合には出力イネーブル信号ＯＥが論理０を示す低レベルのときに出力バッファ１５はクロック信号をシリアルクロック端子ＳＣＬに出力する。ＩＯバッファ回路１４の場合には出力イネーブル信号ＯＥが論理０を示す低レベルのときに出力バッファ１５はデータ信号をシリアルデータ端子ＳＤＡに出力する。出力イネーブル信号ＯＥが論理１を示す高レベルのときには出力バッファ１５はハイインピーダンス状態となる。入力バッファ１６はＩＯバッファ回路１３の場合にはシリアルクロック端子ＳＣＬの信号を上記の受信信号ＡとしてＩ２Ｃ回路１２に出力し、ＩＯバッファ回路１４の場合にはシリアルデータ端子ＳＤＡの信号を上記の受信信号ＡとしてＩ２Ｃ回路１２に出力する。
【０００５】
ＩＯバッファ回路１３，１４の入出力信号の真理値表を示すと、図３の通りである。ここで、ＯＥは出力イネーブル信号ＯＥの論理値であり、Ａは受信信号Ａの論理値であり、Ｙは端子ＳＣＬ又はＳＤＡにおける論理値である。Ｈｉｚはハイインピーダンス状態であり、Ｘは０，１のいずれでもない状態である。
【０００６】
図４はＬＳＩ１，２間のＩ２Ｃバスのバス権獲得時の各信号ＯＥ，Ａ，Ｙのタイムチャートを示している。マスター側のＬＳＩ１では、ＩＯバッファ回路１３の出力イネーブル信号ＯＥが論理０に設定されると、クロック端子ＳＣＬの信号Ｙが論理０に遷移する。次に、そのＩＯバッファ回路１３の出力イネーブル信号ＯＥが論理１に変化すると、出力バッファ１５がハイインピーダンス状態となり、プルアップ抵抗Ｒ１によって信号Ｙは論理１に遷移する。その後、ＩＯバッファ回路１４の出力イネーブル信号ＯＥが論理０に設定されると、データ端子ＳＤＡの信号Ｙが論理０に遷移する。このようにクロック端子ＳＣＬが論理１のときにデータ端子ＳＤＡが論理０になると、スタート条件が成立してＩ２Ｃバス権獲得が完了する。クロック端子ＳＣＬが論理１のときがデータ端子ＳＤＡのデータ有効期間となり、クロック端子ＳＣＬが論理０のときがデータ変化許可期間となる。図４中のデータ端子ＳＤＡの信号ＹのＤout0，Ｄout1,...がマスター側のＬＳＩ１からスレーブ側のＬＳＩ２に伝送されるデータであり、スレーブ側のＬＳＩ２のデータ端子ＳＤＡの信号ＹのＤin0，Ｄin1,...が受信したデータである。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平２−１３８６１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
かかる従来のバス接続回路を備えたＬＳＩの構成ではＬＳＩの外部のバスラインに複数のＬＳＩが接続されることを考慮して十分な電流を各ＬＳＩのバス接続回目に供給できるように必ず抵抗値の低いプルアップ抵抗が必要であり、そのために外部部品点数が多くなりプルアップ抵抗に流れる電流値が大きくなるという問題があった。
【０００９】
それに対処するために、例えば、特許文献１に開示されているようにプルアップ抵抗をＬＳＩに内蔵させる技術が採用されている。
【００１０】
しかしながら、バスラインにプルアップ抵抗を接続することなくプルアップ抵抗を内蔵したＬＳＩを用いてＬＳＩ間でバス通信を行う場合に限らない。例えば、少なくともＬＳＩ及びバスラインを備えた既存のシステムにプルアップ抵抗を内蔵したＬＳＩが搭載される場合には、そのシステムのバスラインに備えられたプルアップ抵抗を利用してＬＳＩ間でバス通信を行う必要があるため、プルアップ抵抗を内蔵しただけのＬＳＩでは、既存のシステムに搭載しても所望のバス通信動作が得られないという問題があった。
【００１１】
そこで、本発明の目的は、バスラインにプルアップ抵抗が接続されているか否かに関わらず所望のバス通信動作を得ることができる半導体装置及びそのバス接続方法を提供することである。
【課題を解決するための手段】
【００１２】
本発明の半導体装置は、バスラインを介して外部装置と通信を行うためのバス接続回路を備えた半導体装置であって、前記バスラインに接続される端子にプルアップ電圧を印加する第１の抵抗及び前記端子にプルダウン電圧を印加する第２の抵抗と、前記バスラインに前記第２の抵抗を介して前記プルダウン電圧を印加し、前記プルダウン電圧の印加時の前記バスラインの電圧レベルに応じて前記バスラインにプルアップのための電圧を印加する第３の抵抗の接続があるか否かを判定する抵抗接続判定手段と、前記抵抗接続判定手段によって前記バスラインへの前記第３の抵抗の接続がないと判定されたとき前記プルダウン電圧の印加を停止して前記バスラインに前記第１の抵抗を介して前記プルアップ電圧を印加し、前記抵抗接続判定手段によって前記バスラインへの前記第３の抵抗の接続があると判定されたとき前記プルダウン電圧の印加を停止するプルアップ電圧制御手段と、を備えることを特徴としている。
【００１３】
本発明のバス接続方法は、バスラインを介して外部装置と通信を行う半導体装置のバス接続方法であって、前記バスラインに前記半導体装置内の第２の抵抗を介してプルダウン電圧を印加するプルダウン電圧印加ステップと、前記プルダウン電圧の印加時の前記バスラインの電圧レベルに応じて前記バスラインへの第３の抵抗の接続があるか否かを判定する抵抗接続判定ステップと、前記抵抗接続判定ステップにおいて前記バスラインへの前記第３の抵抗の接続がないと判定されたとき前記プルダウン電圧の印加を停止して前記バスラインに前記半導体装置内の第１の抵抗を介してプルアップ電圧を印加し、前記抵抗接続判定ステップにおいて前記バスラインへの前記第３の抵抗の接続があると判定されたとき前記プルダウン電圧の印加を停止するプルアップ電圧制御ステップと、を備えることを特徴としている。
【発明の効果】
【００１４】
本発明の半導体装置及びバス接続方法によれば、バスラインに半導体装置内の第２の抵抗を介してプルダウン電圧を印加し、そのプルダウン電圧の印加時のバスラインの電圧レベルに応じてバスラインへの第３の抵抗の接続があるか否かを判定し、バスラインへの第３の抵抗の接続がないときにはプルダウン電圧の印加を停止してバスラインに第１の抵抗を介してプルアップ電圧を印加し、バスラインへの第３の抵抗の接続があるときにはプルダウン電圧の印加を停止するので、バスラインに第３の抵抗が接続されているか否かに関わらず所望のバス通信動作を得ることができる。
【図面の簡単な説明】
【００１５】
【図１】バス接続回路を備えた従来のＬＳＩを示すブロック図である。
【図２】図１のＬＳＩ中のＩＯバッファ回路の内部構成を示す回路図である。
【図３】図２のバッファ回路の入出力真理値表を示す図である。
【図４】バス権獲得時のバッファ回路の各信号のタイムチャートを示す図である。
【図５】本発明の第１の実施例としてバス接続回路を備えたＬＳＩを示すブロック図である。
【図６】図５のＬＳＩ中のＩＯバッファ回路を示す回路図である。
【図７】図６のバッファ回路の入出力真理値表を示す図である。
【図８】図５のＬＳＩ中の制御回路の構成を示すブロック図である。
【図９】ＬＳＩ間に外部プルアップ抵抗が設けられていないバス接続を示す図である。
【図１０】ＬＳＩ間に外部プルアップ抵抗が設けられたバス接続を示す図である。
【図１１】図５のＬＳＩの電源投入から通常動作までの動作を示すフローチャートである。
【図１２】外部プルアップ抵抗がない場合のプルアップ制御時のバッファ回路内の各信号のタイムチャートを示す図である。
【図１３】外部プルアップ抵抗がある場合のプルアップ制御時のバッファ回路内の各信号のタイムチャートを示す図である。
【図１４】本発明の第２の実施例としてバス接続回路を備えたＬＳＩを示すブロック図である。
【図１５】図１４のＬＳＩ中の制御回路の構成を示すブロック図である。
【図１６】ＬＳＩ間に外部プルアップ抵抗が設けられていないバス接続を示す図である。
【図１７】ＬＳＩ間に外部プルアップ抵抗が設けられたバス接続を示す図である。
【図１８】図１４のＬＳＩの電源投入から通常動作までの動作を示すフローチャートである。
【図１９】外部プルアップ抵抗がある場合及びそれがない場合各々のプルアップ制御時のバッファ回路内の各信号のタイムチャートを示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施例を図面を参照しつつ詳細に説明する。
【００１７】
図５は本発明の第１の実施例としてバス接続回路を備えたＬＳＩ５の回路構成を示している。ＬＳＩ５はバス接続回路としてＭＣＵ２１、Ｉ２Ｃ回路２２、２つのＩＯバッファ回路２３，２４、及びインターフェース回路２５を備えている。
【００１８】
ＭＣＵ２１及びＩ２Ｃ回路２２は図１に示したＭＣＵ１１及びＩ２Ｃ回路１２と同一構成のものである。ただし、ＭＣＵ２１はＩ２Ｃ回路２２に接続される他に、インターフェース回路２５にも接続されている。
【００１９】
クロック信号が入力されるＩＯバッファ回路２３は、図６に示すように、イネーブル端子付きの出力バッファ３１、入力バッファ３２、電界効果トランジスタ（ＦＥＴ）３３，３４、抵抗Ｒ１１（内部プルアップ抵抗），Ｒ１２（内部プルダウン抵抗）、シリアルクロック端子ＳＣＬを備えている。出力バッファ３１及び入力バッファ３２は図２に示した出力バッファ１５と入力バッファ１６と同様の接続構成とされている。電圧ＶＤＤ（プルアップ電圧）の印加端子とクロック端子ＳＣＬとの間にＦＥＴ３３（第１スイッチ素子）のドレイン・ソース間及びプルアップ抵抗Ｒ１１の直列回路が設けられている。クロック端子ＳＣＬとグランド電位ＶＳＳ（プルダウン電圧）の印加端子との間にプルダウン抵抗Ｒ１２及びＦＥＴ３４（第２スイッチ素子）のドレイン・ソース間及びの直列回路が設けられている。ＦＥＴ３３のゲートにはインターフェース回路２５から制御信号ＣＮＴＵが供給され、ＦＥＴ２４のゲートにはインターフェース回路２５から制御信号ＣＮＴＤが供給されるようにされている。抵抗Ｒ１１，Ｒ１２の抵抗値は図１に示したプルダウン抵抗Ｒ１、Ｒ２のそれに比べて高くされている。これは消費電流の削減のためである。
【００２０】
ＩＯバッファ回路２４においては、データ信号が入力されるので、シリアルクロック端子ＳＣＬに代えてシリアルデータ端子ＳＤＡであることを除いてＩＯバッファ回路２３と同一の構成が備えられている。
【００２１】
ＩＯバッファ回路２３，２４の入出力信号ＯＥ，クロック信号又はデータ信号，ＣＮＴＵ，ＣＮＴＤ，Ａ，Ｙの真理値表を示すと、図７の通りである。
【００２２】
インターフェース回路２５は、ＭＣＵ１１とＩＯバッファ回路２３，２４との間に設けられており、ＭＣＵ２１の指令に応じて上記のＣＮＴＵ，ＣＮＴＤを生成し、また、ＩＯバッファ回路２３の信号ＡをＭＣＵ１１に中継する。ＭＣＵ２１及びインターフェース回路２５によって外部プルアップ判定手段及び内部プルアップ設定手段が構成される。
【００２３】
インターフェース回路２５は、具体的には図８に示すように、ライトデコーダ４１、レジスタ４２、及びリードレコーダ４３を備えている。ライトデコーダ４１にはＭＣＵ２１からアドレス信号address及びライトイネーブル信号wrが供給される。ライトデコーダ４１はライトイネーブル信号wrが例えば、論理１を示すときアドレス信号addressに応じて動作してレジスタ４２に書き込み信号wenを出力する。レジスタ４２は書き込み信号wenが供給されたときＭＣＵ２１からのライトデータdata_iを制御信号ＣＮＴＵ，ＣＮＴＤとして保持出力する。リードレコーダ４３にはＭＣＵ２１からアドレス信号address及びチップセレクタ信号csが供給される他、レジスタ４２の保持内容及びＩＯバッファ回路２３の信号Ａが供給される。チップセレクタ信号csが例えば、論理１を示すときリードレコーダ４３はアドレス信号addressに応じて動作してレジスタ４２の保持内容及び信号Ａのいずれか一方を選択的にデータ通知信号data_oとしてＭＣＵ２１に出力する。
【００２４】
かかる構成のバス接続回路を備えたＬＳＩ５は図９に示すように、外部プルアップ抵抗を設けることなく他のＬＳＩ６とバスラインＢ１，Ｂ２によって接続され得るが、図１０に示すように、外部プルアップ抵抗Ｒ３、Ｒ４を設けて他のＬＳＩ６とバスラインＢ１，Ｂ２によって接続されることも可能である。ＬＳＩ６はＬＳＩ５と同一構成であっても、また図１に示したＬＳＩ１，２と同一構成であっても良い。
【００２５】
マスターＬＳＩであるＬＳＩ５とスレーブＬＳＩであるＬＳＩ６との間では、例えば、ＬＳＩ６に設けられたＥＰＲＯＭに書き込むべきデータが信号としてＬＳＩ５からＬＳＩ６にクロック信号に同期して伝送される際に、このバス接続回路が利用される。
【００２６】
なお、図９及び図１０においてＬＳＩ５にバスラインＢ１，Ｂ２を介して接続されるスレーブＬＳＩ６は１つに限らず、複数のＬＳＩでも良い。
【００２７】
ＬＳＩ５は電源が投入されてから通常動作を開始するまでにおいて制御信号ＣＮＴＵの論理値を設定するために図１１に示すように動作する。先ず、ＬＳＩ５に電源が投入されると（ステップＳ１）、ＬＳＩ５内の各部のリセット状態が解除される（ステップＳ２）。
【００２８】
ＭＣＵ２１はプログラムに従った動作を開始するために初期化を行い（ステップＳ３）、そしてプルアップ制御を開始する（ステップＳ４）。
【００２９】
プルアップ制御を開始すると、図１１に示すように、インターフェース回路２５に制御信号ＣＮＴＤを論理１に設定させる（ステップＳ５）。ステップＳ５（第１ステップ及びプルダウン電圧印加ステップ各々に相当する）はＭＣＵ２１がＩ２Ｃ回路２２に出力イネーブル信号ＯＥを論理１にさせる指令を発すると同時に、アドレス信号address、ライトイネーブル信号wr及びライトデータdata_i各々をＣＮＴＤ＝１のために設定することにより行われる。この設定されたアドレス信号address及びライトイネーブル信号wrに応じてライトデコーダ４１が動作してライトデータdata_iがレジスタ４２に保持される。制御信号ＣＮＴＤ＝１に応じてＩＯバッファ回路２３内のＦＥＴ３４がオンとなり、内部プルダウン抵抗Ｒ１２が有効になる。なお、このとき制御信号ＣＮＴＵは論理０を示すので、ＦＥＴ３３はオフである。
【００３０】
バスラインＢ１に図９に示したように外部プルアップ抵抗がないならば、クロック端子ＳＣＬの信号Ｙはオン状態のＦＥＴ３４及び抵抗Ｒ１２を介して印加されるグランド電位ＶＳＳによって論理０となる。一方、バスラインＢ１に図１０に示したように外部プルアップ抵抗Ｒ３が接続されているならば、バスラインＢ１には電圧ＶＤＤ（プルアップ電圧）が外部プルアップ抵抗Ｒ３を介して印加されるので、クロック端子ＳＣＬの信号Ｙは論理１となる。図７の真理値表から分かるように、ＯＥ＝１，ＣＮＴＤ＝１のときには出力バッファ３１の出力信号Ａでは信号Ｙの論理値に等しい論理値が得られる。
【００３１】
次に、ＭＣＵ２１はＩＯバッファ回路２３の信号Ａが論理０を示すか否かを判別する（ステップＳ６）。ステップＳ６（第２，第３ステップ及び外部プルアップ判定ステップ各々に相当する）では、先ず、ＭＣＵ２１はＩＯバッファ回路２３の信号Ａが供給されるようにＭＣＵ２１がアドレス信号address及びチップセレクタ信号csを設定することが行われる。この結果、リードレコーダ４３はＭＣＵ２１からアドレス信号address及びチップセレクタ信号csに応じてＩＯバッファ回路２３の信号Ａをデータ通知信号data_oとしてＭＣＵ２１に出力する。よって、ＭＣＵ２１はデータ通知信号data_oｉに応じてＩＯバッファ回路２３の信号Ａの論理値を判別することができる。ここで、Ａ＝０と判別したならば、外部プルアップ抵抗がないので制御信号ＣＮＴＵを論理１に設定させ、制御信号ＣＮＴＤを論理０に設定させる（ステップＳ７）。一方、Ａ＝１と判別したならば、外部プルアップ抵抗があるので制御信号ＣＮＴＵを論理０に設定させ、制御信号ＣＮＴＤを論理０に設定させる（ステップＳ８）。
【００３２】
ステップＳ７（第４ステップ及び内部プルアップ設定ステップ各々に相当する）は、外部プルアップ抵抗がないことを検出した場合の対処であり、ＭＣＵ２１がＩ２Ｃ回路２２に出力イネーブル信号ＯＥを論理０にさせる指令を発すると同時に、アドレス信号address、ライトイネーブル信号wr及びライトデータdata_i各々をＣＮＴＵ＝１，ＣＮＴＤ＝０のために設定することにより行われる。この設定されたアドレス信号address及びライトイネーブル信号wrに応じてライトデコーダ４１が動作してライトデータdata_iがレジスタ４２に保持されることにより達成される。制御信号ＣＮＴＵ＝１に応じてＩＯバッファ回路２３，２４内のＦＥＴ３３がオンとなる。これにより内部プルアップ抵抗Ｒ１１が有効となる。また、制御信号ＣＮＴＤ＝０に応じてＩＯバッファ回路２３，２４内のＦＥＴ３４がオフとなり、内部プルダウン抵抗Ｒ１２が無効となる。
【００３３】
ステップＳ８（第５ステップ及び内部プルアップ設定ステップ各々に相当する）は、外部プルアップ抵抗があることを検出した場合の対処であり、ＭＣＵ２１がＩ２Ｃ回路２２に出力イネーブル信号ＯＥを論理０にさせる指令を発すると同時に、アドレス信号address、ライトイネーブル信号wr及びライトデータdata_i各々をＣＮＴＵ＝０，ＣＮＴＤ＝０のために設定することにより行われる。この設定されたアドレス信号address及びライトイネーブル信号wrに応じてライトデコーダ４１が動作してライトデータdata_iがレジスタ４２に保持されることにより達成される。制御信号ＣＮＴＵ＝０に応じてＩＯバッファ回路２３，２４内のＦＥＴ３３がオフのままとなる。これにより内部プルアップ抵抗Ｒ１１が無効となる。制御信号ＣＮＴＤ＝０に応じてＩＯバッファ回路２３，２４内のＦＥＴ３４がオフとなり、内部プルダウン抵抗Ｒ１２が無効となる。
【００３４】
ＭＣＵ２１はステップＳ７又はＳ８を実行すると、プルアップ制御を完了し（ステップＳ９）、通常動作に移行する。
【００３５】
図１２は外部プルアップ抵抗がない場合のプルアップ制御時の信号ＯＥ，ＣＮＴＤ，ＣＮＴＵ，Ａ，Ｙの変化を示している。すなわち、時点Ｔ０でステップＳ５による出力イネーブル信号及び制御信号ＣＮＴＤが論理１に設定され、その直後の時点Ｔ１でステップＳ６による信号Ａが論理０であることが検出される。更に、その後、時点Ｔ２でステップＳ７によるＣＮＴＤ＝０，ＣＮＴＵ＝１の設定が実行されるので、その直後において内部プルアップ抵抗Ｒ１１の有効により信号Ａ，Ｙが論理１を示すことになる。
【００３６】
図１３は外部プルアップ抵抗がある場合のプルアップ制御時の信号ＯＥ，ＣＮＴＤ，ＣＮＴＵ，Ａ，Ｙの変化を示している。すなわち、時点Ｔ１０でステップＳ５による出力イネーブル信号及び制御信号ＣＮＴＤが論理１に設定され、その直後の時点Ｔ１１でステップＳ６による信号Ａが論理１であることが検出される。更に、その後、時点Ｔ１２でステップＳ８によるＣＮＴＤ＝０，ＣＮＴＵ＝０の設定が実行されるので、外部プルアップ抵抗Ｒ３の存在により信号Ａ，Ｙが論理１をそのまま示し続けることになる。
【００３７】
このように、上記した第１の実施例においては、ＬＳＩ間にバスラインＢ１，Ｂ２に外部プルアップ抵抗が配置されていない場合に、ＩＯバッファ回路２３，２４内の内部プルアップ抵抗Ｒ１１が有効状態とされてバスラインＢ１，Ｂ２に作用することになる。ＬＳＩ間にバスラインＢ１，Ｂ２に外部プルアップ抵抗が配置されている場合に、ＩＯバッファ回路２３，２４内の内部プルアップ抵抗Ｒ１１が無効状態とされてバスラインＢ１，Ｂ２に作用せず、外部プルアップ抵抗がそのまま利用されることになる。よって、バスラインに外部プルアップ抵抗が配置されているか否かに関わらず、ＬＳＩ間で正常にバス伝送を行うことができる。また、外部プルアップ抵抗が配置されている既存のバスラインに上記の第１の実施例のＬＳＩを接続する場合を除き、バスラインには外部プルアップ抵抗を特に配置する必要がないので、ＬＳＩ外部部品の削減、及びバスライン使用時の消費電流低減を図ることができる。更に、ＬＳＩ内に備えられるべきＭＣＵをプルアップ制御に利用するので、ＬＳＩに追加するハードウエア構成としては簡単な構成のインターフェース回路だけで済むという利点もある。
【００３８】
図１４は本発明の第２の実施例としてバス接続回路を備えたＬＳＩ７の回路構成を示している。ＬＳＩ７はバス接続回路としてＭＣＵ５１、Ｉ２Ｃ回路５２、２つのＩＯバッファ回路５３，５４、及び制御回路５５を備えている。
【００３９】
ＭＣＵ５１及びＩ２Ｃ回路５２は図１に示したＭＣＵ１１及びＩ２Ｃ回路１２と同一構成のものである。ＩＯバッファ回路５３，５４は図５に示したＩＯバッファ回路２３，２４と同一構成である。すなわち、ＩＯバッファ回路５３，５４は図６の如き構成を有する。
【００４０】
制御回路５５は、ＩＯバッファ回路５３，５４に接続されており、ＬＳＩ７への電源投入直後にリセット信号及びクロック信号に応じて上記のＣＮＴＵ，ＣＮＴＤを生成してそれらをＩＯバッファ回路５３，５４に供給する。
【００４１】
制御回路５５は、具体的には図１５に示すように、カウンタ６１、ＰＤ（プルダウン）制御回路６２、及び検出回路６３を備えている。カウンタ６１にはリセット発生器（図示せず）からリセット信号が供給されると共に、クロック発生器（図示せず）からクロック信号が供給される。リセット発生器及びクロック発生器はＬＳＩ７内部にあっても良いし、ＬＳＩ７外部にあっても良い。カウンタ６１はリセット信号が論理０から論理１に移行してＬＳＩ７のリセット状態が解除されると、クロック信号のパルスを計数してその計数値を出力する。計数は予め定められた設定値ＲＥＦまで行われる。設定値ＲＥＦはカウンタ６１の計数時間としては例えば、１０μsecに相当する。カウンタ６１の計数値は計数信号としてＰＤ制御回路６２及び検出回路６３に供給される。
【００４２】
ＰＤ制御回路６２はカウンタ６１の計数値に応じて制御信号ＣＮＴＤを生成し、その制御信号ＣＮＴＤをＩＯバッファ回路５３，５４に供給する。ＰＤ制御回路６２はリセット信号が論理０から論理１に移行してからカウンタ６１の計数値が設定値ＲＥＦに達するまで制御信号ＣＮＴＤを論理１として出力し、それ以外のときには制御信号ＣＮＴＤを論理０として出力する。
【００４３】
検出回路６３はカウンタ６１の計数値が設定値に達した時点においてＩＯバッファ回路５３の信号Ａの論理値を検出し、その検出結果に応じて制御信号ＣＮＴＵの論理値を設定する。すなわち、検出した信号Ａが論理値１であるとき制御信号ＣＮＴＵを論理値１として出力し、検出した信号Ａが論理値０であるとき制御信号ＣＮＴＵを論理値０として出力する。
【００４４】
かかる構成のバス接続回路を備えたＬＳＩ７は図１６に示すように、外部プルアップ抵抗を設けることなく他のＬＳＩ８とバスラインＢ１，Ｂ２によって接続され得るが、図１７に示すように、外部プルアップ抵抗Ｒ３、Ｒ４を設けて他のＬＳＩ８とバスラインＢ１，Ｂ２によって接続されることも可能である。ＬＳＩ７はＬＳＩ５又は７と同一構成であっても、また図１に示したＬＳＩ１，２と同一構成であっても良い。
【００４５】
ＬＳＩ７は電源が投入されてから通常動作を開始するまでにおいて制御信号ＣＮＴＵの論理値を設定するために図１８に示すように動作する。先ず、ＬＳＩ７に電源が投入されると（ステップＳ１１）、リセット信号が論理０から論理１に移行してＬＳＩ７のリセット状態が解除される（ステップＳ１２）。次に、カウンタ６１にクロック信号が供給されるので、カウンタ６１のカウントアップが開始される（ステップＳ１３）。その後、カウンタ６１の計数値に応じてＰＤ制御回路６２及び検出回路６３によるプルアップ判定動作が実行される（ステップＳ１４）。
【００４６】
プルアップ判定動作においては、図１９に示すように、時点Ｔ２１でリセット信号が論理０から論理１に移行してＬＳＩ７のリセット状態が解除されると、その直後においてクロック信号のパルスの計数がカウンタ６１によって開始される。カウンタ６１の計数値は例えば、初期値の００００から徐々に上昇する。このカウンタ６１の計数中にはＰＤ制御回路６２からは論理１の制御信号ＣＮＴＤが生成され、検出回路６３からは論理０の制御信号ＣＮＴＵが生成される。その論理１の制御信号ＣＮＴＤに応じてＩＯバッファ回路５３内のＦＥＴ３３がオンとなる。これにより内部プルアップ抵抗Ｒ１１が有効となる。また、論理０の制御信号ＣＮＴＵに応じてＩＯバッファ回路５３内のＦＥＴ３４がオフとなり、内部プルダウン抵抗Ｒ１２が無効となる。
【００４７】
その後の時点Ｔ２２でカウンタ６１の計数値が設定値ＲＥＦに達すると、検出回路６３は信号Ａの論理を検出する。図１９に示すように、外部プルアップ抵抗がある場合には検出回路６３はＡ＝１を検出するので、制御信号ＣＮＴＵを論理０に設定させて出力する。一方、外部プルアップ抵抗がない場合には検出回路６３はＡ＝０を検出するので、制御信号ＣＮＴＵを論理１に設定させて出力する。なお、検出回路６３はカウンタ６１の計数中においてＡ＝１を検出した場合には制御信号ＣＮＴＵを論理０に設定させて出力しても良い。
【００４８】
また、カウンタ６１の計数値が設定値ＲＥＦに達すると、ＰＤ制御回路６２は制御信号ＣＮＴＤを論理０にして出力する。
【００４９】
外部プルアップ抵抗がある場合には、時点Ｔ２２以降においてはＣＮＴＵ＝０，ＣＮＴＤ＝０と設定されるので、制御信号ＣＮＴＵ＝０に応じてＩＯバッファ回路５３，５４内のＦＥＴ３３がオフのままとなる。これにより内部プルアップ抵抗Ｒ１１が無効となる。制御信号ＣＮＴＤ＝０に応じてＩＯバッファ回路５３，５４内のＦＥＴ３４がオフとなり、内部プルダウン抵抗Ｒ１２が無効となる。よって、外部プルアップ抵抗Ｒ３，Ｒ４により信号Ａが論理１を示すことが可能となる。
【００５０】
外部プルアップ抵抗がない場合には、時点Ｔ２２以降においてはＣＮＴＵ＝１，ＣＮＴＤ＝０と設定されるので、制御信号ＣＮＴＵ＝１に応じてＩＯバッファ回路５３，５４内のＦＥＴ３３がオンとなる。これにより内部プルアップ抵抗Ｒ１１が有効となる。また、制御信号ＣＮＴＤ＝０に応じてＩＯバッファ回路５３，５４内のＦＥＴ３４がオフとなり、内部プルダウン抵抗Ｒ１２が無効となる。よって、内部プルアップ抵抗Ｒ１１の有効により信号Ａが論理１を示すことが可能となる。
【００５１】
このように、上記した第２の実施例においては、ＬＳＩ間にバスラインＢ１，Ｂ２に外部プルアップ抵抗が配置されていない場合に、ＩＯバッファ回路５３，５４内の内部プルアップ抵抗Ｒ１１が有効状態とされてバスラインＢ１，Ｂ２に作用することになる。ＬＳＩ間にバスラインＢ１，Ｂ２に外部プルアップ抵抗が配置されている場合に、ＩＯバッファ回路５３，５４内の内部プルアップ抵抗Ｒ１１が無効状態とされてバスラインＢ１，Ｂ２に作用せず、外部プルアップ抵抗がそのまま利用されることになる。よって、バスラインに外部プルアップ抵抗が配置されているか否かに関わらず、ＬＳＩ間で正常にバス伝送を行うことができる。また、外部プルアップ抵抗が配置されている既存のバスラインに上記の第２の実施例のＬＳＩを接続する場合を除き、バスラインには外部プルアップ抵抗を特に配置する必要がないので、ＬＳＩ外部部品の削減、及びバスライン使用時の消費電流低減を図ることができる。更に、リセット解除後のステップＳ２３及びＳ２４をハードウエアにて独立動作する制御回路５５を配置することにより、第１の実施例のようにＭＣＵからの制御が不要になるため、プルアップ制御完了時間の短縮、及び内部プログラムコードの圧縮が可能となる。また、制御回路５５はクロック信号を利用して時間的長さを検出する構成としたので、比較的簡単な構成にすることができ、これによりＬＳＩのチップ面積の増大を抑制することができる。
【００５２】
なお、上記した各実施例においては、ＬＳＩ間に２つのバスラインが設けられているが、これに限定されない。ＬＳＩ間は単一バスラインで接続されても良いし、３つ以上のバスラインで接続されても良い。
【００５３】
また、上記した各実施例においては、半導体装置としてＬＳＩが示されているが、これに限定されず、ＳＳＩ(Small Scale Integration)やＭＳＩ(Medium Scale Integration)等のＩＣ（集積回路）でも良い。更に、外部装置はＬＳＩ等のＩＣに限らず、バス接続回路を有する装置であれば良い。
【符号の説明】
【００５４】
１，２，５，６，７，８  ＬＳＩ
１１，２１，５１  ＭＣＵ
１２，２２，５２  Ｉ２Ｃ回路
１３，１４２３，２４，５３，５４  ＩＯバッファ回路
２５  インターフェース回路
５５  制御回路
Ｒ１，Ｒ２，Ｒ３，Ｒ４  外部プルアップ抵抗
Ｒ１１  内部プルアップ抵抗
Ｒ１２  内部プルダウン抵抗
【図１】
0005671269.tif 000002
【図２】
0005671269.tif 000003
【図３】
0005671269.tif 000004
【図４】
0005671269.tif 000005
【図５】
0005671269.tif 000006
【図６】
0005671269.tif 000007
【図７】
0005671269.tif 000008
【図８】
0005671269.tif 000009
【図９】
0005671269.tif 000010
【図１０】
0005671269.tif 000011
【図１１】
0005671269.tif 000012
【図１２】
0005671269.tif 000013
【図１３】
0005671269.tif 000014
【図１４】
0005671269.tif 000015
【図１５】
0005671269.tif 000016
【図１６】
0005671269.tif 000017
【図１７】
0005671269.tif 000018
【図１８】
0005671269.tif 000019
【図１９】
0005671269.tif 000020