説明

マイクロコントローラ及びその制御方法

【課題】低消費電流で動作する構成が求められている。
【解決手段】入力データが入力されると、前記入力データに応じて起動要求信号を出力するデータ入力部と、前記起動要求信号に応じて起動し、クロック信号を生成する発振器と、前記データ入力部からの前記起動要求信号を前記発振器に出力し、起動後に生成される前記発振器からのクロック信号を、前記データ入力部の動作クロック信号である第1のクロック信号と、第2のクロック信号として供給するクロック信号供給制御部と、前記第2のクロック信号を動作クロックとして動作し、その動作時に前記入力データに応じた処理を行うCPUと、を有するマイクロコントローラ。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マイクロコントローラ及びその制御方法に関するものである。
【背景技術】
【0002】
近年、機器の消費電力の低減化の要求が高まっている。例えば、UART通信機能を搭載したマイクロコントローラでは、図22の動作タイミングチャートに示すように、任意のタイミングで来るUARTデータの受信のため、常時チップステートをRUNの状態にしなければならない。つまり、マイクロコントローラにおいて、データ受信のためのUARTデータ受信部及びその受信データの処理のためCPUへのクロック供給が常に必要であった。この結果、UARTデータ受信の有無に関わらず多くの電力を消費していた。
【0003】
このような問題を解決するため、特許文献1のような技術がある。図23に特許文献1で開示されているUARTデータの受信システム1のブロック図を示す。図23に示すように、受信システム1は、データ受信部2と、クロック信号供給制御手段3と、発振器4と、割込み制御部5と、CPU6とを有する。データ受信部2は、FIFOメモリ7を有する。
【0004】
データ受信部2は、HALT(節電期間)中に受信信号のスタートビットを検出するとUARTデータのデータ受信を開始する。また、スタートビットを検出したデータ受信部2は、起動要求信号をクロック信号供給制御手段3に、割込み信号を割込み制御部5に出力する。このことにより、割込み制御部5、CPU6にクロック信号が供給され、割込み制御部5、CPU6が動作を開始する。
【0005】
ここで、HALTであっても発振器4が停止していないことからデータ受信部2は、クロック信号供給制御手段3を経由したクロック信号に応じて動作している。このクロック信号を動作クロックとして、データ受信部2はFIFOメモリ7に、受信したUARTデータを格納する。
【0006】
クロック信号供給制御手段3は、データ受信部2から起動要求信号を受信すると、割り込み制御部5及びCPU6へクロック信号を供給する。
【0007】
割込み制御部5はデータ受信部2からの割込み信号を受信すると、他の周辺回路からの割込み信号との調停を行った後、CPU6へ割込み信号を出力する。
【0008】
CPU6は、クロック供給が再開されると、データ受信部2のFIFOメモリ7内の全データを読み出す。そして、CPU6は、その後データ受信部2の受信バッファにあるUARTデータを直接読み出す。このような動作により、CPU6は、受信システム1が受信したUARTデータを漏らさず処理することが可能となる。
【0009】
受信システム1の動作を説明するフローチャートを図24に示す。まず、HALT(節電期間)である場合(S1YES)、データ受信部2へクロック信号が供給され、CPU6へのクロック信号供給を停止している(S2)。データ受信部2がUARTデータの受信を開始すると起動要求信号がクロック信号供給制御手段3に送信され(S3YES)、CPU6へクロック信号が供給される(S4)。
【0010】
図25に受信システム1の動作タイミングチャートを示す。図25に示すように、時刻t1以前では、受信システム1が構成されているチップのチップステートがHALTになっている。この状態では、割込み制御部5、CPU6にクロック信号が供給されておらず、図22のように常時動作している場合に比べ、消費電流が低減される。
【0011】
時刻t1で、UARTデータを受信すると、割込み制御部5、CPU6にクロック信号が供給され、割込み制御部5、CPU6が動作を開始する。このため、チップステートもRUN状態となる。
【0012】
UARTデータが送信されない時刻t2以降では、チップステートがHALTとなる。この状態では、時刻t1以前と同様、割込み制御部5、CPU6にクロック信号が供給されなくなるため消費電流が低減される。
【0013】
また、関連技術として、その他にも特許文献2〜4のようなものがある。特許文献2には、発振制御部が発振イネーブル信号で水晶発振器を制御し、その発振イネーブル信号がロウレベルとなると水晶発振器が停止する技術が開示されている。また、特許文献3には、パリティエラーが検出されるとUARTが再送信要求信号を送信し、その後、UARTが動作を停止し、UART信号がロウレベルとなり待機状態となる技術が開示されている。更に、特許文献4には、所要のビット数を計数して受信完了を検出するまに、いずれの基本パターンとも異なる受信入力信号が入力される場合、これを異常と判定する技術が開示されている。
【先行技術文献】
【特許文献】
【0014】
【特許文献1】特開2007−58347号公報
【特許文献2】特開2004−246793号公報
【特許文献3】特開平5−342435号公報
【特許文献4】特開2003−186863号公報
【発明の概要】
【発明が解決しようとする課題】
【0015】
このように、従来の受信システム1では図25に示すように、時刻t1以前、時刻t2以降において、消費電流の低減化が可能である。しかし、受信システム1では、チップステートがHALTの状態でも、発振器4は常に動作を継続している。近年、機器の低消費電力化の要求がますます厳しくなっている。このように更なる消費電流の削減が要求されおり、マイクロコントローラチップの消費電力を可能な限り低減する機構が求められている。
【課題を解決するための手段】
【0016】
本発明の一態様は、入力データが入力されると、前記入力データに応じて起動要求信号を出力するデータ入力部と、前記起動要求信号に応じて起動し、クロック信号を生成する発振器と、前記データ入力部からの前記起動要求信号を前記発振器に出力し、起動後に生成される前記発振器からのクロック信号を、前記データ入力部の動作クロック信号である第1のクロック信号と、第2のクロック信号として供給するクロック信号供給制御部と、前記第2のクロック信号を動作クロックとして動作し、その動作時に前記入力データに応じた処理を行うCPUと、を有するマイクロコントローラである。
【0017】
本発明の他の態様は、発振器と、入力データを入力するデータ入力部と、前記入力データに応じた処理を行うCPUと、を備えるマイクロコントローラの制御方法であって、前記入力データが入力されると、前記入力データに応じて前記データ入力部が起動要求信号を出力し、前記起動要求信号に応じて前記発振器が起動し、クロック信号を生成し、前記発振器が生成したクロック信号に応じた第1のクロック信号により前記データ入力部が動作し、前記データ入力部が正常に動作を終了した場合、前記発振器が生成したクロック信号に応じた第2のクロック信号を動作クロックとして前記CPUに供給し、前記CPUの動作時に前記入力データに応じた処理を行うマイクロコントローラの制御方法である。
【0018】
本発明にかかるマイクロコントローラでは、クロック信号を生成する発振器が、データ入力部の出力する起動要求信号を受け取るまで動作を停止している。このため、入力データがない状態では、発振器がクロック信号を生成せず、CPUも動作を停止している。よって、入力データがない状態の消費電流を、動作維持のための最小限度まで削減することが可能である。
【発明の効果】
【0019】
本発明では、マイクロコントローラの消費電流の低減化が可能である。
【図面の簡単な説明】
【0020】
【図1】実施の形態1にかかるマイクロコントローラのブロック構成である。
【図2】実施の形態1にかかるマイクロコントローラの動作を説明するためのブロック構成図である。
【図3】実施の形態1にかかるマイクロコントローラの動作を説明するためのブロック構成図である。
【図4】実施の形態1にかかるマイクロコントローラの動作を説明するためのフローチャートである。
【図5】実施の形態1にかかるマイクロコントローラの動作を説明するためのタイミングチャートである。
【図6】実施の形態1にかかるマイクロコントローラの動作を説明するためのタイミングチャートである。
【図7】実施の形態1にかかる発振器の好適な条件を説明するための表である。
【図8】一般的なUARTデータを説明するための模擬図である。
【図9】実施の形態1にかかるデータ受信部の動作を説明するためのタイミングチャートである。
【図10】実施の形態1にかかるマイクロコントローラの効果を説明するためのタイミングチャートである。
【図11】実施の形態2にかかるマイクロコントローラのブロック構成である。
【図12】実施の形態2にかかるマイクロコントローラの動作を説明するためのブロック構成図である。
【図13】実施の形態2にかかるマイクロコントローラの動作を説明するためのブロック構成図である。
【図14】実施の形態2にかかるマイクロコントローラの動作を説明するためのフローチャートである。
【図15】実施の形態2にかかるマイクロコントローラの動作を説明するためのタイミングチャートである。
【図16】実施の形態3にかかるマイクロコントローラのブロック構成である。
【図17】実施の形態3にかかるノイズ検出回路の構成とその周辺回路の接続関係を説明するための図である。
【図18】実施の形態3にかかるマイクロコントローラの動作を説明するためのブロック構成図である。
【図19】実施の形態3にかかるマイクロコントローラの動作を説明するためのブロック構成図である。
【図20】実施の形態3にかかるマイクロコントローラの動作を説明するためのフローチャートである。
【図21】実施の形態3にかかるマイクロコントローラの動作を説明するためのタイミングチャートである。
【図22】従来技術の問題点を説明するためのタイミングチャートである。
【図23】従来技術のブロック構成である。
【図24】従来技術の動作を説明するためのフローチャートである。
【図25】従来技術の動作を説明するためのタイミングチャートである。
【発明を実施するための形態】
【0021】
発明の実施の形態1
【0022】
以下、本発明を適用した具体的な実施の形態1について、図面を参照しながら詳細に説明する。この実施の形態1は、本発明をUARTの受信システムを有するマイクロコントローラに適用したものである。図1に本実施の形態にかかるマイクロコントローラ100のブロック構成を示す。
【0023】
図1に示すように、マイクロコントローラ100は、データ受信部101と、クロック信号供給制御部102と、発振器103と、割込み制御部104と、CPU105とを有する。
【0024】
データ受信部101は、カウンタ111と、制御回路112と、受信バッファ113とを有する。データ受信部101は、UARTデータの受信を開始し、スタートビットを検出すると、起動要求信号をクロック信号供給制御部102へ出力する。また、正常にUARTデータの受信が完了すると受信完了割り込み信号を割込み制御部104へ出力する。但し、UARTデータの受信エラーが発生した場合は、クロック信号供給制御部102への起動要求信号の出力を停止する。
【0025】
また、データ受信部101は、カウンタ111を用いて、発振器103の発振安定時間によって発生するサンプリングタイミングの誤差を補正する。
【0026】
発振器103は、クロック信号供給制御部102からの起動要求信号を受信すると動作を開始し、クロック信号をクロック信号供給制御部102へ供給する。また、クロック信号供給制御部102からの起動要求信号が停止した場合、チップステートがSTOPならば動作を停止する。このため、クロック信号供給制御部102へのクロック信号の供給も停止する。
【0027】
なお、チップステートには、RUN、STOP、SNOOZEがあるものとする。チップステートがRUNの場合は、CPU105、データ受信部101、割込み制御部104にクロック信号が供給され、そのクロック信号に応じて、各々が動作している状態とする。また、チップステートがSTOPの場合は、発振器103が停止しており、データ受信部101、割込み制御部104、CPU105にクロック信号が供給されない状態とする。チップステートがSNOOZEの場合は、CPU105にクロック信号が供給されないが、クロック信号がデータ受信部101及び割り込み制御部104にはクロック信号が供給される状態とする。
【0028】
クロック信号供給制御部102は、制御回路121を有する。データ受信部101から起動要求信号を受信すると、クロック信号供給制御部102は、その起動要求信号を発振器103へ出力する。上述したように、起動要求信号に応じて発振器103が起動し、起動後に発振器103はクロック信号の供給を開始する。そして、クロック信号供給制御部102は、発振器103から供給されたクロック信号をデータ受信部101及び割込み制御部104へ、それぞれクロック信号CLK1、CLK2として供給する。更にその後、受信完了割込み信号を受信すると、CPU105へクロック信号CLK3の供給を開始する。これら起動要求信号、受信完了割込み信号、クロック信号の各信号の入出力制御は制御回路121により制御される。
【0029】
割込み制御部104は、データ受信部101から受信した受信完了割込み信号をクロック信号供給制御部102とCPU105へ出力する。なお、この割込み制御部104の機能は、データ受信部101の制御回路112が有するようにしてもよい。
【0030】
CPU105は、クロック信号供給制御部102からクロック信号が供給されると、データ受信部101の受信バッファ113の保持するデータを読み出し、UART受信データの処理を開始する。
【0031】
図2、図3を用いて、マイクロコントローラ100の基本動作を説明する。まず、図2に示すように、データ受信部101は、UARTデータを受信しデータのスタートビットを検出すると、例えばハイレベルの起動要求信号を出力する。クロック信号供給制御部102の制御回路121は、その起動要求信号を発振器103に出力し、発振器103がクロック信号の供給を開始する。なお、図中の実線の矢印は信号が入力されたことを、点線の矢印は信号が入力されていないことをそれぞれ意味する。
【0032】
クロック信号供給制御部102は、発振器103からのクロック信号を、クロック信号CLK1としてデータ受信部101に、クロック信号CLK2として割り込み制御部104に供給する。そして、データ受信部101がクロック信号CLK1を動作クロックとして、割り込み制御部104がクロック信号CLK2を動作クロックとして動作を開始する。
【0033】
なお、図2に示すように、発振器103が動作を開始し、データ受信部101及び割り込み制御部104にクロック信号が供給されるが、CPU105にはクロック信号が供給されないためチップステートがSNOOZEとなる。
【0034】
次に、図3に示すように、UARTデータの受信を完了すると、データ受信部101が受信完了割込み信号を割込み制御部104へ出力する。また、データ受信部101は、起動要求信号の出力を停止する。割込み制御部104は、データ受信部101からの受信完了割込み信号をCPU105及びクロック信号供給制御部102の制御回路121へ出力する。
【0035】
クロック信号供給制御部102は、クロック信号供給制御部102の制御回路121が受信完了割込み信号を受信すると発振器103からのクロック信号をクロック信号CLK3としてCPU105へ供給する。CPU105は割込み制御部104からの受信完了割込み信号で動作を開始し、クロック信号CLK3に応じてデータ受信部101の受信バッファ113から読み出したUARTデータを処理する。
【0036】
なお、データ受信部101が起動要求信号の出力を停止することから、発振器103が入力する起動要求信号も停止する。しかし、発振器103は、CPU105が動作しておりチップステートがRUNとなっていることからクロック信号の供給を停止しない。
【0037】
なお、CPU105が全ての処理を終了した場合、CPU105がチップステートをSTOPとする。この場合、発振器103が起動要求信号を入力していないため、発振器103は動作を停止する。このため、データ受信部101、割込み制御部104、CPU105も動作を停止し、データ受信部101がUARTデータを受信する前の状態に戻る。
【0038】
次に、このようなマイクロコントローラ100の動作を説明するフローチャートを図4に示す。図4に示すように、節電期間(チップステートがSTOP)である場合(S101YES)では、発振器103が停止しており、データ受信部101、CPU105、割込み制御部104へのクロック信号の供給が停止する(S102)。
【0039】
データ受信部101がUARTデータを受信し、起動要求信号が出力されると(S103YES)、データ受信部101、割込み制御部104へのクロック信号の供給が開始される(S104)。なお、この状態では、CPU105へクロック信号の供給がされていないため、チップステートはSNOOZEである。
【0040】
データ受信部101がUARTデータを正常に受信完了した場合(S105YES)、CPU105へクロック信号の供給を開始する(S106)。つまり、チップステートがRUNとなる。なお、ステップS105で、データ受信部101がUARTデータを正常に受信完了しなかった場合(S105NO)、CPU105へクロック信号の供給を開始せず、ステップS102へ戻る。
【0041】
次に、このようなマイクロコントローラ100の動作を説明するタイミングチャートを図5、図6に示す。図5はマイクロコントローラ100が、UARTデータを正常に受信した場合のタイミングチャートである。図6はマイクロコントローラ100が、UARTデータを正常に受信できず、受信エラーが発生した場合のタイミングチャートである。まず、図5のタイミングチャートの動作を説明する。
【0042】
図5示すように、時刻t1以前は、データ受信部101がUARTデータを受信していない状態で、UARTデータの受信を待機している。このためチップステートはSTOPの状態であり、発振器103がクロック信号を供給していない。
【0043】
時刻t1で、データ受信部101がUARTデータを受信する。UARTデータのスタートビット(ロウレベル)を検出すると、データ受信部101が起動要求信号をロウレベルからハイレベルに立ち上げる。このハイレベルの起動要求信号が、発振器103に入力され、時刻t2に発振器103がクロック信号の供給を開始する。そして、クロック信号供給制御部102からクロック信号CLK1がデータ受信部101に供給される。また、クロック信号CLK2が割込み制御部104に供給される。
【0044】
時刻t2〜t3の間、データ受信部101がクロック信号CLK1の供給を受けて、UARTデータの受信動作を開始する。データ受信部101は、クロック信号CLK1のタイミングに応じて、UARTデータをサンプリングする。このサンプリングしたデータは、受信バッファ113に保持される。この時刻t2〜t3の間、チップステートはSNOOZEとなる。
【0045】
時刻t3で、データ受信部101が、UARTデータのストップビット(ハイレベル)を検出すると、受信完了割込み信号を出力する。この受信割込み信号に応じて、クロック信号供給制御部102がクロック信号CLK3をCPU105に供給する。CPU105は、このクロック信号CLK3に応じて動作を開始し、受信バッファ113のUARTデータに対する処理を行う。
【0046】
次に、図6のタイミングチャートの動作を説明する。時刻t2以前の動作は、図5で説明したのと同様であり、ここでの説明は省略する。
【0047】
時刻t2〜t3でUARTデータの受信エラーが発生した場合、時刻t3にデータ受信部101は起動要求信号の出力を停止する(ハイレベルからロウレベルに立ち下げる)。発振器103は、チップステートがRUNでないときに、起動要求信号が停止されるためクロック信号の供給を停止する。このため、クロック信号CLK1、CLK2のデータ受信部101及び割込み制御部104への供給が停止される。よって、時刻t3以降は、チップステートがSTOPとなる。
【0048】
なお、通常のマイクロコントローラではUARTデータの受信エラーが発生した場合、受信エラー割込み信号を出力し、その受信エラー割込み信号に応じてエラー処理を行う。しかし、本実施の形態1のマイクロコントローラ100では、受信エラー割込み信号を出力せず、起動要求信号を停止することでその後のエラー処理を行っている。
【0049】
また、本実施の形態1の発振器103は、マイクロコントローラ100に接続するCR発振器や水晶発振器、もしくは、マイクロコントローラ100が備える内蔵発振器が考えられる。これらの発振器の特徴をまとめた表を図7に示す。図7に示すように、CR発振器は発振安定時間が短いが、周波数精度が低い。周波数精度が低いと、データ受信部101が受信する受信データのサンプリングに影響し、ボーレート誤差が大きくなる欠点がある。
【0050】
また、図7に示すように、水晶発振器では、周波数精度は高いが、発振安定時間が長い欠点がある。発振安定時間が長いと、データ受信部101が行う最初のデータサンプリングに間に合わない場合があり、データ受信エラーが発生する可能性がある。
【0051】
最後にマイクロコントローラ100が内蔵する内蔵発振器では、周波数精度も高く±2%程度以下でありボーレート誤差の悪化を低減できる。更に発振安定時間も短いため、データ受信部101の動作開始が、UARTデータのサンプリング開始限度期間内で収めることが可能となる。このため、本実施の形態1の発振器103は、内蔵発振器が最も好適であることがわかる。但し、UARTデータの送受信の規格によっては、CR発振器や水晶発振器を用いてもかまわない。
【0052】
更に、内蔵発振器により発振器103が実現される場合であっても、発振安定時間によるUARTデータのサンプリング誤差が発生する場合がある。正確なUARTデータのサンプリングには、この誤差が補正される必要がある。このため、図8、図9を用いてデータ受信部101が行う上記誤差の補正について説明する。但し、以下では、マイクロコントローラ100が送受信するUARTデータが8ビットである場合を想定する。
【0053】
まず、図8にUARTデータのプロトコルを示す。図8に示すように、データ受信部101が入力するUARTデータは、時間軸に対して、スタートビット(ST)、bit7〜bit0、パリティビット(P)、ストップビット(SP)の順で送信される。スタートビット(ST)は必ずロウレベルであり、ストップビット(SP)は必ずハイレベルである。
【0054】
例えば、図8では、bit7〜bit0、パリティビット(P)が全てロウレベルである場合を示している。このように、UARTデータでは、スタートビット(ST)のロウレベルからハイレベルのストップビット(SP)までに、必ずロウレベルからハイレベルへの立ち上がる箇所があることになる。
【0055】
図9に、本実施の形態1のデータ受信部101の動作タイミングチャートを示す。この図9では、データ受信部101に入力されるUARTデータ、データ受信部101内部で処理されるUARTデータ、カウンタ111がカウントするカウントデータ、受信バッファ113が有するシフトレジスタの記憶する値を示す。なお、データ受信部101に入力されるUARTデータのbit7〜bit1がロウレベル、bit0、パリティビット(P)がハイレベルであるとする。
【0056】
また、本例ではカウンタ111は、サンプリングカウンタと、ビットカウンタを有するものとする。ここで、サンプリングカウンタはUARTデータのサンプリングするタイミングを規定し、ビットカウンタはUARTデータの何ビット目のデータをサンプリングしたかを識別する。
【0057】
時刻t1にデータ受信部101にUARTデータが入力される。但し、上述したように、この時点でデータ受信部101にはクロック信号CLK1が入力されていない。このため、UARTデータのサンプリング動作を開始できない。
【0058】
時刻t2に、クロック信号CLK1が入力され、サンプリング動作が開始される。このため、時刻t2からサンプリングカウンタ及びビットカウンタが動作を開始する。この時刻t1〜t2の遅延期間Tdlyは、上述した発振器103の発振安定期間に影響される。そして、時刻t2からサンプリングカウンタが規定する所定の期間後の時刻t3にデータ受信部101がスタートビット(ST)をサンプリングする。なお、サンプリング時点からビットカウンタが規定する所定の期間後に何ビット目のデータをサンプリングしたかの識別が毎回行われる。
【0059】
時刻t4に、bit7のUARTデータがサンプリングされる。この場合、ロウレベルをサンプリングすることになるため、シフトレジスタが「xxxxxxx0」を記憶する。なお、上記「x」は不定の状態を示す。その後、時刻t5〜t10まで同様の動作を行い、ロウレベルのbit7〜bit1をサンプリングする。
【0060】
時刻t11にUARTデータがロウレベルからハイレベルに立ち上がる。このとき、データ受信部101は、立ち上がりエッジに応じてカウンタをリセットし、リセット後に再びサンプリングカウンタとビットカウンタを動作(リスタート)させる。このリスタート後のサンプリングタイミングは、上述した発振安定時間によるサンプリング誤差を含んでいない。このため、時刻t11後にデータ受信部101が行うbit0、パリティビット(P)、ストップビット(SP)のサンプリングは、遅延期間Tdlyに影響されない正常なサンプリングタイミング(時刻t12、t13、・・・)で行うことができる。
【0061】
このように、1つのUARTデータ中に必ず発生するロウからハイへの立ち上がりエッジを利用して発振器103の発振安定期間によるサンプリング誤差を補正する。なお、この補正は、発振器103が動作してから最初のUARTデータのみ実行される。これは、UARTデータを連続して入力する場合、CPU105が動作処理を続けチップステートがRUNのままとなり、発振器103が停止しないためである。
【0062】
ここで、従来のマイクロコントローラでは任意のタイミングで入力されるUARTデータに対応するため、常時RUN状態を維持しなければならなかった。このため、図22に示すように、UARTデータの非受信の期間であっても常時消費電流が発生し低消費電力化が難しかった。また、図23の受信システム1においても、発振器4は常時動作しなければならず、その分の消費電流が発生する。このため、図25に示すように、図22と比較して低消費電流化が可能であるが、よりいっそうの消費電力の低減化は困難であった。
【0063】
ここで本実施の形態1のマイクロコントローラ100は、チップステートがSTOPの場合、発振器103を停止させ、UARTデータを受信すると起動要求信号により発振器103を動作させ、チップステートをSNOOZEに移行させる。チップステートがSNOOZEの間は、動作クロック信号を供給せずCPU105の動作は停止しており、データ受信部101(及び割込み制御部104)に動作クロック信号を供給し動作させる。その後、UARTデータの受信が完了するとデータ受信部101が受信完了割込み信号を出力し、チップステートをRUNにする。チップステートがRUNの場合、動作クロック信号が供給されCPU105が動作を開始する。
【0064】
このことにより、本実施の形態1のマイクロコントローラ100は、図10に示すように、チップステートがSTOPの場合(時刻t1以前)、動作クロック信号を供給する発振器103も停止しており、消費電流が極めて少ない状態とすることが可能である。
【0065】
そして、UARTデータを受信し、チップステートがSNOOZEとなった場合(時刻t1〜t2の期間)、データ受信部101(及び割込み制御部104)は動作するが、CPU105の動作は停止する。このため、時刻t1〜t2の期間、消費電流は最大にならず、CPU105の消費電流分を削減している。このように、従来の受信システム1と比較しても、本実施の形態1は更なる消費電流の低減化が可能となっている。
【0066】
発明の実施の形態2
【0067】
以下、本発明を適用した具体的な実施の形態2について、図面を参照しながら詳細に説明する。この実施の形態2は、本発明を、AD変換機能を有するマイクロコントローラに適用したものである。図11に本実施の形態2にかかるマイクロコントローラ200のブロック構成を示す。
【0068】
図11に示すように、マイクロコントローラ200は、AD変換部201と、クロック信号供給制御部102と、発振器103と、割込み制御部104と、CPU105とを有する。なお、図11に示された符号のうち、図1と同じ符号を付した構成は、図1と同じか又は類似の構成を示している。実施の形態2が実施の形態1と異なるのは、入力データがUARTデータから特に制限のないアナログ信号となり、データ受信部101がAD変換部201に置き換わった点である。よって、本実施の形態2では、その実施の形態1との相違部分を重点的に説明し、その他の実施の形態1と同様の部分は必要でない限り説明を省略する。
【0069】
AD変換部201は、比較器211と、制御回路212と、バッファ213とを有する。AD変換部201は、クロック信号CLK1に応じて、アナログ入力信号をデジタルデータ信号に変換する。変換したデジタルデータは、バッファ213に記憶される。
【0070】
比較器211は、アナログ入力信号の電圧と、基準電圧等で決定される閾値を入力し比較する。その比較結果は、起動トリガ信号として制御回路212へ送信される。例えば、アナログ入力信号の電圧が上記閾値を規定する基準電圧を超えるもしくは下回った場合、起動トリガ信号が比較器から出力される。
【0071】
制御回路212は、実施の形態1の制御回路112とほぼ同様の動作を行うが、実施の形態1と異なり、起動要求信号の出力を、上記起動トリガ信号を基にして行う。また、アナログ入力信号からデジタルデータ信号へ変換を完了すると、実施の形態1の受信完了割込み信号の代わりに、変換完了割込み信号を出力する。
【0072】
但し、実施の形態1の受信完了割込み信号と、変換完了割込み信号は、動作完了に対する割込み信号であり、基本的に同様の信号とみなしてかまわない。また、実施の形態1と同様、発振器103がクロック信号を供給していない状態をチップステートがSTOPであるとし、CPU105にクロック信号が供給され動作している状態をチップステートがRUNであるとする。更に、AD変換部201、割込み制御部104にクロック信号が供給され動作しているが、CPU105にはクロック信号が供給されておらず動作を停止している状態をチップステートがSNOOZEとする。
【0073】
図12、図13を用いて、マイクロコントローラ200の基本動作を説明する。なお、起動トリガ信号は、アナログ入力信号が閾値を超えた場合に出力されるものとする。まず、図12に示すように、AD変換部201は、アナログ入力信号の電圧が上昇し閾値を超えると、例えばハイレベルの起動要求信号を出力する。クロック信号供給制御部102の制御回路121は、その起動要求信号を発振器103に出力し、発振器103がクロック信号の供給を開始する。
【0074】
クロック信号供給制御部102は、発振器103からのクロック信号を、クロック信号CLK1としてAD変換部201に、クロック信号CLK2として割り込み制御部104に供給する。そして、AD変換部201がクロック信号CLK1を動作クロックとして、割り込み制御部104がクロック信号CLK2を動作クロックとして動作を開始する。
【0075】
なお、図12に示すように、発振器103が動作を開始し、AD変換部201及び割り込み制御部104にクロック信号が供給されるが、CPU105にはクロック信号が供給されないためチップステートがSNOOZEとなる。
【0076】
次に、図13に示すように、AD変換部201がアナログ入力信号をデジタルデータに変換完了すると、AD変換部201が変換完了割込み信号を割込み制御部104へ出力する。また、AD変換部201は、起動要求信号の出力を停止する。割込み制御部104は、AD変換部201からの変換完了割込み信号をCPU105及びクロック信号供給制御部102の制御回路121へ出力する。
【0077】
クロック信号供給制御部102は、クロック信号供給制御部102の制御回路121が変換完了割込み信号を受信すると発振器103からのクロック信号をクロック信号CLK3としてCPU105へ供給する。CPU105は割込み制御部104からの変換完了割込み信号で動作を開始し、クロック信号CLK3に応じてAD変換部201のバッファ213から読み出したデジタルデータを処理する。
【0078】
なお、AD変換部201が起動要求信号の出力を停止することから、発振器103が入力する起動要求信号も停止する。しかし、発振器103は、CPU105が動作しておりチップステートがRUNとなっていることからクロック信号の供給を停止しない。
【0079】
なお、CPU105が全ての処理を終了した場合、CPU105がチップステートをSTOPとする。この場合、発振器103が起動要求信号を入力していないため、発振器103は動作を停止する。よって、AD変換部201、割込み制御部104、CPU105も動作を停止する。
【0080】
次に、このようなマイクロコントローラ200の動作を説明するフローチャートを図14に示す。図14に示すように、節電期間(チップステートがSTOP)である場合(S201YES)では、発振器103が停止しており、AD変換部201、CPU105、割込み制御部104へのクロック信号の供給が停止する(S202)。
【0081】
AD変換部201が入力するアナログ入力信号が閾値を超え、起動要求信号が出力されると(S203YES)、AD変換部201、割込み制御部104へのクロック信号の供給が開始される(S204)。なお、この状態では、CPU105へクロック信号の供給がされていないため、チップステートはSNOOZEである。
【0082】
AD変換部201がアナログ入力信号をデジタルデータに変換完了した場合(S205YES)、CPU105へクロック信号の供給を開始する(S206)。つまり、チップステートがRUNとなる。
【0083】
次に、このようなマイクロコントローラ200の動作を説明するタイミングチャートを図15に示す。図15に示すように、時刻t1以前は、AD変換部201に入力するアナログ入力信号が閾値を超えていない状態で、AD変換部201はAD変換動作を行わず、変換待機状態である。このためチップステートはSTOPの状態であり、発振器103がクロック信号を供給していない。
【0084】
時刻t1で、AD変換部201に入力するアナログ入力信号が閾値を超えると、比較器211が起動トリガを出力し、制御回路212が起動要求信号をロウレベルからハイレベルに立ち上げる。このハイレベルの起動要求信号が、発振器103に入力され、時刻t2に発振器103がクロック信号の供給を開始する。そして、クロック信号供給制御部102からクロック信号CLK1がAD変換部201に供給される。また、クロック信号CLK2が割込み制御部104に供給される。
【0085】
時刻t2〜t3の間、AD変換部201がクロック信号CLK1の供給を受けて、アナログ入力信号をデジタルデータにAD変換する。このデジタルデータは、バッファ213に保持される。この時刻t2〜t3の間、チップステートはSNOOZEとなる。
【0086】
時刻t3で、AD変換部201が、AD変換動作を完了すると、変換完了割込み信号を出力する。この、変換完了割込み信号に応じて、クロック信号供給制御部102がクロック信号CLK3をCPU105に供給する。CPU105は、このクロック信号CLK3に応じて動作を開始し、バッファ213のデジタルデータに対する処理を行う。
【0087】
また、実施の形態1と同様、発振器103の発振安定時間をAD変換部201の動作開始時間よりも短くすることで、時刻t1に入力したアナログ入力信号のAD変換も可能となる。
【0088】
このように本実施の形態2のマイクロコントローラ200は、アナログ信号変換待機時、つまりチップステートがSTOPの期間において発振器103を停止させることで、消費電流の低減化を可能としている。更に、AD変換完了後、つまりチップステートがRUNの期間にCPU105を起動させている。これはSTOPからRUNまでのSNOOZEの期間、CPU105を動作させておらず、消費電流を低減させることが可能である。以上のように、本実施の形態2のマイクロコントローラ200のように、本発明を実施の形態1で記載したUARTシステム以外にも適用することができ、従来と比較して消費電流の低減が可能である。
【0089】
発明の実施の形態3
【0090】
以下、本発明を適用した具体的な実施の形態3について、図面を参照しながら詳細に説明する。この実施の形態3は、実施の形態1と同様、本発明をUARTの受信システムを有するマイクロコントローラに適用したものである。図16に本実施の形態3にかかるマイクロコントローラ300のブロック構成を示す。
【0091】
図16に示すように、マイクロコントローラ300は、データ受信部301と、クロック信号供給制御部102と、発振器103と、割込み制御部104と、CPU105とを有する。
【0092】
データ受信部301は、カウンタ111と、制御回路112と、受信バッファ113と、ノイズ検出回路314とを有する。
【0093】
なお、図16に示された符号のうち、図1と同じ符号を付した構成は、図1と同じか又は類似の構成を示している。
【0094】
本実施の形態3が実施の形態1と異なるのは、データ受信部301の構成であり、データ受信部301がノイズ検出回路314を有する点である。よって、本実施の形態3では、その実施の形態1との相違部分を重点的に説明し、その他の実施の形態1と同様の部分は必要でない限り説明を省略する。
【0095】
ノイズ検出回路314は、データ受信部301がUARTデータではなく、ノイズを受信した場合に、それを検出してクロック信号供給制御部102へ検出信号を送信し、制御回路112からの起動要求信号の出力を停止する。データ受信部301への入力がUARTデータかノイズかの判断は、例えば、データ受信部301が入力する最初のクロック信号CLK1の立ち上がりエッジのときに、UARTデータの値がハイレベルであるかロウレベルであるかにより行う。
【0096】
例えば、最初のクロック信号CLK1の立ち上がりエッジ時に、UARTデータの値がロウレベルであれば通常のUARTデータをUART受信端子が受信したと判断する。逆に、最初のクロック信号CLK1の立ち上がりエッジ時に、UARTデータの値がハイレベルである場合、UARTデータのスタートビットとしては短すぎるため、ノイズであると判断する。
【0097】
図17に、ノイズ検出回路314の構成と、そのノイズ検出回路314と制御回路112を含む周辺回路との関係の一例を示す。なお、本例は一例であり、同様の機能を備える場合では他の構成であってもかまわない。
【0098】
図17に示すように、ノイズ検出回路314は、フリップフロップFF31と、インバータ回路IV32とAND回路AND33とを有する。
【0099】
フリップフロップFF31は、データ入力端子Dがデータ受信部301のUART受信端子と接続され、クロック入力端子がAND回路AND33の出力端子と接続される。また、データ出力端子Qが、インバータ回路IV32の入力端子と接続される。このため、フリップフロップFF31は、AND回路AND33からの出力信号の立ち上がりエッジに応じて、データ入力端子Dに印加されているデータの値をラッチし、データ出力端子Qから出力する。
【0100】
インバータ回路IV32は、フリップフロップFF31のデータ出力端子Qからの信号を入力し、その反転信号を検知信号として出力する。
【0101】
AND回路AND33は、一方の入力端子にクロック信号CLK1を入力し、他方の入力端子に制御回路112からのステータス信号を入力する。そして、その演算結果をフリップフロップFF31のクロック入力端子に出力する。このため、AND回路AND33は、フリップフロップFF31のクロック入力端子に対して、ステータス信号がハイレベルの場合、クロック信号CLK1を出力し、ロウレベルの場合、ロウレベルの固定値を出力する。
【0102】
本例において制御回路112は起動要求信号を、AND回路AND34を経由してクロック信号供給制御部102へ出力する。AND回路AND34は、一方の入力端子にインバータ回路IV32が出力する検出信号を入力し、他方の入力端子に制御回路112からの起動要求信号を入力する。このため、AND回路AND34は、検出信号がハイレベルの場合、制御回路112からの起動要求信号をそのまま出力し、検出信号がロウレベルの場合、ロウレベルの値に固定した起動要求信号を出力する。
【0103】
制御回路112は、本例においてクロック信号CLK1が所定の回数(例えば、1クロック)より多く入力された場合、ステータス信号をハイレベルからロウレベルに立ち下げる機能を有するものとする。
【0104】
図18、図19を用いて、マイクロコントローラ300がUARTデータではなく、ノイズを受信した場合の動作を説明する。まず、図18に示すように、データ受信部301は、ノイズを受信すると、UARTデータの受信時と同様、ハイレベルの起動要求信号を出力する。クロック信号供給制御部102の制御回路121は、その起動要求信号を発振器103に出力し、発振器103がクロック信号の供給を開始する。そして、実施の形態1と同様、クロック信号供給制御部102は、発振器103からのクロック信号を、クロック信号CLK1としてデータ受信部301に、クロック信号CLK2として割り込み制御部104に供給する。
【0105】
なお、この時点では、データ受信部101及び割り込み制御部104にクロック信号が供給されるが、CPU105にはクロック信号が供給されないためチップステートがSNOOZEとなる。
【0106】
次に、図19に示すように、データ受信部301が受信したのがノイズのため、制御回路112からの起動要求信号が停止(ロウレベル出力)される。この時点で、チップステートがRUNではなくSNOOZEのため、発振器103がクロック信号の供給を停止する。このため、クロック信号CLK1、CLK2のデータ受信部101及び割込み制御部104への供給も停止され、チップステートがSTOPとなる。
【0107】
次に、このようなマイクロコントローラ300の動作を説明するフローチャートを図20に示す。図20に示すように、節電期間(チップステートがSTOP)である場合(S301YES)では、発振器103が停止しており、データ受信部301、CPU105、割込み制御部104へのクロック信号の供給が停止する(S302)。
【0108】
データ受信部301がUARTデータもしくはノイズを受信し、起動要求信号が出力されると(S303YES)、データ受信部301、割込み制御部104へのクロック信号の供給が開始される(S304)。なお、この状態では、CPU105へクロック信号の供給がされていないため、チップステートはSNOOZEである。
【0109】
データ受信部301がUARTデータではなく、ノイズを受信したと判断された場合(S305YES)、CPU105へクロック信号の供給を開始せず、ステップS302へ戻る。一方、データ受信部301がノイズではなくUARTデータを受信したと判断された場合(S305NO)、実施の形態1と同様、データ受信部301がUARTデータを開始する。
【0110】
データ受信部301がUARTデータを正常に受信完了した場合(S306YES)、CPU105へクロック信号の供給を開始する(S307)。つまり、チップステートがRUNとなる。なお、ステップS306で、データ受信部301がUARTデータを正常に受信完了しなかった場合(S306NO)、CPU105へクロック信号の供給を開始せず、ステップS302へ戻る。
【0111】
次に、このようなマイクロコントローラ300がUARTデータではなく、ノイズを受信した場合の動作を説明するタイミングチャートを図21に示す。
【0112】
図21に示すように、時刻t1以前は、実施の形態1と同様、データ受信部301がUARTデータを受信していない状態で、UARTデータの受信を待機している。このためチップステートはSTOPの状態であり、発振器103がクロック信号を供給していない。
【0113】
時刻t1で、データ受信部301がUARTデータではなくノイズを受信する。ノイズにより引き起こされたロウレベルの信号を検出すると、データ受信部301が起動要求信号をロウレベルからハイレベルに立ち上げる。このハイレベルの起動要求信号が、発振器103に入力され、時刻t2に発振器103がクロック信号の供給を開始する。そして、クロック信号供給制御部102からクロック信号CLK1がデータ受信部101に供給される。また、クロック信号CLK2が割込み制御部104に供給される。
【0114】
但し、通常のUARTデータのスタートビットSTが規定されたT1の期間ロウレベルとなるのに、ノイズにより引き起こされた信号では、T1よりも短いT2でハイレベルとなる。
【0115】
このため、例えば、図17の構成を例に説明すると、時刻t2にフリップフロップFF31がハイレベルのデータを、クロック信号CLK1の立ち上がりエッジでラッチし、インバータ回路IV32に出力する。そして、インバータ回路IV32により、反転されたロウレベルの検出信号がAND回路AND34に入力される。このため、制御回路112からAND回路AND34を経由して出力されるハイレベルの起動要求信号が、ロウレベルに立ち下げられ、データ受信部301が起動要求信号の出力を停止する。このことにより、発振器103がクロック信号の供給を停止し、クロック信号CLK1、CLK2のデータ受信部101及び割込み制御部104への供給も停止される。よって、時刻t3以降は、チップステートがSTOPとなる。このように、本実施の形態3のマイクロコントローラ300でも、実施の形態1と同様、受信エラー割込み信号を出力せず、起動要求信号を停止することでその後のエラー処理を行う。
【0116】
以上のような実施の形態3のマイクロコントローラ300は、データ受信部301に入力されるUARTデータが、ノイズであると判定した場合、クロック信号CLK1の最初の供給タイミングで、起動要求信号の出力を停止する。このことにより、ノイズをUARTデータのスタートビットSTであると誤判定して、発振器103がクロック信号の供給を続ける状態を防止することが可能となる。このため、実施の形態1と比較して、より確実に消費電流の低減化が可能となる。
【0117】
なお、本発明は上記実施の形態に限られたものでなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【0118】
100、200、300 マイクロコントローラ
101、301 データ受信部
102 クロック信号供給制御部
103 発振器
104 割込み制御部
105 CPU
111 カウンタ
112、121、212 制御回路
113、213 バッファ
211 比較器
201 AD変換部
314 ノイズ検知回路
FF31 フリップフロップ回路
IV32 インバータ回路
AND33、AND34 AND回路

【特許請求の範囲】
【請求項1】
入力データが入力されると、前記入力データに応じて起動要求信号を出力するデータ入力部と、
前記起動要求信号に応じて起動し、クロック信号を生成する発振器と、
前記データ入力部からの前記起動要求信号を前記発振器に出力し、起動後に生成される前記発振器からのクロック信号を、前記データ入力部の動作クロック信号である第1のクロック信号と、第2のクロック信号として供給するクロック信号供給制御部と、
前記第2のクロック信号を動作クロックとして動作し、その動作時に前記入力データに応じた処理を行うCPUと、を有する
マイクロコントローラ。
【請求項2】
前記クロック信号供給制御部は、
前記起動要求信号を入力後、前記発振器からのクロック信号を入力すると、前記第1のクロック信号として前記データ入力部へ供給し、
その後、第1の割込み信号を入力すると前記発振器からのクロック信号を前記第2のクロック信号として前記CPUへ供給し、
前記データ入力部は、
前記第1のクロック信号が供給されると前記入力データに対して所定の処理を開始し、
その処理動作が正常に終了した場合、前記第1の割込み信号を前記クロック信号供給制御部及び前記CPUへ出力し、
前記CPUは、
前記第1の割込み信号を入力すると、供給される前記第2のクロック信号に応じて処理動作を開始する
請求項1に記載のマイクロコントローラ。
【請求項3】
前記発振器は、前記データ入力部が前記起動要求信号の出力を停止し、且つ、前記CPUが処理動作を終了した場合、前記クロック信号の生成を停止する
請求項2に記載のマイクロコントローラ。
【請求項4】
前記クロック信号供給制御部は、
前記起動要求信号を入力後、前記発振器からのクロック信号を入力すると、前記第1のクロック信号として前記データ入力部へ供給し、
その後、第2の割込み信号を入力すると前記発振器への前記起動要求信号の出力を停止し、
前記発振器は、前記クロック信号供給制御部が前記起動要求信号の出力を停止した場合、前記クロック信号の生成を停止し、
前記データ入力部は、
前記第1のクロック信号が供給されると前記入力データに対して所定の処理を開始し、
その処理動作が正常に終了しなかった場合、前記第2の割込み信号を前記クロック信号供給制御部へ出力する
請求項1に記載のマイクロコントローラ。
【請求項5】
前記入力データは、UARTデータであり、
前記データ入力部は、UARTデータを受信するデータ受信部であり、
第1のUARTデータを受信すると、前記第1のUARTデータのスタートビットを検知し、その検知結果に応じて前記起動要求信号を出力し、
前記第1のクロック信号が供給されると、前記第1のクロック信号に応じて、受信した前記第1のUARTデータを内部のバッファに記憶し、
前記第1のUARTデータのストップビットを受信すると、前記第1の割込み信号を出力し、
前記CPUは、
前記第1の割込み信号を入力すると、前記第2のクロック信号に応じて、前記バッファ内に記憶されている前記第1のUARTデータを読み出し、その読み出したデータに応じた処理動作を行う
請求項2または請求項3に記載のマイクロコントローラ。
【請求項6】
前記入力データは、UARTデータであり、
前記データ入力部は、UARTデータを受信するデータ受信部であり、
第1のUARTデータを受信すると、前記第1のUARTデータのスタートビットを検知し、その検知結果に応じて前記起動要求信号を出力し、
前記第1のクロック信号が供給されると、前記第1のクロック信号に応じて、受信した前記第1のUARTデータを内部のバッファに記憶し、
前記第1のUARTデータに対して受信エラーが発生した場合、前記第2の割込み信号を出力する
請求項4に記載のマイクロコントローラ。
【請求項7】
前記データ入力部は、カウンタを有し、そのカウンタで規定される所定のタイミングで前記第1のUARTデータのサンプリングを行い、そのサンプリングのデータを前記バッファに記憶し、
前記第1のUARTデータがロウレベルからハイレベルに立ち上がる立ち上がりエッジに同期して、前記カウンタをリスタートさせる
請求項5または請求項6に記載のマイクロコントローラ。
【請求項8】
前記第1のUARTデータは、前記発振器が停止した状態のときに、最初に前記データ入力部が受信するUARTデータである
請求項5〜請求項7のいずれか1項に記載のマイクロコントローラ。
【請求項9】
前記入力データは、アナログ信号であり、
前記データ入力部は、アナログ信号をデジタルデータに変換するAD変換部であり、
前記アナログ信号が所定の閾値に達すると、前記起動要求信号を出力し、
前記第1のクロック信号が供給されると、前記第1のクロック信号に応じて前記アナログ信号をデジタルデータに変換し、そのデジタルデータを内部のバッファに記憶し、
前記アナログ信号のデジタルデータへの変換が終了すると、前記第1の割込み信号を出力し、
前記CPUは、
前記第1の割込み信号を入力されると、前記第2のクロック信号に応じて前記バッファ内に記憶されているデジタルデータを読み出し、その読み出したデータに応じた処理動作を行う
請求項2または請求項3に記載のマイクロコントローラ。
【請求項10】
前記データ入力部は、比較器を有し、
前記比較器は、前記アナログ信号と、前記閾値を規定する基準電圧とを比較し、その比較結果に応じて前記起動要求信号を出力する
請求項9に記載のマイクロコントローラ。
【請求項11】
前記比較器は、前記アナログ信号が、前記閾値以上もしくは前記閾値以下になったとき、前記起動要求信号を出力する
請求項10に記載のマイクロコントローラ。
【請求項12】
前記発振器は、当該マイクロコントローラの内蔵発振器であり、周波数精度が±2%以下である
請求項1〜請求項11のいずれか1項に記載のマイクロコントローラ。
【請求項13】
発振器と、入力データを入力するデータ入力部と、前記入力データに応じた処理を行うCPUと、を備えるマイクロコントローラの制御方法であって、
前記入力データが入力されると、前記入力データに応じて前記データ入力部が起動要求信号を出力し、
前記起動要求信号に応じて前記発振器が起動し、クロック信号を生成し、
前記発振器が生成したクロック信号に応じた第1のクロック信号により前記データ入力部が動作し、
前記データ入力部が正常に動作を終了した場合、前記発振器が生成したクロック信号に応じた第2のクロック信号を動作クロックとして前記CPUに供給し、前記CPUの動作時に前記入力データに応じた処理を行う
マイクロコントローラの制御方法。
【請求項14】
前記データ入力部が前記起動要求信号の出力を停止し、且つ、前記CPUが処理動作を終了した場合、前記発振器が前記クロック信号の生成を停止する
請求項13に記載のマイクロコントローラの制御方法。
【請求項15】
前記データ入力部が正常に動作を終了しなかった場合、前記発振器が前記クロック信号の生成を停止する
請求項13に記載のマイクロコントローラの制御方法。
【請求項16】
前記入力データは、UARTデータであり、
UARTデータを受信する受信部である前記データ入力部は、
第1のUARTデータを受信すると、前記第1のUARTデータのスタートビットを検知し、その検知結果に応じて前記起動要求信号を出力し、
前記第1のクロック信号が供給されると、前記第1のクロック信号に応じて、受信した前記第1のUARTデータを内部のバッファに記憶し、
前記第1のUARTデータのストップビットを受信すると、第1の割込み信号を出力し、
前記CPUは、
前記第1の割込み信号を入力すると、供給される前記第2のクロック信号に応じて、前記バッファ内に記憶されている前記第1のUARTデータを読み出し、その読み出したデータに応じた処理動作を行う
請求項13もしくは請求項14に記載のマイクロコントローラの制御方法。
【請求項17】
前記入力データは、UARTデータであり、
UARTデータを受信する受信部である前記データ入力部は、
第1のUARTデータを受信すると、前記第1のUARTデータのスタートビットを検知し、その検知結果に応じて前記起動要求信号を出力し、
前記第1のクロック信号が供給されると、前記第1のクロック信号に応じて、受信した前記第1のUARTデータを内部のバッファに記憶し、
前記第1のUARTデータに対して受信エラーが発生した場合、前記起動要求信号の前記発振器への入力を停止し、前記発振器が前記クロック信号の生成を停止する
請求項15に記載のマイクロコントローラの制御方法。
【請求項18】
前記データ入力部は、カウンタを有し、そのカウンタで規定される所定のタイミングで前記第1のUARTデータのサンプリングを行い、そのサンプリングのデータを前記バッファに記憶し、
前記第1のUARTデータがロウレベルからハイレベルに立ち上がる立ち上がりエッジに同期して、前記カウンタをリスタートさせる
請求項16または請求項17に記載のマイクロコントローラの制御方法。
【請求項19】
前記第1のUARTデータは、前記発振器が停止した状態のときに、最初に前記データ入力部が受信するUARTデータである
請求項16〜請求項18のいずれか1項に記載のマイクロコントローラの制御方法。
【請求項20】
前記入力データは、アナログ信号であり、
アナログ信号をデジタルデータに変換するAD変換部である前記データ入力部は、
前記アナログ信号が所定の閾値に達すると、前記起動要求信号を出力し、
前記第1のクロック信号が供給されると、前記第1のクロック信号に応じて前記アナログ信号をデジタルデータに変換し、そのデジタルデータを内部のバッファに記憶し、
前記アナログ信号のデジタルデータへの変換が終了すると、第1の割込み信号を出力し、
前記CPUは、
前記第1の割込み信号を入力すると、供給される前記第2のクロック信号に応じて前記バッファ内に記憶されているデジタルデータを読み出し、その読み出したデータに応じた処理動作を行う
請求項13または請求項14に記載のマイクロコントローラの制御方法。
【請求項21】
前記データ入力部は、比較器を有し、
前記比較器は、前記アナログ信号と、前記閾値を規定する基準電圧とを比較し、その比較結果に応じて前記起動要求信号を出力する
請求項20に記載のマイクロコントローラの制御方法。
【請求項22】
前記比較器は、前記アナログ信号が、前記閾値以上もしくは前記閾値以下になったとき、前記起動要求信号を出力する
請求項21に記載のマイクロコントローラの制御方法。
【請求項23】
前記発振器は、当該マイクロコントローラの内蔵発振器であり、周波数精度が±2%以下である
請求項13〜請求項22のいずれか1項に記載のマイクロコントローラの制御方法。
【請求項24】
前記データ受信部は、ノイズ検出回路を更に有し、
前記ノイズ検出回路が、前記第1のUARTデータがノイズであると判定した場合、その判定結果に応じて、前記第1のクロック信号が供給されるタイミングで、前記データ受信部が出力する前記起動要求信号を停止する
請求項6に記載のマイクロコントローラ。
【請求項25】
前記データ入力部が、前記第1のUARTデータがノイズであると判定した場合、その判定結果に応じて、前記第1のクロック信号が供給されるタイミングで、前記起動要求信号の出力を停止する
請求項17に記載のマイクロコントローラの制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate


【公開番号】特開2012−9011(P2012−9011A)
【公開日】平成24年1月12日(2012.1.12)
【国際特許分類】
【出願番号】特願2011−79471(P2011−79471)
【出願日】平成23年3月31日(2011.3.31)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】