(57)【特許請求の範囲】
【請求項１】
データの送出を再度要求する旨のリトライ要求信号を出力する周辺ユニットを備えるマイクロコンピュータにおいて、
前記データの送出に伴ってストローブ信号を発生するストローブ信号生成回路と、
前記リトライ要求信号を前記ストローブ信号のタイミングでラッチしたときにストローブ要求信号を出力するフリップフロップと、
前記フリップフロップからストローブ要求信号を受け付けたときにバスを制御して前記周辺ユニットへデータを送出するバス制御回路と、
を具備し、
前記ストローブ信号生成回路は、前記フリップフロップから前記ストローブ要求信号を受け付けると前記周辺ユニットにストローブ信号を送出し、前記フリップフロップをリセットしてリセット信号を出力することを特徴とするマイクロコンピュータ。
【請求項２】
請求項１記載のマイクロコンピュータにおいて、
前記ストローブ信号生成回路は、データの送出に伴って出力される信号を入力し、該入力信号を所定期間遅延する遅延回路を具備し、該遅延期間がアクティブ期間とされるとともに、調整可能であることを特徴とするマイクロコンピュータ。
【請求項３】
請求項１または２項記載のマイクロコンピュータにおいて、
前記周辺ユニットは複数設けられ、各周辺ユニットから出力されるリトライ要求信号の論理和をとる論理ゲートを有することを特徴とするマイクロコンピュータ。
【請求項４】
請求項３記載のマイクロコンピュータにおいて、
前記論理ゲートの出力は、前記周辺ユニットからリトライ要求信号が出力されたとき常に１になることを特徴とするマイクロコンピュータ。
【請求項５】
請求項１または２項記載のマイクロコンピュータにおいて、
前記周辺ユニットは複数設けられており、各周辺ユニットから出力されるリトライ要求信号をプルダウンさせる抵抗を有することを特徴とするマイクロコンピュータ。
【請求項６】
請求項５記載のマイクロコンピュータにおいて、
前記抵抗は、前記周辺ユニットがアクセスされているときは、該周辺ユニットからリトライ要求信号を出力させ、アクセスされていないときは、ハイ・インピーダンス状態にすることを特徴とするマイクロコンピュータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、発振器から供給されるクロックに同期して動作するクロック同期式回路とクロックに同期しない非同期式の周辺ユニットとが混在するマイクロコンピュータに関し、レジスタに正常にデータの書き込みができない場合、周辺ユニットからのリトライ要求により、リトライが行われるマイクロコンピュータおよびその制御方法に関する。
【０００２】
【従来の技術】
図８は、従来のマイクロコンピュータの回路構成を示す図である。
【０００３】
従来のマイクロコンピュータは、図８に示すように、ＣＰＵ２０と、バスを制御するバス・コントロールユニット３０と、周辺ユニット４０と、発振器５０と、から構成される。
【０００４】
バス・コントロールユニット３０は、バスの動作を制御するバス制御回路３０１と、ストローブ信号を生成するストローブ信号生成回路３０２と、フリップフロップ（以下、ＦＦと略す）３０３と、を内蔵している。一方、周辺ユニット４０は、リトライ要求信号を生成するインタフェース回路４０１と、レジスタ４０２と、を内蔵している。
【０００５】
バス・コントロールユニット３０で用いられているＦＦ３０３はＴ−ＦＦである。このＦＦ３０３のＤはリトライ要求信号が入力されるデータ入力端子、Ｃはストローブ信号が入力されるクロック入力端子、Ｑはストローブ要求信号が出力される出力端子である。
【０００６】
上記の回路のうち、ＣＰＵ２０と、バス制御回路３０１と、周辺ユニット４０はバス３０５により接続されている。ストローブ信号生成回路３０２と、ＦＦ３０３と、インタフェース回路４０１はストローブ信号線３０６とリトライ要求信号線３０７とで接続されている。また、バス制御回路３０１と、ストローブ信号生成回路３０２と、ＦＦ３０３はストローブ要求信号線３０８で接続されている。さらに、発振器５０は、ＣＰＵ２０、バス・コントロールユニット３０および周辺ユニット４０にクロック線５１を介してクロックを供給している。
【０００７】
以下、図８を参照して従来のマイクロコンピュータの動作を簡単に説明する。
【０００８】
周辺ユニット４０がリトライ操作を要求する際には、クロックに同期したリトライ要求信号を生成する。ＦＦ３０３は、生成されたリトライ要求信号を発振器５０から供給されるクロックに同期してサンプリングを行っており、ＦＦ３０３がリトライ要求信号を検出すると、ストローブ信号生成回路３０２とバス制御回路３１０にストローブ要求信号を出力する。ストローブ要求信号を受け付けると、ストローブ信号生成回路３０２はＣＰＵ２０および周辺ユニット４０対してストローブ信号を再生成し、これを受けてＣＰＵ４０はデータを出力する。一方、ストローブ要求信号を受け付けると、バス制御回路３０はＣＰＵ４０から出力するデータをバス３０５を介して周辺ユニット４０へ供給する。周辺ユニット４０では、インタフェース回路４０１を介してデータがレジスタ４０２に書き込まれる。
【０００９】
以上のように、従来のマイクロコンピュータ１０は、ＣＰＵ２０、バス・コントロールユニット３０、周辺ユニット４０ともすべて発振器５０から供給されるクロックに同期して動作している。
【００１０】
【発明が解決しようとする課題】
上述した従来のマイクロコンピュータは、バス・コントロールユニットが発振器から供給されるクロックに同期してリトライ要求信号のサンプリングを行っているので、クロックに同期していない周辺ユニットを接続した場合、クロックのタイミングによってはリトライ要求信号をサンプリングできないという問題点があった。
【００１１】
これは、クロックがマイクロコンピュータの動作の基準となる信号である性質上、リトライ要求信号がサンプリングされるように位相や周波数をむやみに変更することができないためであり、この結果、サンプリングの取りこぼしが出てくる。
【００１２】
本発明は、上述したような従来のマイクロコンピュータが有する問題点に鑑みなされたものであって、クロックに同期して動作する同期式回路にクロックに同期しない非同期式の周辺ユニットを接続した場合にも、レジスタへのデータのライトアクセスのリトライ要求操作を行うことができるマイクロコンピュータを提供することを目的とする。
【００１３】
【課題を解決するための手段】
上記の問題点を解決するために、本実施例において、データの送出を再度要求する旨のリトライ要求信号を出力する周辺ユニットを備えるマイクロコンピュータにおいて、データの送出に伴ってストローブ信号を発生するストローブ信号生成回路と、リトライ要求信号をストローブ信号のタイミングでラッチしたときにストローブ要求信号を出力するフリップフロップと、フリップフロップからストローブ要求信号を受け付けたときにバスを制御して周辺ユニットへデータを送出するバス制御回路と、を具備し、ストローブ信号生成回路は、フリップフロップからストローブ要求信号を受け付けると周辺ユニットにストローブ信号を送出し、フリップフロップをリセットしてリセット信号を出力することを特徴とする。
【００１４】
また、ストローブ信号生成回路は、データの送出に伴って出力される信号を入力し、入力信号を所定期間遅延する遅延回路を具備し、遅延期間がアクティブ期間とされるとともに、調整可能であることを特徴とする。
【００１５】
また、周辺ユニットは複数設けられ、各周辺ユニットから出力されるリトライ要求信号の論理和をとる論理ゲートを有することを特徴とする
また、論理ゲートの出力は、周辺ユニットからリトライ要求信号が出力されたとき常に１になることを特徴とする。
【００１６】
また、周辺ユニットは複数設けられており、各周辺ユニットから出力されるリトライ要求信号をプルダウンさせる抵抗を有することを特徴とする。
【００１７】
また、抵抗は、周辺ユニットがアクセスされているときは、周辺ユニットからリトライ要求信号を出力させ、アクセスされていないときは、ハイ・インピーダンス状態にすることを特徴とする。
【００１８】
本発明は、非同期バスシステムにおいて、周辺ユニットからの要求により、レジスタにデータを書き込むリトライ要求操作を可能とするものである。なお、リトライ要求操作とは、なんらかの原因によりレジスタにデータを書き込むことができない場合、再度試みることをいう。
【００１９】
上記のような構成をとることにより、クロック信号でなく、ストローブ信号を用いてリトライ要求信号のサンプリングを行っているので、同期式回路に非同期式の回路を接続した場合においても、リトライ要求信号をサンプリングして、確実にリトライ要求操作を行うことができる。
【００２０】
【発明の実施の形態】
次に、本発明の実施例について図面を参照して説明する。
【００２１】
図１は、本発明の第１の実施例の回路構成を示す図である。図１に示すように、本実施例は、ＣＰＵ２と、後述する発振器５から供給されるクロックに同期して動作しない非同期バス・システムの制御を行うバス・コントロールユニット３と、非同期バスシステムである周辺ユニット４と、発振器５と、から構成される。
【００２２】
これらのうち、ＣＰＵ２とバス・コントロールユニット３は、発振器５から供給されるクロックに同期して動作する同期式回路であり、周辺ユニット４は、クロックに同期して動作しない非同期式回路である。
【００２３】
バス・コントロールユニット３は、バスの制御を行うバス制御回路３１と、ストローブ信号を生成するストローブ信号生成回路３２と、ストローブ信号に同期して後述する周辺ユニット４から供給されるリトライ要求信号をサンプリングしてラッチするＦＦ３３と、を内蔵している。また、周辺ユニット４は、リトライ要求信号の生成や後述するレジスタ４２へのデータのリード／ライト制御を行うインタフェース回路４１と、レジスタ４２と、を内蔵している。
【００２４】
バス制御回路３１は、ＣＰＵ２と周辺ユニット４間でのデータの送出およびレジスタ４２へのデータの書き込みが失敗した場合、ＦＦ３３からのストローブ要求信号を受けて周辺ユニット４へデータを再送出し、また、ＣＰＵ２からストローブ信号生成回路３２にバスサイクルスタート信号が出力されると、ＣＰＵ２からバス制御回路３１へデータが出力される。
【００２５】
バス・コントロールユニット３で用いられているＦＦ３３はＤ−ＦＦであり、Ｄはリトライ要求信号が入力されるデータ入力端子、Ｃはストローブ信号が入力されるクロック入力端子、Ｑはストローブ要求信号が出力される出力端子、Ｒリセット信号が入力される端子である。
【００２６】
本実施例で用いているＦＦ３３は、Ｃ端子に入力するストローブ信号の立ち下がりエッジでＤ端子からリトライ要求信号をサンプリングするエッジトリガ（ネガティブゴーイングトリガ）方式を採っている。エッジトリガ方式のＦＦは、立ち下がりエッジの直前（セットアップ期間）と直後（ホールド期間）のデータのみが有効で、それ以外は出力に影響を与えない。以上のことから、本実施例で用いているＦＦ３３は、ストローブ信号の立ち下がりエッジでリトライ要求信号を確実にサンプリングできる。
【００２７】
なお、後述するように、ストローブ信号の位相と周波数は調整可能である。そのため、仮に、ストローブ信号の位相がずれてリトライ要求信号をサンプリングできない事態になっても、位相と周波数を調整して容易に対処することができる。また、本実施例で用いるＦＦはＤ−ＦＦに限定されるものではなく、別のタイプのＦＦを用いてもよい。
【００２８】
上記の回路のうちＣＰＵ２と、バス制御回路３と、周辺ユニット４はバス３５で接続されている。ストローブ信号生成回路３２と、ＦＦ３３と、インタフェース回路４１はストローブ信号線３６とリトライ要求信号線３７とで接続されている。また、バス制御回路３１と、ストローブ信号生成回路３２と、ＦＦ３３はストローブ要求信号線３８で接続されている。さらに、発振器５はＣＰＵ２と、バス・コントロールユニット３はクロック線で接続されており、ストローブ信号生成回路３２と、ＦＦ３３はリセット信号線３９で接続されている。
【００２９】
ストローブ信号は、バス３５へのデータの送出に伴って発生するもので、インタフェース回路４１では、ストローブ信号をバス３５を介して送られてくるデータの有効タイミングとして用い、ＦＦ３３ではインタフェース回路４１から供給されるリトライ要求信号をサンプリングしてラッチする際のタイミング信号として用いられる。
【００３０】
リトライ要求信号は、レジスタ４２へのデータの書き込みを要求する信号であり、レジスタ４２への書き込みが失敗した場合にインタフェース回路４１からＦＦ３３に出力される。
【００３１】
ストローブ要求信号は、上記のリトライ要求信号を受け付けたＦＦ３３がストローブ信号生成回路３２にストローブ信号の再出力を要求する信号であり、ＦＦ３３がインタフェース回路４１からのリトライ要求をストローブ信号の立ち下がりエッジでラッチしたときにバス制御回路３１およびストローブ信号生成回路３２に出力される。ストローブ要求信号を受け付けたバス制御回路３１は周辺ユニット４にデータの再送出を行う。また、ストローブ信号生成回路３２はＦＦ３３へリセット信号を送出してＦＦ３３をリセットし、この後のリトライ要求に備える。
【００３２】
なお、リトライ要求は、レジスタ４２のデータ書き込みが成功するまで繰り返し行うことができる。
【００３３】
リセット信号は、ＦＦ３３を初期状態にリセットする信号であり、ＦＦ３３から出力されるストローブ要求信号の立ち下がりエッジでＦＦ３３をリセットするためＦＦ３３に出力される。
【００３４】
図２は、ストローブ信号生成回路３２の内部構成例を示す図である。
【００３５】
ストローブ信号生成回路３２は、図２に示すように、ＤＥＬＡＹ回路３２ａと、ＲＳ−ＦＦ３２ｂと、を有している。
【００３６】
ＤＥＬＡＹ回路３２ａは、バス３５にデータが出力されるときにＣＰＵ２が出力するバスサイクルスタート信号と発振器５が出力するクロックとを入力し、所定数クロックをカウントした後にバスサイクルスタート信号（図示せず）をＲＳ−ＦＦ３２ｂのリセット端子へ出力する。ＲＳ−ＦＦ３２ｂのリセット端子にはバスサイクルスタート信号が入力されるため、ストローブ信号生成回路３２では、ＤＥＬＡＹ回路３２ａのクロックのカウント数に相当するパルス幅のストローブ信号が生成される。
なお、ＤＥＬＡＹ回路３２ａにおけるディレイ値は任意に設定可能であり、これにより、ストローブ信号がアクティブとなる期間、即ち、パルス幅を調整できる。
【００３７】
ストローブ信号生成回路３２には、実際には、ＦＦ３３からのストローブ要求信号を入力して、ＦＦ３３をリセットするためのリセット信号、および周辺ユニット４とＦＦ３３へ出力されるストローブ信号を生成するための回路も構成されるものであるが、一般的な回路構成により実現することができるため具体的な回路構成については省略し図２には示さない。
【００３８】
図３（ａ）は、第１の実施例において、リトライ要求操作を行わないときのタイミングチャートであり、図３（ｂ）は、リトライ要求操作を行うときのタイミングチャートである。
【００３９】
図３（ａ）のように、リトライ要求操作を行わないときは、時刻Ｔｈ２，Ｔｈ３の間にリトライ要求信号のＨｉｇｈレベルが完全に入っており、ストローブ要求信号も出力されない。一方、図３（ｂ）のように、リトライ要求操作を行うときは、時刻Ｔｒ４，Ｔｒ７にストローブ信号の立ち下がりエッジでリトライ要求信号をサンプリングし、その結果、ストローブ要求信号が出力される。
【００４０】
図４（ａ）は、リトライ要求操作を行わないときの信号の流れを示す図であり、図４（ｂ）は、リトライ要求操作を行わないときの要部の動作を示すタイミングチャートである。なお、図４（ａ）において、信号の流れを数字（１）〜（３）で示す。
【００４１】
それでは、図４（ａ），（ｂ）を参照してリトライ要求操作を行わないときの信号の流れを簡単に説明する。
【００４２】
まず、時刻Ｔｈ１に、バス・コントロールユニット３からバス３５にデータが出力される（１）。次いで、時刻Ｔｈ２に、ストローブ信号生成回路３２からインタフェース回路４１にストローブ信号が出力される（２）。時刻Ｔｈ３に、ストローブ信号の立ち下がりエッジのタイミングでレジスタ４２に書き込まれるデータの値が確定するとともに、インタフェース回路４１から出力されたリトライ要求信号がＦＦ３３でサンプリングされるが（３）、しかし、この時点で、リトライ要求信号が非アクティブ（Ｌｏｗレベル）であるため、サンプリングされず、ストローブ信号は非アクティブの状態のままでリトライ要求操作は行わない。
【００４３】
図５（ａ）は、第１の実施例において、リトライ要求操作を行うときの信号の流れを示す図であり、図５（ｂ）は、リトライ要求操作を行うときの要部の動作を示すタイミングチャートである。なお、図５（ａ）において、信号の流れは数字（１）〜（７）で示す。
【００４４】
それでは、図５（ａ），図５（ｂ）を参照してリトライ要求操作を行うときの信号の流れを簡単に説明する。
【００４５】
まず、時刻Ｔｒ１に、バス・コントロールユニット３からバス３５にデータが出力される（１）。次いで、時刻Ｔｒ２に、ストローブ信号生成回路３２からインタフェース回路４１にストローブ信号が出力される（２）。時刻Ｔｒ３に、インタフェース回路４１からＦＦ３３にリトライ要求信号が出力される（３）。そして、リトライ要求信号がアクティブになり、時刻Ｔｒ４に、ストローブ信号の立ち下がりエッジのタイミングでＦＦ３３がインタフェース回路４１から出力されたリトライ要求信号をサンプリングし、ストローブ要求信号をアクティブにして、ストローブ信号生成回路３２とバス制御回路３１に出力する（４）。時刻Ｔｒ５に、ＦＦ３３を介してストローブ要求信号を入力したストローブ信号生成回路３２は、ＦＦ３３へリセット信号を出力してＦＦ３３をリセットし（５）、時刻Ｔｒ６に、ストローブ信号を非アクティブにして、インタフェース回路４１にストローブ信号を再出力する（６）。バス制御回路３１はＦＦ３３からストローブ要求信号を入力し、前回と同じデータをバス３５に再出力する（７）。
【００４６】
以上のように、本実施例において、同期式回路に非同期式回路を接続した場合、発振器５から供給されるクロックによる同期でなく、ストローブ信号生成回路３２から供給されるストローブ信号によりリトライ要求信号サンプリングのタイミングの同期をとっているので、確実にリトライ要求操作を行うことができる。
【００４７】
図６は、本発明の第２の実施例の回路構成を示す図である。
【００４８】
本実施例は、複数の周辺ユニット４，４’を設け、これらの出力に論理ゲート（ＯＲ回路）６を接続した例である。複数の周辺ユニット４，４’から出力されるリトライ要求信号を１本にまとめて論理ゲート６で論理和をとることにより、１つまたは複数の周辺ユニット４，４’からリトライ要求信号が出力されたとき、論理ゲート６の出力は常に１になる。従って、複数の周辺ユニット４，４’を接続することができる。
【００４９】
以上のように、本実施例において、複数の周辺ユニット４，４’を簡単な回路を追加するだけで接続可能になる。
【００５０】
なお、図６では、周辺ユニット４，４’しか図示していないが、入力数の多い論理ゲートを用いれば、さらに多くの周辺ユニットも接続可能である。また、図６の論理ゲート６の代わりにスイッチング機能を有するトランジスタやダイオードを用いてもよい。
【００５１】
図７は、本発明の第３の実施例の回路構成を示す図である。
【００５２】
本実施例は、複数の周辺ユニット４，４’を設け、複数の周辺ユニット４，４’の出力にプルダウン抵抗７を接続した例である。プルダウン抵抗は、ディジタル信号ラインを抵抗を通してグランドに接続するための抵抗であり、信号ラインの電圧を降下させる機能を有し、主に、並列終端させた場合や正論理の信号ラインに用いられる。
周辺ユニット４，４’の出力はプルダウン抵抗７でプルダウンされているので、複数の周辺ユニット４，４’は自分がアクセスされているときのみリトライ要求信号を出力し、それ以外は、プルダウン抵抗７によりハイ・インピーダンス状態になる。そして、周辺ユニット４，４’が同時にアクセスされたときは、ファンアウトが大きくなるだけで、リトライ要求信号の出力には影響を与えない。周辺ユニット数が一定であれば、プルダウン抵抗値が大きいほど周辺ユニット４，４’からの出力が遅れ、小さいほど出力が速くなる。また、周辺ユニット数が増すにつれ出力が遅れる。
【００５３】
以上のように、本実施例において、複数の周辺ユニット４，４’のリトライ要求信号の出力にプルダウン抵抗７を接続したので、複数の周辺ユニット４，４’を特別な回路を増設することなく接続できる。
【００５４】
なお、図７では、２つの周辺ユニット４，４’しか図示していないが、プルダウン抵抗７の抵抗値を変えれば、さらに多くの周辺ユニットを接続できる。
【００５５】
上記の第１から第３の実施例において、リトライ要求信号のサンプリングをストローブ信号の立ち下がりエッジのタイミングで行っているが、立ち上がりエッジのタイミングで行ってもよい。このような場合、図２に示すＤＥＬＡＹ回路３２ａのディレイ値を変更してストローブ信号のパルス幅を調節する。すなわち、ディレイ値を大きくすれば、ストローブ信号のパルス幅が広くなり、ディレイ値を小さくすれば、パルス幅が狭くなる。
【００５６】
【発明の効果】
以上説明したように、本発明によれば、以下のような顕著な効果を奏する。
【００５７】
（１）バス・コントロールユニットがリトライ要求信号のサンプリングを発振器から供給されるクロックに同期してではなく、ストローブ信号の立ち上がりエッジのタイミングで行っているため、同期式回路に非同期式の周辺ユニットを接続した場合においても、リトライ要求信号をサンプリングして、確実にリトライ要求操作を行うことが可能になる。
【００５８】
（２）複数の周辺ユニットから出力されるリトライ要求信号を１本にまとめて論理ゲートで論理和をとることにより、複数の周辺ユニットを接続することができる。
【００５９】
（３）複数の周辺ユニットのリトライ要求信号の出力にプルダウン抵抗を接続することにより、複数の周辺ユニットを特別な回路を増設することなく接続できる。
【図面の簡単な説明】
【図１】本発明の第１の実施例の回路構成を示す図である。
【図２】ストローブ信号生成回路３２の内部構成を示す図である。
【図３】（ａ）は、第１の実施例において、リトライ要求操作を行わないときのタイミングチャートであり、（ｂ）は、リトライ要求操作を行うときのタイミングチャートである。
【図４】（ａ）は、リトライ要求操作を行わないときの信号の流れを示す図であり、（ｂ）は、リトライ要求操作を行わないときのタイミングチャートの要部を示す図である。
【図５】（ａ）は、第１の実施例において、リトライ要求操作を行うときの信号の流れを示す図であり、（ｂ）は、リトライ要求操作を行うときのタイミングチャートの要部を示す図である。
【図６】本発明の第２の実施例の回路構成を示す図である。
【図７】本発明の第３の実施例の回路構成を示す図である。
【図８】従来のマイクロコンピュータの回路構成を示す図である。
【符号の説明】
１，１０  マイクロコンピュータ
４，４’  周辺ユニット
６  論理ゲート（ＯＲ回路）
７  プルダウン抵抗
２，２０  ＣＰＵ
３，３０  バス・コントロールユニット
４，４０  周辺ユニット
３１，３０１  バス制御回路
３２，３０２  ストローブ信号生成回路
３２ａ  ＤＥＬＡＹ回路
３２ｂ  ＲＳ−ＦＦ
３３，３０３  フリップフロップ（ＦＦ）
３５  バス
３６  ストローブ信号線
３７  リトライ要求信号線
３８  ストローブ要求信号線
３９  リセット信号線
４１，４０１  インタフェース回路
４２，４０２  レジスタ
５，５０  発振器
５１  クロック線
【図１】
0003688137.tif 000002
【図２】
0003688137.tif 000003
【図３】
0003688137.tif 000004
【図４】
0003688137.tif 000005
【図５】
0003688137.tif 000006
【図６】
0003688137.tif 000007
【図７】
0003688137.tif 000008
【図８】
0003688137.tif 000009