(57)【要約】【課題】システムバスから切り離されたスレーブブロックから、マスターブロックに割込信号を出力することを可能にする。【解決手段】スレーブブロック２の同期出力部４０は、機能処理部２０からの割込要因信号ＩＮＴをバスクロックＢＣＫに同期して保持し、クロック許可信号ＣＫＥとしてクロック制御部３０に出力する。クロック制御部３０は、クロック許可信号ＣＫＥが与えられると、このスレーブブロック２に対する選択信号ＳＥＬに拘らず、バスクロックＢＣＫを内部クロックＣＬＫとしてバスインタフェース部１０と割込出力部４０に供給する。これにより、割込出力部４０は、内部クロックＣＬＫに同期してクロック許可信号ＣＫＥを保持し、割込要求信号ＩＲＱとしてマスターブロック１に出力する。【選択図】図１
2007140849.tif 000002
【特許請求の範囲】
【請求項１】
マスターブロックとスレーブブロックがシステムバスを介して接続されたマイクロコントローラにおいて、
前記スレーブブロックは、
ローカルクロックに基づいて前記マスターブロックからの指示に基づく処理を行い、所定の要因が発生したときに所定の論理レベルを有する割込要因信号を出力する機能処理部と、
前記ローカルクロックとは独立した内部クロックに基づいて前記システムバスと前記機能処理部との間の信号転送を行うバスインタフェース部と
前記割込要因信号の論理レベルに基づく論理レベルを有するクロック許可信号を生成し、前記内部クロックに同期して前記マスターブロックへ割込要求信号を出力すると共に保持する割込出力部と、
前記スレーブブロックに対する選択信号の論理レベルに応じて前記内部クロックの出力を制御するものであって、前記クロック許可信号が前記所定の論理レベルの割込要因信号に基づく論理レベルとなったことに応じて該選択信号の論理レベルに拘らず該内部クロックを出力するクロック制御部とを、
有することを特徴とするマイクロコントローラ。
【請求項２】
前記クロック制御部は、前記ローカルクロックとは独立したシステムクロックを受け取り、前記選択信号と前記クロック許可信号とにより制御されることで、前記システムクロックが前記内部クロックとして出力されるものであることを特徴とする請求項１記載のマイクロコントローラ。
【請求項３】
前記割込制御部は、前記システムクロックに基づいて前記割込要因信号を保持すると共に前記クロック許可信号を生成する第１の部分と、前記内部クロックに基づいて前記クロック許可信号に基づく前記割込要求信号を生成する第２の部分とを有することを特徴とする請求項１または２記載のマイクロコントローラ。
【請求項４】
前記クロック制御部は、前記選択信号と前記クロック許可信号とが入力され、該選択信号が前記スレーブブロックが選択されていることを指示する論理レベルのとき或いは前記クロック許可信号が前記所定の論理レベルの割込要因信号に基づく論理レベルを有するときに前記システムクロックを前記内部クロックとして出力する論理回路で構成されることを特徴とする請求項２または３記載のマイクロコントローラ。
【請求項５】
前記クロック制御部は、前記選択信号と前記クロック許可信号とが入力され、該選択信号が前記スレーブクロックが選択されていることを指示する論理レベルのとき或いは前記クロック許可信号が前記所定の論理レベルの割込要因信号に基づく論理レベルに変化したことに応じてエッジ検出信号が生成されたときに前記システムクロックを前記内部クロックとして出力する論理回路で構成されることを特徴とする請求項２または３記載のマイクロコントローラ。
【請求項６】
前記マイクロコントローラは、前記システムバスに接続され、該システムバスからのアドレス情報に基づいて前記スレーブブロックに対する前記選択信号を生成するデコーダを有することを特徴とする請求項１〜５のいずれか１項に記載のマイクロコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスターブロックとスレーブブロックがシステムバスで接続されたマイクロコントローラ、特に非選択状態のスレーブブロックからマスターブロックへの割込信号出力に関するものである。
【背景技術】
【０００２】
【特許文献１】特開２００３−２８８２７８号公報
【特許文献２】特開２００２−３５１８２５号公報
【０００３】
上記特許文献１には、マスターブロックと複数のスレーブブロックを有し、各スレーブブロックに対するクロック信号の供給を停止する機能をするマイクロコントローラにおいて、常にクロック信号が供給されるデフォルトスレーブブロックを設けたマイクロコントローラが記載されている。このマイクロコントローラでは、デフォルトスレーブブロックがスレーブブロックに対するアクセスを監視し、クロック信号の供給が停止されているスレーブブロックへのアクセスを検出したときに、そのスレーブブロックに代わってアクセスが異常である旨の応答信号を出力するようにしている。これにより、停止中のスレーブブロックへのアクセスが行われた場合でも、マスターブロックのアクセス動作を中止させることができるとされている。
【０００４】
一方、上記特許文献２には、マスターブロックとの間でのシリアルデータ転送が一定時間行われないことを検出して休止状態に移行すると共に、休止状態にあるときにマスターブロックからのシステムクロック信号を受信したときにアクティブ状態に復帰するスレーブブロックを備えた通信システムが記載されている。これにより、非通信時にスレーブブロックを休止状態にすることができるので、消費電力を低減することができるとされている。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前記特許文献１，２に記載されたシステムでは、スレーブブロックの休止／アクティブの制御はマスターブロックから行われるので、休止状態にあるスレーブブロックからマスターブロックに対して復帰要求等の信号を出力することはできない。このため、例えばタイマー等のスレーブブロックでは、時刻設定が行われた後の時刻監視はスレーブブロック内で独自に行われるので、設定時刻になるまでマスターブロックとの接続は不要であるにもかかわらず、タイムアウトの通知手段がないためにマスターブロックから切り離すことができないという問題があった。
【０００６】
本発明は、マスターブロックとスレーブブロックがシステムバスで接続されたマイクロコントローラにおいて、このシステムバスから切り離されたスレーブブロックからマスターブロックに割込信号を出力することを目的としている。
【課題を解決するための手段】
【０００７】
本発明は、マスターブロックとスレーブブロックがシステムバスを介して接続されたマイクロコントローラにおいて、前記スレーブブロックは、ローカルクロックに基づいて前記マスターブロックからの指示に基づく処理を行い、所定の要因が発生したときに所定の論理レベルを有する割込要因信号を出力する機能処理部と、前記ローカルクロックとは独立した内部クロックに基づいて前記システムバスと前記機能処理部との間の信号転送を行うバスインタフェース部と前記割込要因信号の論理レベルに基づく論理レベルを有するクロック許可信号を生成し、前記内部クロックに同期して前記マスターブロックへ割込要求信号を出力すると共に保持する割込出力部と、前記スレーブブロックに対する選択信号の論理レベルに応じて前記内部クロックの出力を制御するものであって、前記クロック許可信号が前記所定の論理レベルの割込要因信号に基づく論理レベルとなったことに応じて該選択信号の論理レベルに拘らず該内部クロックを出力するクロック制御部とを有することを特徴としている。
【発明の効果】
【０００８】
本発明のスレーブブロックは、機能処理部から割込要因信号が出力されたときに、このスレーブブロックに対する選択信号の有無に拘らず、バスクロックを内部クロックとしてバスインタフェースと割込出力部に供給するクロック制御部を有している。従って、スレーブブロックがシステムバスから切り離されていても、マスターブロックに割込要求信号を出力することができるという効果がある。
【０００９】
また、本発明では、スレーブブロックに、割込出力部からクロック許可信号の出力が開始された時にシステムクロックの１サイクル幅のパルスを生成するエッジ検出部を設け、この１サイクル幅のパルスをクロック許可信号として、クロック制御部へ与えるようにする。これにより、割込要因の解除までに出力される内部クロックの数が１クロックだけとなり、非選択時のスレーブブロックの消費電力を更に低減することができる。
【発明を実施するための最良の形態】
【００１０】
この発明の前記並びにその他の目的と新規な特徴は、次の好ましい実施例の説明を添付図面と照らし合わせて読むと、より完全に明らかになるであろう。但し、図面は、もっぱら解説のためのものであって、この発明の範囲を限定するものではない。
【実施例１】
【００１１】
図１は、本発明の実施例１を示すマイクロコントローラの構成図である。
このマイクロコントローラは、全体の制御を行うマスターブロック１、このマスターブロック１からの指示に基づいて所定機能の処理を行う複数のスレーブブロック（図には１個のみ記載）２、マスターブロック１からの指示に基づいて各スレーブブロック２に対する選択信号ＳＥＬを出力するアドレスデコーダ３、及びこれらを共通接続するシステムバス４を備えている。システムバス４は、マスターブロック１から出力されるアドレス信号ＡＤＲを各ブロックに伝えるアドレス信号線、マスターブロック１と各スレーブブロック２の間で双方向にデータ信号ＤＡＴＡの転送を行うデータ信号線、各種の制御信号ＣＯＮ及びバスクロックＢＣＫを転送する制御信号線で構成されている。
【００１２】
スレーブブロック２は、バスインタフェース部１０、機能処理部２０、クロック制御部３０及び割込出力部４０を有している。
【００１３】
バスインタフェース部１０は、クロック制御部３０から与えられる内部クロックＣＬＫに同期して、機能処理部２０とシステムバス４との間でのアドレス信号ＡＤＲ、データ信号ＤＡＴＡ及び制御信号ＣＯＮの受け渡しを行うものである。このバスインタフェース部１０では、内部クロックＣＬＫが停止するとその動作も停止するようになっている。
【００１４】
機能処理部２０は、バスクロックＢＣＫとは非同期のローカルクロックＬＣＫに基づいて、例えば、時間監視等の所定の機能処理を行うもので、バスインタフェース部１０が停止状態でも動作を続けるようになっている。また、機能処理部２０は、例えば予め定められた時間が経過した場合等、所定の割込要因が発生したときに割込要因信号ＩＮＴを出力するようになっている。
【００１５】
クロック制御部３０は、アドレスデコーダ３からスレーブブロック２を選択する選択信号ＳＥＬ（本実施例では、レベル“Ｈ”の選択信号ＳＥＬ）が与えられたときには、バスクロックＢＣＫに応じた内部クロックＣＬＫを出力し、この選択信号ＳＥＬが与えられていないとき（本実施例では、選択信号ＳＥＬがレベル“Ｌ”のとき）は内部クロックＣＬＫの出力を停止するものである。但し、クロック制御部３０は、機能処理部２０から割込要因信号ＩＮＴが出力されたときには、割込出力部４０からのクロック許可信号ＣＫＥに従い、選択信号ＳＥＬとは無関係に、内部クロックＣＬＫを出力するようになっている。内部クロックＣＬＫは、バスインタフェース部１０と割込出力部４０に与えられるようになっている。
【００１６】
このクロック制御部３０は、例えば、割込出力部４０から出力されるクロック許可信号ＣＫＥとアドレスデコーダ３から与えられる選択信号ＳＥＬの論理和をとってその反転信号を出力するＮＯＲゲート３１と、このＮＯＲゲート３１から出力される信号Ｓ３１とバスクロックＢＣＫの論理和を内部クロック信号ＣＬＫとして出力するＯＲゲート３２で構成されている。
【００１７】
割込出力部４０は、機能処理部２０から割込要因信号ＩＮＴが出力されたときに、この割込要因信号ＩＮＴをバスクロックＢＣＫに同期して保持し、クロック許可信号ＣＫＥとしてクロック制御部３０に与えると共に、このクロック制御部３０から与えられる内部クロックＣＬＫに同期して割込要求信号ＩＲＱを保持してマスターブロック１に出力するものである。なお、割込要求信号ＩＲＱは、システムバス４を介さず、マスターブロック１に直接与えられるようになっている。
【００１８】
この割込出力部４０は、例えば、縦続接続されたＤ型のフリップフロップ４１，４２，４３で構成され、初段のフリップフロップ４１の入力端子Ｄに、機能処理部２０から割込要因信号ＩＮＴが与えられている。フリップフロップ４１，４２のクロック端子ＣにはバスクロックＢＣＫが与えられ、このフリップフロップ４２の出力端子Ｑからクロック許可信号ＣＫＥが出力されるようになっている。また、フリップフロップ４３のクロック端子Ｃにはクロック制御部３０から内部クロックＣＬＫが与えられ、このフリップフロップ４３の出力端子Ｑから割込要求信号ＩＲＱが出力されるようになっている。
【００１９】
図２は、図１の動作を示す信号波形図である。以下、この図２を参照しつつ図１の動作を、スレーブブロック２を中心に説明する。
【００２０】
アドレスデコーダ３によって、スレーブブロック２に対する選択信号ＳＥＬが活性化されて“Ｈ”となっている場合、クロック制御部３０の信号Ｓ３１は“Ｌ”となり、バスクロックＢＣＫが内部クロックＣＬＫとしてバスインタフェース部１０と割込出力部４０に与えられる。これにより、システムバス４と機能処理部２０との間で、バスクロックＢＣＫに同期して、アドレス信号ＡＤＲ、データ信号ＤＡＴＡ及び制御信号ＣＯＮの受け渡しが行われる。
【００２１】
機能処理部２０では、マスターブロック１から与えられた指示に従い、ローカルクロックＬＣＫに基づいて所定の機能処理が行われる。そして、機能処理部２０で所定の要因が発生して割込要因信号ＩＮＴが“Ｈ”になると、この割込要因信号ＩＮＴは、割込出力部４０でバスクロックＢＣＫに同期が取られ、割込要求信号ＩＲＧとしてマスターブロック１に与えられる。
【００２２】
ここで、例えばマスターブロック１からスレーブブロック２に対して、一定時間の監視を指示した後、このスレーブブロック２に対する選択信号ＳＥＬが停止されて“Ｌ”になったとする。このとき、スレーブブロック２の機能処理部２０では所定の要因が発生しておらず、割込要因信号ＩＮＴは“Ｌ”であるとする。
【００２３】
この状態では、図２の時刻ｔ１に示すように、クロック制御部３０の信号Ｓ３１は“Ｈ”となり、ＯＲゲート３２の出力は“Ｈ”に固定されて、内部クロックＣＬＫをバスインタフェース部１０へ供給することが停止される。これにより、バスインタフェース部１０の動作は停止される。一方、機能処理部２０ではローカルクロックＬＣＫに基づいて、時間監視が継続される。
【００２４】
時刻ｔ２において、機能処理部２０で監視時間が経過したことを検出すると、割込要因信号ＩＮＴが“Ｈ”となる。これにより、バスクロックＢＣＫの次の立ち上がりのタイミングでフリップフロップ４１の出力信号が“Ｈ”になる。
【００２５】
時刻ｔ３において、バスクロックＢＣＫが立ち上がると、フリップフロップ４２から出力されるクロック許可信号ＣＫＥが“Ｈ”となる。これにより、クロック制御部３０の信号Ｓ３１は“Ｌ”となり、バスクロックＢＣＫに応じた信号がＯＲゲート３２から内部クロックＣＬＫとして出力され、バスインタフェース部１０の動作は再開される。
【００２６】
時刻ｔ４において、内部クロックＣＬＫが立ち上がると、割込出力部４０のフリップフロップ４３にクロック許可信号ＣＫＥが保持され、割込要求信号ＩＲＱは“Ｈ”となる。これにより、マスターブロック１では、スレーブブロック２からの割込要求信号ＩＲＱが検出され、この割込要求に応じて所定の処理が行われる。そして、例えば、マスターブロック１からスレーブブロック２に対して、割込要求を受け付けた旨の応答が返される。
【００２７】
時刻ｔ５において、スレーブブロック２の機能処理部２０で割込要因信号ＩＮＴを解除すると、割込出力部４０では、時刻ｔ６における内部クロック信号ＣＬＫの２度目の立ち上がりに同期して、クロック許可信号ＣＫＥが“Ｌ”となる。これにより、ＯＲゲート３２の出力は“Ｈ”に固定され、内部クロックＣＬＫをバスインタフェース部１０へ供給することが再び停止される。
【００２８】
以上のように、この実施例１のマイクロコントローラにおけるスレーブブロック２は、機能処理部２０から割込要因信号ＩＮＴが出力されたときに、このスレーブブロック２に対する選択信号ＳＥＬに拘らず、バスクロックＢＣＫを内部クロックＣＬＫとしてバスインタフェース部１０と割込出力部４０に供給するクロック制御部３０を有している。従って、スレーブブロック２がシステムバス４から切り離されていても、マスターブロック１に割込要求信号ＩＲＱを出力することができるという利点がある。
【００２９】
なお、本発明は、上記実施例１に限定されず、種々の変形が可能である。この変形例としては、例えば、次のようなものがある。
（１）  バスインタフェース部１０は、単にアドレス信号ＡＤＲ、データ信号ＤＡＴＡ及び制御信号ＣＯＮの受け渡しを行うだけでなく、内部クロックＣＬＫに同期して所定の機能動作をするように構成しても良い。
（２）  クロック制御部３０の構成は図示した回路に限定されず、同様の機能を有する回路であれば良い。例えば、ＮＯＲゲート３１とＯＲゲート３２に代えて、それぞれＯＲゲートとＡＮＤゲートを用いてもよい。
（３）  割込出力部４０の構成は図示した回路に限定されず、同様の機能を有する回路であれば良い。例えば、フリップフロップ４２は削除することができる。
【実施例２】
【００３０】
図３は、本発明の実施例２を示すスレーブブロックの構成図である。
この図３のスレーブブロックの構成要素において、図１中の要素と共通の要素には共通の符号が付されている。
【００３１】
このスレーブブロックでは、割込出力部４０から出力されるクロック許可信号ＣＫＥを、エッジ検出部５０を介してクロック制御部３０に与えるようにしている。
【００３２】
エッジ検出部５０は、クロック許可信号ＣＫＥが立ち上がったときに、バスクロックＢＣＫの１サイクルに相当するパルス幅のエッジ検出信号ＥＤＧを生成してクロック制御部３０に与えるものである。エッジ検出部５０は、例えば、バスクロックＢＣＫに同期して動作するＤ型のフリップフロップ５１とＡＮＤゲート５２で構成されている。フリップフロップ５１の入力端子ＤとＡＮＤゲート５２の一方の入力端子に、クロック許可信号ＣＫＥが与えられるようになっている。フリップフロップ５１の反転出力端子／Ｑは、ＡＮＤゲート５２の他方の入力端子に接続され、このＡＮＤゲート５２からエッジ検出信号ＥＤＧが出力され、クロック制御部３０のＮＯＲゲート３１に与えられるようになっている。その他の構成は、図１と同様である。
【００３３】
図４は、図３の動作を示す信号波形図である。
図４の時刻Ｔ０において、スレーブブロックがシステムバス４から切り離されているため、このスレーブブロックに対する選択信号ＳＥＬは停止されて“Ｌ”となっており、機能処理部２０では所定の要因が発生しておらず、割込要因信号ＩＮＴは“Ｌ”となっている。
【００３４】
時刻Ｔ１において、機能処理部２０で所定の要因が発生して割込要因信号ＩＮＴが“Ｈ”になると、バスクロックＢＣＫの次の立ち上がりのタイミングでフリップフロップ４１の出力信号が“Ｈ”になる。
【００３５】
時刻Ｔ２におけるバスクロックＢＣＫの２度目の立ち上がりで、フリップフロップ４２のクロック許可信号ＣＫＥが“Ｈ”となる。これにより、エッジ検出信号ＥＤＧは“Ｈ”となり、クロック制御部３０の信号Ｓ３１が“Ｌ”となる。
【００３６】
時刻Ｔ３において、バスクロックＢＣＫが立ち下がると、ＯＲゲート３２から出力される内部クロックＣＬＫも“Ｌ”となる。
【００３７】
時刻Ｔ４において、バスクロックＢＣＫが立ち上がると、ＯＲゲート３２から出力される内部クロックＣＬＫも“Ｈ”となる。この内部クロックＣＬＫの立ち上がりにより、クロック許可信号ＣＫＥがフリップフロップ４３に保持され、割込要求信号ＩＲＱが“Ｈ”となる。一方、この時刻Ｔ４のバスクロックＢＣＫの立ち上がりにより、フリップフロップ５１の反転出力端子／Ｑは“Ｌ”となり、エッジ検出信号ＥＤＧは“Ｌ”に戻る。これにより、信号Ｓ３１は“Ｈ”となり、ＯＲゲート３２の出力は“Ｈ”に固定されて内部クロックＣＬＫは再び停止する。
【００３８】
以上のように、この実施例２のスレーブブロックは、クロック許可信号ＣＫＥが立ち上がったときに、バスクロックＢＣＫの１サイクルに相当するパルス幅のエッジ検出信号ＥＤＧを生成してクロック制御部３０に与えるエッジ検出部５０を有している。従って、割込要因が発生したときに出力される内部クロックＣＬＫは１サイクルだけとなる。これにより、割込要因の解除までに出力される内部クロックＣＬＫの数が実施例１に比べて少なくなり、実施例１と同様の利点に加えて、非選択時のスレーブブロックの消費電力を更に低減することができるという利点がある。
【図面の簡単な説明】
【００３９】
【図１】本発明の実施例１を示すマイクロコントローラの構成図である。
【図２】図１の動作を示す信号波形図である。
【図３】本発明の実施例２を示すスレーブブロックの構成図である。
【図４】図３の動作を示す信号波形図である。
【符号の説明】
【００４０】
１    マスターブロック
２    スレーブブロック
３    アドレスデコーダ
４    システムバス
１０    バスインタフェース部
２０    機能処理部
３０    クロック制御部
４０    割込出力部
５０    エッジ検出部
【図１】
2007140849.tif 000003
【図２】
2007140849.tif 000004
【図３】
2007140849.tif 000005
【図４】
2007140849.tif 000006