(57)【要約】【課題】  中央処理装置（ＣＰＵ）と外部メモリとのメモリアクセスが連続して行なわれた場合、外部メモリの製品規格（データフローティング）によって、データが次サイクルのデータとバス衝突を起こしてしまう可能性を回避すること。【解決手段】  データバスドライブ制御装置Ｅを設け、ライトサイクル時、データフローティング区間においてPull-up、Pull-down制御によりデータ信号を擬似的に制御し、またデータ入出力切り換え時はPull-up、Pull-down制御およびトランジスタ制御を行なうことでデータラインのバス衝突の回避およびバスサイクル短縮化によるメモリアクセスの高速化を実現する。【選択図】  図２
2006011630.tif 000002
【特許請求の範囲】
【請求項１】
中央処理装置（ＣＰＵ）と、メモリアクセス制御装置と、入出力制御装置と、を有し、前記入出力制御装置を介して外部メモリとデータ通信を行うマイクロコンピュータにおいて、
前記入出力制御装置は、
クロックとは異なるタイミングでプルアップ、プルダウン動作を行ない入出力データを制御し、ライトサイクルにおいても、フローティングデータを入力データとして受け付け可能とする信号制御手段を備えた、
ことを特徴とするマイクロコンピュータ。
【請求項２】
中央処理装置（ＣＰＵ）と、メモリアクセス制御装置と、入出力制御装置と、を有し、前記入出力制御装置を介して外部メモリとデータ通信を行うマイクロコンピュータにおいて、
前記入出力制御装置は、
前記外部メモリからの入力データによって出力データを制御し、ハイインピーダンス以外ではデータ出力を停止させ、ライトサイクルにおいても、フローティングデータを入力データとして受け付け可能とする信号制御手段を備えた、
ことを特徴とするマイクロコンピュータ。
【請求項３】
請求項１記載のマイクロコンピュータにおいて、
前記信号制御手段は、
入出力データを増幅するトランジスタからなるバッファ回路と、該バッファ回路の出力をプルアップもしくはプルダウン動作により固定するデータバスドライブ制御装置とを有し、
外部メモリのデータフローティング出力のサイクル時は前記プルアップ、プルダウン動作のみで擬似的に入出力データを制御し、次サイクルでは前記プルアップ、プルダウン動作およびトランジスタの両素子で制御を行ない、さらに次サイクルでは前記トランジスタのみの制御を行う、
ことを特徴とするマイクロコンピュータ。
【請求項４】
請求項１記載のマイクロコンピュータにおいて、
前記信号制御手段は、
入出力データを増幅するトランジスタからなるバッファ回路と、該バッファ回路の出力をプルアップもしくはプルダウン動作により固定するデータバスドライブ制御装置と、該データバスドライブ制御装置の制御を行うバスドライブ出力制御装置と、を有し、
前記バスドライブ出力制御装置は、入力データを監視し、その入力データに基づいて前記データバスドライブ制御装置を制御し、前記プルアップ、プルダウン動作およびトランジスタの制御と併せて各サイクルで制御方法を切り換えるように制御する、
ことを特徴とするマイクロコンピュータ。
【請求項５】
請求項３記載のマイクロコンピュータにおいて、
前記データバスドライブ制御装置は、
前記外部メモリのデータフローティング期間を設定するための内部レジスタを有し、該内部レジスタに設定された値に基づいて、前記プルアップ、プルダウン動作、およびトランジスタでの出力データの制御を行なう、
ことを特徴とするマイクロコンピュータ。
【請求項６】
請求項３記載のマイクロコンピュータにおいて、
前記データバスドライブ制御装置は、
前記外部メモリのデータフローティング期間を計測するデータフローティング期間計測手段を有し、
前記外部メモリアクセス時以外の期間において、前記外部メモリのデータフローティング期間を、前期データフローティング期間計測手段で計測し、該計測値に基づいて前記プルアップ、プルダウン動作、およびトランジスタでの出力データの制御を行なう、
ことを特徴とするマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマイクロコンピュータにおいて、その構成する中央処理装置（ＣＰＵ）と外部メモリとのメモリアクセスが連続した場合に、本サイクルのデータと次サイクルのデータのバス衝突を回避する機能を備えたものに関するものである。
【背景技術】
【０００２】
図１３は従来のマイクロコンピュータの主要部を模式的に示したものである。図１３に示されるように、マイクロコンピュータ１３１は中央処理装置（以下、ＣＰＵ）１３２とメモリアクセス制御装置１３３とを備えている。また、１３４は外部デバイスとのインターフェースをつかさどる入出力制御装置、１３５は外部メモリである。上記ＣＰＵ１３２とメモリアクセス制御装置１３３、メモリアクセス制御装置１３３と入出力制御装置１３４、入出力制御装置１３４と外部メモリ１３５とはそれぞれアドレス信号ＡＤとデータ信号ＤＴとチップセレクト信号ＣＳとリードイネーブル信号ＲＥ、ライトイネーブル信号ＷＥを介して接続されている。また、図１１は入出力制御装置１３４を中心とした詳細な構成を示す図であり、ＡはＰ型トランジスタ、ＢはＮ型トランジスタ、Ｃはスイッチ型プルアップ素子、Ｄはスイッチ型プルダウン素子である。以上のように構成された従来のマイクロコンピュータについて、以下にその動作を説明する。
【０００３】
一般にＣＰＵ１３２からの外部メモリ１３５へのメモリアクセス方式としては、メモリアクセス開始から設定されたウエイトサイクルでメモリアクセスを終了する固定ウエイトモードと、メモリアクセスを開始して、外部メモリ１３５からＣＰＵ１３２へアクノリッジ信号が返却されることによりメモリアクセスを終了するハンドシェークモードとがある。
【０００４】
上記固定ウエイトモードの場合、ＣＰＵ１３２が外部メモリ１３５から格納されたデータを取り出す際、メモリアクセス制御装置１３３に対してチップセレクト信号ＣＳと、アクセスしたいアドレス値をアドレス信号ＡＤに出力して外部メモリ１３５へのアクセスを要求する。メモリアクセス制御装置１３３はチップセレクト信号ＣＳと、アクセスしたいアドレスのアドレス信号ＡＤを受け取ると、これらを外部メモリ１３５に渡す。この時点で外部メモリ１３５へのメモリアクセスが開始される。そして、設定されたウエイトサイクルでチップセレクト信号ＣＳがネゲートされ、メモリアクセスが終了する。
【０００５】
ここで、ＣＰＵ１３２と外部メモリ１３５とのメモリアクセスが連続した場合については、図１２に示されるように、チップセレクト信号ＣＳはアサートされたままの状態であり、リードイネーブル信号ＲＥがネゲートされたと同時にリードデータを取り終える。そして、外部メモリ１３５のデータフローティング後、次サイクルでライトイネーブル信号ＷＥがアサートされ、外部メモリ１３５へのデータ書き込みが開始される。図中、ｔ０はリードアクセスが終了した時間（リードイネーブル信号ＲＥネゲート時）、ｔ１はライトアクセスを開始した時間（ライトイネーブル信号ＷＥアサート時）を示す。
【特許文献１】特開２０００−２５０８４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来のマイクロコンピュータは以上のように構成されておりＣＰＵ２と外部メモリ５とのメモリアクセスが連続して行なわれた場合、外部メモリ５の製品規格（データフローティング）により、データが次サイクルのデータとバス衝突を起こす可能性があり、また、これを回避するためにデータバスにハイインピーダンス区間を設けると、この影響によりメモリアクセスが低速化するという問題点があった。
【０００７】
本発明は以上のような問題点を解消するためになされたもので、ＣＰＵ２と外部メモリ５とのデータラインのバス衝突を回避することができ、またメモリアクセスの高速化を実現することができるマイクロコンピュータを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の請求項１にかかるマイクロコンピュータは、中央処理装置（ＣＰＵ）と、メモリアクセス制御装置と、入出力制御装置と、を有し、前記入出力制御装置を介して外部メモリとデータ通信を行うマイクロコンピュータにおいて、前記入出力制御装置は、クロックとは異なるタイミングでプルアップ、プルダウン動作を行ない入出力データを制御し、ライトサイクルにおいても、フローティングデータを入力データとして受け付け可能とする信号制御手段を備えた、ことを特徴とするものである。
【０００９】
本発明の請求項２にかかるマイクロコンピュータは、中央処理装置（ＣＰＵ）と、メモリアクセス制御装置と、入出力制御装置と、を有し、前記入出力制御装置を介して外部メモリとデータ通信を行うマイクロコンピュータにおいて、前記入出力制御装置は、前記外部メモリからの入力データによって出力データを制御し、ハイインピーダンス以外ではデータ出力を停止させ、ライトサイクルにおいても、フローティングデータを入力データとして受け付け可能とする信号制御手段を備えた、ことを特徴とするものである。
【００１０】
本発明の請求項３にかかるマイクロコンピュータは、請求項１記載のマイクロコンピュータにおいて、前記信号制御手段は、入出力データを増幅するトランジスタからなるバッファ回路と、該バッファ回路の出力をプルアップもしくはプルダウン動作により固定するデータバスドライブ制御装置とを有し、外部メモリのデータフローティング出力のサイクル時は前記プルアップ、プルダウン動作のみで擬似的に入出力データを制御し、次サイクルでは前記プルアップ、プルダウン動作およびトランジスタの両素子で制御を行ない、さらに次サイクルでは前記トランジスタのみの制御を行う、ことを特徴とするものである。
【００１１】
本発明の請求項４にかかるマイクロコンピュータは、請求項１記載のマイクロコンピュータにおいて、前記信号制御手段は、入出力データを増幅するトランジスタからなるバッファ回路と、該バッファ回路の出力をプルアップもしくはプルダウン動作により固定するデータバスドライブ制御装置と、該データバスドライブ制御装置の制御を行うバスドライブ出力制御装置と、を有し、前記バスドライブ出力制御装置は、入力データを監視し、その入力データに基づいて前記データバスドライブ制御装置を制御し、前記プルアップ、プルダウン動作およびトランジスタの制御と併せて各サイクルで制御方法を切り換えるように制御する、ことを特徴とするものである。
【００１２】
本発明の請求項５にかかるマイクロコンピュータは、請求項３記載のマイクロコンピュータにおいて、前記データバスドライブ制御装置は、前記外部メモリのデータフローティング期間を設定するための内部レジスタを有し、該内部レジスタに設定された値に基づいて、前記プルアップ、プルダウン動作、およびトランジスタでの出力データの制御を行なう、ことを特徴とするものである。
【００１３】
本発明の請求項６にかかるマイクロコンピュータは、請求項３記載のマイクロコンピュータにおいて、前記データバスドライブ制御装置は、前記外部メモリのデータフローティング期間を計測するデータフローティング期間計測手段を有し、前記外部メモリアクセス時以外の期間において、前記外部メモリのデータフローティング期間を、前期データフローティング期間計測手段で計測し、該計測値に基づいて前記プルアップ、プルダウン動作、およびトランジスタでの出力データの制御を行なう、ことを特徴とするものである。
【発明の効果】
【００１４】
本発明にかかるマイクロコンピュータによれば、入出力制御装置に、バッファ回路の出力をプルアップもしくはプルダウン動作により固定するデータバスドライブ制御装置を設け、外部データ信号を擬似的に制御するようにしたので、ライトサイクルにおいても、フローティングデータを入力データとして受け付けることが可能となり、ＣＰＵと外部メモリとのメモリアクセスが連続して行われた場合においても、本データと次サイクルのデータとのバス衝突を回避することができ、また、バスサイクルの短縮化によりメモリアクセスの高速化も図ることができる優れたマイクロコンピュータを実現することができる効果がある。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の一実施形態について図を参照しながら説明する。
（実施の形態１）
図１は本発明の実施の形態１におけるマイクロコンピュータの構成図を示すものである。図１において、入出力制御装置４はメモリアクセス制御装置３を介してＣＰＵ２からの信号と外部メモリ５からの信号の入出力制御をそれぞれ行なうものである。
【００１６】
ＣＰＵ２とメモリアクセス制御装置３、メモリアクセス制御装置３と入出力制御装置４、入出力制御装置４と外部メモリ５とは、それぞれアドレス信号ＡＤとデータ信号ＤＴとチップセレクト信号ＣＳとリードイネーブル信号ＲＥ、ライトイネーブル信号ＷＥを介して接続されている。
【００１７】
図２は上記マイクロコンピュータの入出力制御装置４の詳細な構成を示すものである。本図において、ＡはＰ型トランジスタ、ＢはＮ型トランジスタ、Ｃはスイッチ型プルアップ素子、Ｄはスイッチ型プルダウン素子、Ｅはスイッチ型プルアップ素子Ｃ、スイッチ型プルダウン素子Ｄを制御するデータバスドライブ制御装置である。
【００１８】
図４は本実施の形態１におけるマイクロコンピュータのタイミングチャートを示すものである。また、図４において、ｔ２はリードアクセス終了時間およびライトアクセス開始時間、ｔ３はフローティングデータ出力後の次サイクル開始時間である。以上のように構成された本実施の形態のマイクロコンピュータについて、以下、その動作を説明する。
【００１９】
ＣＰＵ２からの外部メモリ５へのメモリアクセス方式としては、メモリアクセス開始から設定されたウエイトサイクルでメモリアクセスを終了する固定ウエイトモードと、メモリアクセスを開始して、外部メモリ５からＣＰＵ２へアクノリッジ信号が返却されることによりメモリアクセスを終了するハンドシェークモードとがある。
【００２０】
固定ウエイトモードの場合、ＣＰＵ２が外部メモリ５から格納されたデータを取り出す際、メモリアクセス制御装置３に対してチップセレクト信号ＣＳとアクセスしたいアドレス値をアドレス信号ＡＤに出力して外部メモリ５へのアクセスを要求する。メモリアクセス制御装置３はチップセレクト信号ＣＳとアクセスしたいアドレスのアドレス信号ＡＤを受け取ると、これらを外部メモリ５に渡す。この時点で外部メモリ５へのメモリアクセスが開始される。そして、設定されたウエイトサイクルでチップセレクト信号ＣＳがネゲートされ、メモリアクセスが終了する。
【００２１】
ここで、ＣＰＵ２と外部メモリ５とのメモリアクセスが連続した場合については、図４に示されるように、チップセレクト信号ＣＳはアサートされたままの状態であり、リードサイクル中においてリードイネーブル信号ＲＥがネゲートされると同時にリードデータを取り終える。そして、時刻ｔ２において、すぐにライトイネーブル信号ＷＥをアサートすることで、ライトサイクルに入るが、外部メモリ５の製品規格値（データフローティングタイム）によってある一定期間、リードデータがフローティングするため、図４の時刻ｔ２からの区間Ｔ１では、図２のスイッチ型プルアップ素子Ｃを、ライトデータがＨ時（「１」）に、ＯＮ、ライトデータがＬ時（「０」）にＯＦＦにし、図２のスイッチ型プルダウン素子Ｄを、ライトデータがＬ時（「０」）にＯＮ、ライトデータがＨ時（「１」）にＯＦＦにする。これによりリードデータのフローティング時、スイッチ型プルアップ素子Ｃおよびスイッチ型プルダウン素子ＤがともにＯＦＦであることにより、ライトサイクル時でもフローティングデータを入力として受け付け、バス衝突を回避することができる。
【００２２】
また、外部メモリ５からのフローティングデータ出力終了後、即座にライトデータに切り換え、事前にデータバスドライブ制御装置により識別しておいたライトデータをプルアップ素子Ｃ及びプルダウン素子Ｄによりデータパスへ擬似的に書き込む（ライトデータがＨ「１」時にプルアップ素子ＣをＯＮ、プルダウン素子ＤをＯＦＦにし、ライトデータがＬ時（「０」）にはプルアップ素子ＣをＯＦＦ、プルダウン素子ＤをＯＮする）。
【００２３】
このようにデータバスドライブ制御装置Ｅにより入出力制御装置４を構成するトランジスタを、プルアップおよびプルダウン制御することによりデータ信号を擬似的に制御することができる。
【００２４】
そして、次サイクル以降、すなわち図４の時刻ｔ３からの区間Ｔ３では、プルアップおよびプルダウンによる擬似的なデータ制御から、通常時のトランジスタ制御に戻す。すなわち、ライトデータＨ時、Ｐ型トランジスタＡをＯＮ、ライトデータがＬ時にＰ型トランジスタＡをＯＦＦ、ライトデータＬ時、Ｎ型トランジスタＢをＯＮ、Ｈ時にＮ型トランジスタＢをＯＦＦにし、スイッチ型プルアップ素子Ｃおよびスイッチ型プルダウン素子ＤをともにＯＦＦにすることで、データバスへの擬似書き込みを終了させる。
【００２５】
以上のように、本実施の形態１にかかるマイクロコンピュータによれば、ライトサイクル時、データフローティング区間において、クロックとは異なるタイミングで動作するデータバスドライブ制御装置Ｅにより、ライトデータの内容に応じてトランジスタのプルアップ、プルダウン制御して、ライトサイクルにおいてもフローティングデータを入力データ（リードデータ）として受け付けることができるようになり、またデータ入出力切り換え時はプルアップ、プルダウン制御およびトランジスタ制御を行ない、データ信号を擬似的に制御する、入出力制御部４を設けたので、ＣＰＵ２と外部メモリ５とのメモリアクセスが連続して行われた場合においても、現在処理中のデータと次サイクルのデータとのバス衝突を回避することができ、また、バスサイクルの短縮化によりメモリアクセスの高速化も図ることができる。
【００２６】
（実施の形態２）
次に本発明の実施の形態２にかかるマイクロコンピュータについて説明する。基本的な構成は図１に示したマイクロコンピュータと同じである。図３は本実施の形態２におけるマイクロコンピュータの入出力制御装置を示すものである。図３において図１１と同一符号は同一、または相当部分を示し、Ｆは出力データを制御する制御装置である。
【００２７】
また本実施の形態２におけるマイクロコンピュータの動作を説明するためのタイミングチャートとしては図４に示したものを参照するものとする。以上のように構成された本実施の形態２のマイクロコンピュータについて、以下、その動作を説明する。
【００２８】
ＣＰＵ２からの外部メモリ５へのメモリアクセス方式としては、メモリアクセス開始から設定されたウエイトサイクルでメモリアクセスを終了する固定ウエイトモードと、メモリアクセスを開始して、外部メモリ５からＣＰＵ２へアクノリッジ信号が返却されることによりメモリアクセスを終了するハンドシェークモードがあることは既に述べた。
【００２９】
そこで、固定ウエイトモードの場合、ＣＰＵ２が外部メモリ５から格納されたデータを取り出す際、メモリアクセス制御装置３に対して、チップセレクト信号ＣＳと、アクセスしたいアドレス値をアドレス信号ＡＤとして出力して、外部メモリ５へのアクセスを要求する。メモリアクセス制御装置３はチップセレクト信号ＣＳと、アクセスしたいアドレスのアドレス信号ＡＤを受け取ると、これらを外部メモリ５に渡す。この時点で外部メモリ５へのメモリアクセスが開始される。そして、設定されたウエイトサイクルでチップセレクト信号ＣＳがネゲートされ、メモリアクセスが終了する。
【００３０】
ここで、ＣＰＵ２と外部メモリ５とのメモリアクセスが連続した場合については、図４に示されるように、チップセレクト信号ＣＳはアサートされたままの状態であり、リードサイクル中においてリードイネーブル信号ＲＥがネゲートされると同時にリードデータを取り終える。そして、時刻ｔ２において、すぐにライトイネーブル信号ＷＥをアサートすることで、ライトサイクルに入るが、外部メモリ５の製品規格値（データフローティングタイム）によってある一定期間、リードデータがフローティングするため、図４の時刻ｔ２からのＴ１区間ではリードデータがハイインピーダンス以外であれば出力制御装置ＦはＯＦＦ、ハイインピーダンスであれば出力制御装置ＦをＯＮにする。
【００３１】
これによりリードデータのフローティング時、出力制御装置ＦがＯＦＦであることにより、ライトサイクル時でもフローティングデータを入力データとして受け付けることができる。また、フローティングデータ終了後、出力制御装置Ｆにより、即座にライトデータに切り換える。そして、次サイクル以降すなわち図４の時刻ｔ３からのＴ３区間では通常時のデータ出力になる。
【００３２】
以上のように本実施の形態２にかかるマイクロコンピュータによれば、ライトサイクル時、データバスのハイインピーダンス区間でのデータフローティング区間において、出力制御装置Ｆによってデータ信号を制御し、リードデータの内容に応じて、ハイインピーダンス以外であれば入力データであるとして出力を停止させ、ライトサイクルにおいてもフローティングデータを入力データ（リードデータ）として受け付けることができるようになり、ＣＰＵ２と外部メモリ５とのメモリアクセスが連続して行われた場合においても、本データと次サイクルのデータとのバス衝突を回避することができ、またバスサイクルの短縮化によりメモリアクセスの高速化も図ることができる。
【００３３】
（実施の形態３）
次に本発明の実施の形態３にかかるマイクロコンピュータについて説明する。基本的な構成については実施の形態１と同様であるのでここでは構成の説明については省略する。図５は本実施の形態３におけるマイクロコンピュータの動作を説明するためのタイミングチャートを示すものである。図５において、時刻ｔ４は時刻ｔ３のフローティングデータ出力後の次サイクル開始時間の次サイクルの開始時間である。以下、本実施の形態３にかかるマイクロコンピュータについて、動作について説明する。
【００３４】
固定ウエイトモードの場合、ＣＰＵ２が外部メモリ５から格納されたデータを取り出す際、メモリアクセス制御装置３に対してチップセレクト信号ＣＳと、アクセスしたいアドレス値をアドレス信号ＡＤに出力して外部メモリ５へのアクセスを要求する。メモリアクセス制御装置３はチップセレクト信号ＣＳと、アクセスしたいアドレスのアドレス信号ＡＤとを受け取ると、これらを外部メモリ５に渡す。この時点で外部メモリ５へのメモリアクセスが開始される。そして、設定されたウエイトサイクルでチップセレクト信号ＣＳがネゲートされ、メモリアクセスが終了する。ここで、ＣＰＵ２と外部メモリ５とのメモリアクセスが連続した場合については、図５に示されるようにチップセレクト信号ＣＳはアサートされたままの状態であり、リードサイクル中においてリードイネーブル信号ＲＥがネゲートされると同時にリードデータを取り終える。そして、時刻ｔ2においてすぐにライトイネーブル信号ＷＥをアサートすることで、ライトサイクルに入るが、外部メモリ５の製品規格値（データフローティングタイム）によってある一定期間、リードデータがフローティングするため、図５の時刻ｔ２からのＴ１区間ではライトデータがＨ時に、図２のスイッチ型プルアップ素子ＣをＯＮ、ライトデータがＬ時にＯＦＦにし、ライトデータがＬ時にスイッチ型プルダウン素子ＤをＯＮ、ライトデータがＨ時にＯＦＦにする。これによりリードデータのフローティング時、スイッチ型プルアップ素子Ｃおよびスイッチ型プルダウン素子ＤがＯＦＦであることにより、ライトサイクル時でもフローティングデータを入力として受け付けることができる。また、フローティングデータ終了後、即座にライトデータに切り換える。
【００３５】
このようにプルアップおよびプルダウン制御によりデータ信号を擬似的に制御する。そして、次サイクルすなわち図５の時刻ｔ３からｔ４までのＴ２区間ではプルアップおよびプルダウン制御から通常時のトランジスタ制御に切り換えることからスパイク現象が発生するおそれがあるため、上記のプルアップおよびプルダウン制御と併せてライトデータがＨ時、Ｐ型トランジスタＡをＯＮ、ライトデータがＬ時にＯＦＦ、ライトデータがＬ時、Ｎ型トランジスタＢをＯＮ、ライトデータがＨ時にＯＦＦにする。そして、次サイクル以降、すなわち図５の時刻ｔ４からのＴ３区間では、プルアップおよびプルダウンによる擬似的なデータ制御から通常時のトランジスタ制御に戻す。すなわち、ライトデータＨ時、Ｐ型トランジスタＡをＯＮ、ライトデータがＬ時にＯＦＦ、ライトデータがＬ時、Ｎ型トランジスタＢをＯＮ、ライトデータがＨ時にＮ型トランジスタＢをＯＦＦにし、スイッチ型プルアップ素子Ｃおよびスイッチ型プルダウン素子ＤをともにＯＦＦにすることで、データバスへの擬似書き込みを終了させる。
【００３６】
以上のように本実施の形態３にかかるマイクロコンピュータによれば、ライトサイクル時、データフローティング区間において、クロックとは異なるタイミングで動作するデータバスドライブ制御装置Ｅにより、ライトデータの内容に応じてトランジスタのプルアップ、プルダウン制御して、ライトサイクルにおいてもフローティングデータを入力データ（リードデータ）として受け付けることができるようになり、ＣＰＵ２と外部メモリ５とのメモリアクセスが連続して行われた場合においても、現在処理中のデータと次サイクルのデータとのバス衝突を回避することができる。
【００３７】
また、フローティングデータ出力後の次サイクルにおいて、データ信号の入出力切り換え時において、プルアップ、プルダウン制御、およびトランジスタ制御を併せて行なうことにより、スパイク現象の発生を防止することができる。
【００３８】
（実施の形態４）
次に本発明の実施の形態４にかかるマイクロコンピュータについて説明する。図６は本実施の形態４における入出力制御装置、データバスドライブ制御装置およびバスドライブ出力制御装置を有するマイクロコンピュータの構成を示すものである。本図において図１ないし図３と同一符号は同一部分を示し、Ｇはバスドライブ出力制御装置である。図７は本実施の形態４における入出力制御装置を有するマイクロコンピュータの動作を説明するためのタイミングチャートを示す図である。図７において、時刻ｔ５はリードアクセス終了時間およびライトアクセス開始時間、時刻ｔ６はフローティングデータ出力時間、時刻ｔ７は外部メモリにおけるフローティングデータ出力後の次サイクル開始時間である。以上のように構成された本実施例のマイクロコンピュータについて、以下、その動作を説明する。
【００３９】
固定ウエイトモードの場合、ＣＰＵ２が外部メモリ５から格納されたデータを取り出す際、メモリアクセス制御装置３に対してチップセレクト信号ＣＳと、アクセスしたいアドレス値をアドレス信号ＡＤとして出力して、外部メモリ５へのアクセスを要求する。メモリアクセス制御装置３はチップセレクト信号ＣＳとアクセスしたいアドレスのアドレス信号ＡＤとを受け取ると、これらを外部メモリ５に渡す。この時点で外部メモリ５へのメモリアクセスが開始される。そして、設定されたウエイトサイクルでチップセレクト信号ＣＳがネゲートされ、メモリアクセスが終了する。ここで、ＣＰＵ２と外部メモリ５とのメモリアクセスが連続した場合については、図７に示されるように、チップセレクト信号ＣＳはアサートされたままの状態であり、リードサイクル中においてリードイネーブル信号ＲＥがネゲートされると同時にリードデータを取り終える。そして、時刻ｔ５においてすぐにライトイネーブル信号ＷＥをアサートすることで、ライトサイクルに入るが、外部メモリ５の製品規格値（データフローティングタイム）によってある一定期間、リードデータがフローティングする。
【００４０】
そこで、図７の時刻ｔ５から時刻ｔ６までの区間Ｔ４、すなわちリードデータがハイインピーダンス以外の場合（リードデータのフローティング時）においては、バスドライブ出力制御装置Ｇからのデータバスドライブ制御装置のイネーブル信号をＬレベルにして、ライトサイクル時でもフローティングデータを入力として受け付け、図７の時刻ｔ６以降、すなわちリードデータがハイインピーダンスであればバスドライブ出力制御装置Ｇからのデータバスドライブ制御装置Ｅのイネーブル信号をＨレベルにし、データバスの状態を通常のデータ出力とする。
【００４１】
そして、図７の時刻ｔ６からのＴ５区間では、ライトデータがＨ時に図６のスイッチ型プルアップ素子ＣおよびＰ型トランジスタＡをＯＮ、ライトデータがＬ時にスイッチ型プルアップ素子ＣおよびＰ型トランジスタＡをそれぞれＯＦＦにし、ライトデータがＬ時にスイッチ型プルダウン素子ＤおよびＮ型トランジスタＢをＯＮ、ライトデータがＨ時にスイッチ型プルダウン素子ＤおよびＮ型トランジスタＢをそれぞれＯＦＦにする。
【００４２】
そして、次サイクル以降、すなわち図７の時刻ｔ７からのＴ６区間ではプルアップおよびプルダウンによる擬似的なデータ制御から通常時のトランジスタ制御に戻す。すなわち、ライトデータＨ時、Ｐ型トランジスタＡをＯＮ、ライトデータがＬ時にＯＦＦ、ライトデータＬ時、Ｎ型トランジスタＢをＯＮ、Ｈ時にＮ型トランジスタＢ をＯＦＦにし、スイッチ型プルアップ素子Ｃおよびスイッチ型プルダウン素子ＤをともにＯＦＦにすることで、データバスへの擬似書き込みを終了させる。
【００４３】
以上のように本実施の形態４によれば、リードデータの内容に応じて、ハイインピーダンス以外であれば入力データであるとして出力を停止させ、ライトサイクルにおいてもフローティングデータを入力データ（リードデータ）として受け付けることができるようになり、実施の形態２と同様に、ＣＰＵ２と外部メモリ５とのメモリアクセスが連続して行われた場合においても、本データと次サイクルのデータとのバス衝突を回避することができ、またバスサイクルの短縮化によりメモリアクセスの高速化も図ることができる。
【００４４】
また、データ信号の入出力切り換え時においてプルアップ、プルダウン制御およびトランジスタ制御を併せて行なうことにより、リードデータがハイインピーダンス状態である場合には、プルアップ／プルダウン素子をＯＮにして、ライトデータを擬似的に作り出すことにより、スパイク現象の発生を防止することもできる。
【００４５】
（実施の形態５）
次に本実施の形態５にかかるマイクロコンピュータについて説明する。図８は本実施の形態５における入出力制御装置およびデータバスドライブ制御装置を有するマイクロコンピュータの構成を示すものである。図８において、Ｈはデータバスドライブ制御装置Ｅを構成する内部レジスタであり、既知のデータフローティング時間に応じた値を記憶するものである。図９は本実施の形態５における入出力制御装置を有するマイクロコンピュータの動作を説明するためのタイミングチャートを示すものである。図において、図１と同一符号は同一または相当部分を示し、時刻ｔ８はリードアクセス終了時間、およびライトアクセス開始時間、時刻ｔ９はフローティングデータ出力後の前サイクル時間、時刻ｔ１０は外部メモリにおけるフローティングデータ出力後の次サイクル開始時間、時刻ｔ１１は時刻ｔ１０のフローティングデータ出力後の次サイクル開始時間の次サイクル開始時間である。
【００４６】
以上のように構成された本実施の形態５のマイクロコンピュータについて、以下、その動作を説明する。
固定ウエイトモードの場合ＣＰＵ２が外部メモリ５から格納されたデータを取り出す際、メモリアクセス制御装置３に対してチップセレクト信号ＣＳと、アクセスしたいアドレス値をアドレス信号ＡＤとして出力して外部メモリ５へのアクセスを要求する。メモリアクセス制御装置３はチップセレクト信号ＣＳとアクセスしたいアドレスのアドレス信号ＡＤを受け取ると、これらを外部メモリ５に渡す。この時点で外部メモリ５へのメモリアクセスが開始される。そして、設定されたウエイトサイクルでチップセレクト信号ＣＳがネゲートされ、メモリアクセスが終了する。
【００４７】
ここで、ＣＰＵ２と外部メモリ５とのメモリアクセスが連続した場合については、図９に示されるように、チップセレクト信号ＣＳはアサートされたままの状態であり、リードサイクル中においてリードイネーブル信号ＲＥがネゲートされると同時にリードデータを取り終える。
【００４８】
そして、時刻ｔ８においてすぐにライトイネーブル信号ＷＥをアサートすることで、ライトサイクルに入るが、外部メモリ５の製品規格値（データフローティングタイム）によってある一定期間、リードデータがフローティングするため、図８のデータバスドライブＥ内の内部レジスタＨに、外部メモリ５のデータフローティング時間を入力値として設定する。その設定時間分（Ｔ７区間）だけライトデータを停止し、その後、時刻ｔ９からのＴ８区間ではライトデータがＨ時に、図８のスイッチ型プルアップ素子ＣをＯＮ、ライトデータがＬ時にＯＦＦにし、ライトデータがＬ時に、スイッチ型プルダウン素子ＤをＯＮ、ライトデータがＨ時にＯＦＦにする。これによりリードデータのフローティング時、スイッチ型プルアップ素子Ｃおよびスイッチ型プルダウン素子ＤがＯＦＦであることにより、ライトサイクル時でもフローティングデータを入力として受け付ける。また、フローティングデータ終了後、即座にライトデータに切り換える。
【００４９】
このようにプルアップおよびプルダウン制御によりデータ信号を擬似的に制御する。そして、次サイクル、すなわち図９の時刻ｔ１０からのＴ９区間では、上記のプルアップおよびプルダウン制御と併せてライトデータＨ時、Ｐ型トランジスタＡをＯＮ、ライトデータがＬ時にＯＦＦ、ライトデータがＬ時、Ｎ型トランジスタＢをＯＮ、ライトデータがＨ時にＯＦＦにする。
【００５０】
そして、次サイクル以降、すなわち図９の時刻ｔ１１からのＴ１０区間ではプルアップおよびプルダウンによる擬似的なデータ制御から、通常時のトランジスタ制御に戻す。すなわち、ライトデータＨ時、Ｐ型トランジスタＡをＯＮ、ライトデータがＬ時にＰ型トランジスタＡをＯＦＦとし、ライトデータＬ時に、Ｎ型トランジスタＢをＯＮ、ライトデータがＨ時にＮ型トランジスタＢをＯＦＦにし、スイッチ型プルアップ素子Ｃおよびスイッチ型プルダウン素子ＤをともにＯＦＦにすることで、データバスへの擬似書き込みを終了させる。
【００５１】
以上のように本実施の形態５によれば、製品規格などから外部メモリのデータフローティング期間が既知なような場合に、データバスドライブ制御装置Ｅ内部に、その時間を設定する内部レジスタＨを設け、該当する時間だけライトデータを停止させ、フローティングデータを受付可能となるように制御することにより、おのおのデータフローティング期間の異なる各外部メモリに対しても、ＣＰＵ２と外部メモリ５とのメモリアクセスが連続して行われた場合においても、現在処理中のデータと次サイクルのデータとのバス衝突を回避することができる。
【００５２】
また、フローティングデータ出力後の次サイクルにおいて、プルアップ、プルダウン制御およびトランジスタ制御を併せて行うことにより、スパイク現象の発生を防止することができる。
【００５３】
（実施の形態６）
次に本発明の実施の形態６にかかるマイクロコンピュータについて説明する。図１０は本実施の形態６における入出力制御装置およびデータバスドライブ制御装置を有するマイクロコンピュータの構成を示すものである。本図において、図１、図２、図３、図６、図８、図１１に示すものと同一符号は同一、または相当部分を示し、図１０において、Ｉはデータバスドライブ制御装置Ｅ内に設けられ、動作環境により変化するデータフローティングタイムを計測するためのデータフローティング期間計測装置である。
【００５４】
以上のように構成された本実施の形態６のマイクロコンピュータについて、以下、その動作を図７を参照しつつ説明する。
固定ウエイトモードの場合ＣＰＵ２が外部メモリ５から格納されたデータを取り出す際、メモリアクセス制御装置３に対してチップセレクト信号ＣＳと、アクセスしたいアドレス値をアドレス信号ＡＤとして出力して外部メモリ５へのアクセスを要求する。メモリアクセス制御装置３はチップセレクト信号ＣＳとアクセスしたいアドレスのアドレス信号ＡＤを受け取ると、これらを外部メモリ５に渡す。この時点で外部メモリ５へのメモリアクセスが開始される。
【００５５】
そして、設定されたウエイトサイクルでチップセレクト信号ＣＳがネゲートされ、メモリアクセスが終了する。ここで、ＣＰＵ２と外部メモリ５とのメモリアクセスが連続した場合については、図７に示されるように、チップセレクト信号ＣＳはアサートされたままの状態であり、リードサイクル中においてリードイネーブル信号ＲＥがネゲートされると同時にリードデータを取り終える。
【００５６】
そして、時刻ｔ５においてすぐにライトイネーブル信号ＷＥをアサートすることで、ライトサイクルに入るが、外部メモリ５の製品規格値（データフローティングタイム）によってある一定期間、リードデータがフローティングする。そして、このデータフローティングタイムは、その時点での動作環境（電源電圧の変動、温度、湿度）により変化するため、図１０のデータバスドライブ制御装置Ｅ内のデータフローティング期間計測装置Ｉにより、内部カウンタで外部メモリアクセス時以外の処理時にデータフローティングタイムを計測する。
【００５７】
その後の外部メモリアクセス時において、その計測結果から、時刻ｔ５からのＴ４区間においてスイッチ型プルアップ素子Ｃおよびスイッチ型プルダウン素子ＤをＯＦＦにし、ライトサイクル時でもフローティングデータを入力として受け付ける。
【００５８】
そして、次サイクルすなわち図７の時刻ｔ６からのＴ５区間では図５のＴ１区間のプルアップおよびプルダウン制御と併せて、ライトデータがＨ時、Ｐ型トランジスタＡをＯＮ、ライトデータがＬ時にＯＦＦ、ライトデータがＬ時に、Ｎ型トランジスタＢをＯＮ、ライトデータがＨ時にＮ型トランジスタＢをＯＦＦにする。
【００５９】
そして、次サイクル以降、すなわち図７の時刻ｔ７からのＴ６区間ではプルアップおよびプルダウンによる擬似的なデータ制御から、通常時のトランジスタ制御に戻す。すなわち、ライトデータＨ時に、Ｐ型トランジスタＡをＯＮ、ライトデータがＬ時にＰ型トランジスタＡをＯＦＦ、ライトデータがＬ時、Ｎ型トランジスタＢをＯＮ、ライトデータがＨ時にＮ型トランジスタＢをＯＦＦにし、スイッチ型プルアップ素子Ｃおよびスイッチ型プルダウン素子ＤをともにＯＦＦにすることで、データバスへの擬似書き込みを終了させる。
【００６０】
以上のように本実施の形態６によれば、外部メモリアクセス時以外の処理期間において、外部メモリのデータフローティング期間をデータフローティング期間計測装置で計測し、その結果からデータバスドライブ制御装置により、プルアップ、プルダウンおよびトランジスタを用いて次機会における外部メモリアクセス時の出力データを制御し、該当する時間だけライトデータを停止させ、フローティングデータを受付可能となるように制御することで、外部メモリのフローティングデータと次サイクルのデータとのバス衝突を回避することができる。
【００６１】
また、実施の形態５のように、規格としてのデータフローティング時間を使用する場合に比べて、電源電圧、温度、湿度などにより基準値を中心に変動するデータフローティング期間を正確に計測して制御することにより、実施の形態５に比べて精度の高いメモリアクセス制御を行うことを期待することができる。
【産業上の利用可能性】
【００６２】
本発明にかかるマイクロコンピュータは、入出力制御装置を有し、外部デバイスとのメモリアクセスを行うシステムコントローラ等として有用である。
【図面の簡単な説明】
【００６３】
【図１】本発明の実施の形態１にかかるマイクロコンピュータの構成図。
【図２】上記実施の形態１および３におけるマイクロコンピュータの入出力制御装置の構成図。
【図３】本発明の実施の形態２におけるマイクロコンピュータの入出力制御装置の構成図。
【図４】上記第１および第２の実施の形態におけるマイクロコンピュータの入出力制御装置の動作を説明するためのタイミングチャートを記載した図。
【図５】本発明の実施の形態３におけるマイクロコンピュータの入出力制御装置の動作を説明するためのタイミングチャートを記載した図。
【図６】本発明の実施の形態４におけるマイクロコンピュータの入出力制御装置の構成図。
【図７】上記実施の形態４および６におけるマイクロコンピュータの入出力制御装置の動作を説明するためのタイミングチャートを記載した図。
【図８】本発明の実施の形態５におけるマイクロコンピュータの入出力制御装置の構成図。
【図９】上記実施の形態５におけるマイクロコンピュータの入出力制御装置の動作を説明するためのタイミングチャートを記載した図。
【図１０】本発明の実施の形態６におけるマイクロコンピュータの入出力制御装置の構成図。
【図１１】従来のマイクロコンピュータの入出力制御装置の構成図。
【図１２】従来のマイクロコンピュータの入出力制御装置の動作を説明するためのタイミングチャートを記載した図。
【図１３】従来のマイクロコンピュータの構成図。
【符号の説明】
【００６４】
１  マイクロコンピュータ
２  中央処理装置(ＣＰＵ)
３  メモリアクセス制御装置
４  入出力制御装置
５  外部メモリ
Ａ  Ｐ型トランジスタ
Ｂ  Ｎ型トランジスタ
Ｃ  スイッチ型プルアップ素子
Ｄ  スイッチ型プルダウン素子
Ｅ  データバスドライブ制御装置
Ｆ  出力制御装置
Ｇ  バスドライブ出力制御装置
Ｈ  データバスドライブ制御装置の内部レジスタ
Ｉ  データフローティング期間計測装置
ＡＤ  中央処理装置からのアドレス信号
ＤＴ  中央処理装置に対する入出力データ信号
ＣＳ  中央処理装置からのチップセレクト信号
ＲＥ  中央処理装置からのリードイネーブル信号
ＷＥ  中央処理装置からのライトイネーブル信号
【図１】
2006011630.tif 000003
【図２】
2006011630.tif 000004
【図３】
2006011630.tif 000005
【図４】
2006011630.tif 000006
【図５】
2006011630.tif 000007
【図６】
2006011630.tif 000008
【図７】
2006011630.tif 000009
【図８】
2006011630.tif 000010
【図９】
2006011630.tif 000011
【図１０】
2006011630.tif 000012
【図１１】
2006011630.tif 000013
【図１２】
2006011630.tif 000014
【図１３】
2006011630.tif 000015