説明

半導体装置

【課題】サンプリングレートに応じて、デシメーションフィルタのフィルタ特性を可変する。
【解決手段】本半導体装置(1)におけるデシメーションフィルタ(13)は、所定のサンプリングレート(fOS)でサンプリングされた信号を順次入力し、連続して印加されるトリガ信号(TR)に応じて、所定のフィルタ処理を行うためのフィルタ係数(Cj)を所定期間(M+2N分の期間)内に入力された入力信号毎に算出するとともに、算出した前記フィルタ係数と前記入力信号とを順次乗算し、前記所定期間内の乗算値を積算して順次出力する。前記所定期間は、前記トリガ信号が印加される時間間隔に応じて可変にされる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、所定のサンプリングレートでサンプリングされた信号に対して所定のフィルタ処理を行うとともに、所要のサンプリングレートに基づく信号に変換して出力するデシメーションフィルタを備える半導体装置に関し、特に前記所要のサンプリングレートが変更可能なデシメーションフィルタに適用して有効な技術に関する。
【背景技術】
【0002】
デシメーションフィルタは、非常に高い周波数をもつクロック信号によりオーバーサンプリングされた信号をダウンサンプリングする機能と、ダウンサンプリングする際に発生する折り返し(エイリアス)雑音を遮断するローパスフィルタ(LPF:Low−pass filter)の機能とを備える回路である。デシメーションフィルタは、例えば、デルタ・シグマA/D変換器に適用される。
【0003】
従来のデシメーションフィルタの回路構成として、特許文献1及び特許文献2に開示がある。特許文献1には、フィルタ処理を2段階に分けて行うため2つのブロックによって構成したデシメーションフィルタが開示されている。特許文献2には、乗算器を用いずに実現したデシメーションフィルタが開示されている。
【0004】
また、フィルタの特性を可変するための従来技術として、特許文献3乃至5に開示がある。特許文献3には、デシメーションフィルタにおけるフィルタの係数が格納された係数ROMを3種類用意し、その3種類の係数ROMを切り替えることで伝達関数を変更する方法が開示されている。特許文献4には、モータ用リップル検出装置において、リップルの検出に最適なフィルタ特性となるように、モータ作動電流及び作動電圧や可変特性デジタルフィルタの出力値に基づいて、前記可変特性デジタルフィルタのフィルタ係数を可変する方法が開示されている。特許文献5には、第1サンプリング周波数でサンプリングされた第1信号(サンプル)を一時的に記憶するバッファメモリからサンプルを読み出す方法を変えることによりデシメーション比を変える方法が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平5−299973号公報
【特許文献2】特開2005−318304号公報
【特許文献3】特開平7−183814号公報
【特許文献4】特開2009−207236号公報
【特許文献5】特開2008−219560号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来、デシメーションフィルタによるダウンサンプリングのサンプリングレート(サンプリング周波数)を固定値とする製品が多かった。そのため、例えば、デシメーションフィルタから出力されるデータを用いて後段のマイコンがデータ処理を行うシステムを構築する場合、ユーザは、当該マイコンが処理可能なサンプリングレートでデータを出力するデシメーションフィルタを選ぶ必要があった。
【0007】
近年、デシメーションフィルタのサンプリング周波数を任意に変更したいという要求がある。デシメーションフィルタのサンプリング周波数を可変にする場合、それに応じてローパスフィルタのフィルタ特性を決める伝達関数を調整する必要がある。その理由は、仮にサンプリング周波数によらずデシメーションフィルタの伝達関数を固定とすると、ローパスフィルタの遮断周波数が固定となる。その結果、遮断周波数が遮断したい周波数帯域(例えば、サンプリング周波数付近の周波数帯域)よりもはるかに大きくなる場合には十分な遮断効果が得られないし、逆に遮断周波数が取得したい信号の周波数よりも小さくなる場合には、取得したい信号成分まで遮断してしまう虞があるからである。
【0008】
一方、デシメーションフィルタは、オーバーサンプリングされた信号のサンプリングレートに応じたクロック信号で高速に動作する必要があるため、多くの場合ハードウェアによって実現される。ハードウェアでデシメーションフィルタを構成する場合、フィルタ特性を決める伝達関数を可変にすることは容易ではない。前述した特許文献3の方法のように、予め組み込まれた複数の係数ROMを選択的に用いることで伝達関数を可変にすることも可能であるが、選択する係数ROMの数に限りがあるため、ユーザによって設定可能なサンプリング周波数の種類が制限されてしまう。また、前述の特許文献4にはモータ作動電流等に基づいてフィルタ係数を可変する方法が示されているが、前記モータ作動電流等をどのように用いてフィルタ係数を可変するのか等の具体的な制御方法についての記載はない。
【0009】
また、デシメーションフィルタでは、折り返し雑音を除去するために、特定の周波数に合わせてノッチ(帯域阻止)特性を設ける場合がある。例えば、デシメーションフィルタのサンプリング周波数付近の信号が当該サンプリング周波数の2分の1となる周波数を中心に低域側に折り返されることで発生する折り返し雑音を遮断するため、ノッチ特性を設ける周波数帯域を定める周波数(以下、ノッチ周波数、とも称する。)をサンプリング周波数に合わせて設定する。デシメーションフィルタのノッチ特性の具体例として、図7に、デルタ・シグマA/D変換器に適用される、伝達関数が固定のデシメーションフィルタの周波数特性を例示する。同図に示される周波数特性のデシメーションフィルタを適用したデルタ・シグマA/D変換器は、例えば、60Hz付近のアナログ信号を3MHzでオーバーサンプリングし、約12.2kHzのサンプリングレート(サンプリング周波数)のデジタル信号に変換して出力する。サンプリング周波数(12.2kHz)付近の信号はその2分の1となる周波数に基づいて折り返し雑音を発生させる。その折り返し雑音は、A/D変換の目的とするアナログ信号の周波数(60Hz)付近で発生するため、A/D変換結果に影響を与える虞がある。そこで、同図に示されるように、サンプリング周波数に合わせてノッチ周波数(≒12.2kHz)を設定し、サンプリング周波数付近の信号を遮断する。これにより、サンプリング周波数付近の信号に基づく折り返し雑音を低減させることができる。
【0010】
このようにデシメーションフィルタにノッチ特性を持たせる場合、サンプリング周波数に応じてノッチ周波数を設定するため、仮にノッチ周波数を固定した状態でサンプリング周波数を変化させると、除去したい信号の周波数帯域とノッチ周波数がずれることになり、所望の信号を除去できない虞がある。デシメーションフィルタのノッチ周波数を固定してサンプリング周波数を変更した場合のノッチ特性の具体例として、図8に、伝達関数が固定のデシメーションフィルタの別の周波数特性を例示する。同図には、図7と同様にノッチ周波数を12.2kHzに設定し、サンプリング周波数を12.2kHzから約8.93kHzに変更した場合の周波数特性が示される。この場合、ノッチ周波数が12.2kHzであるためサンプリング周波数(8.93kHz)付近の信号が除去されず、前記アナログ信号の周波数帯域に折り返し雑音が発生することになる。これにより、例えば、後段の信号処理回路によりデシメーションフィルタの出力信号をリサンプルしたとき、リサンプルした信号精度が劣化する虞がある。前述した特許文献5では、遮断周波数やノッチ周波数については言及されておらず、また、それらを変更する具体的な方法についても示されていない。なお、遮断周波数やノッチ周波数を柔軟に可変にする方法として、DSP(Digital Signal Processor)を用いてデシメーションフィルタを実現する方法もあるが、その場合、回路規模が非常に大きくなってしまい現実的ではない。
【0011】
本発明の目的は、デシメーションフィルタのサンプリングレートに応じて、デシメーションフィルタのフィルタ特性を可変することができる技術を提供することにある。
【0012】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【0013】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【0014】
すなわち、本半導体装置におけるデシメーションフィルタは、所定のサンプリングレートでサンプリングされた信号を順次入力し、連続して印加されるトリガ信号に応じて、所定のフィルタ処理を行うためのフィルタ係数を所定期間内に入力された入力信号毎に算出するとともに、算出した前記フィルタ係数と前記入力信号とを順次乗算し、前記所定期間内の乗算値を積算して順次出力する。前記所定期間は、前記トリガ信号が印加される時間間隔に応じて可変にされる。
【発明の効果】
【0015】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【0016】
すなわち、本半導体装置によれば、サンプリングレートに応じて、デシメーションフィルタのフィルタ特性を可変することができる。
【図面の簡単な説明】
【0017】
【図1】図1は、デシメーションフィルタを構成要素に持つデルタ・シグマA/D変換器を搭載したマイクロコンピュータの一例を示すブロック図である。
【図2】図2は、デシメーションフィルタ13の回路構成の一例を示すブロック図である。
【図3】図3は、係数算出部139_A(139_B)の内部構成の一例を示すブロック図である。
【図4】図4は、フィルタ係数CA(CB)の算出方法の一例を示す説明図である。
【図5】図5は、デシメーションフィルタ13による出力データの出力タイミングの一例を示す説明図である。
【図6】図6は、デシメーションフィルタ13の周波数特性の一例を示す説明図である。
【図7】図7は、デルタ・シグマA/D変換器に適用される、伝達関数が固定のデシメーションフィルタの周波数特性を例示する説明図である。
【図8】図8は、デルタ・シグマA/D変換器に適用される、伝達関数が固定のデシメーションフィルタの別の周波数特性を例示する説明図である。
【発明を実施するための形態】
【0018】
1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【0019】
〔1〕(トリガ周期に応じてフィルタ処理の演算期間を可変にするデシメーションフィルタ)
本発明の代表的な実施の形態に係る半導体装置(1)は、所定のサンプリングレート(fOS)でサンプリングされた信号(ΔΣ変調データに係る1ビット乃至複数ビットのデジタル信号)を順次入力し、入力信号に対して所定のフィルタ処理を行うとともに、所要のサンプリングレートに基づく信号に変換して出力するデシメーションフィルタ(13)を有する半導体装置である。前記デシメーションフィルタは、連続して印加されるトリガ信号(TR)に応じて、前記所定のフィルタ処理を行うためのフィルタ係数(CA(CB))を所定期間(M+2Nサイクル分の期間)内に入力された前記入力信号毎に算出し、算出した前記フィルタ係数と前記入力信号とを順次乗算し、前記所定期間内の乗算値を積算して順次出力する。前記所定期間は、前記トリガ信号が印加される時間間隔に応じて可変にされる。
【0020】
これによれば、例えば前記所要のサンプリングレートに基づく周期で前記トリガ信号を前記デシメーションフィルタに印加することで、前記フィルタ係数を算出する期間及び前記乗算値を積算する期間が前記所要のサンプリングレートに応じて変化する。これにより伝達関数を変化させることができるから、デシメーションフィルタのサンプリングレートに応じてフィルタ特性を変化させることができる。
【0021】
〔2〕(2回のトリガ印加に応じて伝達関数が変化するデシメーションフィルタ)
項1の半導体装置において、前記デシメーションフィルタは、前記トリガ信号に応じて、前記入力信号が入力される毎に前記フィルタ係数を順次算出する係数算出部(139_A(139_B))と、前記入力信号が入力される毎に、前記入力信号と前記係数算出部によって算出された前記フィルタ係数とを乗算し、その乗算値を積算して出力する演算部(137_A(137_B)、及び138_A(138_B))とを有する。前記係数算出部は、前記トリガ信号が印加された後の第1の期間(401、401_A、401_B)では、当該トリガ信号が印加されてから前記入力信号が入力された入力回数に応じて値が大きくなるように前記フィルタ係数を順次算出し、次の前記トリガ信号が印加された後の第2の期間(403、403_A、403_B)では、当該トリガ信号が印加されてから前記入力信号が入力された入力回数に応じて値が小さくなるように前記フィルタ係数を順次算出する。また、前記演算部は、前記第1の期間が開始されてから前記第2の期間が終了するまでの前記乗算値を積算した値を順次出力する。前記第1の期間及び前記第2の期間は、前記所要のサンプリングレートに応じた周期より短く(M≧2N)、且つ予め決められた期間(2N)である。
【0022】
項2の半導体装置における前記係数算出部は、前記第1の期間及び前記第2の期間を、前記所要のサンプリングレートに応じた周期より短く、且つ予め決められた期間とし、前記第1の期間及び前記第2の期間では上記の方法により前記フィルタ係数を算出する。これにより、項2に係るデシメーションフィルタは、ローパスフィルタとしての基本的なフィルタ特性を備えることができる。また、前記第1の期間における前記フィルタ係数を算出した後、次のトリガ信号の印加を待って前記第2の期間におけるフィルタ係数の算出を開始することにより、前記トリガ信号が印加される周期が長くなるほど、前記係数算出部が前記フィルタ係数を算出する期間と、前記演算部が前記乗算値を累積する期間とが長くなるように制御される。すなわち、項2に係るデシメーションフィルタによれば、ローパスフィルタとしての基本的なフィルタ特性を持ちつつ、前記第1の期間が終了してから前記第2の期間が開始されるまでの期間の長さに応じて、ローパスフィルタのフィルタ特性を微調整することができる。
【0023】
〔3〕(固定値のフィルタ係数を算出する)
項2の半導体装置において、前記係数算出部は、前記第1の期間の経過後次の前記トリガ信号が印加されるまでの第3の期間(402、402_A、402_B)では、固定値(N)となる前記フィルタ係数を算出する。
【0024】
この第3の期間もフィルタ係数に基づいた演算が行われることでサンプリング期間が延び、結果的にオーバーサンプリング比が向上することから、第3の期間の増加によって変換精度の向上も期待できる。
【0025】
〔4〕(Mサイクル前のフィルタ係数を減算する)
項3の半導体装置において、前記係数算出部は、前記第2の期間では、前記入力信号が入力される毎に、前記第3の期間で算出した前記フィルタ係数の値から直前の前記第1の期間で算出した前記フィルタ係数の値を順次減算することで前記フィルタ係数を算出する。
【0026】
これによれば、前記トリガ信号が印加される周期に対応する周波数においてノッチ特性を持たせることができる。これにより、サンプリングレートの変化に応じてノッチ周波数を変化させることができるから、サンプリングレートに基づく周波数帯の信号に起因する折り返し雑音を抑えることができる。
【0027】
〔5〕(カウンタ)
項3又は4の半導体装置において、前記デシメーションフィルタは、前記トリガ信号に応じて、前記入力信号が入力されるタイミングに対応して生成されるクロック信号(オーバーサンプリング周波数fOSのクロック信号)をカウントするカウンタ部(134)を更に有する。前記カウンタ部は、前記トリガ信号が印加されたら前記クロック信号をカウントするカウント動作を開始し、前記カウント動作によるカウント値が第1の値(2N)と一致したら前記カウント動作を中断し、次の前記トリガ信号が入力されたら前記カウント動作を再開し、前記カウント値が前記第1の値よりも大きい第2の値(4N)と一致したら前記カウント動作を停止する。前記係数算出部は、前記トリガ信号が印加されてから前記カウント値が前記第1の値に一致するまでの期間を前記第1の期間とし、前記カウント動作が中断している期間を前記第3の期間とし、次の前記トリガ信号が印加されてから前記カウント値が前記第2の値と一致するまでの期間を前記第2の期間とし、前記カウント値を前記入力回数として前記フィルタ係数を算出する。
【0028】
これによれば、前記第1の期間、前記第2の期間、及び前記第3の夫々期間における前記フィルタ係数の算出を容易に制御することができる。特に、前記第2の期間において、前記カウント動作を中断している間はカウント値が変化しないことを利用して、固定値となる前記フィルタ係数を容易に算出することができる。
【0029】
〔6〕(2つのフィルタ処理部がトリガ信号に応じて相補的に動作するデシメーションフィルタ)
項2乃至5の何れかの半導体装置において、前記デシメーションフィルタは、前記係数算出部と前記演算部を一組とするフィルタ処理部(132_A、132_B)を2組有し、前記フィルタ処理部における前記演算部から出力された信号を夫々入力し、何れか一方の信号を選択して前記デシメーションフィルタの出力信号として出力する選択部(133)を更に有する。夫々の前記フィルタ処理部は、前記トリガ信号の印加に応じて相補的に動作する。また、前記選択部は、前記トリガ信号が印加される周期に基づく時間間隔で、夫々の前記演算部から出力された信号を交互に選択して出力する。
【0030】
これによれば、夫々の前記演算部によって前記積算した値が、前記トリガ信号が印加される周期に基づく時間間隔で交互に出力される。すなわち、所望のサンプリングレートに応じた周期で前記トリガ信号を印加すれば、前記デシメーションフィルタの出力信号を前記所望のサンプリングレートで出力することができる。
【0031】
〔7〕(ΔΣAD変換器とCPUを備える半導体装置(マイコン))
本発明の代表的な別の実施の形態に係る半導体装置(1)は、デルタ・シグマ変調方式に基づいて、入力したアナログ信号(VA)を所要のサンプリングレートに基づくデジタル信号に変換して出力するアナログ・デジタル変換器(10)と、前記アナログ・デジタル変換器によって変換されたデジタル信号に基づいてデータ処理を行う中央処理装置(22)と、前記所要のサンプリングレートに応じた周期でトリガ信号(TR)を出力するタイマ部(20)と、を有する。前記アナログ・デジタル変換器は、前記アナログ信号を所定のサンプリングレート(fOS)でオーバーサンプリングし、デルタ・シグマ変調を行うデルタ・シグマ変調部(12)と、前記デルタ・シグマ変調部によってデルタ・シグマ変調された信号を順次入力し、入力信号に対して所定のフィルタ処理を行うとともに、所要のサンプリングレートに基づくデジタル信号に変換して出力するデシメーションフィルタ(13)とを有する。前記デシメーションフィルタは、前記タイマ部から連続して出力された前記トリガ信号に応じて、前記所定のフィルタ処理を行うためのフィルタ係数(CA、(CB))を所定期間(M+2Nサイクル分の期間)内に入力された前記入力信号毎に算出し、算出した前記フィルタ係数と前記入力信号とを順次乗算し、前記所定期間内の乗算値を積算して順次出力する。前記所定期間は、前記トリガ信号が出力される時間間隔に応じて可変にされる。
【0032】
これによれば、前記タイマ部は前記所要のサンプリングレートに基づく周期で前記トリガ信号を出力するので、前記フィルタ係数を算出する期間及び前記乗算値を積算する期間が前記所要のサンプリングレートに応じて変化する。これにより、項1と同様に、デシメーションフィルタのサンプリングレートに応じてフィルタ特性を変化させることができる。
【0033】
〔8〕(2回のトリガ印加に応じて伝達関数が変化するデシメーションフィルタ)
項7の半導体装置において、前記デシメーションフィルタは、前記トリガ信号に応じて、前記入力信号が入力される毎に前記フィルタ係数を順次算出する係数算出部(139_A(139_B))と、前記入力信号が入力される毎に、前記入力信号と前記係数算出部によって算出された前記フィルタ係数とを乗算し、その乗算値を積算して出力する演算部(137_A(137_B)及び138_A(138_B))とを有する。前記係数算出部は、前記トリガ信号が印加された後の第1の期間(401(401_A、401_B))では、当該トリガ信号が印加されてから前記入力信号が入力された入力回数に応じて値が大きくなるように前記フィルタ係数を順次算出し、次の前記トリガ信号が印加された後の第2の期間(403(403_A、403_B))では、当該トリガ信号が印加されてから前記入力信号が入力された入力回数に応じて値が小さくなるように前記フィルタ係数を順次算出する。また、前記演算部は、前記第1の期間が開始されてから前記第2の期間が終了するまでの前記乗算値を積算した値を順次出力する。前記第1の期間及び前記第2の期間は、前記所要のサンプリングレートに応じた周期より短く(M≧2N)、且つ予め決められた期間(2N)である。
【0034】
これによれば、項2と同様に、ローパスフィルタとしての基本的なフィルタ特性を持ちつつ、前記第1の期間が終了してから前記第2の期間が開始されるまでの期間の長さに応じて、ローパスフィルタのフィルタ特性を微調整することができる。
【0035】
〔9〕(固定値のフィルタ係数を算出する)
項8の半導体装置において、前記係数算出部は、前記第1の期間の経過後次の前記トリガ信号が出力されるまでの第3の期間(402(402_A、402_B))では、固定値(N)となる前記フィルタ係数を算出する。
【0036】
この第3の期間もフィルタ係数に基づいた演算が行われることでサンプリング期間が延び、結果的にオーバーサンプリング比が向上することから、第3の期間の増加によって変換精度の向上も期待できる。
【0037】
〔10〕(Mサイクル前のフィルタ係数を減算する)
項9の半導体装置において、前記係数算出部は、前記第2の期間では、前記入力信号が入力される毎に、前記第3の期間で算出した前記フィルタ係数の値から直前の前記第1の期間で算出した前記フィルタ係数の値を順次減算することで前記フィルタ係数を算出する。
【0038】
これによれば、項4と同様に、サンプリングレートの変化に応じてノッチ周波数を変化させることができるから、サンプリングレートに基づく周波数帯の信号に起因する折り返し雑音を抑えることができる。
【0039】
〔11〕(カウンタ)
項9又は10の半導体装置において、前記デシメーションフィルタは、前記トリガ信号に応じて、前記入力信号が入力されるタイミングに対応して生成されるクロック信号(オーバーサンプリング周波数fOSのクロック信号)をカウントするカウンタ部(134)を更に有する。前記カウンタ部は、前記トリガ信号が出力されたら前記クロック信号をカウントするカウント動作を開始し、前記カウント動作によるカウント値が第1の値(2N)と一致したら前記カウント動作を中断し、次の前記トリガ信号が出力されたら前記カウント動作を再開し、前記カウント値が前記第1の値よりも大きい第2の値(4N)と一致したら前記カウント動作を停止する。前記係数算出部は、前記トリガ信号が出力されてから前記カウント値が前記第1の値に一致するまでの期間を前記第1の期間とし、前記カウント動作が中断している期間を前記第3の期間とし、次の前記トリガ信号が出力されてから前記カウント値が前記第2の値と一致するまでの期間を前記第2の期間とし、前記カウント値を前記入力回数として前記フィルタ係数を算出する。
【0040】
これによれば、項5と同様に、夫々の期間における前記フィルタ係数の算出を容易に制御することができる。特に、前記第2の期間において、前記カウント動作を中断している間はカウント値が変化しないことを利用して、固定値となる前記フィルタ係数を容易に算出することができる。
【0041】
〔12〕(2つのフィルタ処理部がトリガ信号に応じて相補的に動作するデシメーションフィルタ)
項8乃至11の何れかの半導体装置において、前記デシメーションフィルタは、前記係数算出部と前記演算部を一組とするフィルタ処理部(132_A、132_B)を2組有し、前記フィルタ処理部における前記演算部から出力された信号を夫々入力し、何れか一方の信号を前記デシメーションフィルタの出力信号として選択して出力する選択部(133)を更に有する。夫々の前記フィルタ処理部は、前記トリガ信号の出力に応じて相補的に動作する。前記選択部は、前記トリガ信号が出力される周期に基づく時間間隔で、夫々の前記演算部から出力された信号を交互に選択して出力する。
【0042】
これによれば、項6と同様に、前記デシメーションフィルタの出力信号を前記所望のサンプリングレートで出力することができる。
【0043】
2.実施の形態の詳細
実施の形態について更に詳述する。
【0044】
≪実施の形態≫
図1は、本願発明の一実施の形態として、デシメーションフィルタを構成要素に持つデルタ・シグマA/D変換器を搭載したマイクロコンピュータの一例を示すブロック図である。同図に示されるマイクロコンピュータ(マイコン)1は、特に制限されないが、公知のCMOS集積回路の製造技術によって1個の単結晶シリコンのような半導体基板に形成されている。マイコン1は、例えば、電力メータ用のマイクロコンピュータであり、電力量を検出するためのセンサ2から出力される50Hz〜60Hzのアナログ信号VAを入力してデジタル信号に変換し、変換したデジタル信号に基づいて各種データ処理を行う。
【0045】
マイコン1は、例えば、ΔΣ(デルタ・シグマ)型アナログ/デジタル変換器(ΔΣ型A/D変換器)10、CPU22、メモリ(RAM)21、タイマ部20、バス23、及びその他の図示されない入出力インターフェイス回路等を備える。夫々の機能部はバス23を介して共通に接続される。CPU22は、図示されない不揮発性のメモリに格納されたプログラムにしたがって、ΔΣ型アナログ/デジタル変換器10やタイマ部20等の各機能部に対する統括的な制御を行うとともに、ΔΣ型アナログ/デジタル変換器10によって変換されたデジタル形式のデータに基づいて各種データ処理を実行する。メモリ21は、CPU22によるデータ処理に係る計算結果等を格納するための記憶部であり、例えば、RAM(Random Access Memory)である。
【0046】
タイマ部20は、設定されたパルス生成条件にしたがって各種パルス信号を生成するタイマ回路である。図1では生成される各種パルス信号の代表例として、トリガ信号TRを例示している。トリガ信号TRは、ΔΣ型アナログ/デジタル変換器10のサンプリング周波数(サンプリングレート)を決定するための信号であり、ΔΣ型アナログ/デジタル変換器10に印加される。詳細は後述するが、当該トリガ信号TRの時間間隔(周期)によってΔΣ型アナログ/デジタル変換器10のサンプリング周波数は可変にされる。トリガ信号TRが出力される時間間隔、すなわちトリガ信号TRの周波数は、ユーザによって任意に設定可能とされ、例えば、後述するΔΣ型アナログ/デジタル変換器10のオーバーサンプリング周波数fOSの整数倍の周波数が設定される。
【0047】
ΔΣ型アナログ/デジタル変換器10は、センサ2から出力されたアナログ信号VAを入力してオーバーサンプリングし、オーバーサンプリングした周波数よりも低い所要のサンプリング周波数(サンプリングレート)に応じたデジタル信号に変換して出力する。前述したように、前記サンプリング周波数は、タイマ部20から連続して出力されるトリガ信号TRの周期によって可変にされる。例えば、ΔΣ型アナログ/デジタル変換器10は、50Hz〜60Hz付近のアナログ信号を3MHzの周波数でオーバーサンプリングし、トリガ信号TRの周期に基づいて決定されるサンプリング周波数のデジタル信号にダウンサンプリングして出力する。なお、前記サンプリング周波数をどの程度の値にするかは、センサ2から出力されるアナログ信号VAの周波数帯域や、ΔΣ型アナログ/デジタル変換器10によるA/D変換結果を用いて各種データ処理を実行する機能部(例えば、図1におけるCPU22)によって処理可能な周波数帯域等を考慮して決めると良い。
【0048】
ΔΣ型アナログ/デジタル変換器10は、具体的に、制御回路11と、ΔΣ変調器12と、デシメーションフィルタ13と、データレジスタ14とを含んで構成される。制御回路11は、ΔΣ変調器12、デシメーションフィルタ13、及びデータレジスタ14の制御を行う。例えば、制御回路11は、トリガ信号TRの印加に応じて制御信号CNT1を生成し、ΔΣ変調器12による処理の実行と停止を制御する。また、制御回路11は、トリガ信号TRの印加に応じて制御信号CNT2を生成し、後述するデシメーションフィルタ13に設けられたカウンタ部134を制御したり、データの入出力を制御したりする。
【0049】
ΔΣ変調器12は、ΔΣアナログ/デジタル変換器10のサンプリング周波数よりも高いオーバーサンプリング周波数fOSでアナログ信号VAをオーバーサンプリングする。前記オーバーサンプリングは、図示されないクロック生成回路によって生成されたオーバーサンプリング周波数fOSのクロック信号に同期してアナログ信号VAをサンプリングすることによって行われる。そして、ΔΣ変調器12は、オーバーサンプリングによって取得したデータを、ΔΣ変調方式によって前記アナログ信号VAの振幅に比例した密度のパルス列となるように変調して出力する。以下、ΔΣ変調器12から出力されるデジタル信号をΔΣ変調データと称する。
【0050】
デシメーションフィルタ13は、ΔΣ変調器12から出力されたΔΣ変調データを入力し、入力信号に対して所定のフィルタ処理を行うとともに、所要のサンプリングレート(サンプリング周波数)に基づくデジタル信号にダウンサンプリングして出力する。具体的には、デシメーションフィルタ13は、ΔΣ変調データを構成する1ビット乃至複数ビットのデジタルデータを順次入力することでサンプリングし、所定期間にサンプリングしたデータに基づいて所定のフィルタ処理を行い、前記所定期間毎の処理結果(出力データ)を順次出力する。デシメーションフィルタ13から出力された出力データは、データレジスタ14に格納される。
【0051】
なお、以下の説明では、周波数fOSのクロック信号に同期してΔΣ変調データの1ビットのデジタル信号をサンプリングする単位を1サイクルと称する。
【0052】
前述したように、ΔΣアナログ/デジタル変換器10のサンプリング周波数は、連続して出力されるトリガ信号TRの周期に応じて変化するため、デシメーションフィルタ13のフィルタ特性もトリガ信号TRの周期に応じて調整する必要がある。そこで、デシメーションフィルタ13は、1回分のフィルタ処理を行う演算期間をトリガ信号TRの2回の印加によって決定するように構成される。
【0053】
図2にデシメーションフィルタ13の回路構成を例示する。同図に示されるように、デシメーションフィルタ13は、2系統の処理部を含んで構成される。具体的には、デシメーションフィルタ13は、入力データセレクタ131、第1フィルタ処理部132_A、第2フィルタ処理部132_B、出力データセレクタ133、カウンタ部134、及びフリップフロップ回路(F/F)135、を含んで構成される。
【0054】
入力データセレクタ131は、制御信号CNT2に基づいて、入力されたΔΣ変調データを第1フィルタ処理部132_Aと第2フィルタ処理部132_Bとの間で振り分ける。
【0055】
カウンタ部134は、前記クロック生成部によって生成されたオーバーサンプリング周波数fOSのクロック信号をカウントし、そのカウント値を第1フィルタ処理部132_A及び第2フィルタ処理部132_Bに出力する。カウンタ部134は、例えば、第1フィルタ処理部132_A用のカウンタ回路と、第2フィルタ処理部132_B用のカウンタ回路とを有し、夫々のカウンタ回路はトリガ信号TRに応じて交互にカウント動作を行う。なお、第1フィルタ処理部132_A用のカウンタ回路と第2フィルタ処理部132_B用のカウンタ回路は同一の回路構成とされるため、以下の説明では特に区別することなく、単にカウンタ回路としてその動作を説明する。
【0056】
前記カウンタ回路は、トリガ信号TRが出力され、ΔΣ変調器12によるΔΣ変調データの出力が開始されると、前記クロック信号をカウントするカウント動作を開始する。そして、カウント値が第1の値(2N)になったらカウント動作を中断し、その値を保持する。その後、次のトリガ信号TRが印加されたら、再びカウント動作を開始する。そしてカウント値が第2の値(4N)になったらカウント動作を停止し、カウント値をリセットする。以上の動作をトリガ信号TRが印加される毎に繰り返す。上記のカウンタ部134によるカウント動作は、制御回路11がトリガ信号TRに基づいて生成した制御信号CNT2によって制御される。
【0057】
第1フィルタ処理部132_A及び第2フィルタ処理部132_B(総称する場合は、単に、フィルタ処理部132とも称する。)は、入力データセレクタ131を介して入力されたΔΣ変調データに対して所定の伝達関数にしたがったフィルタ処理を行う。具体的には、フィルタ処理部132は、ΔΣ変調データを構成する1ビットのデジタル信号を順次入力し、フィルタ処理を行うためのフィルタ係数Cjを所定期間内に入力された前記1ビットのデジタル信号毎に算出し、算出したフィルタ係数Cjと前記1ビットのデジタル信号とを順次乗算し、前記所定期間内の乗算値を積算して順次出力する。前記所定期間は、連続して印加されるトリガ信号TRの周期によって決定される。なお、以下の説明では、第1フィルタ処理部132_Aによって算出されるフィルタ係数をCAとして表し、第2フィルタ処理部132_Bによって算出されるフィルタ係数をCBとして表し、総称する場合は、上記のようにフィルタ係数Cjとして表す。フィルタ処理部132の詳細については後述する。
【0058】
出力データセレクタ133は、第1フィルタ処理部132_Aによって前記積算されたデータ及び第2フィルタ処理部132_Bによって前記積算されたデータを入力し、入力したデータを交互に選択して出力する。例えば、出力データセレクタ133は、トリガ信号TRの周期毎に、交互にデータ選択して出力する。出力データセレクタ133による選択動作は、制御回路11がトリガ信号TRに基づいて生成した制御信号CNT2によって制御される。
【0059】
フリップフロップ回路135は、出力データセレクタ133から順次出力された出力データを保持する。保持された出力データはデータレジスタ14に順次格納される。
【0060】
ここで、フィルタ処理部132について詳細に説明する。
【0061】
本デシメーションフィルタ13の伝達関数、すなわちフィルタ処理部132の伝達関数は、例えば(式1)で表される。
【0062】
【数1】

【0063】
同式において、M、Nはオーバーサンプリングのサイクル数(0以上の整数)を表すパラメータであり、Cはフィルタ係数である。ここでCは次の(式2)〜(式6)で表される。
【0064】
【数2】

【0065】
【数3】

【0066】
【数4】

【0067】
【数5】

【0068】
【数6】

【0069】
従来のデシメーションフィルタでは、(式1)の伝達関数で決定されるフィルタ特性を得る場合、パラメータM、Nは、システムによって固定値であった。本デシメーションフィルタ13では、トリガ信号TRの周期に基づいてフィルタの伝達関数を可変にするため、パラメータMをトリガ信号TRの周期(M/fOS)に対応させ、トリガ信号TRの周期の変化に応じてパラメータMの値を変化させる。パラメータNは予め決定された固定の値であり、例えば2N=256である。パラメータM及びNの関係は、例えば、M≧2Nである。
【0070】
ここで、(式1)における(式7)で表される項を展開すると(式8)となる。(式8)において、各項の係数Cxは、Cx=0,1,2,3,・・・N−1,N,N−1,・・2,1,0となる。
【0071】
【数7】

【0072】
【数8】

【0073】
また、(式1)における(式7)を除いた他の項において、“1/(1−z−1)”は積分回路(ローパスフィルタ)を意味し、“1−z−M“はある時点のサンプルからMサンプル(Mサイクル)前の値を引くことを意味する。このことから、(式1)で示される伝達関数を回路で実現することが可能であることが理解される。具体的には、フィルタ処理部132は、1サイクル毎にフィルタ係数Cjを順次算出し、フィルタ係数Cと入力したΔΣ変調データに係るデジタル信号を乗算し、その乗算値を順次積算することで、(式1)の伝達関数のフィルタ特性を実現する。
【0074】
(式1)の伝達関数で決定されるノッチ特性について説明する。ノッチ特性を決めるノッチ周波数において、伝達関数H(z)の値は“0(ゼロ)”となる。すなわち、式(1)の分子に着目すると、z−N=1、又はz−M=1において、伝達関数H(z)=0となる。ここで、z−Nは(式9)で表され、z−Mは(式10)で表されるから、伝達関数H(z)=0となるノッチ周波数fn1、fn2は、(式11)及び(式12)で表される。なお、nは1以上の整数である。
【0075】
【数9】

【0076】
【数10】

【0077】
【数11】

【0078】
【数12】

【0079】
(式11)及び(式12)に示されるように、フィルタ処理部132は、パラメータNに基づいて決定される周波数fと、パラメータMに基づいて決定される周波数fとにおいてノッチ特性を有するフィルタ特性となる。前述したようにパラメータNが固定値であるためノッチ周波数fは固定値となるが、パラメータMはトリガ信号TRの周期に応じて変化するため、ノッチ周波数fも変化する。また、トリガ信号TRの周期はM/fOSで表されるのでサンプリング周波数はfOS/Mとなり、n=1のときのノッチ周波数fの値と一致する。すなわち、トリガ信号TRの周期に対応させてサンプリング周波数を決定することで、サンプリング周波数の変化に応じてノッチ周波数も変化させることができ、サンプリング周波数(サンプリングレート)に基づく周波数帯の信号に起因する折り返し雑音を抑えることができる。
【0080】
次に、(式1)の伝達関数で決定されるローパスフィルタの遮断周波数fcについて説明する。
【0081】
ローパスフィルタの遮断周波数fcはパラメータMの影響を受ける。具体的には、フィルタの振幅特性は、ノッチ周波数に近づくにつれて減衰されるため、トリガ信号TRの周期(パラメータM)を大きくしてノッチ周波数を低くするに伴い遮断周波数fcを低くすることができる。これにより、トリガ信号TRの周期の変化に応じて遮断周波数fが変化することが理解される。
【0082】
上記の伝達関数を実現するためのフィルタ処理部132の具体的な回路構成について説明する。
【0083】
第1フィルタ処理部132_A及び第2フィルタ処理部132_Bは、同一の回路ブロックから構成されるため、ここでは代表して第1フィルタ処理部132_Aについて説明する。
【0084】
第1フィルタ処理部132_Aは、演算部としての乗算部137_A及び累積部138_Aと、係数算出部139_Aとを含んで構成される。係数算出部139_Aは、デシメーションフィルタ13の伝達関数を決めるフィルタ係数CAを算出する。具体的には、係数算出部139_Aは、トリガ信号TRに応じて、ΔΣ変調データの1ビットのデジタル信号が入力される毎にフィルタ係数CAを順次算出する。例えば、トリガ信号TRが出力され、前記クロック信号に同期したΔΣ変調データの出力が開始されると、カウンタ部134によるカウント値を用いて所定の演算を行うことにより、前記クロック信号に同期してフィルタ係数CAを順次算出する。
【0085】
係数算出部139_Aによるフィルタ係数CAの算出方法について詳細に説明する。
【0086】
図3は、係数算出部139_Aの内部構成の一例を示すブロック図である。係数算出部139_Aは、第1係数演算回路1390と第2係数演算回路1391とを含んで構成される。第1係数演算回路1390は、カウンタ部134からのカウント値に基づいて係数Cxを算出し、係数Cxに基づいて係数Cyを算出する。前述したように、係数Cxは(式8)における各項の係数である。第2係数演算回路1391は、第1係数演算回路1390によって算出された係数Cyに基づいて、フィルタ係数CAを算出する。
【0087】
図4は、フィルタ係数CAの算出方法の一例を示す説明図である。同図は横軸を時間軸として、(A)にはトリガ信号TRが示され、(B)にはカウンタ134のカウント値が示され、(C)には係数Cxが示され、(D)には係数Cyが示され、(E)にはフィルタ係数CAが示される。
【0088】
先ず、トリガ信号TRが出力されるとカウンタ部134が初期値(=0)からカウント動作を開始する。カウント値が0から2Nとなるまでの期間401では、係数算出部139_Aは以下のように動作する。先ず、カウント値がN(Nサイクル)になるまでの期間では、第1係数演算回路1390はカウント値に比例して値が大きくなるように、前記クロック信号に同期して前記係数Cxを算出し、係数Cxの値を係数Cyとして順次出力する。カウント値がNになった後、2Nになるまでの期間では、第1係数演算回路1390はカウント値に応じて値が小さくなるように前記クロック信号に同期して係数Cxを算出し、係数Cxの値を係数Cyとして順次出力する。これにより、図4の(D)に示されるように、期間401における係数Cyは、カウント値がNのときNとなり、カウント値が2Nのとき0となる、上に凸の特性となる。また、第2係数演算回路1391は、1サイクル前(1サンプル前)に算出された係数Cyと当該サイクルで算出された係数Cyとに基づいて所定の演算を行うことでフィルタ係数CAを算出する。これにより、図4の(E)に示されるように、期間401のフィルタ係数CAは、0からNに漸近するような特性となる。カウント値が2Nとなった時点でフィルタ係数CAはNとなる。
【0089】
カウンタ部134は、カウント値が2Nとなった時点でカウント動作を中断する。このときカウント値はリセットされずに保持され、保持された値(=2N)が第1係数演算回路1390に入力される。カウンタ部134がカウント動作を中断している期間402では、係数算出部139_Aは以下のように動作する。第1係数演算回路1390は、固定のカウント値(=2N)を用いて係数Cxを算出し、係数Cxの値を係数Cyとして出力する。すなわち、カウント値が2Nになったときの値と同一の値(=0)となる係数Cyを出力する。この場合、第1係数演算回路1390は、固定のカウント値(=2N)を用いて前記クロック信号に同期して1サイクル毎に係数Cyを算出してもよいし、係数Cyを算出する演算を停止して、カウント値が2Nになったときに保持しておいた係数Cyの値を出力してもよい。また、第2係数演算回路1391は、期間401と同様の方法で演算を行う。これにより、フィルタ係数CAの値もカウント値が2Nになったときの値と同一の値(=N)が出力される。
【0090】
その後、Mサイクル経過後のタイミングで次のトリガ信号TRが出力されると、カウンタ部134はカウント動作を再開し、カウント値が4Nとなるまでカウント動作を行う。次のトリガ信号が出力されてからカウント値が4Nとなる(2Nサイクル経過する)までの期間403では、係数算出部139_Aは以下のように動作する。第1係数演算回路1390は、前記第2期間402で算出した係数Cxの値から直前の期間401で算出した係数Cxの値を順次減算することで算出した値を係数Cyとして出力する。すなわち、第1係数演算回路1390は、期間402で算出した係数Cx(=0)から、その時点よりMサイクル(Mサンプル)前の係数Cxの値を順次減算することで係数Cyの値を算出する。これにより、係数Cyは、カウント値が3Nのとき−Nとなり、カウント値が4Nのとき0となる、下に凸の特性となる。具体的には、図4の(D)に示されるように、係数Cyは、Mサイクル遅れて係数Cxの逆位相の波形が重畳された特性となる。また、第2係数演算回路1391は、期間401及び期間402と同様の演算方法によって、フィルタ係数CAを算出する。これにより、期間403のフィルタ係数CAは、期間402で算出したフィルタ係数CAの値から、その時点よりMサイクル前のフィルタ係数CAの値を減算した値となり、具体的には、図4の(E)に示されるように、値がNから0に変化する特性となる。
【0091】
カウント値が4Nになると、カウンタ部134はカウント動作を停止し、カウント値をリセットする。そして、更に次のトリガ信号TRが出力されると、カウント値0からカウント動作を再開する。その後の動作は上記と同様である。
【0092】
以上のように、トリガ信号TRの2回の印加によって決定される期間(期間401から期間403までのM+2Nサイクル分の期間)にわたってフィルタ係数Cjが算出される。M+2Nサイクルの期間において、期間401と期間403は固定の期間(2Nサイクル分の期間)とされ、カウンタ動作が中断している期間402はトリガ信号TRの周期に応じて伸長される。すなわち、デシメーションフィルタ13のフィルタ特性を決めるフィルタ係数Cjを算出する期間をトリガ信号TRの周期に応じて変化させることができるから、サンプリング周波数に応じて伝達関数を可変にすることができる。また、前記期間402もフィルタ係数Cjに基づいた演算が行われることでサンプリング期間が延び、結果的にオーバーサンプリング比が向上する。すなわち、トリガ信号TRの周期を大きくして期間402が延ばすことにより、変換精度の向上も期待できる。なお、係数算出部139_Bによるフィルタ係数CBの算出方法はフィルタ係数CAの算出方法と同様であるため、説明を省略する。
【0093】
次に、デシメーションフィルタ13のデータの出力方法について詳細に説明する。
【0094】
前述したように、係数算出部139_Aは、M+2Nサイクルの期間毎にフィルタ係数CAを算出する。算出されたフィルタ係数CAは、前記クロック信号に同期して乗算部137_Aに入力される。乗算部137_Aは、トリガ信号TRに応じて、ΔΣ変調データの1ビットのデジタル信号が入力される毎に、当該入力したデジタル信号とフィルタ係数CAとを乗算する。前記乗算する処理は、前述した図4における期間401及び期間403のみならず、カウンタ部134がカウント動作を中断している期間402でも行われる。乗算部137_Aによって算出された乗算値は、前記クロック信号に同期して累積部138_Aに入力される。累積部138_Aは、トリガ信号TRの2回の印加によって決定される、期間401から期間403までの(M+2N)サイクル分の期間に前記乗算値を順次積算し、積算結果を出力データセレクタ133に出力する。すなわち、累積部138_Aは、(M+2N)サイクル毎に積算値を算出する。
【0095】
以上のように、係数算出部139_A、乗算部137_A、及び累積部138_Aは、M+2Nサイクル毎に夫々の演算を実行する。すなわち、係数算出部139_A、乗算部137_A、及び累積部138_Aを含んで構成される第1フィルタ処理部132_Aは、M+2Nサイクル毎にフィルタ処理を繰り返し実行することにより、ダウンサンプリングを行う。なお、乗算部137_A及び累積部138_A等の各機能部の値は、フィルタ処理に係る1回の演算が終了する毎に初期化される。
【0096】
しかしながら、仮に、デシメーションフィルタ13の出力データとして、第1フィルタ処理部132_Aによって算出された演算結果(積算結果)をM+2Nサイクル毎に出力すると、トリガ信号TRの周期に対してデシメーションフィルタ13の出力のデータレートがずれてしまう。例えばトリガ信号TRの周期の半分の出力データレートになってしまう。そこで、本デシメーションフィルタ13では、図2に示したようにフィルタ処理部132を第1フィルタ処理部132_Aと第2フィルタ処理部132_Bの2系統で構成し、2つのフィルタ処理部をトリガ信号TRの出力に応じて交互に動作させることで、トリガ信号TRと同じレートを保つ。
【0097】
図5は、デシメーションフィルタ13による出力データの出力タイミングの一例を示す説明図である。同図では横軸を時間軸としている。同図の(A)にはトリガ信号TRを示され、(B)には係数算出部139_Aによって算出されるフィルタ係数CAが示され、(C)には第1フィルタ処理部132_Aの動作状態が示され、(D)には係数算出部139_Bによって算出されるフィルタ係数CBが示され、(E)には第2フィルタ処理部132_Bの動作状態が示され、(F)には出力データセレクタ133の出力状態が示されている。また、同図において、前述した図4に示される期間401、402、及び403として、第1フィルタ処理部132_Aに係る夫々の期間を期間401_A、402_A、及び403_Aとして表示し、第2フィルタ処理部132_Bに係る夫々の期間を期間401_B、402_B、及び403_Bとして表示している。
【0098】
図5に示されるように、先ず、タイミング500で1回目のトリガ信号TRが出力されると、係数算出部139_Aはフィルタ係数CAの算出を開始するとともに、乗算部137_A及び累積部138_Aは上記の演算を開始する。そして、タイミング501で2回目のトリガ信号TRが出力され、タイミング502で第1フィルタ処理部132_Aによる1回目のフィルタ処理に係る演算期間が終了すると、累積部138_Aはタイミング500からタイミング502までの期間(M+2Nサイクルの期間)における乗算値の積算結果A1を出力データセレクタ133に出力し、出力データセレクタ133は受け取った積算結果を出力データA1として出力する。
【0099】
一方、タイミング501で2回目のトリガ信号TRが出力されると、係数算出部139_Bはフィルタ係数CBの算出を開始するとともに、乗算部137_B及び累積部138_Bは上記の演算を開始する。そして、タイミング503で3回目のトリガ信号TRが出力され、タイミング504で第2フィルタ処理部132_Bによる1回目のフィルタ処理に係る演算期間が終了すると、累積部138_Bはタイミング501からタイミング504までの期間(M+2Nサイクルの期間)における乗算値の積算結果B1を出力データセレクタ133に出力し、出力データセレクタ133は受け取った積算結果を出力データB1として出力する。その後も、トリガ信号TRが出力される毎に上記の処理が繰り返し実行される。
【0100】
以上の処理によれば、夫々のフィルタ処理部132は、M+2Nサイクルの周期でΔΣ変調データを取り込んでフィルタ処理を実行するが、そのフィルタ処理をトリガ信号TR毎に交互に実行させることにより、トリガ信号TRの周期(Mサイクル)に応じたタイミングで、夫々のフィルタ処理部132による積算結果を交互に得ることができる。これにより、デシメーションフィルタ全体として、トリガ信号TRと同じデータレートで積算結果を出力することができる。すなわち、1回のトリガ信号TRの印加で1回のA/D変換結果を得ることができる。なお、この方式では、デシメーションフィルタ13に入力されるΔΣ変調データが同じであっても、トリガ信号TRの周期が長い程、累積部138による積算結果のデータ量が大きくなる。そこで、データ量の大きさが問題となる場合には、後段において何らかのデータ処理を行うことにより適正な値に補正する必要がある。
【0101】
図6にデシメーションフィルタ13の周波数特性の一例を示す。同図には、デシメーションフィルタ13のサンプリング周期を約8.93kHzとするため、トリガ信号TRを1/(8.93kHz)の周期で出力させた場合の周波数特性が示される。同図に示されるように、デシメーションフィルタ13によれば、サンプリング周波数を変えた場合であっても、サンプリング周波数付近にノッチ周波数f(≒8.93kHz)を設定することができる。これによれば、例えば、サンプリング周波数付近の周波数帯の信号に起因してアナログ信号VAの周波数帯域(50Hz〜60Hz付近)に発生する折り返し雑音を抑えることができるから、ユーザがサンプリング周波数を変えた場合であっても、ΔΣ型A/D変換器10による変換精度の低下を防ぐことができる。
【0102】
以上、本実施の形態に係るデシメーションフィルタ13によれば、ユーザはトリガ信号TRの周期を設定することにより、デシメーションフィルタのサンプリングレート(サンプリング周波数)を任意に設定することができる。また、設定されたトリガ信号TRの周期に応じてローパスフィルタの遮断周波数とノッチ周波数を可変して、フィルタの伝達関数を適切に設定することができる。更に、フィルタ処理部132を2系統設け、夫々をトリガ信号TRに応じて交互に動作させることで、トリガ信号TRの周期とデシメーションフィルタ13の出力データレートを合わせることができる。
【0103】
したがって、従来は、ユーザはモジュール開発側から提供される限られた周波数特性に基づいたサンプリング周期しか選択できなかったが、デシメーションフィルタ13によれば、ユーザが柔軟にサンプリング周期を設定でき、且つ最適な周波数特性を得ることができる。また、前述したように、デシメーションフィルタをDSPによって実現することでサンプリング周波数に応じて伝達関数を可変にすることも可能であるが、デシメーションフィルタ13によれば、DSPに比べて回路規模を小さくすることができるから、伝達関数を可変とする機能追加に伴うコストの増加を抑えることができる。
【0104】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【0105】
例えば、カウンタ部134がカウント動作を中断している期間402(402_A、402_B)におけるフィルタ係数CA(CB)の算出方法として、固定の値(=N)を算出する方法を例示したが、これに限られず、目的とする周波数帯域に遮断周波数を設定でき、且つ目標とするノッチ周波数を設定することができれば、必ずしも固定の値にしなくてもよい。
【0106】
図4において、期間403(403_A、403_B)の終了直後のタイミングでカウンタ部134によるカウント値をリセットする場合を例示したが、これに限られず、例えば、次にトリガ信号TRが出力されたタイミングでカウント値をリセットしてもよい。
【0107】
図2において、入力データセレクタ131によってΔΣ変調データの出力先を切り替える方法を例示したが、これに限られない。例えば、入力データセレクタ131を設けることなく、第1フィルタ処理部132_A及び第2フィルタ処理部132_Bの双方に同じタイミングでΔΣ変調データを入力しても、上記と同様の効果が得られる。
【0108】
更に、本実施の形態では、デシメーションフィルタ13を電力メータ用のΔΣ型A/D変換器に適用する場合を例示したが、これに限られず、他のシステムに適用することも可能である。例えば、オーディオ用のΔΣ型A/D変換器に適用することもできる。
【符号の説明】
【0109】
1 マイクロコンピュータ(マイコン)
2 センサ
20 タイマ部
21 メモリ(RAM)
22 CPU
23 バス
VA アナログ信号
TR トリガ信号
10 ΔΣ型アナログ/デジタル変換器(ΔΣ型A/D変換器)
11 制御回路
12 ΔΣ変調器
14 データレジスタ
13 デシメーションフィルタ
131 入力データセレクタ
132_A 第1フィルタ処理部
132_B 第2フィルタ処理部
137_A、137_B 乗算部
138_A、138_B 累積部
139_A、139_B 係数算出部
134 カウンタ部
133 出力データセレクタ
フリップフロップ回路(F/F) 135
1390 第1係数演算回路
1391 第2係数演算回路
401、401_A、401_B 第1期間
402、402_A、402_B 第2期間
403、403_A、403_B 第3期間
500〜504 タイミング

【特許請求の範囲】
【請求項1】
所定のサンプリングレートでサンプリングされた信号を順次入力し、入力信号に対して所定のフィルタ処理を行うとともに、所要のサンプリングレートに基づく信号に変換して出力するデシメーションフィルタを有する半導体装置であって、
前記デシメーションフィルタは、連続して印加されるトリガ信号に応じて、前記所定のフィルタ処理を行うためのフィルタ係数を所定期間内に入力された前記入力信号毎に算出し、算出した前記フィルタ係数と前記入力信号とを順次乗算し、前記所定期間内の乗算値を積算して順次出力し、
前記所定期間は、前記トリガ信号が印加される時間間隔に応じて可変にされる、半導体装置。
【請求項2】
前記デシメーションフィルタは、
前記トリガ信号に応じて、前記入力信号が入力される毎に前記フィルタ係数を順次算出する係数算出部と、
前記入力信号が入力される毎に、前記入力信号と前記係数算出部によって算出された前記フィルタ係数とを乗算し、その乗算値を積算して出力する演算部とを有し、
前記係数算出部は、前記トリガ信号が印加された後の第1の期間では、当該トリガ信号が印加されてから前記入力信号が入力された入力回数に応じて値が大きくなるように前記フィルタ係数を順次算出し、次の前記トリガ信号が印加された後の第2の期間では、当該トリガ信号が印加されてから前記入力信号が入力された入力回数に応じて値が小さくなるように前記フィルタ係数を順次算出し、
前記演算部は、前記第1の期間が開始されてから前記第2の期間が終了するまでの前記乗算値を積算した値を順次出力し、
前記第1の期間及び前記第2の期間は、前記所要のサンプリングレートに応じた周期より短く、且つ予め決められた期間である、請求項1記載の半導体装置。
【請求項3】
前記係数算出部は、前記第1の期間の経過後次の前記トリガ信号が印加されるまでの第3の期間では、固定値となる前記フィルタ係数を算出する請求項2記載の半導体装置。
【請求項4】
前記係数算出部は、前記第2の期間では、前記入力信号が入力される毎に、前記第3の期間で算出した前記フィルタ係数の値から直前の前記第1の期間で算出した前記フィルタ係数の値を順次減算することで前記フィルタ係数を算出する、請求項3記載の半導体装置。
【請求項5】
前記デシメーションフィルタは、前記トリガ信号に応じて、前記入力信号が入力されるタイミングに対応して生成されるクロック信号をカウントするカウンタ部を更に有し、
前記カウンタ部は、前記トリガ信号が印加されたら前記クロック信号をカウントするカウント動作を開始し、前記カウント動作によるカウント値が第1の値と一致したら前記カウント動作を中断し、次の前記トリガ信号が入力されたら前記カウント動作を再開し、前記カウント値が前記第1の値よりも大きい第2の値と一致したら前記カウント動作を停止し、
前記係数算出部は、前記トリガ信号が印加されてから前記カウント値が前記第1の値に一致するまでの期間を前記第1の期間とし、前記カウント動作が中断している期間を前記第3の期間とし、次の前記トリガ信号が印加されてから前記カウント値が前記第2の値と一致するまでの期間を前記第2の期間とし、前記カウント値を前記入力回数として前記フィルタ係数を算出する、請求項3記載の半導体装置。
【請求項6】
前記デシメーションフィルタは、
前記係数算出部と前記演算部を一組とするフィルタ処理部を2組有し、
前記フィルタ処理部における前記演算部から出力された信号を夫々入力し、何れか一方の信号を選択して前記デシメーションフィルタの出力信号として出力する選択部を更に有し、
夫々の前記フィルタ処理部は、前記トリガ信号の印加に応じて相補的に動作し、
前記選択部は、前記トリガ信号が印加される周期に基づく時間間隔で、夫々の前記演算部から出力された信号を交互に選択して出力する、請求項2記載の半導体装置。
【請求項7】
デルタ・シグマ変調方式に基づいて、入力したアナログ信号を所要のサンプリングレートに基づくデジタル信号に変換して出力するアナログ・デジタル変換器と、
前記アナログ・デジタル変換器によって変換されたデジタル信号に基づいてデータ処理を行う中央処理装置と、
前記所要のサンプリングレートに応じた周期でトリガ信号を出力するタイマ部と、を有する半導体装置であって、
前記アナログ・デジタル変換器は、前記アナログ信号を所定のサンプリングレートでオーバーサンプリングし、デルタ・シグマ変調を行うデルタ・シグマ変調部と、
前記デルタ・シグマ変調部によってデルタ・シグマ変調された信号を順次入力し、入力信号に対して所定のフィルタ処理を行うとともに、所要のサンプリングレートに基づくデジタル信号に変換して出力するデシメーションフィルタとを有し、
前記デシメーションフィルタは、前記タイマ部から連続して出力されたトリガ信号に応じて、前記所定のフィルタ処理を行うためのフィルタ係数を所定期間内に入力された前記入力信号毎に算出し、算出した前記フィルタ係数と前記入力信号とを順次乗算し、前記所定期間内の乗算値を積算して順次出力し、
前記所定期間は、前記トリガ信号が出力される時間間隔に応じて可変にされる、半導体装置。
【請求項8】
前記デシメーションフィルタは、
前記トリガ信号に応じて、前記入力信号が入力される毎に前記フィルタ係数を順次算出する係数算出部と、
前記入力信号が入力される毎に、前記入力信号と前記係数算出部によって算出された前記フィルタ係数とを乗算し、その乗算値を積算して出力する演算部とを有し、
前記係数算出部は、前記トリガ信号が印加された後の第1の期間では、当該トリガ信号が印加されてから前記入力信号が入力された入力回数に応じて値が大きくなるように前記フィルタ係数を順次算出し、次の前記トリガ信号が印加された後の第2の期間では、当該トリガ信号が印加されてから前記入力信号が入力された入力回数に応じて値が小さくなるように前記フィルタ係数を順次算出し、
前記演算部は、前記第1の期間が開始されてから前記第2の期間が終了するまでの前記乗算値を積算した値を順次出力し、
前記第1の期間及び前記第2の期間は、前記所要のサンプリングレートに応じた周期より短く、且つ予め決められた期間である、請求項7記載の半導体装置。
【請求項9】
前記係数算出部は、前記第1の期間の経過後次の前記トリガ信号が出力されるまでの第3の期間では、固定値となる前記フィルタ係数を算出する請求項8記載の半導体装置。
【請求項10】
前記係数算出部は、前記第2の期間では、前記入力信号が入力される毎に、前記第3の期間で算出した前記フィルタ係数の値から直前の前記第1の期間で算出した前記フィルタ係数の値を順次減算することで前記フィルタ係数を算出する、請求項9記載の半導体装置。
【請求項11】
前記デシメーションフィルタは、前記トリガ信号に応じて、前記入力信号が入力されるタイミングに対応して生成されるクロック信号をカウントするカウンタ部を更に有し、
前記カウンタ部は、前記トリガ信号が出力されたら前記クロック信号をカウントするカウント動作を開始し、前記カウント動作によるカウント値が第1の値と一致したら前記カウント動作を中断し、次の前記トリガ信号が出力されたら前記カウント動作を再開し、前記カウント値が前記第1の値よりも大きい第2の値と一致したら前記カウント動作を停止し、
前記係数算出部は、前記トリガ信号が出力されてから前記カウント値が前記第1の値に一致するまでの期間を前記第1の期間とし、前記カウント動作が中断している期間を前記第3の期間とし、次の前記トリガ信号が出力されてから前記カウント値が前記第2の値と一致するまでの期間を前記第2の期間とし、前記カウント値を前記入力回数として前記フィルタ係数を算出する、請求項9記載の半導体装置。
【請求項12】
前記デシメーションフィルタは、
前記係数算出部と前記演算部を一組とするフィルタ処理部を2組有し、
前記フィルタ処理部における前記演算部から出力された信号を夫々入力し、何れか一方の信号を前記デシメーションフィルタの出力信号として選択して出力する選択部を更に有し、
夫々の前記フィルタ処理部は、前記トリガ信号の出力に応じて相補的に動作し、
前記選択部は、前記トリガ信号が出力される周期に基づく時間間隔で、夫々の前記演算部から出力された信号を交互に選択して出力する、請求項8記載の半導体装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate