(57)【要約】【課題】ＡＤ変換に伴うＣＰＵ演算の実行頻度および処理量を低減させることのできる半導体集積回路を提供する。【解決手段】半導体集積回路は、タイマ部１が、ＣＰＵ１００からのカウント開始コマンドを受けてカウントを開始し、そのカウント値がＣＰＵ１００により予め設定されたタイマ値に到達したときにタイマトリガ信号を出力し、ＡＤ変換部２が、タイマ部１から入力されたタイマトリガ信号によりＡＤ変換を開始し、入力されたアナログ信号に対するＡＤ変換結果を出力し、演算部３が、ＡＤ変換部２から出力されたＡＤ変換結果に対する演算を行い、その演算結果を出力するとともに、その演算結果がＣＰＵ１００により設定された所定の条件に合致したときに演算トリガ信号を出力する。【選択図】図１
2008234348.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵからの第１のコマンドまたはＡＤ変換器からのトリガ信号を受けてカウントを開始し、そのカウント値が前記ＣＰＵにより予め設定された値に到達したときにタイマトリガ信号を出力するタイマ手段と、
前記ＣＰＵからの第２のコマンドまたは前記タイマトリガ信号の入力によりＡＤ変換を開始し、入力されたアナログ信号に対するＡＤ変換結果を出力するＡＤ変換手段と、
前記ＡＤ変換結果に対する演算を行い、その演算結果を出力するとともに、前記演算結果が所定の条件に合致したときに演算トリガ信号を出力する演算手段と、
を備え、
前記演算トリガ信号が、前記タイマ手段の前記カウント値のクリアおよび前記ＣＰＵへの割り込みに使用されることを特徴とする半導体集積回路。
【請求項２】
前記ＡＤ変換手段が、複数回のＡＤ変換を実行したときのそれぞれのＡＤ変換結果を格納する複数の変換結果レジスタを有し、
前記演算手段が、前記複数回のＡＤ変換実行後に、前記変換結果レジスタのそれぞれの出力に対して前記演算を行う
ことを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記演算手段は、
前記ＡＤ変換結果または前記演算結果を一時的に保存する演算バッファと、
前記ＡＤ変換結果および前記演算バッファの出力を入力として、前記ＣＰＵにより指示された所定の演算を実行し、前記演算結果を出力する演算実行部と、
前記演算結果と前記所定の条件とを比較し、前記演算結果が前記所定の条件に合致したときに前記演算トリガ信号を出力する比較部と、
を有することを特徴とする請求項１または２に記載の半導体集積回路。
【請求項４】
前記演算バッファが、複数のレジスタを有し、
前記演算実行部が、前記複数のレジスタのそれぞれごとに、そのレジスタを用いる演算を前記ＣＰＵにより指示されることを特徴とする請求項３に記載の半導体集積回路。
【請求項５】
前記タイマ手段が、
前記ＣＰＵにより予め設定されたタイマ設定値を格納するタイマ設定値レジスタと、
前記ＣＰＵにより予め設定されたパルス幅設定値を格納するパルス幅設定値レジスタと、
前記ＣＰＵからのコマンドを受けてカウントを開始し、前記演算手段から前記演算トリガ信号が入力されるごとにカウント値がクリアされるカウンタと、
前記カウンタのカウント値が前記タイマ設定値レジスタに格納された値と一致するごとに前記タイマトリガ信号を出力する第１の比較器と、
前記カウンタのカウント値が前記パルス幅設定値レジスタに格納された値と一致するごとにターンオフ信号を出力する第２の比較器と、
を備え、
前記演算トリガ信号によりターンオンし、前記ターンオフ信号によりターンオフするパルス信号を出力することを特徴とする請求項１乃至４のいずれか１項に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に関する。
【背景技術】
【０００２】
従来から、アナログ信号をＡＤ変換器でデジタル信号に変換することにより、アナログ回路で実行していた処理をデジタル処理に置き換えることが行われている。そのようなデジタル処理を行うために、ＡＤ変換器とデジタル演算実行用のＣＰＵ（中央演算処理ユニット）とを１チップに収めた半導体集積回路が提案されている（例えば、特許文献１参照。）。
【０００３】
しかし、上述の半導体集積回路では、ＡＤ変換器での変換が終了するごとに、その変換結果に対するＣＰＵの演算が行われるため、ＣＰＵの負荷が増大するという問題があった。特に、高速ＡＤ変換器を使用する場合、ＡＤ変換結果の出力頻度が高くなるため、ＡＤ変換結果に対する演算のＣＰＵ占有率が増大する、という問題があった。
【特許文献１】特開２００５−１４２６７０号公報  （第６ページ、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
そこで、本発明の目的は、ＡＤ変換に伴うＣＰＵ演算の実行頻度および処理量を低減させることのできる半導体集積回路を提供することにある。
【課題を解決するための手段】
【０００５】
本発明の一態様によれば、ＣＰＵからのコマンドを受けてカウントを開始し、そのカウント値が前記ＣＰＵにより予め設定された値に到達したときにタイマトリガ信号を出力するタイマ手段と、前記タイマトリガ信号の入力によりＡＤ変換を開始し、入力されたアナログ信号に対するＡＤ変換結果を出力するＡＤ変換手段と、前記ＡＤ変換結果に対する演算を行い、その演算結果を出力するとともに、前記演算結果が所定の条件に合致したときに演算トリガ信号を出力する演算手段と、を備え、前記演算トリガ信号が、前記タイマ手段の前記カウント値のクリアおよび前記ＣＰＵへの割り込みに使用されることを特徴とする半導体集積回路が提供される。
【発明の効果】
【０００６】
本発明によれば、ＡＤ変換に伴うＣＰＵ演算の実行頻度および処理量を低減させることができる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施例を図面を参照して説明する。
【実施例１】
【０００８】
図１は、本発明の実施例１に係る半導体集積回路の構成の例を示すブロック図である。
【０００９】
本実施例の半導体集積回路は、ＣＰＵ１００からのカウント開始コマンドを受けてカウントを開始し、そのカウント値がＣＰＵ１００により予め設定されたタイマ値に到達したときにタイマトリガ信号を出力するタイマ部１と、タイマ部１から入力されたタイマトリガ信号によりＡＤ変換を開始し、入力されたアナログ信号に対するＡＤ変換結果を出力するＡＤ変換部２と、ＡＤ変換部２から出力されたＡＤ変換結果に対する演算を行い、その演算結果を出力するとともに、その演算結果がＣＰＵ１００により設定された所定の条件に合致したときに演算トリガ信号を出力する演算部３と、を備える。
【００１０】
タイマ部１は、ＣＰＵ１００からのカウント開始コマンドを受けてカウントを開始するカウンタ１１と、ＣＰＵ１００から入力されたタイマ設定値を格納するタイマ設定値レジスタ１２と、カウンタ１１のカウント値とタイマ設定値レジスタ１２に格納されたタイマ設定値とを比較し、その値が一致したときにタイマトリガ信号を出力する比較器１３と、を有する。
【００１１】
演算部３は、ＡＤ変換部２から出力されたＡＤ変換結果を一時的に保存する演算バッファ３１と、ＡＤ変換部２から出力されたＡＤ変換結果および演算バッファ３１の出力を入力として、ＣＰＵ１００により指示された所定の演算を実行する演算実行部３２と、演算実行部３２による演算結果とＣＰＵ１００により設定された条件設定値とを比較し、その値が合致したときに演算トリガ信号を出力する比較部３３と、を有する。なお、演算の種類によっては、演算実行部３２の演算結果が演算バッファ３１に書き込まれることもある。
【００１２】
演算実行部３２の出力、あるいは演算バッファ３１の出力は、演算部３の演算結果として、データバスを介してＣＰＵ１００へ送出される。
【００１３】
これに対して、演算部３から出力された演算トリガ信号は、タイマ部１へ入力され、カウンタ１１のカウント値をクリアする。
【００１４】
また、この演算トリガ信号は、ＣＰＵ１００へも入力され、ＣＰＵ１００への演算割り込みを行う。
【００１５】
同様に、タイマ部１から出力されるタイマトリガ信号もＣＰＵ１００へ入力され、ＣＰＵ１００へのタイマ割り込みを行う。
【００１６】
この演算部３は、ＣＰＵ１００からの演算指示を受けて演算バッファ３１および演算実行部３２の動作を制御する演算制御部３４の制御により、さまざまな演算を実行する。
【００１７】
図２に、ＣＰＵ１００からの演算指示内容の例、図３に、演算部３の演算動作の例を模式的に示す。
【００１８】
ＣＰＵ１００からの演算指示内容としては、（１）加算：ＡＤ変換結果に演算バッファ値を加算、（２）減算：ＡＤ変換結果から演算バッファ値を減算、（３）累積加算：ＡＤ変換結果の累積加算、などがある。それぞれの場合の演算部３の演算動作を図３（ａ）、（ｂ）、（ｃ）に模式的に示す。図３（ｃ）に示す累積加算の場合、演算実行部３２の加算結果が演算バッファ３１へフィードバックされ、演算バッファ３１の値は順次更新される。
【００１９】
ＣＰＵ１００からの演算指示内容としては、そのほかに、（４）２値平均：前回のＡＤ変換結果と今回のＡＤ変換結果の平均値算出、（５）最大値抽出：その時点までのＡＤ変換結果の最大値を抽出、（６）最小値抽出：その時点までのＡＤ変換結果の最小値を抽出、などがある。
【００２０】
この指示に対して、演算実行部３２は次のように動作する。すなわち、（４）２値平均：演算バッファ３１に格納された前回のＡＤ変換結果に対し、［今回のＡＤ変換結果＋演算バッファ値＋１］のキャリーインつき加算を実行後、加算結果を１ビット右シフト、（５）最大値抽出：［ＡＤ変換結果−演算バッファ値］の値が正ならば、演算バッファ３１をＡＤ変換結果に更新、（６）最小値抽出：［ＡＤ変換結果−演算バッファ値］の値が負ならば、演算バッファ３１をＡＤ変換結果に更新、をそれぞれ行う。
【００２１】
このような演算結果は、例えば、上述の（１）〜（４）の場合は、演算実行部３２から出力され、（５）〜（６）の場合は、演算バッファ３１から出力される。
【００２２】
演算実行部３２の演算動作実行中、比較部３３は、演算実行部３２の演算結果を、ＣＰＵ１００により設定された条件設定値と比較する。その結果、両方の値が一致すると、比較部３３は、演算トリガ信号を出力する。
【００２３】
比較部３３から演算トリガ信号が出力されると、タイマ部１のカウンタ１１のカウント値はクリアされる。
【００２４】
上述したように、タイマ部１は、ＡＤ変換部２および演算部３と連動して動作する。すなわち、タイマ部１の動作に、ＡＤ変換部２の個々のＡＤ変換結果に対するＣＰＵ１００の演算の実行を必要としない。
【００２５】
図４に、タイマ部１が、ＡＤ変換部２および演算部３と連動して動作する様子を示す。
【００２６】
タイマ部１のカウンタ１１は、ＣＰＵ１００からのカウント開始コマンドを受けると、カントを開始する。そのカウント値が、タイマ設定値レジスタ１２に格納されたタイマ設定値に一致すると、比較器１３がタイマトリガ信号を出力する。
【００２７】
タイマトリガ信号が出力されると、ＡＤ変換部２がＡＤ変換動作を開始する。
【００２８】
このＡＤ変換部から出力されるＡＤ変換結果に対して、演算部３の演算実行部は、ＣＰＵ１００から指示された演算を実行する。その演算結果を、比較部３３は、ＣＰＵ１００により設定された条件設定値と比較する。その結果、両方の値が一致すると、比較部３３は、演算トリガ信号を出力する。
【００２９】
比較部３３から演算トリガ信号が出力されると、タイマ部１のカウンタ１１のカウント値はクリアされる。
【００３０】
また、この演算トリガ信号は、ＣＰＵ１００へ入力され、ＣＰＵ１００へ割り込みをかける。
【００３１】
このような本実施例によれば、ＡＤ変換結果の出力ごとに実行する演算にＣＰＵを使用しないため、ＣＰＵの処理量を低減させることができる。また、ＡＤ変換ごとにＣＰＵに割り込む必要がないため、ＣＰＵに対する割り込み頻度を低減させることができ、ＣＰＵの演算頻度を低減させることができる。
【実施例２】
【００３２】
本実施例では、ＡＤ変換部が、ＡＤ変換結果を格納する複数のレジスタを有する例を示す。
【００３３】
図５は、本実施例のＡＤ変換部２の構成の例を示すブロック図である。
【００３４】
ＡＤ変換部２は、タイマトリガ信号が入力されたときにアナログ信号入力に対するＡＤ変換の実行を開始するＡＤ変換器２１と、ＡＤ変換器２１から出力されるＡＤ変換結果を格納する変換結果レジスタ２２１を複数備える変換結果レジスタ群２２と、を有する。
【００３５】
変換結果レジスタ群２２のそれぞれの変換結果レジスタ２２１には、複数回のＡＤ変換を実行したときのそれぞれのＡＤ変換結果が格納される。
【００３６】
このそれぞれの変換結果レジスタ２２１に格納されたＡＤ変換結果に対して、実施例１に示したものと同様の演算部３は、上述の複数回のＡＤ変換実行後に、ＣＰＵ１００に指示された内容の演算を実行する。
【００３７】
このような本実施例によれば、複数のＡＤ変換結果に対する演算を連続して実行できるため、演算処理の効率を向上させることができる。
【実施例３】
【００３８】
本実施例では、演算部の演算バッファが、複数のレジスタを有する例を示す。
【００３９】
図６は、本実施例の演算部３Ａの構成の要部を示すブロック図である。その他の部分については、実施例１と同様の構成であるので、ここでは、その図示および説明を省略する。
【００４０】
演算部３Ａは、演算バッファ３１Ａが、複数のレジスタ３１１を有し、演算実行部３２が、演算バッファ３１Ａの複数のレジスタ３１１のそれぞれごとに、そのレジスタを用いる演算をＣＰＵ１００により指示される。
【００４１】
すなわち、演算実行部３２は、演算バッファ３１Ａの複数のレジスタ３１１に格納されたそれぞれの値に対して、それぞれ異なる演算を実行することができる。
【００４２】
このような本実施例によれば、複雑な演算を効率よく実行することができる。
【実施例４】
【００４３】
本実施例では、タイマ部が、ＣＰＵにより設定されたパルス幅のパルス信号を出力するプログラマブル・パルス・ジェネレータ（ＰＰＧ）として動作する例を示す。
【００４４】
図７は、本実施例のタイマ部１Ａの構成の例を示すブロック図である。
【００４５】
タイマ部１Ａは、実施例１のタイマ１を構成するカウンタ１１、タイマ設定値レジスタ１２、比較器１３に、さらに、ＣＰＵ１００から入力されたパルス幅設定値を格納するパルス幅設定値レジスタ１４と、カウンタ１１のカウンタ値とパルス幅設定値レジスタ１４に格納されたパルス幅設定値とを比較し、その値が一致したときにターンオフ信号を出力する比較器１５と、演算部３から出力される演算トリガ信号によりセット（ターンオン）され、比較器１５から出力されるターンオフ信号によりリセット（ターンオフ）されるフリップフロップ１６と、を有する。フリップフロップ１６の出力が、ＲＰＧ出力としてのパルス信号となる。
【００４６】
図８に、タイマ部１Ａが、ＡＤ変換部２および演算部３と連動して動作する様子を示す。
【００４７】
タイマ部１Ａのカウンタ１１は、ＣＰＵ１００からのカウント開始コマンドを受けると、カントを開始する。そのカウント値が、タイマ設定値レジスタ１２に格納されたタイマ設定値に一致すると、比較器１３がタイマトリガ信号を出力する。
【００４８】
タイマトリガ信号が出力されると、ＡＤ変換部２がＡＤ変換動作を開始する。
【００４９】
このＡＤ変換部から出力されるＡＤ変換結果に対して、演算部３の演算実行部は、ＣＰＵ１００から指示された演算を実行する。その演算結果を、比較部３３は、ＣＰＵ１００により設定された条件設定値と比較する。その結果、両方の値が一致すると、比較部３３は、演算トリガ信号を出力する。
【００５０】
比較部３３から演算トリガ信号が出力されると、タイマ部１のカウンタ１１のカウント値はクリアされる。とともに、フリップフロップ１６がターンオンされ、フリップフロップ１６から出力されるパルス信号は、‘Ｈ’レベルとなる。
【００５１】
カウンタ１１は、カウント値がクリアされると、カウント値‘０’から再カウントを開始する。そのカウント値が、パルス幅設定値レジスタ１４に格納されたパルス幅設定値と一致すると、比較器１５がターンオフ信号を出力する。
【００５２】
このターンオフ信号によりフリップフロップ１６がターンオフされ、フリップフロップ１６から出力されるパルス信号は、‘Ｌ’レベルへ変化する。
【００５３】
したがって、フリップフロップ１６から出力されるパルス信号の‘Ｈ’レベル幅は、パルス幅設定値により決定される。
【００５４】
その後カウンタ１１のカウント値が上昇し、タイマ設定値レジスタ１２に格納されたタイマ設定値に一致すると、比較器１３が、再び、タイマトリガ信号を出力する。以降、上述した動作を繰り返す。
【００５５】
すなわち、ＣＰＵ１００によりパルス幅設定値を設定することにより、タイマ部１Ａは、設定された‘Ｈ’レベル幅のパルス信号を出力するＰＰＧ動作を行う。
【００５６】
従来、このようなＰＰＧから出力されるパルス信号は、出力バッファを介して半導体集積回路の外部へ出力され、外部接続機器を駆動するような用途に使用されることが多い。そのような用途の場合、出力バッファが大電流駆動を行い、半導体集積回路の電源ラインにノイズが発生することがある。そのようなノイズが発生すると、アナログ信号を取り扱うＡＤ変換部はその影響を受けやすく、その感度が劣化するなどの問題が発生しやすくなる。
【００５７】
しかし、本実施例の場合、フリップフロップ１６から出力されるパルス信号の変化点からは離れた時間帯で、ＡＤ変換部２のＡＤ変換動作が行われるため、ＡＤ変換部２は、このパルス信号の変化により発生するノイズの影響を受けにくい。
【００５８】
すなわち、本実施例によれば、ＰＰＧ動作するパルス信号を大電流駆動してノイズが発生しても、その影響による半導体集積回路の性能の劣化を防止することができる。
【００５９】
また、本実施例によれば、ＰＰＧとして動作するタイマの制御を行う演算処理にＣＰＵを使用しないため、ＣＰＵの負荷を低減させることができる。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施例１に係る半導体集積回路の構成の例を示すブロック図。
【図２】本発明の実施例１に係る半導体集積回路の演算指示内容の例を示す図。
【図３】本発明の実施例１に係る半導体集積回路の演算動作の例を示す図。
【図４】本発明の実施例１に係る半導体集積回路のタイマ部の動作の例を示す図。
【図５】本発明の実施例２に係る半導体集積回路の構成の例を示すブロック図。
【図６】本発明の実施例３に係る半導体集積回路の構成の例を示すブロック図。
【図７】本発明の実施例４に係る半導体集積回路の構成の例を示すブロック図。
【図８】本発明の実施例４に係る半導体集積回路のタイマ部の動作の例を示す図。
【符号の説明】
【００６１】
１、１Ａ  タイマ部
２  ＡＤ変換部
３、３Ａ  演算部
１１  カウンタ
１２  タイマ設定値レジスタ
１３  比較器
１４  パルス幅設定値レジスタ
１５  比較器
１６  フリップフロップ
２１  ＡＤ変換器
２２  変換結果レジスタ群
２２１  変換結果レジスタ
３１、３１Ａ  演算バッファ
３１１  レジスタ
３２  演算実行部
３３  比較部
３４  演算制御部
【図１】
2008234348.tif 000003
【図２】
2008234348.tif 000004
【図３】
2008234348.tif 000005
【図４】
2008234348.tif 000006
【図５】
2008234348.tif 000007
【図６】
2008234348.tif 000008
【図７】
2008234348.tif 000009
【図８】
2008234348.tif 000010