JP2007052685A - マイクロコントローラ - Google Patents
マイクロコントローラ Download PDFInfo
- Publication number
- JP2007052685A JP2007052685A JP2005238185A JP2005238185A JP2007052685A JP 2007052685 A JP2007052685 A JP 2007052685A JP 2005238185 A JP2005238185 A JP 2005238185A JP 2005238185 A JP2005238185 A JP 2005238185A JP 2007052685 A JP2007052685 A JP 2007052685A
- Authority
- JP
- Japan
- Prior art keywords
- block
- bus
- stop
- signal
- response
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 230000004044 response Effects 0.000 claims abstract description 80
- 102100040844 Dual specificity protein kinase CLK2 Human genes 0.000 abstract description 30
- 101000749291 Homo sapiens Dual specificity protein kinase CLK2 Proteins 0.000 abstract description 30
- 101150090744 SPL3 gene Proteins 0.000 abstract description 13
- 101150096142 SPL5 gene Proteins 0.000 abstract description 5
- 102100040862 Dual specificity protein kinase CLK1 Human genes 0.000 description 15
- 101000749294 Homo sapiens Dual specificity protein kinase CLK1 Proteins 0.000 description 15
- 230000004913 activation Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 101100166349 Homo sapiens CBY1 gene Proteins 0.000 description 3
- 102100026774 Protein chibby homolog 1 Human genes 0.000 description 3
- 101150081937 arb1 gene Proteins 0.000 description 3
- 102100029648 Beta-arrestin-2 Human genes 0.000 description 2
- 101100109996 Homo sapiens ARRB2 gene Proteins 0.000 description 2
- 101150031993 SPL4 gene Proteins 0.000 description 2
- 101100002079 Schizosaccharomyces pombe (strain 972 / ATCC 24843) arb2 gene Proteins 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 101100113692 Caenorhabditis elegans clk-2 gene Proteins 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Power Sources (AREA)
- Bus Control (AREA)
Abstract
【課題】 マイクロコントローラにおいて、バス調停動作を破綻させることなく、スリープモード時の内部クロックの停止による消費電力の低減と、スプリット動作による処理の効率化を両立させる。
【解決手段】 内部クロックCLK2が停止しているときにでも、スレーブブロック3や停止制御ブロック5からのスプリット信号SPL3,SPL5を保持する保持回路661,662を備えたバス調停ブロック6Aを設ける。これにより、バス調停ブロック6Aがスリープ状態であっても、通常動作を行っているスレーブブロック3等からのスプリット応答を保持される。そして、起動信号WKUPによって内部クロックCLK2の供給が再開され、通常動作モード戻ったときに、スプリット制御回路63が保持回路661,662の保持内容に基づいて正常な処理が再開される。
【選択図】 図1
【解決手段】 内部クロックCLK2が停止しているときにでも、スレーブブロック3や停止制御ブロック5からのスプリット信号SPL3,SPL5を保持する保持回路661,662を備えたバス調停ブロック6Aを設ける。これにより、バス調停ブロック6Aがスリープ状態であっても、通常動作を行っているスレーブブロック3等からのスプリット応答を保持される。そして、起動信号WKUPによって内部クロックCLK2の供給が再開され、通常動作モード戻ったときに、スプリット制御回路63が保持回路661,662の保持内容に基づいて正常な処理が再開される。
【選択図】 図1
Description
本発明は、マイクロコントローラのバス制御に関するものである。
図2は、従来のマイクロコントローラの一例を示す構成図である。
このマイクロコントローラは、マスタブロック1,2、スレーブブロック3,4、停止制御ブロック5及びバス調停ブロック6を有しており、これらがシステムバス7,8を介して相互に接続された構成となっている。
このマイクロコントローラは、マスタブロック1,2、スレーブブロック3,4、停止制御ブロック5及びバス調停ブロック6を有しており、これらがシステムバス7,8を介して相互に接続された構成となっている。
マスタブロック1,2は、CPU(Central Processing Unit)等で構成され、定められたプログラムに従って処理を行うと共に、システムバス7,8を介してスレーブブロック3,4にバスアクセスを発行する機能を有するものである。スレーブブロック3,4は、システムバス7,8を介してマスタブロック1,2からバスアクセスを受け取り、それに応答するものである。停止制御ブロック5は、スレーブブロックの1つであり、特にマスタブロック1,2等に供給するクロック信号を停止させる機能を有するものである。また、バス調停ブロック6は、マスタブロック1,2からのバス使用要求に従って、システムバス7,8を使用しても良いか否かを調停するものである。
システムバス7は、マスタ側からスレーブ側へデータ等を転送するバスで、アドレス等の制御信号が含まれている。システムバス8は、スレーブ側からマスタ側へデータ及び応答を転送するバスである。システムバス8では、スレーブブロックの状態を示す応答信号RESPや、応答完了を示す応答完了信号READY等がマスタ側へ転送される。応答信号RESPでは、アクセスが正常終了(“OK”)か、異常終了(“ERR”)か、或いは後述する分割転送(“SPLIT”)かの応答が示される。応答完了信号READYでは、その応答が有効(“H”)か、無効(“L”)かが示されるようになっている。
これらのブロック1〜6は、システムバス7,8を介して接続されると共に、ブロック間で制御信号を直接やり取りするための信号線で接続されている。
例えば、停止制御ブロック5とバス調停ブロック6の間では、低消費電力モード時にスリープ状態にさせるブロック(例えば、マスタブロック1,2、スレーブブロック4、及びバス調停ブロック6)へのクロック供給の停止を要求する停止要求信号REQと、クロック供給を停止可能な状態になったことを示す停止許可信号ACKがやり取りされるようになっている。
即ち、停止制御ブロック5は、クロック停止要求の有無を書き込むことができるレジスタ(REG)51を有し、このレジスタ51の出力側がフリップフロップ(FF)52に接続されている。フリップフロップ52のクロック端子には外部からマスタクロックCLK1が与えられ、このフリップフロップ52から出力される停止要求信号REQがバス調停ブロック6に与えられている。更に、停止制御ブロック5は、バス調停ブロック6から与えられる停止許可信号ACKを、マスタクロックCLK1に同期して保持するフリップフロップ53を有している。フリップフロップ53の出力信号は、ORゲート54に与えられてマスタクロックCLK1との論理和がとられ、内部クロックCLK2としてマスタブロック1,2、スレーブブロック4、及びバス調停ブロック6に供給されるようになっている。なお、低消費電力モード時でもスリープ状態にならずに通常の動作を行うブロック(例えば、スレーブブロック3)には、マスタクロックCLK1が与えられている。
バス調停ブロック6は、一方の入力側に停止要求信号REQが与えられるORゲート61を有し、この出力側がフリップフロップ62の入力側に接続されている。フリップフロップ62のクロック端子には内部クロックCLK2が与えられ、このフリップフロップ62から停止許可信号ACKが出力されている。停止許可信号ACKは、停止制御ブロック5に与えられると共に、ORゲート61の他方の入力側に接続されている。また、フリップフロップ62は、外部またはスリープ状態にならないブロックから与えられる起動信号WKUPによって、非同期にクリアされるようになっている。
一方、マスタブロック1とバス調停ブロック6の間では、調停信号ARB1がやり取りされるようになっている。調停信号ARB1は、マスタブロック1がシステムバスを使用したいときに出力するバス要求信号と、このバス要求信号を受け取ったバス調停ブロック6がマスタブロック1へシステムバスの使用を許可するバス許可信号とで構成されている。この調停により、マスタブロック1はシステムバス7,8を使用をすることが可能になる。同様に、マスタブロック2とバス調停ブロック6の間では、調停信号ARB2がやり取りされるようになっている。
このバス調停では、システムバスが使用されていないときには、先にバス要求信号を出したマスタブロックにバス使用許可が与えられ、複数のマスタブロックが同時にバス要求信号を出力した場合には、予め設定されている優先順位に従って、例えばマスタブロック1にバス許可信号が与えられるようになっている。一旦バス許可信号が与えられると、その後、優先順位の高いマスタブロックからのバス要求が生じても、一連のデータ転送が終了するまでそのマスタブロックに継続して与えられるようになっている。
一方、スレーブブロック側では、マスタブロックからのバスアクセスに対して、直ちに応答データを返すことができない場合がある。このような場合に、バス許可信号が継続して与えられていると、システムバスが無駄に割り当てられて他のマスタブロックの処理を妨げることになる。このような弊害を無くすため、バス調停ブロック6では、スプリット(分割)転送制御を行うようにしている。
スプリット転送は、スレーブブロックがマスタブロックからバスアクセスを受け取った際に、その応答に長い待ち時間を必要と判断した場合、マスタブロックに対してスプリット転送をする旨のスプリット応答を返し、このスプリット応答によって割り当て中のバス使用許可を停止させるものである。これにより、他のバス使用要求に対するバス使用許可が可能になる。また、スレーブブロックは、応答が可能になった時に、その旨を通知するためのスプリット信号SPLをバス調停ブロックに出力して、バス使用許可の再割り当てを要求するようになっている。
スレーブブロック3,4及び停止制御ブロック5からバス調停ブロック6に、スプリット信号SPL3,SPL4,SPL5がそれぞれ与えられるようになっている。なお、各スレーブブロックからバス調停ブロック6に与えられるスプリット信号SPLは、どのマスタブロックに対する応答であるかを識別するために、マスタブロックと同数の信号線が用いられる。
図3は、図2の動作の一例を示すタイムチャートである。
図3の時刻t1では、バス使用許可がマスタブロック(MB)1に与えられており、このマスタブロック1からのバスアクセスに対して、スレーブブロック(SB)3が応答信号RESPとして“SPLIT”応答を返す。
図3の時刻t1では、バス使用許可がマスタブロック(MB)1に与えられており、このマスタブロック1からのバスアクセスに対して、スレーブブロック(SB)3が応答信号RESPとして“SPLIT”応答を返す。
時刻t2において、“SPLIT”応答を受信したバス調停ブロック6は、バス使用許可をマスタブロック2に移行する。
時刻t3において、マスタブロック2がバスアクセスを行っている際に、停止制御ブロック5のレジスタ51に“H”を書き込み、停止要求信号REQが“H”となる。
時刻t4において、バス調停ブロック6は、停止制御ブロック5からの停止要求信号REQを受け取ると、すべてのマスタブロック1,2からバス使用許可を剥奪する。更に、バス調停ブロック6は、システムバス7,8を開放した後、停止許可信号ACKを“H”にする。
時刻t5において、マスタクロックCLK1の立ち上がりで、フリップフロップ53から出力される信号S53が“H”となり、ORゲート54から出力される内部クロックCLK2は“H”に固定される。これにより、マスタブロック1,2、スレーブブロック4、及びバス調停ブロック6へ供給される内部クロックCLK2が停止され、これらのブロックはスリープ状態となる。これにより、スリープ状態のブロックの消費電力を低減することができる。
しかしながら、前記マイクロコントローラでは、次のような課題があった。
図3の時刻t5以降、内部クロックCLK2は停止するが、マスタクロックCLK1は供給されており、スレーブブロック3と停止制御ブロック5の動作は継続して行われている。従って、時刻t6において、スレーブブロック3が応答可能になると、このスレーブブロック3からバス調停ブロック6に対してスプリット信号SPL3が出力される。しかし、バス調停ブロック6は、内部クロックCLK2が停止されてスリープ状態となっており、スプリット信号SPL3を検出することができない。
図3の時刻t5以降、内部クロックCLK2は停止するが、マスタクロックCLK1は供給されており、スレーブブロック3と停止制御ブロック5の動作は継続して行われている。従って、時刻t6において、スレーブブロック3が応答可能になると、このスレーブブロック3からバス調停ブロック6に対してスプリット信号SPL3が出力される。しかし、バス調停ブロック6は、内部クロックCLK2が停止されてスリープ状態となっており、スプリット信号SPL3を検出することができない。
時刻t7において、通常動作モードに戻すために、起動信号WKUPが“L”になるとフリップフロップ62はクリアされ、停止許可信号ACKは無条件に“L”となる。起動信号WKUPが“H”に戻った後、時刻t8においてマスタクロックCLK1が立ち上がると、フリップフロップ53の出力信号は“L”となり、内部クロックCLK2の供給が再開される。内部クロックCLK2の供給が再開された時刻t9では、本来は応答可能になってスプリット信号SPL3を出力したスレーブブロック3に対応するマスタブロック1にバス使用許可を移行しなければならない。しかし、バス調停ブロック6はスプリット信号SPL3を検出していないので、スリープモードに移行する直前にバス使用許可を得ていたマスタブロック1にバス使用許可を渡してしまう。このため、正常なバス調停動作が破綻してしまうという課題があった。
本発明は、バス調停動作を破綻させることなく、スリープモード時の内部クロックの停止による消費電力の低減と、スプリット転送動作による処理の効率化が可能なマイクロコントローラを提供することを目的としている。
本発明は、システムバスを介して接続された複数のスレーブブロックに対してバスアクセスを行う複数のマスタブロックと、前記マスタブロックからのバス使用要求及び前記スレーブブロックからの分割転送応答に応じて前記システムバスの使用割り当てを調停してバス使用許可を出力するバス調停ブロックと、低消費電力モードへの移行要求があったときに前記バス調停ブロックへ内部クロックの停止要求を行って該バス調停ブロックから停止許可を受けたときに該内部クロックの供給を停止し、起動要求があったときには直ちに該内部クロックの供給を再開する停止制御ブロックとを備えたマイクロコントローラにおいて、バス調停ブロックを次のように構成している。
即ち、このバス調停ブロックは、前記分割転送応答があったときには割り当て中のバス使用許可を停止して他のバス使用要求に対するバス使用許可を行い、該分割転送応答を行ったスレーブブロックから分割転送が可能になったことを示す応答信号が与えられたときには前記停止したバス使用許可を復旧させる分割転送制御回路と、前記内部クロックの供給が停止されているときに、前記スレーブブロックのうちでマスタクロックの供給を受けて動作するスレーブブロックから前記応答信号が与えられた場合に該応答信号を保持し、該内部クロックの供給が再開されたときにその保持していた応答信号を前記分割転送制御回路に出力する応答信号保持回路とを有することを特徴としている。
本発明では、内部クロックの供給が停止されているときに、マスタクロックの供給を受けて動作するスレーブブロックから応答信号が与えられた場合にその応答信号を保持し、内部クロックの供給が再開されたときにその保持していた応答信号を分割転送制御回路に出力する応答信号保持回路を有している。これにより、内部クロックの停止中に与えられた応答信号が検出できなくなるおそれがなくなり、バス調停動作を破綻させることなく、スリープモード時の内部クロックの停止による消費電力の低減と、スプリット転送動作による処理の効率化を両立させることができるという効果がある。
バス調停ブロックに、分割転送応答に基づいて割り当て中のバス使用許可を停止しているときに、停止制御ブロックから内部クロックの停止要求が行われた場合に直ちに停止許可を出力せず、該分割転送応答を行ったスレーブブロックから分割転送が可能になったことを示す応答信号が与えられて停止したバス使用許可を復旧させた後で、この停止許可を出力するクロック停止遅延回路を設けても良い。
この発明の前記並びにその他の目的と新規な特徴は、次の好ましい実施例の説明を添付図面と照らし合わせて読むと、より完全に明らかになるであろう。但し、図面は、もっぱら解説のためのものであって、この発明の範囲を限定するものではない。
図1は、本発明の実施例1を示すマイクロコントローラの構成図であり、図2中の要素と共通の要素には共通の符号が付されている。
このマイクロコントローラは、マスタブロック1,2、スレーブブロック3,4、停止制御ブロック5及びバス調停ブロック6Aを有しており、これらがシステムバス7,8を介して相互に接続された構成となっている。これらの構成要素のうち、バス調停ブロック6A以外は図2と同じである。
マスタブロック1,2はCPU等で構成され、定められたプログラムに従って処理を行うと共に、システムバス7,8を介してスレーブブロック3,4にバスアクセスを発行する機能を有するものである。スレーブブロック3,4は、システムバス7,8を介してマスタブロック1,2からバスアクセスを受け取り、それに応答するものである。停止制御ブロック5は、スレーブブロックの1つであり、特にマスタブロック1,2等に供給するクロック信号を停止させる機能を有するものである。
システムバス7は、マスタ側からスレーブ側へアドレス等の制御信号やデータを転送するバスで、システムバス8は、スレーブ側からマスタ側へデータ及び応答を転送するバスである。システムバス8では、スレーブブロックの状態を示す応答信号RESPや、応答完了を示す応答完了信号READY等がマスタ側へ転送される。応答信号RESPでは、アクセスが正常終了(“OK”)か、異常終了(“ERR”)か、或いは分割転送(“SPLIT”)かの応答が示される。また、応答完了信号READYでは、その応答が有効(“H”)か、無効(“L”)かが示されるようになっている。
停止制御ブロック5は、スレーブブロックの1つで、特にマスタブロック1,2等に供給するクロック信号を停止させる機能を有するものである。即ち、停止制御ブロック5は、クロック停止要求の有無を書き込むことができるレジスタ51を有し、このレジスタ51の出力側がフリップフロップ52の入力側に接続されている。フリップフロップ52のクロック端子には外部からマスタクロックCLK1が与えられ、このフリップフロップ52の出力側から停止要求信号REQが出力されて、バス調停ブロック6Aに与えられている。更に、停止制御ブロック5は、バス調停ブロック6Aから与えられる停止許可信号ACKを、マスタクロックCLK1に同期して保持するフリップフロップ53を有している。フリップフロップ53の出力信号は、ORゲート54に与えられてマスタクロックCLK1との論理和がとられ、内部クロックCLK2としてマスタブロック1,2、スレーブブロック4、及びバス調停ブロック6Aに供給されるようになっている。なお、この停止制御ブロック5と、低消費電力モード時でもスリープ状態にならずに通常の動作を行うブロック(例えば、スレーブブロック3)には、マスタクロックCLK1が常時与えられている。
一方、バス調停ブロック6Aは、一方の入力側に停止要求信号REQが与えられるORゲート61を有し、この出力側がフリップフロップ62の入力側に接続されている。フリップフロップ62のクロック端子には内部クロックCLK2が与えられ、このフリップフロップ62から停止許可信号ACKが出力されて、停止制御ブロック5とORゲート61の他方の入力側に与えられている。なお、フリップフロップ62は、外部またはスリープ状態にならないブロックから与えられる起動信号WKUPによって、非同期にクリアされるようになっている。
更に、このバス調停ブロック6Aはフリップフロップ64とORゲート65を有し、これらの入力側に停止許可信号ACKが与えられている。フリップフロップ64のクロック端子には内部クロックCLK2が与えられ、このフリップフロップ64の出力側がORゲート65の他方の入力側に接続されている。ORゲート65から出力される信号S65は、保持回路661,662へ与えられている。
保持回路661,662は、内部クロックCLK2の供給が停止されているときに、マスタクロックCLK1の供給を受けて動作するスレーブブロック3,5からそれぞれスプリット信号SPL3,SPL5が与えられた場合にそのスプリット信号を保持し、内部クロックCLK2の供給が再開されたときにその保持内容をスプリット信号SPL3H,SPL5Hとしてスプリット制御回路63に出力するものである。
保持回路661,662は同一構成で、例えば保持回路661に示すように、フリップフロップ66aとセレクタ66bで構成されている。フリップフロップ66aの入力側は“H”に固定され、出力側はセレクタ66bの第1の入力端子に接続されている。フリップフロップ66aのリセット端子とセレクタ66bの選択端子には、ORゲート65からの信号S65が与えられている。更に、フリップフロップ66aのクロック端子とセレクタ66bの第2の入力端子には、スプリット信号SPLが与えられている。即ち、保持回路661には、スレーブブロック3からスプリット信号SPL3が与えられ、保持回路662には、停止制御ブロック5からスプリット信号SPL5が与えられている。そして、各保持回路661,662のセレクタ66bから出力されるスプリット信号SPL3H,SPL5Hが、スプリット制御回路63に与えられている。一方、低消費電力モード時にスリープ状態となるスレーブブロック4のスプリット信号SPL4は、保持回路を介さず、スプリット制御回路63に直接与えられるようになっている。
スプリット制御回路63は、“SPLIT”応答があったときには割り当て中のバス使用許可を停止して他のバス使用要求に対するバス使用許可を行い、この“SPLIT”応答を行ったスレーブブロックから分割転送が可能になったことを示すスプリット信号SPLが与えられたときには前記停止したバス使用許可を復旧させるものである。
なお、マスタブロック1,2とバス調停ブロック6Aの間で、それぞれ調停信号ARB1,2を用いて、システムバス7,8のバス使用許可の調停制御を行うことは図2と同様である。
図4は、図1の動作の一例を示すタイムチャートである。以下、この図4を参照しつつ、図1の動作を説明する。
図4の時刻T1では、バス使用許可がマスタブロック(MB)1に与えられており、このマスタブロック1からのバスアクセスに対して、スレーブブロック(SB)3が応答信号RESPとして“SPLIT”応答を返す。
時刻T2において、“SPLIT”応答を受信したバス調停ブロック6Aは、バス使用許可をマスタブロック2に移行する。
時刻T3において、マスタブロック2がバスアクセスを行っている際に停止制御ブロック5のレジスタ51に“H”を書き込み、停止要求信号REQが“H”となる。
時刻T4において、バス調停ブロック6Aは、停止制御ブロック5からの停止要求信号REQを受け取ると、すべてのマスタブロック1,2からバス使用許可を剥奪する。バス調停ブロック6Aは、システムバス7,8を開放した後、停止許可信号ACKを“H”にする。これにより、ORゲート65から出力される信号S65が“H”となり、セレクタ66bによってフリップフロップ66aから出力される信号S66aが選択される。時刻T4の直前まで信号S65は“L”であったので、フリップフロップ66aはリセットされた状態となっており、信号S66aは“L”である。従って、保持回路661,662から出力されるスプリット信号SPL3H,SPL5Hは、共に“L”である。
時刻T5において、マスタクロックCLK1の立ち上がりで、フリップフロップ53から出力される信号S53が“H”となり、ORゲート54から出力される内部クロックCLK2は“H”に固定される。これにより、マスタブロック1,2、スレーブブロック4、及びバス調停ブロック6Aへ供給される内部クロックCLK2が停止され、これらのブロックはスリープ状態となる。一方、スレーブブロック3と停止制御ブロック5にはマスタクロックCLK1が与えられているので、これらのブロックの動作は継続される。
時刻T6において、スレーブブロック3が応答可能になると、このスレーブブロック3からバス調停ブロック6Aに対してスプリット信号SPL3が出力される。これにより、保持回路661のフリップフロップ66aの信号S66aは“H”となり、スプリット信号SPL3Hは“H”となる。その後、スプリット信号SPL3は“L”に戻るが、フリップフロップ66aの状態は変化せず、スプリット信号SPL3Hは“H”の状態に保持される。なお、この時点では、バス調停ブロック6Aは、内部クロックCLK2が停止されてスリープ状態となっており、スプリット信号SPL3Hの検出は行われない。
時刻T7において、通常動作モードに戻すために、起動信号WKUPが“L”になるとフリップフロップ62はクリアされ、停止許可信号ACKは無条件に“L”となる。
起動信号WKUPが“H”に戻った後、時刻T8においてマスタクロックCLK1が立ち上がると、フリップフロップ53から出力される信号S53は“L”となり、内部クロックCLK2の供給が再開される。
時刻T9において内部クロックCLK2が立ち上がると、フリップフロップ64のから出力される信号は“L”となり、信号S65も“L”となる。これにより、フリップフロップ66aの信号S66aは“L”となり、スプリット信号SPL3Hも“L”となる。従って、スプリット制御回路63には、クロック1サイクル分のスプリット信号SPL3Hが与えられたことになる。スプリット信号SPL3Hは、スプリット制御回路63によって検出され、時刻T10において、このスプリット信号SPL3Hに従って、マスタブロック1へバス使用許可が与えられる。
以上のように、この実施例1のマイクロコントローラは、内部クロックCLK2が停止しているときにでも、スレーブブロック3や停止制御ブロック5からのスプリット信号SPL3,SPL5を保持する保持回路661,662を備えたバス調停ブロック6Aを有している。これにより、バス調停ブロック6Aがスリープ状態であっても、通常動作を行っているスレーブブロック3等からのスプリット信号SPLを保持し、通常動作モード戻ったときに、正常な処理を行うことができる。
なお、本発明は、上記実施例1に限定されず、種々の変形が可能である。この変形例としては、例えば、次のようなものがある。
(1) マイクロコントローラの構成は、図1の構成例に限定されない。
(2) 保持回路66の回路構成は、図示したものに限定されない。内部クロックCLK2に無関係にスプリット信号SPLを保持することができるものであれば良い。
(1) マイクロコントローラの構成は、図1の構成例に限定されない。
(2) 保持回路66の回路構成は、図示したものに限定されない。内部クロックCLK2に無関係にスプリット信号SPLを保持することができるものであれば良い。
図5は、本発明の実施例2を示すバス調停ブロックの構成図である。このバス調停ブロック6Bは、図1中のバス調停ブロック6Aに代えて設けるもので、要素と共通の要素には共通の符号が付されている。
このバス調停ブロック6Bは、一方の入力側に停止要求信号REQが与えられ、出力側がフリップフロップ62に接続されたORゲート61を有している。フリップフロップ62のクロック端子には内部クロックCLK2が与えられ、このフリップフロップ62から出力される信号S62が、ORゲート61の他方の入力側に与えられている。
更に、バス調停ブロック6Bは、応答信号RESPの内容を判定するレスポンス判定回路67を有している。レスポンス判定回路67は、応答信号RESPが“SPLIT”応答のときに、“H”を出力するものである。レスポンス判定回路67の出力側は、クロック停止遅延回路に接続されている。クロック停止遅延回路は、“SPLIT”応答に基づいて割り当て中のバス使用許可を停止しているときに、停止制御ブロック5から停止要求信号REQが与えられた場合に直ちに停止許可信号ACKを出力せず、この“SPLIT”応答を行ったスレーブブロックから分割転送が可能になったことを示すスプリット信号SPLが与えられて停止したバス使用許可を復旧させた後で、この停止許可信号ACKを出力するものである。クロック停止遅延回路は、以下に示すORゲート68からANDゲート74の論理素子で構成されている。
即ち、レスポンス判定回路67の出力側は、ORゲート68の一方の入力側に接続されると共に、インバータ69を介してANDゲート70の一方の入力側に接続されている。ORゲート68の出力側はセレクタ71の一方の入力端子に接続され、このセレクタ71の他方の入力端子は“L”に固定されている。また、ANDゲート70の他方の入力側には、スプリット信号SPLが与えられ、このANDゲート70の出力側が、セレクタ71の選択端子に接続されている。なお、スプリット信号SPLは、スプリット制御回路63にも与えられている。
セレクタ71の出力側は、フリップフロップ72の入力側に接続され、このフリップフロップ72のクロック端子には内部クロックCLK2が与えられている。フリップフロップ72から出力される信号S72は、ORゲート68の他方の入力側に与えられると共に、インバータ73を介してANDゲート74の一方の入力側に与えられている。ANDゲート74の他方の入力側にはフリップフロップ62の信号S62が与えられ、このANDゲート74から停止許可信号ACKが出力されるようになっている。
図6は、図5の動作の一例を示すタイムチャートである。以下、この図6を参照しつつ、図5の動作を説明する。
図6の時刻T11では、バス使用許可がマスタブロック(MB)1に与えられており、このマスタブロック1からのバスアクセスに対して、スレーブブロック(SB)3が応答信号RESPとして“SPLIT”応答を返す。
時刻T12において、“SPLIT”応答を受信したバス調停ブロック6Bは、バス使用許可をマスタブロック2に移行する。また、レスポンス判定回路67では“SPLIT”を検出し、その出力信号は“H”になる。これにより、セレクタ71によってORゲート68の出力側が選択され、このセレクタ71の出力信号は“H”となる。
時刻T13における内部クロックCLK2の立ち上がりによって、フリップフロップ72の信号S72は“H”となる。時刻T14において、停止制御ブロック5から与えられる停止要求信号REQが“H”となる。そして、時刻T15における内部クロックCLK2の立ち上がりによって、フリップフロップ62の信号S62は“H”となる。
時刻T16において、スレーブブロック3からスプリット信号SPL3が出力されるとANDゲート70の出力信号が“H”となり、セレクタ71では“L”が選択されてフリップフフロップ72に与えられる。
時刻T17における内部クロックCLK2の立ち上がりにより、フリップフフロップ72の信号S72は“L”となる。これにより、ANDゲート74から出力される停止許可信号ACKは“H”となる。更に、スプリット信号SPL3に従って、マスタブロック1に対してバス使用許可が与えられる。
時刻T18では、“H”の停止許可信号ACKに従って、停止制御ブロック5からの内部クロックCLK2が停止する。また、マスタブロック1からのバスアクセスに対して“OK”の応答を返し、バス使用許可を開放する。
時刻T19では起動信号WKUPが“L”となり、信号S62が“L”にクリアされるので、停止許可信号ACKも“L”となる。これにより、時刻T20において、停止制御ブロック5からの内部クロックCLK2の供給が再開される。
以上のように、このバス調停ブロック6Bは、“SPLIT”応答を受け付けた後、スプリット信号SPLが“H”になるまでの間、内部クロックCLK2を停止させずに通常動作を継続させ、スレーブブロックからのスプリット信号SPLが“H”になった後で、この内部クロックCLK2を停止させるクロック停止遅延回路を有している。これにより、バス調停動作を破綻させることなく、スリープモード時の内部クロックの停止による消費電力の低減と、スプリット動作による処理の効率化を両立することができるマイクロコントローラが得られる。
1,2 マスタブロック
3,4 スレーブブロック
5 停止制御ブロック
6A,6B バス調停ブロック
7,8 システムバス
51 レジスタ
52,53,62,64,66a フリップフロップ
54,61,65,68 ORゲート
63 スプリット制御回路
66 保持回路
66b,71 セレクタ
67 レスポンス判定回路
69,73 インバータ
70,74 ANDゲート
3,4 スレーブブロック
5 停止制御ブロック
6A,6B バス調停ブロック
7,8 システムバス
51 レジスタ
52,53,62,64,66a フリップフロップ
54,61,65,68 ORゲート
63 スプリット制御回路
66 保持回路
66b,71 セレクタ
67 レスポンス判定回路
69,73 インバータ
70,74 ANDゲート
Claims (2)
- システムバスを介して接続された複数のスレーブブロックに対してバスアクセスを行う複数のマスタブロックと、前記マスタブロックからのバス使用要求及び前記スレーブブロックからの分割転送応答に応じて前記システムバスの使用割り当てを調停してバス使用許可を出力するバス調停ブロックと、低消費電力モードへの移行要求があったときに前記バス調停ブロックへ内部クロックの停止要求を行って該バス調停ブロックから停止許可を受けたときに該内部クロックの供給を停止し、起動要求があったときには直ちに該内部クロックの供給を再開する停止制御ブロックとを備えたマイクロコントローラにおいて、
前記バス調停ブロックは、
前記分割転送応答があったときには割り当て中のバス使用許可を停止して他のバス使用要求に対するバス使用許可を行い、該分割転送応答を行ったスレーブブロックから分割転送が可能になったことを示す応答信号が与えられたときには前記停止したバス使用許可を復旧させる分割転送制御回路と、
前記内部クロックの供給が停止されているときに、前記スレーブブロックのうちでマスタクロックの供給を受けて動作するスレーブブロックから前記応答信号が与えられた場合に該応答信号を保持し、該内部クロックの供給が再開されたときにその保持していた応答信号を前記分割転送制御回路に出力する応答信号保持回路とを、
有することを特徴とするマイクロコントローラ。 - システムバスを介して接続された複数のスレーブブロックに対してバスアクセスを行う複数のマスタブロックと、前記マスタブロックからのバス使用要求及び前記スレーブブロックからの分割転送応答に応じて前記システムバスの使用割り当てを調停してバス使用許可を出力するバス調停ブロックと、低消費電力モードへの移行要求があったときに前記バス調停ブロックへ内部クロックの停止要求を行って該バス調停ブロックから停止許可を受けたときに該内部クロックの供給を停止し、起動要求があったときには直ちに該内部クロックの供給を再開する停止制御ブロックとを備えたマイクロコントローラにおいて、
前記バス調停ブロックは、
前記分割転送応答があったときには割り当て中のバス使用許可を停止して他のバス使用要求に対するバス使用許可を行い、該分割転送応答を行ったスレーブブロックから分割転送が可能になったことを示す応答信号が与えられたときには前記停止したバス使用許可を復旧させる分割転送制御回路と、
前記分割転送応答に基づいて前記割り当て中のバス使用許可を停止しているときに、前記停止制御ブロックから前記内部クロックの停止要求が行われた場合に直ちに前記停止許可を出力せず、前記分割転送応答を行ったスレーブブロックから分割転送が可能になったことを示す応答信号が与えられて前記停止したバス使用許可を復旧させた後で、該停止許可を出力するクロック停止遅延回路とを、
有することを特徴とするマイクロコントローラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005238185A JP2007052685A (ja) | 2005-08-19 | 2005-08-19 | マイクロコントローラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005238185A JP2007052685A (ja) | 2005-08-19 | 2005-08-19 | マイクロコントローラ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007052685A true JP2007052685A (ja) | 2007-03-01 |
Family
ID=37917080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005238185A Withdrawn JP2007052685A (ja) | 2005-08-19 | 2005-08-19 | マイクロコントローラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007052685A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107614341A (zh) * | 2015-06-11 | 2018-01-19 | 本田技研工业株式会社 | 内燃机的起动装置、车辆以及内燃机的起动方法 |
JP2019056964A (ja) * | 2017-09-19 | 2019-04-11 | 株式会社東芝 | 半導体集積回路 |
US10503674B2 (en) | 2016-02-03 | 2019-12-10 | Samsung Electronics Co., Ltd. | Semiconductor device including a clock source for generating a clock signal and a clock control circuit for controlling the clock source in hardware, a semiconductor system including the semiconductor device, and a method of operating the semiconductor device |
-
2005
- 2005-08-19 JP JP2005238185A patent/JP2007052685A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107614341A (zh) * | 2015-06-11 | 2018-01-19 | 本田技研工业株式会社 | 内燃机的起动装置、车辆以及内燃机的起动方法 |
US10503674B2 (en) | 2016-02-03 | 2019-12-10 | Samsung Electronics Co., Ltd. | Semiconductor device including a clock source for generating a clock signal and a clock control circuit for controlling the clock source in hardware, a semiconductor system including the semiconductor device, and a method of operating the semiconductor device |
JP2019056964A (ja) * | 2017-09-19 | 2019-04-11 | 株式会社東芝 | 半導体集積回路 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8531893B2 (en) | Semiconductor device and data processor | |
JP2007219678A (ja) | マルチレイヤバス・システム | |
JP2008009817A (ja) | 半導体装置及びデータ転送方法 | |
JP3665030B2 (ja) | バス制御方法及び情報処理装置 | |
JP2007058716A (ja) | データ転送バスシステム | |
JP2006040276A (ja) | 選択的なクロック制御に基づいて消費電力を節減させるバス仲裁システム及びその方法 | |
JP2007052685A (ja) | マイクロコントローラ | |
US6105082A (en) | Data processor used in a data transfer system which includes a detection circuit for detecting whether processor uses bus in a forthcoming cycle | |
JP5528939B2 (ja) | マイクロコンピュータ | |
US7209988B2 (en) | Management of the freezing of a functional module in a system on a chip | |
JP2006059303A (ja) | コンピュータシステム | |
JPH08180027A (ja) | 調停回路 | |
JPH1139266A (ja) | マルチプロセッサ装置 | |
JPH05289987A (ja) | バス権調停回路 | |
KR20000033265A (ko) | 칩 내장형 버스를 인터페이스하기 위한 장치 및 방법 | |
JP2004227484A (ja) | 情報処理装置およびメモリアクセス調停方法 | |
JP3976958B2 (ja) | 複数のマスタデバイスを有する冗長化装置及びバス制御権切り換え方法 | |
CN116909974A (zh) | 一种避免SoC总线握手机制失效的防护方法及防护系统 | |
JP4424326B2 (ja) | マルチバスマスタシステム | |
JP2001005775A (ja) | バスシステム | |
JP2005215953A (ja) | 情報処理装置 | |
JPH09259030A (ja) | マルチcpu装置 | |
JP2001229143A (ja) | マルチプロセッサ・システム | |
JP2001344194A (ja) | バス・ブリッジを有する制御システム | |
WO1997023833A1 (fr) | Systeme de bus pour un processeur d'informations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20081104 |