Semiconductor device

申请号 JP2010284393 申请日 2010-12-21 公开(公告)号 JP5593212B2 公开(公告)日 2014-09-17
申请人 ルネサスエレクトロニクス株式会社; 发明人 大次郎 原田; 崇 内海;
摘要
权利要求
  • 中央処理装置と、
    第1および第2の周辺回路を含む複数の周辺回路と、
    1または複数の第1のチャネルおよび1または複数の第2のチャネルを含む複数の入力チャネルを有し、前記複数の入力チャネルのうちの1つの入力チャネルを選択し、選択中の入力チャネルに入力された信号をA/D変換する変換部とを備え、
    前記1または複数の第1のチャネルに入力された信号のA/D変換結果は、前記第1の周辺回路での信号処理に用いられ、
    前記1または複数の第2のチャネルに入力された信号のA/D変換結果は、前記第2の周辺回路での信号処理に用いられ、
    前記1または複数の第1のチャネルに入力される信号は、前記1または複数の第2のチャネルに入力される信号よりも高速の処理が必要とされ、
    前記変換部は、前記中央処理装置または前記複数の周辺回路のいずれかから 受けたスキャン変換指令 に応答して 、前記複数の入力チャネルを所定の選択順に従って順次選択して連続的にA/D変換を行ない、
    前記変換部は、前記スキャン変換指令 に応答して、さらに 、前記1または複数の第1のチャネルに入力された信号のA/D変換が完了した後でありかつ全入力チャネルの入力信号のA/D変換が完了する前に、A/D変換の完了を前記第1の周辺回路に通知し、全入力チャネルの入力信号のA/D変換が完了した後に、A/D変換の完了を前記第2の周辺回路に通知する、半導体装置。
  • 前記変換部は、前記1または複数の第1のチャネルに入力された信号のA/D変換の完了を、前記中央処理装置を介さずに前記第1の周辺回路に通知する、請求項1に記載の半導体装置。
  • 前記変換部は、
    前記複数の入力チャネルを選択するための選択信号に応じて、1つの入力チャネルの入力信号を出力するチャネル選択部と、
    前記選択信号を生成し、前記チャネル選択部から出力された信号のA/D変換を行なうA/D変換器とを含み、
    前記A/D変換器は、前記選択信号に基づいて、前記1または複数の第1のチャネルのうちで最終選択順に設定された第1のチャネルの選択を解除したタイミングを表わす信号、または前記最終選択順の第1のチャネルの次の選択順に設定された入力チャネルの選択を開始するタイミングを表わす信号を前記第1の周辺回路に出力することによって、前記第1の周辺回路にA/D変換の完了を通知する、請求項1または2に記載の半導体装置。
  • 前記変換部は、前記複数の入力チャネルにそれぞれ対応して設けられた複数のデータレジスタをさらに含み、
    前記複数のデータレジスタの各々は、対応の入力チャネルに入力された信号のA/D変換結果を格納し、
    前記第1の周辺回路は、前記1または複数の第1のチャネルの各々に対応するデータレジスタに格納されたA/D変換結果を、前記中央処理装置を介さずに読出可能である、請求項3に記載の半導体装置。
  • 前記変換部は、
    前記複数の入力チャネルのうち1つの入力チャネルを選択し、選択した入力チャネルに入力された信号を出力するチャネル選択部と、
    前記チャネル選択部から出力された信号のA/D変換を行なうA/D変換器と、
    前記複数の入力チャネルにそれぞれ対応して設けられ、各々が、対応の入力チャネルに入力された信号のA/D変換結果を格納する複数のデータレジスタと、
    前記1または複数の第1のチャネルにそれぞれ対応して設けられた1または複数のフラグレジスタとを含み、
    前記1または複数のフラグレジスタの内容は、前記中央処理装置を介さずに前記第1の周辺回路から読出可能であり、
    前記A/D変換器は、前記1または複数の第1のチャネルの各々に入力された信号のA/D変換が完了したときに、対応のフラグレジスタをA/D変換が完了したことを表わす値に設定することによって、前記第1の周辺回路にA/D変換の完了を通知する、請求項1または2に記載の半導体装置。
  • 前記1または複数の第1のチャネルにそれぞれ対応する1または複数のデータレジスタに格納されたA/D変換結果は、前記中央処理装置を介さずに前記第1の周辺回路から読出可能であり、
    前記第1の周辺回路は、前記1または複数の第1のチャネルの各々について、対応のデータレジスタに格納されたA/D変換結果を読出したときに、対応のフラグレジスタをA/D変換が未完了であることを表わす値に設定する、請求項5に記載の半導体装置。
  • 前記半導体装置は、バッファメモリをさらに備え、
    前記第1の周辺回路は、前記中央処理装置を介さずに、前記バッファメモリに格納されたデータを読出可能であるとともに前記バッファメモリにデータが格納されているか否かを検知可能であり、
    前記変換部は、前記第1または複数の第1のチャネルの各々に入力された信号のA/D変換結果を前記バッファメモリに書込むことによって、前記第1の周辺回路にA/D変換の完了を通知する、請求項1または2に記載の半導体装置。
  • 前記変換部は、前記1または複数の第1のチャネルにそれぞれ入力された信号を取り込む1または複数のサンプルホールド回路を含み、
    前記変換部は、前記1または複数の第1のチャネルの各々について、対応のサンプルホールド回路に取り込まれている信号をA/D変換する、請求項1または2に記載の半導体装置。
  • 前記半導体装置は、前記スキャン変換指令を受けた前記変換部が全入力チャネルの入力信号のA/D変換が完了したときに、前記変換部から受けたA/D変換の完了の通知に応答して前記中央処理装置に対して割り込み信号を出力する割り込み制御回路をさらに備える、請求項1または2に記載の半導体装置。
  • 说明书全文

    この発明は、アナログ/デジタル変換器を備えた半導体装置に関する。

    複数のチャネルから入されるアナログ信号を、チャネルを切替えながらA/D(Analog to Digital)変換を行なうA/D変換器では、高速処理が必要な信号と低速処理が可能な信号とが混在して入力される場合が多い。 この場合、高速処理の必要な信号のA/D変換が所望の時刻までに完了しないという処理遅延が生じることがある。

    たとえば、特開2010−41152号公報(特許文献1)には、このような処理遅延を低減するための技術が開示されている。 この文献に記載の技術では、A/D変換器の起動セットを行ってからA/D変換器の起動が行われるまで、既にセットしたチャネルとは異なるチャネルについての非同期のA/D変換要求があると、A/D変換要求のあった複数のチャネルについてのA/D変換を行なうのに要する時間を考慮した所定時間後にA/D変換が行われるように、AD変換器の起動セットが再度行なわれる。

    特開2010−41152号公報

    ところで、複数の入力チャネルを有するA/D変換器では、通常、複数の入力チャネルを順次選択して全チャネルの入力信号を連続的にA/D変換するスキャン変換モードが用意されている。 この場合、全チャネルのA/D変換結果は一旦レジスタに格納され、一連のA/D変換が完了した時点で中央処理装置(CPU:Central Processing Unit)に割り込みをかけてレジスタに格納されたデータが読出される。

    しかしながら、このような方法では、全チャネルのA/D変換が終了するまでA/D変換後のデータの処理が行なえないので、高速処理の必要な信号について処理遅延が生じてしまうおそれがある。

    この発明は上記の問題を考慮してなされたものである。 この発明の目的は、複数のチャネルに入力された信号をスキャン変換するA/D変換器を備えた半導体装置において、比較的高速処理の必要な入力信号の処理の遅延を従来よりも低減することである。

    この発明の実施の一形態による半導体装置は、中央処理装置と、第1および第2の周辺回路を含む複数の周辺回路と、変換部とを備える。 変換部は、1または複数の第1のチャネルおよび1または複数の第2のチャネルを含む複数の入力チャネルを有し、複数の入力チャネルのうちの1つの入力チャネルを選択し、選択中の入力チャネルに入力された信号をA/D変換する。 ここで、1または複数の第1のチャネルに入力された信号のA/D変換結果は、第1の周辺回路での信号処理に用いられる。 1または複数の第2のチャネルに入力された信号のA/D変換結果は、第2の周辺回路での信号処理に用いられる。 1または複数の第1のチャネルに入力される信号は、1または複数の第2のチャネルに入力される信号よりも高速の処理が必要とされる。 上記の変換部は、中央処理装置または複数の周辺回路のいずれかからスキャン変換指令を受けた場合に、複数の入力チャネルを所定の選択順で順次選択して連続的にA/D変換を行なう。 変換部は、スキャン変換指令を受けた場合に、1または複数の第1のチャネルに入力された信号のA/D変換が完了した後でありかつ全入力チャネルの入力信号のA/D変換が完了する前に、A/D変換の完了を第1の周辺回路に通知し、全入力チャネルの入力信号のA/D変換が完了した後に、A/D変換の完了を第2の周辺回路に通知する。

    上記の実施の形態によれば、1または複数の第1のチャネルに入力される比較的高速処理の必要な入力信号の処理の遅延を従来よりも低減することができる。

    この発明の実施の形態1によるマイクロコントローラ100の構成を示すブロック図である。

    図1のマイクロコントローラ100の動作を説明するためのタイミング図である。

    この発明の実施の形態1の変形例によるマイクロコントローラ100Aの構成を示すブロック図である。

    図3のマイクロコントローラ100Aの動作を説明するためのタイミング図である。

    この発明の実施の形態2によるマイクロコントローラ100Bの構成を示すブロック図である。

    図5のマイクロコントローラ100Bの動作を説明するためのタイミング図である。

    この発明の実施の形態3によるマイクロコントローラ100Cの構成を示すブロック図である。

    図7のマイクロコントローラ100Cの動作を説明するためのタイミング図である。

    以下、この発明の実施の形態について図面を参照して詳しく説明する。 なお、同一または相当する部分には同一の参照符号を付して、その説明を繰返さない。

    <実施の形態1>
    図1は、この発明の実施の形態1によるマイクロコントローラ100の構成を示すブロック図である。

    図1では一例としてマイクロコントローラ100が三相同期モータの制御に用いられる例が示される。 マイクロコントローラ100は入力端子T0〜T5を有する。 入力端子T0〜T2は同期モータ101に接続され、各相のモータ電流の検出信号が入力される。 入力端子T3,T4はそれぞれ温度センサ102,103に接続され、温度センサ102,103の検出信号が入力される。 温度センサ102,103は、たとえばインバータ回路に設けられたスイッチング素子の温度を検出したり、同期モータの電機子巻線の温度を検出したりするのに用いられる。 入力端子T5はファンモータ104に接続され、ファンモータ104の駆動電圧の検出値が入力される。 入力端子T0〜T2に入力されるモータ電流の検出信号は同期モータのフィードバック制御に用いられるので、温度センサの検出信号やファンモータのモータ電圧の検出信号に比べて高速の処理が必要である。

    図1に示すように、マイクロコントローラ(半導体装置)100は、CPU1と、変換部2と、周辺回路IP0,IP1,IP2と、割り込み制御回路3と、DMA制御回路4と、共通バス5とを含む。 CPU1、変換部2、周辺回路IP0,IP1,IP2、およびDMA制御回路4は、共通バス5を介して接続される。

    CPU1は、図示を省略したメモリ回路に記憶されたプログラムに従って動作し、マイクロコントローラ100全体の動作を制御する。

    変換部2は、複数の入力チャネルCH0〜CH5(総称する場合、入力チャネルCHとも称する)を有し、CPU1または周辺回路IP0〜IP2などの要求に応じて、選択した1つの入力チャネルの入力信号をA/D変換する。 変換部2は、動作モードとして、入力チャネルCH0〜CH5をこの順に順次選択して全チャネルの入力信号を連続的にA/D変換するスキャン変換モードを有する。

    実施の形態1の場合、入力チャネルCH0〜CH2には比較的高速の処理が必要な各相のモータ電流の検出信号が入力される。 入力チャネルCH3,CH4には温度センサ102,103の検出信号がそれぞれ入力される。 入力チャネルCH5にはファンモータ104のモータ電圧の検出信号が入力される。

    変換部2は、チャネル選択部11と、A/D変換器12と、レジスタ群13とを含む。 チャネル選択部11は、A/D変換器12から受けた選択信号SELに従って、入力チャネルCH0〜CH5に入力された信号のうち1つの信号を選択し、選択した信号を出力する。 実施の形態1の場合、選択信号SELは6ビットの信号であるとし、各ビット信号が変換部2の各チャネルCHに対応する。 各入力チャネルCHは、対応のビット信号がHレベルのときに選択中になる。

    A/D変換器12は、上記の選択信号SELを生成し、選択信号SELに応答してチャネル選択部11から出力された信号のA/D変換を行なう。 レジスタ群13は、入力チャネルCH0〜CH5にそれぞれ対応するデータレジスタRA0〜RA5(総称する場合、データレジスタRAとも称する)を含む。 各データレジスタRAは、対応の入力チャネルCHに入力された信号のA/D変換結果を格納する。

    周辺回路IP0は、入力チャネルCH0〜CH2に入力されたモータ電流の検出信号のA/D変換結果を用いて信号処理を行なう。 周辺回路IP0は、入力チャネルCH0〜CH2にそれぞれ対応して設けられたデータレジスタRA0〜RA2と専用線を介して接続され、CPU1を介さずにデータレジスタRA0〜RA2に格納されたA/D変換結果を読み出すことができる。

    周辺回路IP0には、A/D変換器12によって生成された選択信号SELのうち一部のビット信号が入力される。 図2で説明するように、選択信号SELはA/D変換の完了を通知するための信号として用いられる。 変換部2がスキャン変換を行なう場合に、この選択信号SELによって周辺回路IP0は全入力信号のA/D変換が完了する前に入力チャネルCH0〜CH2の入力信号のA/D変換が完了したことを知得することができる。

    周辺回路IP1は、入力チャネルCH3,CH4に入力された温度センサ102,103の検出信号のA/D変換結果を用いた信号処理を行なう。 図1の場合には、周辺回路IP1は、データレジスタRA3,RA4と専用線を介して接続され、CPU1を介さずにデータレジスタRA3,RA4に格納された入力チャネルCH3,CH4の入力信号のA/D変換結果を読み出すことができる。 専用線を介して接続した場合、当該専用線を配線するための面積が必要なこと、一方で温度センサ102,103の検出信号は高速の処理を必要としないので、専用線を用いずに共通バス5およびCPU1を介して、データレジスタRA3,RA4に格納されたA/D変換結果を周辺回路IP1に転送するようにしてもよい。

    周辺回路IP2は、入力チャネルCH5に入力されたファンモータ104のモータ電圧の検出信号を用いて信号処理を行なう。 図1の場合には、周辺回路IP2は、データレジスタRA5と専用線を介して接続され、CPU1を介さずにデータレジスタRA5に格納された入力チャネルCH5の入力信号のA/D変換結果を読み出すことができる。 周辺回路IP1と同様に、ファンモータ104のモータ電圧の検出信号は高速の処理を必要としないので、専用線を用いずに共通バス5およびCPU1を介して、データレジスタRA5に格納されたA/D変換結果を周辺回路IP1に転送するようにしてもよい。

    割り込み制御回路3は、CPU1で実行中の処理を中断して優先度の高い処理を行なう割り込み動作を制御するための回路であり、変換部2や周辺回路などが発行する割り込み要求に応じて、CPU1に対して割り込み発生を通知する。 変換部2がスキャン変換を実行した場合には、割り込み制御回路3は、全入力チャネルのA/D変換が完了したときに変換部2からA/D変換完了を通知する完了通知信号CMPを受け、CPU1に対して割り込み信号を出力する。

    DMA制御回路4は、CPU1を介さずにデータ転送を行なうDMA(Direct Memory Access)転送を制御するための回路である。 CPU1は、スキャン変換の完了による割り込み制御信号を割り込み制御回路3から受けた場合に、DMA制御回路4に対して、A/D変換結果を周辺回路IP1,IP2に転送するように指令する。 周辺回路IP1,IP2はDMA制御回路4からの制御信号によってA/D変換の完了を知得する。 データレジスタRA3,RA4に格納されたA/D変換結果は専用線を介して周辺回路IP1に転送され、データレジスタRA5に格納されたA/D変換結果は専用線を介して周辺回路IP2に転送される。

    図2は、図1のマイクロコントローラ100の動作を説明するためのタイミング図である。 図2では、図1の変換部2がCPU1または周辺回路IP0〜IP2のいずれかから、スキャン変換指令を受けた場合の動作が示される。 図2では、上から順に、入力チャネルCH0〜CH5を選択するための選択信号SELの各ビット波形、完了通知信号CMPの波形、およびデータレジスタRA0〜RA5の動作(書込中(W)または読出中(R))が示される。

    図1、図2を参照して、時刻t1から時刻t2まではチャネルCH0が選択され、チャネルCH0に入力された信号のA/D変換結果がデータレジスタRA0に書込まれる。 時刻t3から時刻t4まではチャネルCH1が選択され、チャネルCH1に入力された信号のA/D変換結果がデータレジスタRA1に書込まれる。 時刻t5から時刻t6まではチャネルCH2が選択され、チャネルCH2に入力された信号のA/D変換結果がデータレジスタRA2に書込まれる。 時刻t7から時刻t9まではチャネルCH3が選択され、チャネルCH3に入力された信号のA/D変換結果がデータレジスタRA3に書込まれる。 時刻t10から時刻t11まではチャネルCH4が選択され、チャネルCH4に入力された信号のA/D変換結果がデータレジスタRA4に書込まれる。 時刻t12から時刻t13まではチャネルCH5が選択され、入力チャネルCH5に入力された信号のA/D変換結果がデータレジスタRA5に書込まれる。

    周辺回路IP0は、選択信号SELのうち入力チャネルCH3を選択するためのビット信号SEL(CH3)をA/D変換器12から受信する。 入力チャネルCH3の選択順は、周辺回路IP0に関係するチャネルCH0〜CH2のうちで最終選択順の入力チャネルCH2の次に設定されている。 周辺回路IP0は、時刻t7に入力チャネルCH3がHレベルになるタイミング(入力チャネルCH3の選択が開始されるタイミング)をビット信号SEL(CH3)から検知することによって、入力チャネルCH0〜CH2に入力された信号のA/D変換の完了の通知を変換部2から受けたことになる。

    A/D変換の完了通知を受けた周辺回路IP0は、時刻t8に、データレジスタRA0〜RA2に格納されたA/D変換結果の読出を開始する。

    全入力チャネルの入力信号に対するA/D変換が完了した後の時刻t14に、A/D変換器12は、割り込み制御回路3にA/D変換の完了を示す完了通知信号CMPを出力する。 割り込み制御回路3から割り込み制御信号を受けたCPU1は、DMA制御回路4にA/D変換結果の転送を指令する。 次の時刻t15に、DMA制御回路4は、データレジスタRA3〜RA5から周辺回路IP1,IP2へA/D変換結果の転送を開始する。

    上記のとおり実施の形態1のマイクロコントローラ100によれば、周辺回路IP0にA/D変換の完了を通知するための信号として選択信号SELが用いられる。 これによって、周辺回路IP0は全入力チャネルの入力信号のA/D変換が完了する前にA/D変換結果を読み出すことができる。 完了通知に選択信号SELを用いる方法は、周辺回路IP0に選択信号SELを受けるためのインターフェース部を付加することによって実現できるので、従来技術に比べて回路面積の増加は小さくて済む。

    選択信号SELのうち入力チャネルCH2を選択するためのビット信号SEL(CH2)をA/D変換完了を周辺回路IP0に通知するための信号として用いてもよい。 この場合、周辺回路IP0は、入力チャネルCH2を選択するためのビット信号SEL(CH2)がLレベルに切替わること(入力チャネルCH2の選択が完了すること)を検出することによってA/D変換の完了を知得する。

    上記の実施の形態では、チャネルCH2に入力された信号のA/D変換の完了が周辺回路IP0に通知されたが、これに加えて、チャネルCH0,CH1に入力される信号のA/D変換の完了を周辺回路IP0に通知するようにしてもよい。 そうすると、周辺回路IP0は、チャネルCH0,CH1に入力された信号のA/D変換が完了した直後からこれらのA/D変換結果をデータレジスタRA0,RA1から読み出すことができる。

    <実施の形態1の変形例>
    図3は、この発明の実施の形態1の変形例によるマイクロコントローラ100Aの構成を示すブロック図である。 図3に示す変換部2Aは、入力チャネルCH0〜CH2にそれぞれ対応するサンプルホールド回路SH0〜SH2(総称する場合、サンプルホールド回路SHと記載する)をさらに含む点で図1に示す変換部2と異なる。 図3のその他の点は図1と同じであるので、同一または相当する部分には同一の参照符号を付して説明を繰り返さない。

    各サンプルホールド回路SHは、対応の入力チャネルCHに入力された信号をサンプルホールドする。 入力チャネルCH0〜CH2に入力された信号のA/D変換は、サンプルホールド回路SH0〜SH2に取込まれた信号が用いられる。

    サンプルホールド回路SHが設けられていない場合、入力チャネルCH0〜CH2の入力信号の時間変化がA/D変換に要する時間に比べて速い場合には、検出誤差が大きくなってしまう。 図3のように、サンプルホールド回路SHを設けることによって、同一のタイミングでサンプリングされた信号に対してA/D変換を行なうことができる。

    図4は、図3のマイクロコントローラ100Aの動作を説明するためのタイミング図である。 図4では、図3の変換部2AがCPU1または周辺回路IP0〜IP2のいずれかから、スキャン変換指令を受けた場合の動作が示される。 図4には、上から順に、選択信号のうちチャネルCH0を選択するビット信号の波形(SEL(CH0))、チャネルCH0の入力信号に対する変換部2Aの動作(A/D(CH0))、選択信号のうちチャネルCH1を選択するビット信号の波形(SEL(CH1))、チャネルCH1の入力信号に対する変換部2Aの動作(A/D(CH1))、選択信号のうちチャネルCH2を選択するビット信号の波形(SEL(CH2))、チャネルCH2の入力信号に対する変換部の動作(A/D(CH2))が示される。 さらに、選択信号SELのうち入力チャネルCH3〜CH5を選択するビット信号の波形、完了通知信号CMPの波形、およびデータレジスタRA0〜RA5の動作(書込中(W)または読出中(R))が示される。

    図3、図4を参照して、まず、時刻tsに、チャネルCH0〜CH2に入力された信号のサンプリングが開始される。 次の時刻thに、チャネルCH0〜CH2に入力された信号のサンプリングが終了し、サンプリングされた信号がホールドされる。 サンプルホールド回路SH0にホールドされた入力信号は時刻t1から時刻t2の間にA/D変換が実行される。 サンプルホールド回路SH1にホールドされた入力信号は時刻t3から時刻t4の間にA/D変換が実行される。 サンプルホールド回路SH0にホールドされた入力信号は時刻t5から時刻t6の間にA/D変換が実行される。 図4のその他の点については図2の場合と同じであるので、同一または相当する部分には同一の参照符号を付して説明を繰返さない。

    <実施の形態2>
    図5は、この発明の実施の形態2によるマイクロコントローラ100Bの構成を示すブロック図である。

    図5を参照して、マイクロコントローラ100Bは、変換部2Bに設けられたレジスタ群13Aが入力チャネルCH0〜CH2にそれぞれ対応して設けられたフラグレジスタRB0〜RB2(総称する場合、フラグレジスタRBとも称する)をさらに含む点で、図1のマイクロコントローラ100と異なる。 さらに、図5のマイクロコントローラ100Bでは、選択信号SELの一部が周辺回路IP0に出力されない点で、図1のマイクロコントローラ100と異なる。 図5のその他の構成は図1の場合と同じであるので、同一または相当する部分には同一の参照符号を付して説明を繰返さない。

    周辺回路IP0は、専用線を介して各フラグレジスタRBの内容の読出および書換が可能である。 A/D変換器12は、入力チャネルCH0〜CH2の各々に入力された信号のA/D変換が完了したときに対応のフラグレジスタRBを、A/D変換の完了を表わす「1」に書換えることによって、周辺回路IP0にA/D変換の完了を通知する。 周辺回路IP0は、データレジスタRA0〜RA2に格納されたA/D変換結果を読み出したときに、各データレジスタRAに対応するフラグレジスタRBを、A/D変換の未完了を表わす「0」に書き戻すことによって、変換部2にデータ読出の完了を通知する。

    図6は、図5のマイクロコントローラ100Bの動作を説明するためのタイミング図である。 図6では、図5の変換部2BがCPU1または周辺回路IP0〜IP2のいずれかから、スキャン変換指令を受けた場合の動作が示される。 図6では、上から順に、入力チャネルCH0〜CH5を選択するための選択信号SELの各ビット波形、完了通知信号CMPの波形、フラグレジスタRB0〜RB2の状態(ハイレベル「1」またはローレベル「0」)、およびデータレジスタRA0〜RA5の動作(書込中(W)または読出中(R))が示される。

    図5、図6を参照して、時刻t1から時刻t2まではチャネルCH0が選択され、入力チャネルCH0に入力された信号のA/D変換結果がデータレジスタRA0に書込まれる。 時刻t2において、A/D変換器12は、入力チャネルCH0に入力された信号のA/D変換完了を周辺回路IP0に通知するために、フラグレジスタRB0を「1」に書換える。

    時刻t3から時刻t4まではチャネルCH1が選択され、入力チャネルCH1に入力された信号のA/D変換結果がデータレジスタRA1に書込まれる。 時刻t4において、A/D変換器12は、入力チャネルCH1に入力された信号のA/D変換完了を周辺回路IP0に通知するために、フラグレジスタRB1を「1」に書換える。

    時刻t5から時刻t6まではチャネルCH2が選択され、入力チャネルCH2に入力された信号のA/D変換結果がデータレジスタRA2に書込まれる。 時刻t6において、A/D変換器12は、入力チャネルCH2に入力された信号のA/D変換完了を周辺回路IP0に通知するために、フラグレジスタRB2を「1」に書換える。

    時刻t7から時刻t9まではチャネルCH3が選択され、入力チャネルCH3に入力された信号のA/D変換結果がデータレジスタRA3に書込まれる。 時刻t10から時刻t11まではチャネルCH4が選択され、入力チャネルCH4に入力された信号のA/D変換結果がデータレジスタRA4に書込まれる。 時刻t12から時刻t13まではチャネルCH5が選択され、入力チャネルCH5に入力された信号のA/D変換結果がデータレジスタRA5に書込まれる。

    周辺回路IP0は、フラグレジスタRB0〜RB2のデータ「1」を読み出すことによって、入力チャネルCH0〜CH2に入力された信号のA/D変換が完了したことを知得する。 このフラグレジスタRBの読出結果を受けて、周辺回路IP0は、時刻t8から時刻t10までの間にデータレジスタRA0〜RA2に格納されているA/D変換結果を読み出す。 時刻t10にA/D変換結果の読み出しが完了すると、周辺回路IP0は、読出完了をA/D変換器に通知するために、フラグレジスタRB0〜RB2に「0」を書込む。

    全入力チャネルの入力信号に対するA/D変換の完了した後の時刻t14に、A/D変換器12は、割り込み制御回路3にA/D変換の完了を示す完了通知信号CMPを出力する。 割り込み制御回路3から割り込み制御信号を受けたCPU1は、DMA制御回路4にA/D変換結果の転送を指令する。 次の時刻t15に、DMA制御回路4は、データレジスタRA3〜RA5から周辺回路IP1,IP2へA/D変換結果の転送を開始する。

    上記のとおり、実施の形態2のマイクロコントローラ100Bによれば、入力チャネルCH0〜CH2の各々に入力された信号のA/D変換完了した時点でA/D変換の終了を知得することができるので、従来よりもA/D変換結果の読出のタイミングを早めることができる。

    さらに、実施の形態2の場合には、フラグレジスタRB0〜RB2が「0」に書き戻されることによってA/D変換結果が周辺回路IP0に読込まれたことをA/D変換器12が確認できるので、A/D変換結果が周辺回路IP0に読込まれないうちにデータが上書きされてしまうような事態を避けることができる。 実施の形態1の場合には、周辺回路IP0がA/D変換結果を読込んだか否かの確認がA/D変換器12によって行なわれていないので上書きの可能性があったが、実施の形態2の場合にはこの点が改善されている。

    なお、実施の形態2によるマイクロコントローラ100Bの場合にも、実施の形態1の変形例の場合と同様に、サンプルホールド回路SH0〜SH2を設けることができる。

    <実施の形態3>
    図7は、この発明の実施の形態3によるマイクロコントローラ100Cの構成を示すブロック図である。

    図7を参照して、マイクロコントローラ100Cは、FIFO(First-In First-Out)方式のバッファメモリ6をさらに含む点で図1のマイクロコントローラ100と異なる。 さらに、図7のマイクロコントローラ100Cでは、選択信号SELの一部が周辺回路IP0に出力されない点で、図1のマイクロコントローラ100と異なる。 図7のその他の構成は図1の場合と同じであるので、同一または相当する部分には同一の参照符号を付して説明を繰返さない。

    周辺回路IP0は、専用線を介してバッファメモリ6からデータ読出が可能である。 バッファメモリ6の記憶容量は、入力チャネルCH0〜CH2について複数回のA/D変換結果の格納が可能な程度であるとする。 バッファメモリ6は、通常のFIFOと同様に、メモリが空のときに「1」になるエンプティ・フラグ(EF:Empty Flag)と、メモリが満杯のとき「1」になるフル・フラグ(FF:Full flag)と、書込み位置および読み出し位置を示すための書込みポインタおよび読み出しポインタとを有する。

    A/D変換器12は、入力チャネルCH0〜CH2に入力された信号のA/D変換結果をデータレジスタRA0〜RA2に書込むとともにバッファメモリ6にも書込むことによって、A/D変換の完了を周辺回路IP0に知得させる。 周辺回路IP0は、エンプティ・フラグが「0」になることを検出することによって、A/D変換の完了を検知する。

    図8は、図7のマイクロコントローラ100Cの動作を説明するためのタイミング図である。 図8では、図7の変換部2がCPU1または周辺回路IP0〜IP2のいずれかから、スキャン変換指令を受けた場合の動作が示される。 図8では、上から順に、入力チャネルCH0〜CH5を選択するための選択信号SELの各ビット波形、完了通知信号CMPの波形、バッファメモリ6に設けられたエンプティ・フラグの状態(ハイレベル「1」またはローレベル「0」)、バッファメモリ6への書込データの内容、およびバッファメモリ6からの読出データ内容を示す。

    図7、図8を参照して、時刻t1から時刻t2まではチャネルCH0が選択され、入力チャネルCH0に入力された信号のA/D変換結果がデータレジスタRA0に書込まれる。 A/D変換完了後の時刻t2から時刻t4までの間に、CH0に入力された信号のA/D変換結果がバッファメモリ6に書込まれる。 時刻t4に、バッファメモリ6への書込が終了すると、バッファメモリ6に設けられたエンプティ・フラグが「1」から「0」に変わる。

    時刻t3から時刻t5まではチャネルCH1が選択され、入力チャネルCH1に入力された信号のA/D変換結果がデータレジスタRA1に書込まれる。 A/D変換完了後の時刻t5から時刻t7までの間に、CH1に入力された信号のA/D変換結果がバッファメモリ6に書込まれる。

    時刻t6から時刻t8まではチャネルCH2が選択され、入力チャネルCH2に入力された信号のA/D変換結果がデータレジスタRA2に書込まれる。 A/D変換完了後の時刻t8から時刻t10までの間に、CH2に入力された信号のA/D変換結果がバッファメモリ6に書込まれる。

    時刻t9から時刻t11まではチャネルCH3が選択され、入力チャネルCH3に入力された信号のA/D変換結果がデータレジスタRA3に書込まれる。 時刻t12から時刻t13まではチャネルCH4が選択され、入力チャネルCH4に入力された信号のA/D変換結果がデータレジスタRA4に書込まれる。 時刻t14から時刻t15まではチャネルCH5が選択され、入力チャネルCH5に入力された信号のA/D変換結果がデータレジスタRA5に書込まれる。

    周辺回路IP0は、エンプティ・フラグを定期的にチェックし、エンプティ・フラグが「0」であることを検出することによって、入力チャネルCH0〜CH2のいずれかに入力された信号のA/D変換が完了していることを知得する。 このエンプティ・フラグの検出結果を受けて、周辺回路IP0は、時刻t7から時刻t11までの間にデータレジスタRA0〜RA2に格納されているA/D変換結果を順に読み出す。 時刻t11にA/D変換結果の読み出しが完了すると、バッファメモリ6に設けられたエンプティ・フラグは「0」から「1」に戻るように構成され、または周辺回路IP0が再設定する。

    全入力チャネルの入力信号に対するA/D変換の完了した後の時刻t16に、A/D変換器12は、割り込み制御回路3にA/D変換の完了を示す完了通知信号CMPを出力する。 割り込み制御回路3から割り込み制御信号を受けたCPU1は、DMA制御回路4にA/D変換結果の転送を指令する。 そして、DMA制御回路4は、データレジスタRA3〜RA5から周辺回路IP1,IP2へA/D変換結果の転送を開始する。

    上記のとおり、実施の形態3のマイクロコントローラ100Cによれば、FIFO式のバッファメモリ6を設けることによって、入力チャネルCH0〜CH2の各々に入力された信号のA/D変換結果がバッファメモリ6が書込まれた時点で、周辺回路IP0はA/D変換の終了を知得することができるので、従来よりもA/D変換結果の読出のタイミングを早めることができる。

    実施の形態2によるマイクロコントローラ100Bの場合には、フラグレジスタRB0〜RB2の内容をA/D変換器12が確認するように構成されていた。 このため、周辺回路IP0によるデータ処理が何らかの原因で遅れた場合に、A/D変換処理が停止する可能性があった。 これに対して、実施の形態3によるマイクロコントローラ100Cの場合には、バッファメモリ6が満杯になるまでA/D変換結果を書込むことができるので、周辺回路IP0によるデータ処理が何らかの原因で遅れたとしても、A/D変換処理に遅れが生じる可能性は低減している。

    上記の実施の形態3ではFIFO方式のバッファメモリ6の例を挙げたが、必ずしもFIFO方式に限られるものではない。 アドレス指定方式のメモリであってもよく、フラグレジスタなどを設けることによってメモリにA/D変換結果が書込まれていることを周辺回路IP0がCPU1を介さずに検知可能であり、書込まれたデータを周辺回路IP0がCPU1を介さずに専用線を介して読出可能に構成されていれば、上記のバッファメモリ6に代えて利用することができる。

    なお、実施の形態3のマイクロコントローラ100Cの場合にも、実施の形態1の変形例の場合と同様に、サンプルホールド回路SH0〜SH2を設けることができる。

    今回開示された実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。 この発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。

    1 CPU、2,2A,2B 変換部、5 共通バス、6 バッファメモリ、11 チャネル選択部、12 変換器、13,13A レジスタ群、100,100A,100B,100C マイクロコントローラ、CH0〜CH5 入力チャネル、CMP 完了通知信号、IP0〜IP2 周辺回路、RA0〜RA5 データレジスタ、RB0〜RB2 フラグレジスタ、SEL 選択信号、SH0〜SH2 サンプルホールド回路、T0〜T5 入力端子。

    QQ群二维码
    意见反馈