バス接続回路を備えた半導体装置及びそのバス接続方法
【課題】 バスラインにプルアップ抵抗が接続されているか否かに関わらず所望のバス通信動作を得ることができる半導体装置及びそのバス接続方法を提供する。
【解決手段】 バスラインに内部プルダウン抵抗を介してプルダウン電圧を印加し、プルダウン電圧の印加時のバスラインの電圧レベルに応じてバスラインへの半導体装置外の外部プルアップ抵抗の接続があるか否かを判定する外部プルアップ判定手段と、バスラインへの外部プルアップ抵抗の接続がないと判定されたときプルダウン電圧の印加を停止してバスラインに内部プルアップ抵抗を介してプルアップ電圧を印加し、一方、バスラインへの外部プルアップ抵抗の接続があると判定されたときプルダウン電圧の印加を停止する内部プルアップ設定手段と、を備える。
【解決手段】 バスラインに内部プルダウン抵抗を介してプルダウン電圧を印加し、プルダウン電圧の印加時のバスラインの電圧レベルに応じてバスラインへの半導体装置外の外部プルアップ抵抗の接続があるか否かを判定する外部プルアップ判定手段と、バスラインへの外部プルアップ抵抗の接続がないと判定されたときプルダウン電圧の印加を停止してバスラインに内部プルアップ抵抗を介してプルアップ電圧を印加し、一方、バスラインへの外部プルアップ抵抗の接続があると判定されたときプルダウン電圧の印加を停止する内部プルアップ設定手段と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、外部装置との通信のためのバス接続回路を備えた半導体装置及びそのバス接続方法に関する。
【背景技術】
【0002】
図1は各々が同一のバス接続回路を備えた2つの従来の半導体装置(LSI:Large Scale Integration)1,2の回路構成を示している。そのバス接続回路はいわゆるI2Cバス対応回路である。LSI1,2各々はバス接続回路として、MCU(マイクロコントロールユニット)11、I2C回路12、及び2つのIOバッファ回路13,14を備える他、接続端子としてシリアルクロック端子SCL,シリアルデータ端子SDAを有している。MCU11はLSI全体を制御する演算処理装置で図示しない内部ROM又はRAMに保存されたプログラムに応じて動作する。I2C回路12はMCU11によって制御され、I2Cバス機能を制御する論理回路である。I2C回路12は具体的にはIOバッファ回路13,14各々に出力イネーブル信号OEを個別に出力し、IOバッファ回路13,14から個別に受信信号Aを受け入れる。IOバッファ回路13,14各々はオープンドレイン機能を有する入力出力バッファであり、クロック信号の入出力のためのIOバッファ回路13はシリアルクロック端子SCLに接続され、データ信号の入出力のためのIOバッファ回路14はシリアルクデータ端子SDAに接続されている。
【0003】
LSI1,2各々のシリアルクロック端子SCLはバスラインB1によって互いに接続され、シリアルデータ端子SDAはバスラインB2によって互いに接続されている。バスラインB1には電圧VDDがプルアップ抵抗R1を介して印加され、バスラインB2には電圧VDDがプルアップ抵抗R2を介して印加されている。
【0004】
IOバッファ回路13,14各々は図2に示すように、イネーブル端子付きの出力バッファ15と入力バッファ16とを有している。出力バッファ15はイネーブル端子15aに供給される出力イネーブル信号OEに応じて動作する。IOバッファ回路13の場合には出力イネーブル信号OEが論理0を示す低レベルのときに出力バッファ15はクロック信号をシリアルクロック端子SCLに出力する。IOバッファ回路14の場合には出力イネーブル信号OEが論理0を示す低レベルのときに出力バッファ15はデータ信号をシリアルデータ端子SDAに出力する。出力イネーブル信号OEが論理1を示す高レベルのときには出力バッファ15はハイインピーダンス状態となる。入力バッファ16はIOバッファ回路13の場合にはシリアルクロック端子SCLの信号を上記の受信信号AとしてI2C回路12に出力し、IOバッファ回路14の場合にはシリアルデータ端子SDAの信号を上記の受信信号AとしてI2C回路12に出力する。
【0005】
IOバッファ回路13,14の入出力信号の真理値表を示すと、図3の通りである。ここで、OEは出力イネーブル信号OEの論理値であり、Aは受信信号Aの論理値であり、Yは端子SCL又はSDAにおける論理値である。Hizはハイインピーダンス状態であり、Xは0,1のいずれでもない状態である。
【0006】
図4はLSI1,2間のI2Cバスのバス権獲得時の各信号OE,A,Yのタイムチャートを示している。マスター側のLSI1では、IOバッファ回路13の出力イネーブル信号OEが論理0に設定されると、クロック端子SCLの信号Yが論理0に遷移する。次に、そのIOバッファ回路13の出力イネーブル信号OEが論理1に変化すると、出力バッファ15がハイインピーダンス状態となり、プルアップ抵抗R1によって信号Yは論理1に遷移する。その後、IOバッファ回路14の出力イネーブル信号OEが論理0に設定されると、データ端子SDAの信号Yが論理0に遷移する。このようにクロック端子SCLが論理1のときにデータ端子SDAが論理0になると、スタート条件が成立してI2Cバス権獲得が完了する。クロック端子SCLが論理1のときがデータ端子SDAのデータ有効期間となり、クロック端子SCLが論理0のときがデータ変化許可期間となる。図4中のデータ端子SDAの信号YのDout0,Dout1,...がマスター側のLSI1からスレーブ側のLSI2に伝送されるデータであり、スレーブ側のLSI2のデータ端子SDAの信号YのDin0,Din1,...が受信したデータである。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平2−138612号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
かかる従来のバス接続回路を備えたLSIの構成ではLSIの外部のバスラインに複数のLSIが接続されることを考慮して十分な電流を各LSIのバス接続回目に供給できるように必ず抵抗値の低いプルアップ抵抗が必要であり、そのために外部部品点数が多くなりプルアップ抵抗に流れる電流値が大きくなるという問題があった。
【0009】
それに対処するために、例えば、特許文献1に開示されているようにプルアップ抵抗をLSIに内蔵させる技術が採用されている。
【0010】
しかしながら、バスラインにプルアップ抵抗を接続することなくプルアップ抵抗を内蔵したLSIを用いてLSI間でバス通信を行う場合に限らない。例えば、少なくともLSI及びバスラインを備えた既存のシステムにプルアップ抵抗を内蔵したLSIが搭載される場合には、そのシステムのバスラインに備えられたプルアップ抵抗を利用してLSI間でバス通信を行う必要があるため、プルアップ抵抗を内蔵しただけのLSIでは、既存のシステムに搭載しても所望のバス通信動作が得られないという問題があった。
【0011】
そこで、本発明の目的は、バスラインにプルアップ抵抗が接続されているか否かに関わらず所望のバス通信動作を得ることができる半導体装置及びそのバス接続方法を提供することである。
【課題を解決するための手段】
【0012】
本発明の半導体装置は、外部装置とバスラインを介した通信のためのバス接続回路を備えた半導体装置であって、前記バス接続回路は、内部プルアップ抵抗及び内部プルダウン抵抗と、前記バスラインに前記内部プルダウン抵抗を介してプルダウン電圧を印加し、前記プルダウン電圧の印加時の前記バスラインの電圧レベルに応じて前記バスラインへの前記半導体装置外の外部プルアップ抵抗の接続があるか否かを判定する外部プルアップ判定手段と、前記外部プルアップ判定手段によって前記バスラインへの前記外部プルアップ抵抗の接続がないと判定されたとき前記プルダウン電圧の印加を停止して前記バスラインに前記内部プルアップ抵抗を介してプルアップ電圧を印加し、前記外部プルアップ判定手段によって前記バスラインへの前記外部プルアップ抵抗の接続があると判定されたとき前記プルダウン電圧の印加を停止する内部プルアップ設定手段と、を備えることを特徴としている。
【0013】
本発明のバス接続方法は、外部装置とバスラインを介した通信を行う半導体装置のバス接続方法であって、前記バスラインに前記半導体装置内の内部プルダウン抵抗を介してプルダウン電圧を印加するプルダウン電圧印加ステップと、前記プルダウン電圧の印加時の前記バスラインの電圧レベルに応じて前記バスラインへの前記半導体装置外の外部プルアップ抵抗の接続があるか否かを判定する外部プルアップ判定ステップと、前記外部プルアップ判定ステップにおいて前記バスラインへの前記外部プルアップ抵抗の接続がないと判定されたとき前記プルダウン電圧の印加を停止して前記バスラインに前記半導体装置内の内部プルアップ抵抗を介してプルアップ電圧を印加し、前記外部プルアップ判定ステップにおいて前記バスラインへの前記外部プルアップ抵抗の接続があると判定されたとき前記プルダウン電圧の印加を停止する内部プルアップ設定ステップと、を備えることを特徴としている。
【発明の効果】
【0014】
本発明の半導体装置及びバス接続方法によれば、バスラインに半導体装置内の内部プルダウン抵抗を介してプルダウン電圧を印加し、そのプルダウン電圧の印加時のバスラインの電圧レベルに応じてバスラインへの半導体装置外の外部プルアップ抵抗の接続があるか否かを判定し、バスラインへの外部プルアップ抵抗の接続がないときにはプルダウン電圧の印加を停止してバスラインに半導体装置内の内部プルアップ抵抗を介してプルアップ電圧を印加し、バスラインへの外部プルアップ抵抗の接続があるときにはプルダウン電圧の印加を停止するので、バスラインに外部プルアップ抵抗が接続されているか否かに関わらず所望のバス通信動作を得ることができる。
【図面の簡単な説明】
【0015】
【図1】バス接続回路を備えた従来のLSIを示すブロック図である。
【図2】図1のLSI中のIOバッファ回路の内部構成を示す回路図である。
【図3】図2のバッファ回路の入出力真理値表を示す図である。
【図4】バス権獲得時のバッファ回路の各信号のタイムチャートを示す図である。
【図5】本発明の第1の実施例としてバス接続回路を備えたLSIを示すブロック図である。
【図6】図5のLSI中のIOバッファ回路を示す回路図である。
【図7】図6のバッファ回路の入出力真理値表を示す図である。
【図8】図5のLSI中の制御回路の構成を示すブロック図である。
【図9】LSI間に外部プルアップ抵抗が設けられていないバス接続を示す図である。
【図10】LSI間に外部プルアップ抵抗が設けられたバス接続を示す図である。
【図11】図5のLSIの電源投入から通常動作までの動作を示すフローチャートである。
【図12】外部プルアップ抵抗がない場合のプルアップ制御時のバッファ回路内の各信号のタイムチャートを示す図である。
【図13】外部プルアップ抵抗がある場合のプルアップ制御時のバッファ回路内の各信号のタイムチャートを示す図である。
【図14】本発明の第2の実施例としてバス接続回路を備えたLSIを示すブロック図である。
【図15】図14のLSI中の制御回路の構成を示すブロック図である。
【図16】LSI間に外部プルアップ抵抗が設けられていないバス接続を示す図である。
【図17】LSI間に外部プルアップ抵抗が設けられたバス接続を示す図である。
【図18】図14のLSIの電源投入から通常動作までの動作を示すフローチャートである。
【図19】外部プルアップ抵抗がある場合及びそれがない場合各々のプルアップ制御時のバッファ回路内の各信号のタイムチャートを示す図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施例を図面を参照しつつ詳細に説明する。
【0017】
図5は本発明の第1の実施例としてバス接続回路を備えたLSI5の回路構成を示している。LSI5はバス接続回路としてMCU21、I2C回路22、2つのIOバッファ回路23,24、及びインターフェース回路25を備えている。
【0018】
MCU21及びI2C回路22は図1に示したMCU11及びI2C回路12と同一構成のものである。ただし、MCU21はI2C回路22に接続される他に、インターフェース回路25にも接続されている。
【0019】
クロック信号が入力されるIOバッファ回路23は、図6に示すように、イネーブル端子付きの出力バッファ31、入力バッファ32、電界効果トランジスタ(FET)33,34、抵抗R11(内部プルアップ抵抗),R12(内部プルダウン抵抗)、シリアルクロック端子SCLを備えている。出力バッファ31及び入力バッファ32は図2に示した出力バッファ15と入力バッファ16と同様の接続構成とされている。電圧VDD(プルアップ電圧)の印加端子とクロック端子SCLとの間にFET33(第1スイッチ素子)のドレイン・ソース間及びプルアップ抵抗R11の直列回路が設けられている。クロック端子SCLとグランド電位VSS(プルダウン電圧)の印加端子との間にプルダウン抵抗R12及びFET34(第2スイッチ素子)のドレイン・ソース間及びの直列回路が設けられている。FET33のゲートにはインターフェース回路25から制御信号CNTUが供給され、FET24のゲートにはインターフェース回路25から制御信号CNTDが供給されるようにされている。抵抗R11,R12の抵抗値は図1に示したプルダウン抵抗R1、R2のそれに比べて高くされている。これは消費電流の削減のためである。
【0020】
IOバッファ回路24においては、データ信号が入力されるので、シリアルクロック端子SCLに代えてシリアルデータ端子SDAであることを除いてIOバッファ回路23と同一の構成が備えられている。
【0021】
IOバッファ回路23,24の入出力信号OE,クロック信号又はデータ信号,CNTU,CNTD,A,Yの真理値表を示すと、図7の通りである。
【0022】
インターフェース回路25は、MCU11とIOバッファ回路23,24との間に設けられており、MCU21の指令に応じて上記のCNTU,CNTDを生成し、また、IOバッファ回路23の信号AをMCU11に中継する。MCU21及びインターフェース回路25によって外部プルアップ判定手段及び内部プルアップ設定手段が構成される。
【0023】
インターフェース回路25は、具体的には図8に示すように、ライトデコーダ41、レジスタ42、及びリードレコーダ43を備えている。ライトデコーダ41にはMCU21からアドレス信号address及びライトイネーブル信号wrが供給される。ライトデコーダ41はライトイネーブル信号wrが例えば、論理1を示すときアドレス信号addressに応じて動作してレジスタ42に書き込み信号wenを出力する。レジスタ42は書き込み信号wenが供給されたときMCU21からのライトデータdata_iを制御信号CNTU,CNTDとして保持出力する。リードレコーダ43にはMCU21からアドレス信号address及びチップセレクタ信号csが供給される他、レジスタ42の保持内容及びIOバッファ回路23の信号Aが供給される。チップセレクタ信号csが例えば、論理1を示すときリードレコーダ43はアドレス信号addressに応じて動作してレジスタ42の保持内容及び信号Aのいずれか一方を選択的にデータ通知信号data_oとしてMCU21に出力する。
【0024】
かかる構成のバス接続回路を備えたLSI5は図9に示すように、外部プルアップ抵抗を設けることなく他のLSI6とバスラインB1,B2によって接続され得るが、図10に示すように、外部プルアップ抵抗R3、R4を設けて他のLSI6とバスラインB1,B2によって接続されることも可能である。LSI6はLSI5と同一構成であっても、また図1に示したLSI1,2と同一構成であっても良い。
【0025】
マスターLSIであるLSI5とスレーブLSIであるLSI6との間では、例えば、LSI6に設けられたEPROMに書き込むべきデータが信号としてLSI5からLSI6にクロック信号に同期して伝送される際に、このバス接続回路が利用される。
【0026】
なお、図9及び図10においてLSI5にバスラインB1,B2を介して接続されるスレーブLSI6は1つに限らず、複数のLSIでも良い。
【0027】
LSI5は電源が投入されてから通常動作を開始するまでにおいて制御信号CNTUの論理値を設定するために図11に示すように動作する。先ず、LSI5に電源が投入されると(ステップS1)、LSI5内の各部のリセット状態が解除される(ステップS2)。
【0028】
MCU21はプログラムに従った動作を開始するために初期化を行い(ステップS3)、そしてプルアップ制御を開始する(ステップS4)。
【0029】
プルアップ制御を開始すると、図11に示すように、インターフェース回路25に制御信号CNTDを論理1に設定させる(ステップS5)。ステップS5(第1ステップ及びプルダウン電圧印加ステップ各々に相当する)はMCU21がI2C回路22に出力イネーブル信号OEを論理1にさせる指令を発すると同時に、アドレス信号address、ライトイネーブル信号wr及びライトデータdata_i各々をCNTD=1のために設定することにより行われる。この設定されたアドレス信号address及びライトイネーブル信号wrに応じてライトデコーダ41が動作してライトデータdata_iがレジスタ42に保持される。制御信号CNTD=1に応じてIOバッファ回路23内のFET34がオンとなり、内部プルダウン抵抗R12が有効になる。なお、このとき制御信号CNTUは論理0を示すので、FET33はオフである。
【0030】
バスラインB1に図9に示したように外部プルアップ抵抗がないならば、クロック端子SCLの信号Yはオン状態のFET34及び抵抗R12を介して印加されるグランド電位VSSによって論理0となる。一方、バスラインB1に図10に示したように外部プルアップ抵抗R3が接続されているならば、バスラインB1には電圧VDD(プルアップ電圧)が外部プルアップ抵抗R3を介して印加されるので、クロック端子SCLの信号Yは論理1となる。図7の真理値表から分かるように、OE=1,CNTD=1のときには出力バッファ31の出力信号Aでは信号Yの論理値に等しい論理値が得られる。
【0031】
次に、MCU21はIOバッファ回路23の信号Aが論理0を示すか否かを判別する(ステップS6)。ステップS6(第2,第3ステップ及び外部プルアップ判定ステップ各々に相当する)では、先ず、MCU21はIOバッファ回路23の信号Aが供給されるようにMCU21がアドレス信号address及びチップセレクタ信号csを設定することが行われる。この結果、リードレコーダ43はMCU21からアドレス信号address及びチップセレクタ信号csに応じてIOバッファ回路23の信号Aをデータ通知信号data_oとしてMCU21に出力する。よって、MCU21はデータ通知信号data_oiに応じてIOバッファ回路23の信号Aの論理値を判別することができる。ここで、A=0と判別したならば、外部プルアップ抵抗がないので制御信号CNTUを論理1に設定させ、制御信号CNTDを論理0に設定させる(ステップS7)。一方、A=1と判別したならば、外部プルアップ抵抗があるので制御信号CNTUを論理0に設定させ、制御信号CNTDを論理0に設定させる(ステップS8)。
【0032】
ステップS7(第4ステップ及び内部プルアップ設定ステップ各々に相当する)は、外部プルアップ抵抗がないことを検出した場合の対処であり、MCU21がI2C回路22に出力イネーブル信号OEを論理0にさせる指令を発すると同時に、アドレス信号address、ライトイネーブル信号wr及びライトデータdata_i各々をCNTU=1,CNTD=0のために設定することにより行われる。この設定されたアドレス信号address及びライトイネーブル信号wrに応じてライトデコーダ41が動作してライトデータdata_iがレジスタ42に保持されることにより達成される。制御信号CNTU=1に応じてIOバッファ回路23,24内のFET33がオンとなる。これにより内部プルアップ抵抗R11が有効となる。また、制御信号CNTD=0に応じてIOバッファ回路23,24内のFET34がオフとなり、内部プルダウン抵抗R12が無効となる。
【0033】
ステップS8(第5ステップ及び内部プルアップ設定ステップ各々に相当する)は、外部プルアップ抵抗があることを検出した場合の対処であり、MCU21がI2C回路22に出力イネーブル信号OEを論理0にさせる指令を発すると同時に、アドレス信号address、ライトイネーブル信号wr及びライトデータdata_i各々をCNTU=0,CNTD=0のために設定することにより行われる。この設定されたアドレス信号address及びライトイネーブル信号wrに応じてライトデコーダ41が動作してライトデータdata_iがレジスタ42に保持されることにより達成される。制御信号CNTU=0に応じてIOバッファ回路23,24内のFET33がオフのままとなる。これにより内部プルアップ抵抗R11が無効となる。制御信号CNTD=0に応じてIOバッファ回路23,24内のFET34がオフとなり、内部プルダウン抵抗R12が無効となる。
【0034】
MCU21はステップS7又はS8を実行すると、プルアップ制御を完了し(ステップS9)、通常動作に移行する。
【0035】
図12は外部プルアップ抵抗がない場合のプルアップ制御時の信号OE,CNTD,CNTU,A,Yの変化を示している。すなわち、時点T0でステップS5による出力イネーブル信号及び制御信号CNTDが論理1に設定され、その直後の時点T1でステップS6による信号Aが論理0であることが検出される。更に、その後、時点T2でステップS7によるCNTD=0,CNTU=1の設定が実行されるので、その直後において内部プルアップ抵抗R11の有効により信号A,Yが論理1を示すことになる。
【0036】
図13は外部プルアップ抵抗がある場合のプルアップ制御時の信号OE,CNTD,CNTU,A,Yの変化を示している。すなわち、時点T10でステップS5による出力イネーブル信号及び制御信号CNTDが論理1に設定され、その直後の時点T11でステップS6による信号Aが論理1であることが検出される。更に、その後、時点T12でステップS8によるCNTD=0,CNTU=0の設定が実行されるので、外部プルアップ抵抗R3の存在により信号A,Yが論理1をそのまま示し続けることになる。
【0037】
このように、上記した第1の実施例においては、LSI間にバスラインB1,B2に外部プルアップ抵抗が配置されていない場合に、IOバッファ回路23,24内の内部プルアップ抵抗R11が有効状態とされてバスラインB1,B2に作用することになる。LSI間にバスラインB1,B2に外部プルアップ抵抗が配置されている場合に、IOバッファ回路23,24内の内部プルアップ抵抗R11が無効状態とされてバスラインB1,B2に作用せず、外部プルアップ抵抗がそのまま利用されることになる。よって、バスラインに外部プルアップ抵抗が配置されているか否かに関わらず、LSI間で正常にバス伝送を行うことができる。また、外部プルアップ抵抗が配置されている既存のバスラインに上記の第1の実施例のLSIを接続する場合を除き、バスラインには外部プルアップ抵抗を特に配置する必要がないので、LSI外部部品の削減、及びバスライン使用時の消費電流低減を図ることができる。更に、LSI内に備えられるべきMCUをプルアップ制御に利用するので、LSIに追加するハードウエア構成としては簡単な構成のインターフェース回路だけで済むという利点もある。
【0038】
図14は本発明の第2の実施例としてバス接続回路を備えたLSI7の回路構成を示している。LSI7はバス接続回路としてMCU51、I2C回路52、2つのIOバッファ回路53,54、及び制御回路55を備えている。
【0039】
MCU51及びI2C回路52は図1に示したMCU11及びI2C回路12と同一構成のものである。IOバッファ回路53,54は図5に示したIOバッファ回路23,24と同一構成である。すなわち、IOバッファ回路53,54は図6の如き構成を有する。
【0040】
制御回路55は、IOバッファ回路53,54に接続されており、LSI7への電源投入直後にリセット信号及びクロック信号に応じて上記のCNTU,CNTDを生成してそれらをIOバッファ回路53,54に供給する。
【0041】
制御回路55は、具体的には図15に示すように、カウンタ61、PD(プルダウン)制御回路62、及び検出回路63を備えている。カウンタ61にはリセット発生器(図示せず)からリセット信号が供給されると共に、クロック発生器(図示せず)からクロック信号が供給される。リセット発生器及びクロック発生器はLSI7内部にあっても良いし、LSI7外部にあっても良い。カウンタ61はリセット信号が論理0から論理1に移行してLSI7のリセット状態が解除されると、クロック信号のパルスを計数してその計数値を出力する。計数は予め定められた設定値REFまで行われる。設定値REFはカウンタ61の計数時間としては例えば、10μsecに相当する。カウンタ61の計数値は計数信号としてPD制御回路62及び検出回路63に供給される。
【0042】
PD制御回路62はカウンタ61の計数値に応じて制御信号CNTDを生成し、その制御信号CNTDをIOバッファ回路53,54に供給する。PD制御回路62はリセット信号が論理0から論理1に移行してからカウンタ61の計数値が設定値REFに達するまで制御信号CNTDを論理1として出力し、それ以外のときには制御信号CNTDを論理0として出力する。
【0043】
検出回路63はカウンタ61の計数値が設定値に達した時点においてIOバッファ回路53の信号Aの論理値を検出し、その検出結果に応じて制御信号CNTUの論理値を設定する。すなわち、検出した信号Aが論理値1であるとき制御信号CNTUを論理値1として出力し、検出した信号Aが論理値0であるとき制御信号CNTUを論理値0として出力する。
【0044】
かかる構成のバス接続回路を備えたLSI7は図16に示すように、外部プルアップ抵抗を設けることなく他のLSI8とバスラインB1,B2によって接続され得るが、図17に示すように、外部プルアップ抵抗R3、R4を設けて他のLSI8とバスラインB1,B2によって接続されることも可能である。LSI7はLSI5又は7と同一構成であっても、また図1に示したLSI1,2と同一構成であっても良い。
【0045】
LSI7は電源が投入されてから通常動作を開始するまでにおいて制御信号CNTUの論理値を設定するために図18に示すように動作する。先ず、LSI7に電源が投入されると(ステップS11)、リセット信号が論理0から論理1に移行してLSI7のリセット状態が解除される(ステップS12)。次に、カウンタ61にクロック信号が供給されるので、カウンタ61のカウントアップが開始される(ステップS13)。その後、カウンタ61の計数値に応じてPD制御回路62及び検出回路63によるプルアップ判定動作が実行される(ステップS14)。
【0046】
プルアップ判定動作においては、図19に示すように、時点T21でリセット信号が論理0から論理1に移行してLSI7のリセット状態が解除されると、その直後においてクロック信号のパルスの計数がカウンタ61によって開始される。カウンタ61の計数値は例えば、初期値の0000から徐々に上昇する。このカウンタ61の計数中にはPD制御回路62からは論理1の制御信号CNTDが生成され、検出回路63からは論理0の制御信号CNTUが生成される。その論理1の制御信号CNTDに応じてIOバッファ回路53内のFET33がオンとなる。これにより内部プルアップ抵抗R11が有効となる。また、論理0の制御信号CNTUに応じてIOバッファ回路53内のFET34がオフとなり、内部プルダウン抵抗R12が無効となる。
【0047】
その後の時点T22でカウンタ61の計数値が設定値REFに達すると、検出回路63は信号Aの論理を検出する。図19に示すように、外部プルアップ抵抗がある場合には検出回路63はA=1を検出するので、制御信号CNTUを論理0に設定させて出力する。一方、外部プルアップ抵抗がない場合には検出回路63はA=0を検出するので、制御信号CNTUを論理1に設定させて出力する。なお、検出回路63はカウンタ61の計数中においてA=1を検出した場合には制御信号CNTUを論理0に設定させて出力しても良い。
【0048】
また、カウンタ61の計数値が設定値REFに達すると、PD制御回路62は制御信号CNTDを論理0にして出力する。
【0049】
外部プルアップ抵抗がある場合には、時点T22以降においてはCNTU=0,CNTD=0と設定されるので、制御信号CNTU=0に応じてIOバッファ回路53,54内のFET33がオフのままとなる。これにより内部プルアップ抵抗R11が無効となる。制御信号CNTD=0に応じてIOバッファ回路53,54内のFET34がオフとなり、内部プルダウン抵抗R12が無効となる。よって、外部プルアップ抵抗R3,R4により信号Aが論理1を示すことが可能となる。
【0050】
外部プルアップ抵抗がない場合には、時点T22以降においてはCNTU=1,CNTD=0と設定されるので、制御信号CNTU=1に応じてIOバッファ回路53,54内のFET33がオンとなる。これにより内部プルアップ抵抗R11が有効となる。また、制御信号CNTD=0に応じてIOバッファ回路53,54内のFET34がオフとなり、内部プルダウン抵抗R12が無効となる。よって、内部プルアップ抵抗R11の有効により信号Aが論理1を示すことが可能となる。
【0051】
このように、上記した第2の実施例においては、LSI間にバスラインB1,B2に外部プルアップ抵抗が配置されていない場合に、IOバッファ回路53,54内の内部プルアップ抵抗R11が有効状態とされてバスラインB1,B2に作用することになる。LSI間にバスラインB1,B2に外部プルアップ抵抗が配置されている場合に、IOバッファ回路53,54内の内部プルアップ抵抗R11が無効状態とされてバスラインB1,B2に作用せず、外部プルアップ抵抗がそのまま利用されることになる。よって、バスラインに外部プルアップ抵抗が配置されているか否かに関わらず、LSI間で正常にバス伝送を行うことができる。また、外部プルアップ抵抗が配置されている既存のバスラインに上記の第2の実施例のLSIを接続する場合を除き、バスラインには外部プルアップ抵抗を特に配置する必要がないので、LSI外部部品の削減、及びバスライン使用時の消費電流低減を図ることができる。更に、リセット解除後のステップS23及びS24をハードウエアにて独立動作する制御回路55を配置することにより、第1の実施例のようにMCUからの制御が不要になるため、プルアップ制御完了時間の短縮、及び内部プログラムコードの圧縮が可能となる。また、制御回路55はクロック信号を利用して時間的長さを検出する構成としたので、比較的簡単な構成にすることができ、これによりLSIのチップ面積の増大を抑制することができる。
【0052】
なお、上記した各実施例においては、LSI間に2つのバスラインが設けられているが、これに限定されない。LSI間は単一バスラインで接続されても良いし、3つ以上のバスラインで接続されても良い。
【0053】
また、上記した各実施例においては、半導体装置としてLSIが示されているが、これに限定されず、SSI(Small Scale Integration)やMSI(Medium Scale Integration)等のIC(集積回路)でも良い。更に、外部装置はLSI等のICに限らず、バス接続回路を有する装置であれば良い。
【符号の説明】
【0054】
1,2,5,6,7,8 LSI
11,21,51 MCU
12,22,52 I2C回路
13,1423,24,53,54 IOバッファ回路
25 インターフェース回路
55 制御回路
R1,R2,R3,R4 外部プルアップ抵抗
R11 内部プルアップ抵抗
R12 内部プルダウン抵抗
【技術分野】
【0001】
本発明は、外部装置との通信のためのバス接続回路を備えた半導体装置及びそのバス接続方法に関する。
【背景技術】
【0002】
図1は各々が同一のバス接続回路を備えた2つの従来の半導体装置(LSI:Large Scale Integration)1,2の回路構成を示している。そのバス接続回路はいわゆるI2Cバス対応回路である。LSI1,2各々はバス接続回路として、MCU(マイクロコントロールユニット)11、I2C回路12、及び2つのIOバッファ回路13,14を備える他、接続端子としてシリアルクロック端子SCL,シリアルデータ端子SDAを有している。MCU11はLSI全体を制御する演算処理装置で図示しない内部ROM又はRAMに保存されたプログラムに応じて動作する。I2C回路12はMCU11によって制御され、I2Cバス機能を制御する論理回路である。I2C回路12は具体的にはIOバッファ回路13,14各々に出力イネーブル信号OEを個別に出力し、IOバッファ回路13,14から個別に受信信号Aを受け入れる。IOバッファ回路13,14各々はオープンドレイン機能を有する入力出力バッファであり、クロック信号の入出力のためのIOバッファ回路13はシリアルクロック端子SCLに接続され、データ信号の入出力のためのIOバッファ回路14はシリアルクデータ端子SDAに接続されている。
【0003】
LSI1,2各々のシリアルクロック端子SCLはバスラインB1によって互いに接続され、シリアルデータ端子SDAはバスラインB2によって互いに接続されている。バスラインB1には電圧VDDがプルアップ抵抗R1を介して印加され、バスラインB2には電圧VDDがプルアップ抵抗R2を介して印加されている。
【0004】
IOバッファ回路13,14各々は図2に示すように、イネーブル端子付きの出力バッファ15と入力バッファ16とを有している。出力バッファ15はイネーブル端子15aに供給される出力イネーブル信号OEに応じて動作する。IOバッファ回路13の場合には出力イネーブル信号OEが論理0を示す低レベルのときに出力バッファ15はクロック信号をシリアルクロック端子SCLに出力する。IOバッファ回路14の場合には出力イネーブル信号OEが論理0を示す低レベルのときに出力バッファ15はデータ信号をシリアルデータ端子SDAに出力する。出力イネーブル信号OEが論理1を示す高レベルのときには出力バッファ15はハイインピーダンス状態となる。入力バッファ16はIOバッファ回路13の場合にはシリアルクロック端子SCLの信号を上記の受信信号AとしてI2C回路12に出力し、IOバッファ回路14の場合にはシリアルデータ端子SDAの信号を上記の受信信号AとしてI2C回路12に出力する。
【0005】
IOバッファ回路13,14の入出力信号の真理値表を示すと、図3の通りである。ここで、OEは出力イネーブル信号OEの論理値であり、Aは受信信号Aの論理値であり、Yは端子SCL又はSDAにおける論理値である。Hizはハイインピーダンス状態であり、Xは0,1のいずれでもない状態である。
【0006】
図4はLSI1,2間のI2Cバスのバス権獲得時の各信号OE,A,Yのタイムチャートを示している。マスター側のLSI1では、IOバッファ回路13の出力イネーブル信号OEが論理0に設定されると、クロック端子SCLの信号Yが論理0に遷移する。次に、そのIOバッファ回路13の出力イネーブル信号OEが論理1に変化すると、出力バッファ15がハイインピーダンス状態となり、プルアップ抵抗R1によって信号Yは論理1に遷移する。その後、IOバッファ回路14の出力イネーブル信号OEが論理0に設定されると、データ端子SDAの信号Yが論理0に遷移する。このようにクロック端子SCLが論理1のときにデータ端子SDAが論理0になると、スタート条件が成立してI2Cバス権獲得が完了する。クロック端子SCLが論理1のときがデータ端子SDAのデータ有効期間となり、クロック端子SCLが論理0のときがデータ変化許可期間となる。図4中のデータ端子SDAの信号YのDout0,Dout1,...がマスター側のLSI1からスレーブ側のLSI2に伝送されるデータであり、スレーブ側のLSI2のデータ端子SDAの信号YのDin0,Din1,...が受信したデータである。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平2−138612号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
かかる従来のバス接続回路を備えたLSIの構成ではLSIの外部のバスラインに複数のLSIが接続されることを考慮して十分な電流を各LSIのバス接続回目に供給できるように必ず抵抗値の低いプルアップ抵抗が必要であり、そのために外部部品点数が多くなりプルアップ抵抗に流れる電流値が大きくなるという問題があった。
【0009】
それに対処するために、例えば、特許文献1に開示されているようにプルアップ抵抗をLSIに内蔵させる技術が採用されている。
【0010】
しかしながら、バスラインにプルアップ抵抗を接続することなくプルアップ抵抗を内蔵したLSIを用いてLSI間でバス通信を行う場合に限らない。例えば、少なくともLSI及びバスラインを備えた既存のシステムにプルアップ抵抗を内蔵したLSIが搭載される場合には、そのシステムのバスラインに備えられたプルアップ抵抗を利用してLSI間でバス通信を行う必要があるため、プルアップ抵抗を内蔵しただけのLSIでは、既存のシステムに搭載しても所望のバス通信動作が得られないという問題があった。
【0011】
そこで、本発明の目的は、バスラインにプルアップ抵抗が接続されているか否かに関わらず所望のバス通信動作を得ることができる半導体装置及びそのバス接続方法を提供することである。
【課題を解決するための手段】
【0012】
本発明の半導体装置は、外部装置とバスラインを介した通信のためのバス接続回路を備えた半導体装置であって、前記バス接続回路は、内部プルアップ抵抗及び内部プルダウン抵抗と、前記バスラインに前記内部プルダウン抵抗を介してプルダウン電圧を印加し、前記プルダウン電圧の印加時の前記バスラインの電圧レベルに応じて前記バスラインへの前記半導体装置外の外部プルアップ抵抗の接続があるか否かを判定する外部プルアップ判定手段と、前記外部プルアップ判定手段によって前記バスラインへの前記外部プルアップ抵抗の接続がないと判定されたとき前記プルダウン電圧の印加を停止して前記バスラインに前記内部プルアップ抵抗を介してプルアップ電圧を印加し、前記外部プルアップ判定手段によって前記バスラインへの前記外部プルアップ抵抗の接続があると判定されたとき前記プルダウン電圧の印加を停止する内部プルアップ設定手段と、を備えることを特徴としている。
【0013】
本発明のバス接続方法は、外部装置とバスラインを介した通信を行う半導体装置のバス接続方法であって、前記バスラインに前記半導体装置内の内部プルダウン抵抗を介してプルダウン電圧を印加するプルダウン電圧印加ステップと、前記プルダウン電圧の印加時の前記バスラインの電圧レベルに応じて前記バスラインへの前記半導体装置外の外部プルアップ抵抗の接続があるか否かを判定する外部プルアップ判定ステップと、前記外部プルアップ判定ステップにおいて前記バスラインへの前記外部プルアップ抵抗の接続がないと判定されたとき前記プルダウン電圧の印加を停止して前記バスラインに前記半導体装置内の内部プルアップ抵抗を介してプルアップ電圧を印加し、前記外部プルアップ判定ステップにおいて前記バスラインへの前記外部プルアップ抵抗の接続があると判定されたとき前記プルダウン電圧の印加を停止する内部プルアップ設定ステップと、を備えることを特徴としている。
【発明の効果】
【0014】
本発明の半導体装置及びバス接続方法によれば、バスラインに半導体装置内の内部プルダウン抵抗を介してプルダウン電圧を印加し、そのプルダウン電圧の印加時のバスラインの電圧レベルに応じてバスラインへの半導体装置外の外部プルアップ抵抗の接続があるか否かを判定し、バスラインへの外部プルアップ抵抗の接続がないときにはプルダウン電圧の印加を停止してバスラインに半導体装置内の内部プルアップ抵抗を介してプルアップ電圧を印加し、バスラインへの外部プルアップ抵抗の接続があるときにはプルダウン電圧の印加を停止するので、バスラインに外部プルアップ抵抗が接続されているか否かに関わらず所望のバス通信動作を得ることができる。
【図面の簡単な説明】
【0015】
【図1】バス接続回路を備えた従来のLSIを示すブロック図である。
【図2】図1のLSI中のIOバッファ回路の内部構成を示す回路図である。
【図3】図2のバッファ回路の入出力真理値表を示す図である。
【図4】バス権獲得時のバッファ回路の各信号のタイムチャートを示す図である。
【図5】本発明の第1の実施例としてバス接続回路を備えたLSIを示すブロック図である。
【図6】図5のLSI中のIOバッファ回路を示す回路図である。
【図7】図6のバッファ回路の入出力真理値表を示す図である。
【図8】図5のLSI中の制御回路の構成を示すブロック図である。
【図9】LSI間に外部プルアップ抵抗が設けられていないバス接続を示す図である。
【図10】LSI間に外部プルアップ抵抗が設けられたバス接続を示す図である。
【図11】図5のLSIの電源投入から通常動作までの動作を示すフローチャートである。
【図12】外部プルアップ抵抗がない場合のプルアップ制御時のバッファ回路内の各信号のタイムチャートを示す図である。
【図13】外部プルアップ抵抗がある場合のプルアップ制御時のバッファ回路内の各信号のタイムチャートを示す図である。
【図14】本発明の第2の実施例としてバス接続回路を備えたLSIを示すブロック図である。
【図15】図14のLSI中の制御回路の構成を示すブロック図である。
【図16】LSI間に外部プルアップ抵抗が設けられていないバス接続を示す図である。
【図17】LSI間に外部プルアップ抵抗が設けられたバス接続を示す図である。
【図18】図14のLSIの電源投入から通常動作までの動作を示すフローチャートである。
【図19】外部プルアップ抵抗がある場合及びそれがない場合各々のプルアップ制御時のバッファ回路内の各信号のタイムチャートを示す図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施例を図面を参照しつつ詳細に説明する。
【0017】
図5は本発明の第1の実施例としてバス接続回路を備えたLSI5の回路構成を示している。LSI5はバス接続回路としてMCU21、I2C回路22、2つのIOバッファ回路23,24、及びインターフェース回路25を備えている。
【0018】
MCU21及びI2C回路22は図1に示したMCU11及びI2C回路12と同一構成のものである。ただし、MCU21はI2C回路22に接続される他に、インターフェース回路25にも接続されている。
【0019】
クロック信号が入力されるIOバッファ回路23は、図6に示すように、イネーブル端子付きの出力バッファ31、入力バッファ32、電界効果トランジスタ(FET)33,34、抵抗R11(内部プルアップ抵抗),R12(内部プルダウン抵抗)、シリアルクロック端子SCLを備えている。出力バッファ31及び入力バッファ32は図2に示した出力バッファ15と入力バッファ16と同様の接続構成とされている。電圧VDD(プルアップ電圧)の印加端子とクロック端子SCLとの間にFET33(第1スイッチ素子)のドレイン・ソース間及びプルアップ抵抗R11の直列回路が設けられている。クロック端子SCLとグランド電位VSS(プルダウン電圧)の印加端子との間にプルダウン抵抗R12及びFET34(第2スイッチ素子)のドレイン・ソース間及びの直列回路が設けられている。FET33のゲートにはインターフェース回路25から制御信号CNTUが供給され、FET24のゲートにはインターフェース回路25から制御信号CNTDが供給されるようにされている。抵抗R11,R12の抵抗値は図1に示したプルダウン抵抗R1、R2のそれに比べて高くされている。これは消費電流の削減のためである。
【0020】
IOバッファ回路24においては、データ信号が入力されるので、シリアルクロック端子SCLに代えてシリアルデータ端子SDAであることを除いてIOバッファ回路23と同一の構成が備えられている。
【0021】
IOバッファ回路23,24の入出力信号OE,クロック信号又はデータ信号,CNTU,CNTD,A,Yの真理値表を示すと、図7の通りである。
【0022】
インターフェース回路25は、MCU11とIOバッファ回路23,24との間に設けられており、MCU21の指令に応じて上記のCNTU,CNTDを生成し、また、IOバッファ回路23の信号AをMCU11に中継する。MCU21及びインターフェース回路25によって外部プルアップ判定手段及び内部プルアップ設定手段が構成される。
【0023】
インターフェース回路25は、具体的には図8に示すように、ライトデコーダ41、レジスタ42、及びリードレコーダ43を備えている。ライトデコーダ41にはMCU21からアドレス信号address及びライトイネーブル信号wrが供給される。ライトデコーダ41はライトイネーブル信号wrが例えば、論理1を示すときアドレス信号addressに応じて動作してレジスタ42に書き込み信号wenを出力する。レジスタ42は書き込み信号wenが供給されたときMCU21からのライトデータdata_iを制御信号CNTU,CNTDとして保持出力する。リードレコーダ43にはMCU21からアドレス信号address及びチップセレクタ信号csが供給される他、レジスタ42の保持内容及びIOバッファ回路23の信号Aが供給される。チップセレクタ信号csが例えば、論理1を示すときリードレコーダ43はアドレス信号addressに応じて動作してレジスタ42の保持内容及び信号Aのいずれか一方を選択的にデータ通知信号data_oとしてMCU21に出力する。
【0024】
かかる構成のバス接続回路を備えたLSI5は図9に示すように、外部プルアップ抵抗を設けることなく他のLSI6とバスラインB1,B2によって接続され得るが、図10に示すように、外部プルアップ抵抗R3、R4を設けて他のLSI6とバスラインB1,B2によって接続されることも可能である。LSI6はLSI5と同一構成であっても、また図1に示したLSI1,2と同一構成であっても良い。
【0025】
マスターLSIであるLSI5とスレーブLSIであるLSI6との間では、例えば、LSI6に設けられたEPROMに書き込むべきデータが信号としてLSI5からLSI6にクロック信号に同期して伝送される際に、このバス接続回路が利用される。
【0026】
なお、図9及び図10においてLSI5にバスラインB1,B2を介して接続されるスレーブLSI6は1つに限らず、複数のLSIでも良い。
【0027】
LSI5は電源が投入されてから通常動作を開始するまでにおいて制御信号CNTUの論理値を設定するために図11に示すように動作する。先ず、LSI5に電源が投入されると(ステップS1)、LSI5内の各部のリセット状態が解除される(ステップS2)。
【0028】
MCU21はプログラムに従った動作を開始するために初期化を行い(ステップS3)、そしてプルアップ制御を開始する(ステップS4)。
【0029】
プルアップ制御を開始すると、図11に示すように、インターフェース回路25に制御信号CNTDを論理1に設定させる(ステップS5)。ステップS5(第1ステップ及びプルダウン電圧印加ステップ各々に相当する)はMCU21がI2C回路22に出力イネーブル信号OEを論理1にさせる指令を発すると同時に、アドレス信号address、ライトイネーブル信号wr及びライトデータdata_i各々をCNTD=1のために設定することにより行われる。この設定されたアドレス信号address及びライトイネーブル信号wrに応じてライトデコーダ41が動作してライトデータdata_iがレジスタ42に保持される。制御信号CNTD=1に応じてIOバッファ回路23内のFET34がオンとなり、内部プルダウン抵抗R12が有効になる。なお、このとき制御信号CNTUは論理0を示すので、FET33はオフである。
【0030】
バスラインB1に図9に示したように外部プルアップ抵抗がないならば、クロック端子SCLの信号Yはオン状態のFET34及び抵抗R12を介して印加されるグランド電位VSSによって論理0となる。一方、バスラインB1に図10に示したように外部プルアップ抵抗R3が接続されているならば、バスラインB1には電圧VDD(プルアップ電圧)が外部プルアップ抵抗R3を介して印加されるので、クロック端子SCLの信号Yは論理1となる。図7の真理値表から分かるように、OE=1,CNTD=1のときには出力バッファ31の出力信号Aでは信号Yの論理値に等しい論理値が得られる。
【0031】
次に、MCU21はIOバッファ回路23の信号Aが論理0を示すか否かを判別する(ステップS6)。ステップS6(第2,第3ステップ及び外部プルアップ判定ステップ各々に相当する)では、先ず、MCU21はIOバッファ回路23の信号Aが供給されるようにMCU21がアドレス信号address及びチップセレクタ信号csを設定することが行われる。この結果、リードレコーダ43はMCU21からアドレス信号address及びチップセレクタ信号csに応じてIOバッファ回路23の信号Aをデータ通知信号data_oとしてMCU21に出力する。よって、MCU21はデータ通知信号data_oiに応じてIOバッファ回路23の信号Aの論理値を判別することができる。ここで、A=0と判別したならば、外部プルアップ抵抗がないので制御信号CNTUを論理1に設定させ、制御信号CNTDを論理0に設定させる(ステップS7)。一方、A=1と判別したならば、外部プルアップ抵抗があるので制御信号CNTUを論理0に設定させ、制御信号CNTDを論理0に設定させる(ステップS8)。
【0032】
ステップS7(第4ステップ及び内部プルアップ設定ステップ各々に相当する)は、外部プルアップ抵抗がないことを検出した場合の対処であり、MCU21がI2C回路22に出力イネーブル信号OEを論理0にさせる指令を発すると同時に、アドレス信号address、ライトイネーブル信号wr及びライトデータdata_i各々をCNTU=1,CNTD=0のために設定することにより行われる。この設定されたアドレス信号address及びライトイネーブル信号wrに応じてライトデコーダ41が動作してライトデータdata_iがレジスタ42に保持されることにより達成される。制御信号CNTU=1に応じてIOバッファ回路23,24内のFET33がオンとなる。これにより内部プルアップ抵抗R11が有効となる。また、制御信号CNTD=0に応じてIOバッファ回路23,24内のFET34がオフとなり、内部プルダウン抵抗R12が無効となる。
【0033】
ステップS8(第5ステップ及び内部プルアップ設定ステップ各々に相当する)は、外部プルアップ抵抗があることを検出した場合の対処であり、MCU21がI2C回路22に出力イネーブル信号OEを論理0にさせる指令を発すると同時に、アドレス信号address、ライトイネーブル信号wr及びライトデータdata_i各々をCNTU=0,CNTD=0のために設定することにより行われる。この設定されたアドレス信号address及びライトイネーブル信号wrに応じてライトデコーダ41が動作してライトデータdata_iがレジスタ42に保持されることにより達成される。制御信号CNTU=0に応じてIOバッファ回路23,24内のFET33がオフのままとなる。これにより内部プルアップ抵抗R11が無効となる。制御信号CNTD=0に応じてIOバッファ回路23,24内のFET34がオフとなり、内部プルダウン抵抗R12が無効となる。
【0034】
MCU21はステップS7又はS8を実行すると、プルアップ制御を完了し(ステップS9)、通常動作に移行する。
【0035】
図12は外部プルアップ抵抗がない場合のプルアップ制御時の信号OE,CNTD,CNTU,A,Yの変化を示している。すなわち、時点T0でステップS5による出力イネーブル信号及び制御信号CNTDが論理1に設定され、その直後の時点T1でステップS6による信号Aが論理0であることが検出される。更に、その後、時点T2でステップS7によるCNTD=0,CNTU=1の設定が実行されるので、その直後において内部プルアップ抵抗R11の有効により信号A,Yが論理1を示すことになる。
【0036】
図13は外部プルアップ抵抗がある場合のプルアップ制御時の信号OE,CNTD,CNTU,A,Yの変化を示している。すなわち、時点T10でステップS5による出力イネーブル信号及び制御信号CNTDが論理1に設定され、その直後の時点T11でステップS6による信号Aが論理1であることが検出される。更に、その後、時点T12でステップS8によるCNTD=0,CNTU=0の設定が実行されるので、外部プルアップ抵抗R3の存在により信号A,Yが論理1をそのまま示し続けることになる。
【0037】
このように、上記した第1の実施例においては、LSI間にバスラインB1,B2に外部プルアップ抵抗が配置されていない場合に、IOバッファ回路23,24内の内部プルアップ抵抗R11が有効状態とされてバスラインB1,B2に作用することになる。LSI間にバスラインB1,B2に外部プルアップ抵抗が配置されている場合に、IOバッファ回路23,24内の内部プルアップ抵抗R11が無効状態とされてバスラインB1,B2に作用せず、外部プルアップ抵抗がそのまま利用されることになる。よって、バスラインに外部プルアップ抵抗が配置されているか否かに関わらず、LSI間で正常にバス伝送を行うことができる。また、外部プルアップ抵抗が配置されている既存のバスラインに上記の第1の実施例のLSIを接続する場合を除き、バスラインには外部プルアップ抵抗を特に配置する必要がないので、LSI外部部品の削減、及びバスライン使用時の消費電流低減を図ることができる。更に、LSI内に備えられるべきMCUをプルアップ制御に利用するので、LSIに追加するハードウエア構成としては簡単な構成のインターフェース回路だけで済むという利点もある。
【0038】
図14は本発明の第2の実施例としてバス接続回路を備えたLSI7の回路構成を示している。LSI7はバス接続回路としてMCU51、I2C回路52、2つのIOバッファ回路53,54、及び制御回路55を備えている。
【0039】
MCU51及びI2C回路52は図1に示したMCU11及びI2C回路12と同一構成のものである。IOバッファ回路53,54は図5に示したIOバッファ回路23,24と同一構成である。すなわち、IOバッファ回路53,54は図6の如き構成を有する。
【0040】
制御回路55は、IOバッファ回路53,54に接続されており、LSI7への電源投入直後にリセット信号及びクロック信号に応じて上記のCNTU,CNTDを生成してそれらをIOバッファ回路53,54に供給する。
【0041】
制御回路55は、具体的には図15に示すように、カウンタ61、PD(プルダウン)制御回路62、及び検出回路63を備えている。カウンタ61にはリセット発生器(図示せず)からリセット信号が供給されると共に、クロック発生器(図示せず)からクロック信号が供給される。リセット発生器及びクロック発生器はLSI7内部にあっても良いし、LSI7外部にあっても良い。カウンタ61はリセット信号が論理0から論理1に移行してLSI7のリセット状態が解除されると、クロック信号のパルスを計数してその計数値を出力する。計数は予め定められた設定値REFまで行われる。設定値REFはカウンタ61の計数時間としては例えば、10μsecに相当する。カウンタ61の計数値は計数信号としてPD制御回路62及び検出回路63に供給される。
【0042】
PD制御回路62はカウンタ61の計数値に応じて制御信号CNTDを生成し、その制御信号CNTDをIOバッファ回路53,54に供給する。PD制御回路62はリセット信号が論理0から論理1に移行してからカウンタ61の計数値が設定値REFに達するまで制御信号CNTDを論理1として出力し、それ以外のときには制御信号CNTDを論理0として出力する。
【0043】
検出回路63はカウンタ61の計数値が設定値に達した時点においてIOバッファ回路53の信号Aの論理値を検出し、その検出結果に応じて制御信号CNTUの論理値を設定する。すなわち、検出した信号Aが論理値1であるとき制御信号CNTUを論理値1として出力し、検出した信号Aが論理値0であるとき制御信号CNTUを論理値0として出力する。
【0044】
かかる構成のバス接続回路を備えたLSI7は図16に示すように、外部プルアップ抵抗を設けることなく他のLSI8とバスラインB1,B2によって接続され得るが、図17に示すように、外部プルアップ抵抗R3、R4を設けて他のLSI8とバスラインB1,B2によって接続されることも可能である。LSI7はLSI5又は7と同一構成であっても、また図1に示したLSI1,2と同一構成であっても良い。
【0045】
LSI7は電源が投入されてから通常動作を開始するまでにおいて制御信号CNTUの論理値を設定するために図18に示すように動作する。先ず、LSI7に電源が投入されると(ステップS11)、リセット信号が論理0から論理1に移行してLSI7のリセット状態が解除される(ステップS12)。次に、カウンタ61にクロック信号が供給されるので、カウンタ61のカウントアップが開始される(ステップS13)。その後、カウンタ61の計数値に応じてPD制御回路62及び検出回路63によるプルアップ判定動作が実行される(ステップS14)。
【0046】
プルアップ判定動作においては、図19に示すように、時点T21でリセット信号が論理0から論理1に移行してLSI7のリセット状態が解除されると、その直後においてクロック信号のパルスの計数がカウンタ61によって開始される。カウンタ61の計数値は例えば、初期値の0000から徐々に上昇する。このカウンタ61の計数中にはPD制御回路62からは論理1の制御信号CNTDが生成され、検出回路63からは論理0の制御信号CNTUが生成される。その論理1の制御信号CNTDに応じてIOバッファ回路53内のFET33がオンとなる。これにより内部プルアップ抵抗R11が有効となる。また、論理0の制御信号CNTUに応じてIOバッファ回路53内のFET34がオフとなり、内部プルダウン抵抗R12が無効となる。
【0047】
その後の時点T22でカウンタ61の計数値が設定値REFに達すると、検出回路63は信号Aの論理を検出する。図19に示すように、外部プルアップ抵抗がある場合には検出回路63はA=1を検出するので、制御信号CNTUを論理0に設定させて出力する。一方、外部プルアップ抵抗がない場合には検出回路63はA=0を検出するので、制御信号CNTUを論理1に設定させて出力する。なお、検出回路63はカウンタ61の計数中においてA=1を検出した場合には制御信号CNTUを論理0に設定させて出力しても良い。
【0048】
また、カウンタ61の計数値が設定値REFに達すると、PD制御回路62は制御信号CNTDを論理0にして出力する。
【0049】
外部プルアップ抵抗がある場合には、時点T22以降においてはCNTU=0,CNTD=0と設定されるので、制御信号CNTU=0に応じてIOバッファ回路53,54内のFET33がオフのままとなる。これにより内部プルアップ抵抗R11が無効となる。制御信号CNTD=0に応じてIOバッファ回路53,54内のFET34がオフとなり、内部プルダウン抵抗R12が無効となる。よって、外部プルアップ抵抗R3,R4により信号Aが論理1を示すことが可能となる。
【0050】
外部プルアップ抵抗がない場合には、時点T22以降においてはCNTU=1,CNTD=0と設定されるので、制御信号CNTU=1に応じてIOバッファ回路53,54内のFET33がオンとなる。これにより内部プルアップ抵抗R11が有効となる。また、制御信号CNTD=0に応じてIOバッファ回路53,54内のFET34がオフとなり、内部プルダウン抵抗R12が無効となる。よって、内部プルアップ抵抗R11の有効により信号Aが論理1を示すことが可能となる。
【0051】
このように、上記した第2の実施例においては、LSI間にバスラインB1,B2に外部プルアップ抵抗が配置されていない場合に、IOバッファ回路53,54内の内部プルアップ抵抗R11が有効状態とされてバスラインB1,B2に作用することになる。LSI間にバスラインB1,B2に外部プルアップ抵抗が配置されている場合に、IOバッファ回路53,54内の内部プルアップ抵抗R11が無効状態とされてバスラインB1,B2に作用せず、外部プルアップ抵抗がそのまま利用されることになる。よって、バスラインに外部プルアップ抵抗が配置されているか否かに関わらず、LSI間で正常にバス伝送を行うことができる。また、外部プルアップ抵抗が配置されている既存のバスラインに上記の第2の実施例のLSIを接続する場合を除き、バスラインには外部プルアップ抵抗を特に配置する必要がないので、LSI外部部品の削減、及びバスライン使用時の消費電流低減を図ることができる。更に、リセット解除後のステップS23及びS24をハードウエアにて独立動作する制御回路55を配置することにより、第1の実施例のようにMCUからの制御が不要になるため、プルアップ制御完了時間の短縮、及び内部プログラムコードの圧縮が可能となる。また、制御回路55はクロック信号を利用して時間的長さを検出する構成としたので、比較的簡単な構成にすることができ、これによりLSIのチップ面積の増大を抑制することができる。
【0052】
なお、上記した各実施例においては、LSI間に2つのバスラインが設けられているが、これに限定されない。LSI間は単一バスラインで接続されても良いし、3つ以上のバスラインで接続されても良い。
【0053】
また、上記した各実施例においては、半導体装置としてLSIが示されているが、これに限定されず、SSI(Small Scale Integration)やMSI(Medium Scale Integration)等のIC(集積回路)でも良い。更に、外部装置はLSI等のICに限らず、バス接続回路を有する装置であれば良い。
【符号の説明】
【0054】
1,2,5,6,7,8 LSI
11,21,51 MCU
12,22,52 I2C回路
13,1423,24,53,54 IOバッファ回路
25 インターフェース回路
55 制御回路
R1,R2,R3,R4 外部プルアップ抵抗
R11 内部プルアップ抵抗
R12 内部プルダウン抵抗
【特許請求の範囲】
【請求項1】
外部装置とバスラインを介した通信のためのバス接続回路を備えた半導体装置であって、
前記バス接続回路は、内部プルアップ抵抗及び内部プルダウン抵抗と、
前記バスラインに前記内部プルダウン抵抗を介してプルダウン電圧を印加し、前記プルダウン電圧の印加時の前記バスラインの電圧レベルに応じて前記バスラインへの前記半導体装置外の外部プルアップ抵抗の接続があるか否かを判定する外部プルアップ判定手段と、
前記外部プルアップ判定手段によって前記バスラインへの前記外部プルアップ抵抗の接続がないと判定されたとき前記プルダウン電圧の印加を停止して前記バスラインに前記内部プルアップ抵抗を介してプルアップ電圧を印加し、前記外部プルアップ判定手段によって前記バスラインへの前記外部プルアップ抵抗の接続があると判定されたとき前記プルダウン電圧の印加を停止する内部プルアップ設定手段と、を備えることを特徴とする半導体装置。
【請求項2】
前記外部プルアップ判定手段は、前記バスラインの電圧レベルが前記プルダウン電圧に等しいとき前記バスラインへの前記外部プルアップ抵抗の接続がないと判定し、前記バスラインの電圧レベルが前記プルアップ電圧に等しいとき前記バスラインへの前記外部プルアップ抵抗の接続があると判定することを特徴とする請求項1記載の半導体装置。
【請求項3】
前記バス接続回路は、前記内部プルアップ抵抗と第1のスイッチ素子との第1直列回路を有し、前記プルアップ電圧が第1直列回路を介して前記バスラインへの接続端子に印加される内部プルアップ回路と、
前記内部プルダウン抵抗と第2のスイッチ素子との第2直列回路を有し、前記プルダウン電圧が第2直列回路を介して前記接続端子に印加される内部プルダウン回路と、を更に備え、
前記外部プルアップ判定手段は、前記第2スイッチ素子をオンさせることにより前記バスラインに前記内部プルダウン抵抗を介して前記プルダウン電圧を印加し、
前記内部プルアップ設定手段は、前記第2スイッチ素子をオフさせることにより前記プルダウン電圧の印加を停止し、前記第1スイッチ素子をオンさせることにより前記バスラインに前記内部プルアップ抵抗を介して前記プルアップ電圧を印加することを特徴とする請求項1又は2記載の半導体装置。
【請求項4】
前記外部プルアップ判定手段及び前記内部プルアップ設定手段は、MCU(マイクロコントロールユニット)とインターフェース回路とによって構成され、
前記MCUは
前記インターフェース回路に前記第2スイッチ素子をオンさせる第1ステップと、
前記インターフェース回路に前記接続端子の電圧レベルを前記MCUに供給させる第2ステップと、
前記電圧レベルに応じて前記バスラインへの外部プルアップ抵抗の接続があるか否かを判定する第3ステップと、
前記電圧レベルが前記プルダウン電圧に等しいとき前記インターフェース回路に前記第2スイッチ素子をオフさせかつ前記第1スイッチ素子をオンさせる第4ステップと、
前記電圧レベルが前記プルアップ電圧に等しいとき前記インターフェース回路に前記第2スイッチ素子をオフさせる第5ステップと、を順に実行することを特徴とする請求項3記載の半導体装置。
【請求項5】
前記外部プルアップ判定手段及び前記内部プルアップ設定手段は、制御回路によって構成され、
前記制御回路は、クロック信号のパルスを初期値から計数するカウンタと、
前記カウンタの計数値が設定値に達するまでにおいて前記第2スイッチ素子をオンさせ、前記カウンタの計数値が前記設定値に達したとき前記第2スイッチ素子をオフさせるプルダウン制御回路と、
前記カウンタの計数値が前記設定値に達したとき前記電圧レベルが前記プルダウン電圧に等しいことを検出したならば前記第1スイッチ素子をオンさせる検出回路と、を備えることを特徴とする請求項3記載の半導体装置。
【請求項6】
前記外部プルアップ判定手段及び前記内部プルアップ設定手段は、前記半導体装置への電源投入直後に動作することを特徴とする請求項1〜5のいずれか1記載の半導体装置。
【請求項7】
外部装置とバスラインを介した通信を行う半導体装置のバス接続方法であって、
前記バスラインに前記半導体装置内の内部プルダウン抵抗を介してプルダウン電圧を印加するプルダウン電圧印加ステップと、
前記プルダウン電圧の印加時の前記バスラインの電圧レベルに応じて前記バスラインへの前記半導体装置外の外部プルアップ抵抗の接続があるか否かを判定する外部プルアップ判定ステップと、
前記外部プルアップ判定ステップにおいて前記バスラインへの前記外部プルアップ抵抗の接続がないと判定されたとき前記プルダウン電圧の印加を停止して前記バスラインに前記半導体装置内の内部プルアップ抵抗を介してプルアップ電圧を印加し、前記外部プルアップ判定ステップにおいて前記バスラインへの前記外部プルアップ抵抗の接続があると判定されたとき前記プルダウン電圧の印加を停止する内部プルアップ設定ステップと、を備えることを特徴とするバス接続方法。
【請求項8】
前記外部プルアップ判定ステップは、前記バスラインの電圧レベルが前記プルダウン電圧に等しいとき前記バスラインへの前記外部プルアップ抵抗の接続がないと判定し、前記バスラインの電圧レベルが前記プルアップ電圧に等しいとき前記バスラインへの前記外部プルアップ抵抗の接続があると判定することを特徴とする請求項6記載のバス接続方法。
【請求項9】
クロック信号のバルスを初期値から計数して計数値を生成するカウントステップを備え、
前記プルダウン電圧印加ステップは前記カウントステップの前記計数値が設定値に達するまでにおいて前記プルダウン電圧の印加を行い、
内部プルアップ設定ステップは、前記カウントステップの前記計数値が設定値に達したときに前記外部プルアップ判定ステップによって前記電圧レベルが前記プルダウン電圧に等しいことが検出されたならば、前記プルダウン電圧の印加を停止して前記バスラインに前記内部プルアップ抵抗を介してプルアップ電圧を印加するステップと、
前記カウントステップの前記計数値が設定値に達したときに前記外部プルアップ判定ステップによって前記電圧レベルが前記プルアップ電圧に等しいことが検出されたならば、前記プルダウン電圧の印加を停止するステップと、を備えることを特徴とする請求項8記載のバス接続方法。
【請求項1】
外部装置とバスラインを介した通信のためのバス接続回路を備えた半導体装置であって、
前記バス接続回路は、内部プルアップ抵抗及び内部プルダウン抵抗と、
前記バスラインに前記内部プルダウン抵抗を介してプルダウン電圧を印加し、前記プルダウン電圧の印加時の前記バスラインの電圧レベルに応じて前記バスラインへの前記半導体装置外の外部プルアップ抵抗の接続があるか否かを判定する外部プルアップ判定手段と、
前記外部プルアップ判定手段によって前記バスラインへの前記外部プルアップ抵抗の接続がないと判定されたとき前記プルダウン電圧の印加を停止して前記バスラインに前記内部プルアップ抵抗を介してプルアップ電圧を印加し、前記外部プルアップ判定手段によって前記バスラインへの前記外部プルアップ抵抗の接続があると判定されたとき前記プルダウン電圧の印加を停止する内部プルアップ設定手段と、を備えることを特徴とする半導体装置。
【請求項2】
前記外部プルアップ判定手段は、前記バスラインの電圧レベルが前記プルダウン電圧に等しいとき前記バスラインへの前記外部プルアップ抵抗の接続がないと判定し、前記バスラインの電圧レベルが前記プルアップ電圧に等しいとき前記バスラインへの前記外部プルアップ抵抗の接続があると判定することを特徴とする請求項1記載の半導体装置。
【請求項3】
前記バス接続回路は、前記内部プルアップ抵抗と第1のスイッチ素子との第1直列回路を有し、前記プルアップ電圧が第1直列回路を介して前記バスラインへの接続端子に印加される内部プルアップ回路と、
前記内部プルダウン抵抗と第2のスイッチ素子との第2直列回路を有し、前記プルダウン電圧が第2直列回路を介して前記接続端子に印加される内部プルダウン回路と、を更に備え、
前記外部プルアップ判定手段は、前記第2スイッチ素子をオンさせることにより前記バスラインに前記内部プルダウン抵抗を介して前記プルダウン電圧を印加し、
前記内部プルアップ設定手段は、前記第2スイッチ素子をオフさせることにより前記プルダウン電圧の印加を停止し、前記第1スイッチ素子をオンさせることにより前記バスラインに前記内部プルアップ抵抗を介して前記プルアップ電圧を印加することを特徴とする請求項1又は2記載の半導体装置。
【請求項4】
前記外部プルアップ判定手段及び前記内部プルアップ設定手段は、MCU(マイクロコントロールユニット)とインターフェース回路とによって構成され、
前記MCUは
前記インターフェース回路に前記第2スイッチ素子をオンさせる第1ステップと、
前記インターフェース回路に前記接続端子の電圧レベルを前記MCUに供給させる第2ステップと、
前記電圧レベルに応じて前記バスラインへの外部プルアップ抵抗の接続があるか否かを判定する第3ステップと、
前記電圧レベルが前記プルダウン電圧に等しいとき前記インターフェース回路に前記第2スイッチ素子をオフさせかつ前記第1スイッチ素子をオンさせる第4ステップと、
前記電圧レベルが前記プルアップ電圧に等しいとき前記インターフェース回路に前記第2スイッチ素子をオフさせる第5ステップと、を順に実行することを特徴とする請求項3記載の半導体装置。
【請求項5】
前記外部プルアップ判定手段及び前記内部プルアップ設定手段は、制御回路によって構成され、
前記制御回路は、クロック信号のパルスを初期値から計数するカウンタと、
前記カウンタの計数値が設定値に達するまでにおいて前記第2スイッチ素子をオンさせ、前記カウンタの計数値が前記設定値に達したとき前記第2スイッチ素子をオフさせるプルダウン制御回路と、
前記カウンタの計数値が前記設定値に達したとき前記電圧レベルが前記プルダウン電圧に等しいことを検出したならば前記第1スイッチ素子をオンさせる検出回路と、を備えることを特徴とする請求項3記載の半導体装置。
【請求項6】
前記外部プルアップ判定手段及び前記内部プルアップ設定手段は、前記半導体装置への電源投入直後に動作することを特徴とする請求項1〜5のいずれか1記載の半導体装置。
【請求項7】
外部装置とバスラインを介した通信を行う半導体装置のバス接続方法であって、
前記バスラインに前記半導体装置内の内部プルダウン抵抗を介してプルダウン電圧を印加するプルダウン電圧印加ステップと、
前記プルダウン電圧の印加時の前記バスラインの電圧レベルに応じて前記バスラインへの前記半導体装置外の外部プルアップ抵抗の接続があるか否かを判定する外部プルアップ判定ステップと、
前記外部プルアップ判定ステップにおいて前記バスラインへの前記外部プルアップ抵抗の接続がないと判定されたとき前記プルダウン電圧の印加を停止して前記バスラインに前記半導体装置内の内部プルアップ抵抗を介してプルアップ電圧を印加し、前記外部プルアップ判定ステップにおいて前記バスラインへの前記外部プルアップ抵抗の接続があると判定されたとき前記プルダウン電圧の印加を停止する内部プルアップ設定ステップと、を備えることを特徴とするバス接続方法。
【請求項8】
前記外部プルアップ判定ステップは、前記バスラインの電圧レベルが前記プルダウン電圧に等しいとき前記バスラインへの前記外部プルアップ抵抗の接続がないと判定し、前記バスラインの電圧レベルが前記プルアップ電圧に等しいとき前記バスラインへの前記外部プルアップ抵抗の接続があると判定することを特徴とする請求項6記載のバス接続方法。
【請求項9】
クロック信号のバルスを初期値から計数して計数値を生成するカウントステップを備え、
前記プルダウン電圧印加ステップは前記カウントステップの前記計数値が設定値に達するまでにおいて前記プルダウン電圧の印加を行い、
内部プルアップ設定ステップは、前記カウントステップの前記計数値が設定値に達したときに前記外部プルアップ判定ステップによって前記電圧レベルが前記プルダウン電圧に等しいことが検出されたならば、前記プルダウン電圧の印加を停止して前記バスラインに前記内部プルアップ抵抗を介してプルアップ電圧を印加するステップと、
前記カウントステップの前記計数値が設定値に達したときに前記外部プルアップ判定ステップによって前記電圧レベルが前記プルアップ電圧に等しいことが検出されたならば、前記プルダウン電圧の印加を停止するステップと、を備えることを特徴とする請求項8記載のバス接続方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2012−8785(P2012−8785A)
【公開日】平成24年1月12日(2012.1.12)
【国際特許分類】
【出願番号】特願2010−143864(P2010−143864)
【出願日】平成22年6月24日(2010.6.24)
【出願人】(308033711)ラピスセミコンダクタ株式会社 (898)
【Fターム(参考)】
【公開日】平成24年1月12日(2012.1.12)
【国際特許分類】
【出願日】平成22年6月24日(2010.6.24)
【出願人】(308033711)ラピスセミコンダクタ株式会社 (898)
【Fターム(参考)】
[ Back to top ]