(57)【要約】【課題】ＣＰＵがバスを介して外部周辺装置にアクセスする際に、システムの動作周波数が変更されても、バスフローティング防止機能を適切に制御することによって、貫通電流が流れることを防止し、消費電力を低減可能なバス制御装置を提供する。【解決手段】バスフローティング防止機能を動作させるまでのタイミング設置値をシステムの動作周波数に応じて設定するバスフローティング防止機能制御タイミング設定部９と、バスフローティング状態になってからのカウントを開始するカウンタ１０を備え、選択されたシステムの動作周波数に応じて決定されたタイミング設置値８と、前記カウンタ１０のカウンタ値１１とを比較器１２において比較し、タイミング設置値８とカウンタ値１１とが等しくなった時、バスフローティング防止機能を動作させる。【選択図】図１
2007193431.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵがバスを介して外部周辺装置にアクセスする際のバス制御装置であって、
前記ＣＰＵのバスアクセス終了後、カウントを開始するカウンタと、
複数のシステムの動作周波数に対応してバスフローティング防止機能制御のタイミングを格納した制御タイミング格納部より選択して、バスフローティング防止機能制御のタイミング設定値を決定する制御タイミング設定部と、
前記カウンタのカウント値と前記制御タイミング設定部が決定した設定値からデータバス信号端子を所定の電位とする制御手段と、
を備えることを特徴とするバス制御装置。
【請求項２】
前記制御手段は、前記データバス信号端子をプルダウン抵抗で所定の電位とすることを特徴とする請求項１に記載のバス制御装置。
【請求項３】
前記制御手段は、前記データバス信号端子をプルアップ抵抗で所定の電位とすることを特徴とする請求項２に記載のバス制御装置。
【請求項４】
前記制御手段は、前記データバス信号端子を出力モードにし、Ｌレベルの信号を出力することを特徴とする請求項１に記載のバス制御装置。
【請求項５】
前記制御手段は、前記データバス信号端子を出力モードにし、Ｈレベルの信号を出力することを特徴とする請求項１に記載のバス制御装置。
【請求項６】
バスフローティング防止機能制御タイミングは、レジスタより前記制御タイミング格納部に出力され、外部周辺装置のバスアクセスタイミングに応じて変更可能であることを特徴とする請求項１から５のいずれか１項に記載のバス制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵがバスを介して外部周辺装置にアクセスする際に、データバス信号端子がフローティング状態になる事を防止するバス制御装置に関する。
【背景技術】
【０００２】
従来、ＣＰＵがバスを介して外部周辺装置にアクセスする場合で、ＣＰＵと該ＣＰＵに接続される全ての外部周辺装置がデータを出力しないときには、電圧が完全にオフとなるのではなく、ＬとＨの中間の電位でオンの状態にある。このため、データバス信号端子がフローティング状態になり、貫通電流が流れて、消費電力の増加、ノイズの増加、更にはデバイスの破壊といった問題があった。
【０００３】
そのような問題に対し、バスホールド回路を用いる方法や、プルアップ抵抗、プルダウン抵抗を用いてバスのフローティング状態を回避し、貫通電流が流れるのを防止する手段が知られている。
【０００４】
また、例えば、特許文献１においては、このような問題の解決方法として、バスのフローティング状態が事前に設定しておいた所定時間に達すると、フローティング状態の端子をプルアップ／プルダウンするか、または、Ｌ／Ｈレベルの出力を行い、バスのフローティング状態を防止することが記載されている。
【特許文献１】特開２００３−１５０２８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、前記従来技術において、バスホールド回路を用いる手法では、データバス信号端子部にフローティング状態になる直前の電位を保持するラッチ回路を形成する必要があり、面積的に不利になる場合が多い。
【０００６】
また、データバス信号端子にプルアップ抵抗、またはプルダウン抵抗をつける場合には、バスフローティング時以外では、プルアップ抵抗、プルダウン抵抗に電流が流れ、消費電流の点で望ましくない。
【０００７】
従って、バスがフローティング状態になる時だけ、プルアップ抵抗、プルダウン抵抗をオンにするか、Ｌ／Ｈレベルの信号を出力することが望ましい。そこでソフトウェア制御により、プルアップ抵抗、プルダウン抵抗のオン／オフを切り替える手段もあるが、ソフトウェアによる制御を行わなければならないという手間が生じてしまう。
【０００８】
更に、ＣＰＵを含む半導体装置の動作周波数をシステムの動作モードに合わせて変更する場合、動作周波数に応じてバスインタフェースのタイミングも変更されるため、該タイミングに応じて、バスのフローティング状態を防止する機能を適切に制御しなければならない。
【０００９】
本発明は、斯かる実情に鑑み、ＣＰＵがバスを介して外部周辺装置にアクセスする際に、システムの動作周波数が変更されても、バスフローティング防止機能を適切に制御することによって、貫通電流が流れることを防止し、消費電力を低減可能なバス制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
斯かる実情に鑑み、第１の発明によるバス制御装置は、ＣＰＵがバスを介して外部周辺装置にアクセスする際のバス制御装置であって、前記ＣＰＵのバスアクセス終了後、カウントを開始するカウンタと、複数のシステムの動作周波数に対応してバスフローティング防止機能制御のタイミングを格納した制御タイミング格納部より選択して、バスフローティング防止機能制御のタイミング設定値を決定する制御タイミング設定部と、前記カウンタのカウント値と前記制御タイミング設定部が決定した設定値からデータバス信号端子を所定の電位とする制御手段とを備えることを特徴とする。
【００１１】
また、第２の発明によるバス制御装置は、前記制御手段が、前記データバス信号端子をプルダウン抵抗で所定の電位とすることを特徴とする。
【００１２】
また、第３の発明によるバス制御装置は、前記制御手段が、前記データバス信号端子をプルアップ抵抗で所定の電位とすることを特徴とする。
【００１３】
また、第４の発明によるバス制御装置は、前記制御手段が、前記データバス信号端子を出力モードにし、Ｌレベルの信号を出力することを特徴とする。
【００１４】
また、第５の発明によるバス制御装置は、前記制御手段が、前記データバス信号端子を出力モードにし、Ｈレベルの信号を出力することを特徴とする。
【００１５】
また、第６の発明によるバス制御装置は、バスフローティング防止機能制御タイミングが、レジスタより前記制御タイミング格納部に出力され、外部周辺装置のバスアクセスタイミングに応じて変更可能であることを特徴とする。
【発明の効果】
【００１６】
本発明のバス制御装置によれば、ＣＰＵがバスを介して外部周辺装置にアクセスする際に、バスフローティング防止機能制御タイミングをシステムの動作周波数毎に有することにより、本発明のバス制御装置を使用する半導体装置が、動作時にシステムの動作周波数を変更しても、適切なタイミングでバスフローティング防止機能を動作させることが可能で、余分な貫通電流が流れることを防ぎ、前記半導体装置の消費電力を低減し、環境に配慮できるという優れた効果を奏し得る。
【発明を実施するための最良の形態】
【００１７】
以下、本発明に係るバス制御装置の実施の形態について、図面に基づき詳細に説明する。
【００１８】
〈第１の実施形態〉
図１は、本発明の第１の実施形態におけるバス制御装置を有する半導体装置の構成を示したブロック図である。
【００１９】
図１に示す実施形態では、入力バッファ１、出力バッファ２、ローアクティブである出力イネーブル信号３、データバス信号端子４、プルダウン抵抗５、プルダウン抵抗制御スイッチ６からなるオン/オフ可能なプルダウン抵抗付き入出力バッファ部と前記プルダウン抵抗制御スイッチ６を制御するバスフローティング防止回路部７から構成される。
【００２０】
前記バスフローティング防止回路部７は、バスフローティング防止機能を動作させるまでのタイミング設定値８を設定するバスフローティング防止機能制御タイミング設定部９、バスフローティング状態になってからカウントを開始するカウンタ１０、前記タイミング設定値８と前記カウンタ１０のカウント値１１を比較する比較器１２から構成される。
また、前記バスフローティング防止機能制御タイミング設定部９は、システムの動作周波数に応じてバスフローティング防止機能制御タイミングを格納したバスフローティング防止機能制御タイミング格納部１３、１４、及びセレクタ１５とからなる。
【００２１】
バスフローティング防止回路部７は、動作周波数制御信号１６を受けて、システムの動作周波数に応じて、セレクタ１５により、バスフローティング防止機能を制御する前記タイミング設定値８を決定し、バスフローティング状態になってカウントを開始した前記カウンタ１０のカウント値１１と前記制御タイミング設定値８が等しくなったとき、前記プルダウン抵抗制御スイッチ６をオンにし、前記データバス信号端子４をプルダウンによるＬレベルに固定し、バスフローティング状態によって貫通電流が流れるのを防止する。
【００２２】
図１では一例としてオン／オフ可能なプルダウン抵抗付き入出力バッファを示しているが、これがオン／オフ可能なプルアップ抵抗付き入出力バッファであってもよい。
【００２３】
また、図１中にはバスフローティング防止機能制御タイミング格納部が２つの例しか示していないが、システムの動作周波数が３つ以上ある場合はそのシステムの動作周波数に応じてバスフローティング防止機能制御タイミング格納部を持つものとする。また、バスフローティング防止機能制御タイミング格納部を１つとし、該格納部に複数のバスフローティング防止機能制御タイミングを格納する構成としてもよい。
【００２４】
図２は図１記載のバスフローティング防止機能制御タイミングがシステムの動作周波数に対応して選択される様子をタイミングチャートに示したものである。
【００２５】
システムがクロック周波数ａで動作している時は、バスフローティング防止機能制御タイミングａが選択され、クロック周波数ｂで動作している時は、バスフローティング防止機能制御タイミングｂが選択される。
【００２６】
図３、図４は本発明の第１の実施形態において、ＣＰＵがバスを介して外部周辺装置にリードアクセスした場合のタイミングチャートを示している。
【００２７】
ここで、図４のタイミングチャートに示すクロック周波数は図３のタイミングチャートに示すクロック周波数の１／２であるとする。また、図３、図４に示されるバスフローティング防止機能制御タイミングは図５に示すように、それぞれ、バスアクセス終了から４クロック後（クロック周波数ａの場合）、２クロック後（クロック周波数ｂの場合）とする。
【００２８】
図３に示すようにクロック周波数ａで動作している時、バスフローティング防止回路部７は、バスアクセス終了後、４クロック後にバスフローティング防止機能を動作させ、前記プルダウン抵抗制御スイッチ６をＯＮすることで、前記データバス信号端子４が前記プルダウン抵抗５によるＬレベルに固定される。
【００２９】
次にシステムの動作モードが変更され、システムの動作周波数が図４に示すようにクロック周波数ｂで動作している時、バスフローティング防止回路部７は、バスアクセス終了後、２クロック後にバスフローティング防止機能を動作させ、前記プルダウン抵抗制御スイッチ６をＯＮすることで、前記データバス信号端子４が前記プルダウン抵抗５によるＬレベルに固定される。
【００３０】
仮にシステムの動作周波数毎にバスフローティング防止機能制御タイミングを有していない場合は、システムのクロック周波数が１／２になっても同じ設定値が用いられることになり、バスフローティング防止機能が開始されるまでの時間が２倍になってしまい余計な貫通電流が流れてしまう。
【００３１】
またシステムの動作周波数変更後、ソフトウェア制御によりバスフローティング防止機能制御タイミングを変更する場合は、ソフトウェア制御が介在する上、さらにバスフローティング防止機能制御タイミングの変更が反映されるまでに余分な貫通電流が流れてしまう。
【００３２】
従って、システムの動作周波数に応じてバスフローティング防止機能制御タイミングを有することにより、システムの動作周波数が動作モードによって変更されても、バスフローティング防止機能を適切に制御でき、バスフローティング状態による貫通電流を防止することが出来る。
【００３３】
本発明の第１の実施形態の動作説明においてＣＰＵがバスを介して外部周辺装置にリードアクセスした場合を例にとって説明したが、ＣＰＵがバスを介して外部周辺装置にライトアクセスする場合でも、同様にシステムの動作周波数に応じて適切にバスフローティング防止機能を制御することが可能である。
【００３４】
〈第２の実施形態〉
次に、本発明の第２の実施形態について説明する。図６は本発明の第２の実施形態におけるバス制御装置を有する半導体装置の構成を示したブロック図である。
【００３５】
図６に示す実施形態では入力バッファ１９、出力バッファ２０、ローアクティブである出力イネーブル信号２１、データバス信号端子２２からなる入出力バッファ部とバスフローティング防止機能動作時に前記データバス信号端子２２にＬレベルを出力するためのセレクタ２３、２４、該セレクタ２３、２４を制御するバスフローティング防止回路部２５から構成される。
【００３６】
前記バスフローティング防止回路部２５は、バスフローティング防止機能を動作させるまでのタイミング設定値２６を設定するバスフローティング防止機能制御タイミング設定部２７、バスフローティング状態になってからカウントを開始するカウンタ２８、前記タイミング設定値２６と前記カウンタ２８のカウント値２９を比較する比較器３０から構成される。
また、前記バスフローティング防止機能制御タイミング設定部２７は、システムの動作周波数に応じてバスフローティング防止機能制御タイミングを格納したバスフローティング防止機能制御タイミング格納部３１、３２、及びセレクタ３３とからなる。
【００３７】
バスフローティング防止回路部２５は、動作周波数制御信号３４を受けて、システムの動作周波数に応じて、セレクタ３３により、バスフローティング防止機能を制御する前記タイミング設定値２６を決定し、バスフローティング状態になってカウントを開始した前記カウンタ２８のカウント値２９と前記制御タイミング設定値２６が等しくなったとき、Ｌレベル出力固定選択信号３５を制御しデータバス信号端子２２にＬレベル出力を行うことによって、バスフローティング状態による貫通電流が流れるのを防止する。
【００３８】
図６では一例としてバスフローティング時にＬレベル出力を行う回路を示したが、バスフローティング時にＨレベル出力を行ってもよい。また、図６中にはバスフローティング防止機能制御タイミング格納部が２つの例しか示していないが、システムの動作周波数が３つ以上ある場合はそのシステムの動作周波数に応じてバスフローティング防止機能制御タイミング格納部を持つものとする。また、バスフローティング防止機能制御タイミング格納部を１つとし、該格納部に複数のバスフローティング防止機能制御タイミングを格納する構成としてもよい。
【００３９】
本発明の第２の実施形態においても、第１の実施形態と同様に図２によって、図６記載のバスフローティング防止機能制御タイミングがシステムの動作周波数に対応して選択される様子のタイミングチャートを表すことができる。システムがクロック周波数ａで動作している時は、バスフローティング防止機能制御タイミングａが選択され、クロック周波数ｂで動作している時は、バスフローティング防止機能制御タイミングｂが選択される。
【００４０】
図７、図８は本発明の第２の実施形態において、ＣＰＵがバスを介して外部周辺装置にリードアクセスした場合のタイミングチャートを示している。
【００４１】
ここで、図８のタイミングチャートに示すクロック周波数は図７のタイミングチャートに示すクロック周波数の１／２であるとする。また、図７、図８に示されるバスフローティング防止機能制御タイミングは図５に示すように、それぞれ、バスアクセス終了から４クロック後（クロック周波数ａの場合）、２クロック後（クロック周波数ｂの場合）とする。
【００４２】
図７に示すようにクロック周波数ａで動作している時、バスアクセス終了後、バスフローティング防止回路部２５は、４クロック後にバスフローティング防止機能を動作させ、前記出力イネーブル信号２１をＬレベルとし、入出力バッファを出力モードにして、出力データ３６にＬを選択し前記データバス信号端子２２からＬレベルが出力される。
【００４３】
次にシステムの動作モードが変更され、システムの動作周波数が図８に示すようにクロック周波数ｂで動作している時、バスアクセス終了後、バスフローティング防止回路部２５は、２クロック後にバスフローティング防止機能を動作させ、前記出力イネーブル信号２１をＬレベルとし、入出力バッファを出力モードにして、前記出力データ３６にＬを選択し前記データバス信号端子２２からＬレベルが出力される。
【００４４】
仮にシステムの動作周波数毎にバスフローティング防止機能制御タイミングを有していない場合は、システムのクロック周波数が１／２になっても同じ設定値が用いられることになり、バスフローティング防止機能が開始されるまでの時間が２倍になってしまい余計な貫通電流が流れてしまう。
【００４５】
またシステムの動作周波数変更後、ソフトウェア制御によりバスフローティング防止機能制御タイミングを変更する場合は、ソフトウェア制御が介在する上、さらにバスフローティング防止機能制御タイミングの変更が反映されるまでに余分な貫通電流が流れてしまう。
【００４６】
従って、システムの動作周波数に応じてバスフローティング防止機能制御タイミングを有することにより、システムの動作周波数が動作モードによって変更されても、バスフローティング防止機能を適切に制御でき、バスフローティング状態による貫通電流を防止することが出来る。
【００４７】
本発明の第２の実施形態の動作説明においてＣＰＵがバスを介して外部周辺装置にリードアクセスした場合を例にとって説明したが、ＣＰＵがバスを介して外部周辺装置にライトアクセスする場合でも、同様にシステムの動作周波数に応じて適切にバスフローティング防止機能を制御することが可能である。
【００４８】
また、外部周辺装置の一例としてメモリを考えた場合、リードアクセス時にバスアクセス終了後、メモリからの有効出力データがハイ・インピーダンス（ｈｉｇｈ  ｉｍｐｅｄａｎｃｅ）状態へ移行するまでの期間は、使用するメモリによって異なる場合が多い。従って、使用する外部周辺装置に対して、バスコンフリクトが起こらないように適切なバスフローティング防止機能制御タイミングをシステムの動作周波数別に設定する必要がある。
【００４９】
更に、ＣＰＵを集積する半導体装置に接続される外部周辺装置は前記半導体装置製造後に決定、あるいは変更されることも多いため、前記バスフローティング防止機能制御タイミングをソフトウェアにより変更可能とすることで、柔軟なシステム設計が可能となる。
【００５０】
前記半導体装置の電源投入後、ハードウェアリセットがかかると、ＣＰＵは、メモリのハードウェア的に固定された値（以下、「イニシャル値」という）が格納されている領域（不図示）より、イニシャル値をレジスタ（不図示）に書き込み、前記レジスタより、前記バスフローティング防止機能制御タイミング格納部１３、１４、３１、３２に該イニシャル値をロードする。その後、前記半導体装置に接続される外部周辺装置が変更される等によりバスフローティング防止機能制御タイミングの変更が必要となった場合、変更された外部周辺装置のバスアクセスタイミングに応じて、バスフローティング防止機能制御タイミングを設定することとなる。例えば、バス制御装置が、変更された外部周辺装置からデータをリードしたときに、該外部周辺装置が有効データを出力後、どの位のタイミングでデータバスをハイ・インピーダンスにするか等に応じて、レジスタにおいて、ソフトウェアにより、バスフローティング防止機能制御のタイミング値を算出して取得し、前記レジスタより該タイミング値を前記バスフローティング防止機能制御タイミング格納部１３、１４、３１、３２に出力し、設定値更新を行うとともに、メモリのイニシャル値格納領域の設定値更新も行う。その設定値更新後、ＣＰＵからのバスアクセスを行う。
又は、タイミング値算出そのものはソフトウェアにより行わず、レジスタ設定変更のみをソフトウェアで行う構成としてもよい。
【００５１】
上述の構成であれば、前記半導体装置に接続される外部周辺装置に変更があったとしても、最適なバスフローティング防止機能制御タイミングの設定を容易に行うことが可能となる。
【００５２】
尚、本発明のバス制御装置は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【図面の簡単な説明】
【００５３】
【図１】本発明の第１の実施形態におけるバス制御装置を有する半導体装置の構成の一例を示したブロック図である。
【図２】本発明の第１及び第２の実施形態におけるバス制御装置について動作クロック周波数とバスフローティング防止機能制御タイミングの関係を示すタイミングチャートの一例を示す図である。
【図３】本発明の第１の実施形態のバス制御装置について、ＣＰＵが外部周辺装置にリードアクセスする際のクロック周波数ａにおけるタイミングチャートの一例を示す図である。
【図４】本発明の第１の実施形態のバス制御装置について、ＣＰＵが外部周辺装置にリードアクセスする際のクロック周波数ｂにおけるタイミングチャートの一例を示す図である。
【図５】図３、図４、図７、図８におけるバスフローティング防止機能制御タイミング設定値の一例を示す図である。
【図６】本発明の第２の実施形態におけるバス制御装置を有する半導体装置の構成の一例を示したブロック図である。
【図７】本発明の第２の実施形態のバス制御装置について、ＣＰＵが外部周辺装置にリードアクセスする際のクロック周波数ａにおけるタイミングチャートの一例を示す図である。
【図８】本発明の第２の実施形態のバス制御装置について、ＣＰＵが外部周辺装置にリードアクセスする際のクロック周波数ｂにおけるタイミングチャートの一例を示す図である。
【符号の説明】
【００５４】
１、１９  入力バッファ
２、２０  出力バッファ
３、２１、３８  出力イネーブル信号
４、２２  データバス信号端子
５  プルダウン抵抗
６  プルダウン抵抗制御スイッチ
７、２５  バスフローティング防止回路部
８、２６  バスフローティング防止機能制御タイミング設定値
９、２７  バスフローティング防止機能制御タイミング設定部
１０、２８  カウンタ
１１、２９  カウント値
１２、３０  比較器
１３、１４、３１、３２  バスフローティング防止機能制御タイミング格納部
１５、２３、２４、３３  セレクタ
１６、３４  動作周波数制御信号
１７、３７  入力データ
１８、３６、３９  出力データ
３５  Ｌレベル出力固定選択信号
【図１】
2007193431.tif 000003
【図２】
2007193431.tif 000004
【図３】
2007193431.tif 000005
【図４】
2007193431.tif 000006
【図５】
2007193431.tif 000007
【図６】
2007193431.tif 000008
【図７】
2007193431.tif 000009
【図８】
2007193431.tif 000010