以下に添付図面を参照して、この発明にかかる物理量センサ装置の調整方法の好適な実施の形態を詳細に説明する。なお、以下の実施の形態の説明および添付図面において、同様の構成には同一の符号を付し、重複する説明を省略する。
(実施の形態1)
実施の形態1にかかる物理量センサ装置の機能的構成について説明する。図1は、実施の形態1にかかる物理量センサ装置の機能的構成を示すブロック図である。図1に示す物理量センサ装置100は、物理量センサ101の出力信号をデジタル演算により所望の出力値に補正した後、当該演算結果をアナログ化して外部へアナログ出力する機能を有する。所望の出力値とは、例えば、物理量センサ装置100の設計仕様に基づいて予め設定された出力特性に基づく、実使用時や出荷前試験時における物理量センサ装置100の出力値である。具体的には、物理量センサ装置100は、物理量センサ101、温度センサ102、Vcc分圧部103、演算部104、記憶部105、第1,2変換部106,107、第1,2補正部108,109、制御部110、デジタル入出力部111、アナログ入出力部112によって構成される。
物理量センサ101は、検知した被測定媒体の物理量に応じた出力信号を発生するセンサ素子である。物理量センサ101が検知する物理量は、温度に依存する温度以外の物理量である。具体的には、物理量センサ101は、例えば、圧力センサ、加速度センサ、ジャイロ(角度や角速度)センサ、流量センサなどである。温度センサ102は、検知した被測定媒体の温度に応じた出力信号を発生するセンサ素子である。Vcc分圧部103は、Vcc端子(不図示)を介して物理量センサ装置100に供給される電源電圧を分圧する。物理量センサ101および温度センサ102には、周知のセンサ素子を用いてもよい。
物理量センサ101、温度センサ102およびVcc分圧部103の各初期出力値は、後述する設定装置120による初期設定情報の算出に用いられる。初期設定情報とは、物理量センサ装置100の初期(初期設定を調整する出荷前調整時)の出力特性を得るための情報であり、次の第1,2特性値のうちの少なくとも第2特性値が含まれる。第1特性値は、検知した物理量に対して非線形的に変化する物理量センサ101の出力特性を補正するための情報であり、物理量センサ101の補正後の出力特性を示す第1特定式の係数および定数項である。
第2特性値は、温度センサ102によって検出された温度に対して非線形的に変化する第1特性値を補正するための情報であり、第1特性値の温度依存性を示す第2特性式の係数および定数項である。第1特性式は、物理量センサ101の出力値を変数とする2次以上の多項式である。第2特性式は、温度センサ102の出力値を変数とする2次以上の多項式である。初期設定情報は、後述する設定装置120の第1,2算出部124,125により算出され、記憶部105に記憶される。また、物理量センサ101、温度センサ102およびVcc分圧部103の各出力値(実使用時または出荷前試験時に検出された物理量)は、演算部104に入力される。
演算部104は、物理量センサ101の出力値、温度センサ102の出力値、および記憶部105から読み出した初期設定情報に基づいて演算処理を行い、物理量センサ101の補正後の出力値を算出する。具体的には、演算部104は、第1,2特定式からなる1つの伝達関数式と等価な演算回路や演算プログラムを処理するための回路で構成されている。そして、演算部104は、温度センサ102の出力値および第2特性値が入力されることにより、第2特性式に基づいて補正後の第1特性値を算出する。さらに、演算部104は、補正後の第1特性値および物理量センサ101の出力値が入力されることにより、係数および定数項(第1特性値)が補正された状態の第1特性式に基づいて物理量センサ101の補正後の出力値を演算する。
また、演算部104は、さらにVcc分圧部103の出力信号の入力を受けて、物理量センサ装置100に供給された電源電圧に比例した増幅率で増減させた物理量センサ101の補正後の出力値を算出してもよい。この場合、演算部104は、物理量センサ101の補正後の出力値を、Vcc分圧部103の基準出力値Vcc0に対するVcc分圧部103の出力値Vccの増幅率(=Vcc/Vcc0)で増減すればよい。具体的には、Vcc分圧部103の出力値Vccの増幅率が+10%であった場合、演算部104は、物理量センサ101の補正後の出力値も+10%増幅させる。
記憶部105は、少なくとも、外部からデジタル入出力部111を介して入力された上述した初期設定情報および後述する第1,2変換部106,107の調整情報を記憶する。第1変換部106は、アナログ信号をデジタル信号に変換する例えばA/Dコンバータである。具体的には、第1変換部106は、物理量センサ101、温度センサ102、Vcc分圧部103およびアナログ入出力部112の後段に配置され、これらの各アナログ出力信号をデジタル化して後段の演算部104に出力する。第2変換部107は、デジタル信号をアナログ信号に変換する例えばD/Aコンバータである。具体的には、第2変換部107は、記憶部105の後段に配置され、記憶部105を介して入力されるデジタル入出力部111の出力信号や、記憶部105から読み出したデジタル値をアナログ化し、後段のアナログ入出力部112に出力する。
第1変換部106の初期出力値は、第1変換部106による変換誤差を調整するための調整情報の算出に用いられる。第1変換部106の調整情報は、例えば、第1変換部106の初期出力特性と、第1変換部106の目標出力特性との誤差を補正するための補正値である。第1変換部106の出力特性は、通常、アナログ入力に対するデジタル出力(デジタル出力コードのプロット)に基づく直線性を示す伝達関数であらわされる。したがって、具体的には、第1変換部106の初期出力値は、第1変換部106の調整情報を得るための、第1変換部106の初期出力特性の算出に用いられる。
第2変換部107の初期出力値は、第2変換部107による変換誤差を調整するための調整情報の算出に用いられる。具体的には、第2変換部107の調整情報は、例えば、第2変換部107の初期出力特性と、第2変換部107の目標出力特性との誤差を補正するための補正値である。第2変換部107の出力特性は、通常、デジタル入力に対するアナログ出力(アナログ出力のプロット)に基づく直線性を示す伝達関数であらわされる。したがって、具体的には、第2変換部107の初期出力値は、第2変換部107の調整情報を得るための、第2変換部107の初期出力特性の算出に用いられる。
第1,2変換部106,107の各調整情報は、例えば後述する設定装置120の第3算出部126により算出され、記憶部105に記憶される。第1補正部108は、第1変換部106に接続され、第1変換部106によって物理量センサ101、温度センサ102、Vcc分圧部103の各初期出力値をデジタル化する処理が行われる前に、記憶部105から読み出した第1変換部106の調整情報に基づいて第1変換部106の出力特性を補正する。具体的には、第1補正部108は、第1変換部106のゲイン(利得)誤差やオフセット誤差、リニアリティ(直線性)誤差を補正する。第2補正部109は、第2変換部107に接続され、第2変換部107によって物理量センサ101、温度センサ102、Vcc分圧部103の各初期出力値をデジタル化する処理が行われる前に、記憶部105から読み出した第2変換部107の調整情報に基づいて第2変換部107の出力特性を補正する。具体的には、第2補正部109は、第2変換部107のゲイン誤差やオフセット誤差、リニアリティ誤差を補正する。
制御部110は、物理量センサ装置100の動作モードを選択し、物理量センサ装置100の動作を制御する。具体的には、制御部110は、デジタル入出力部111およびアナログ入出力部112の入出力の切り換えや、第1変換部106への入力切り換えなどを行う。第1変換部106への入力切り換えとは、第1変換部106によって、物理量センサ101、温度センサ102、Vcc分圧部103およびアナログ入出力部112のいずれの出力信号の入力を受けるかを切り換えることである。物理量センサ装置100の動作モードは、物理量センサ装置100の実使用時に物理量センサ装置100の出力値を補正する動作モードと、物理量センサ装置100の出荷前調整時に物理量センサ101、デジタル入出力部111およびアナログ入出力部112の初期出力特性を調整する動作モードとに大別される。物理量センサ装置100の動作モードの詳細については後述する。
デジタル入出力部111は、外部からのデジタル入力を受ける入力モードと、外部へデジタル出力する出力モードと、に入出力切り替え可能である。入力モード時、デジタル入出力部111は、設定装置120からの物理量センサ装置100の初期設定情報の入力を受ける。また、デジタル入出力部111は、第2変換部107の初期出力値を測定する際に、所定電圧の入力を受ける。一方、出力モード時、デジタル入出力部111は、物理量センサ101の補正後の出力値や、物理量センサ101、温度センサ102およびVcc分圧部103の各初期出力値、第1変換部106の初期出力値を外部へデジタル出力する。
アナログ入出力部112は、外部からのデジタル入力を受ける入力モードと、外部へデジタル出力する出力モードと、に入出力切り替え可能である。入力モード時、アナログ入出力部112は、第1変換部106の初期出力値を測定する際に、所定電圧の入力を受ける。一方、出力モード時には、アナログ入出力部112は、物理量センサ101の補正後の出力値や、第2変換部107の調整情報を算出するための第2変換部107の初期出力値を外部へアナログ出力する。アナログ入出力部112と第1変換部106とは配線113で電気的に接続されており、制御部110によってアナログ入出力部112と第1変換部106との入力切り換えが行われることで、アナログ入出力部112に入力された電圧信号(アナログ信号)が配線113を介して第1変換部106に入力される。
デジタル入出力部111から外部へ出力される第1変換部106の初期出力値は、第1変換部106の調整情報を算出するための情報である。この第1変換部106の初期出力値は、アナログ入出力部112に入力した電圧信号(アナログ信号)を第1変換部106によってデジタル信号に変換し、このデジタル信号の電圧値をデジタル入出力部111に外部接続された図示省略する測定手段によって測定することで得られる。この第1変換部106の初期出力値と目標出力値との誤差により、第1変換部106の変換精度を把握することができる。また、第1変換部106の初期出力値を複数測定することにより、第1変換部106の初期出力特性、すなわち第1変換部106の調整情報を把握することができる。
アナログ入出力部112から外部へ出力される第2変換部107の初期出力値は、第2変換部107の調整情報を算出するための情報である。この第2変換部107の初期出力値は、デジタル入出力部111に入力した電圧信号(デジタル信号)を第2変換部107によってアナログ信号に変換し、このアナログ信号の電圧値をアナログ入出力部112に外部接続された図示省略する測定手段によって測定することで得られる。この第2変換部107の初期出力値と目標出力値との誤差により、第2変換部107の変換精度を把握することができる。また、第2変換部107の初期出力値を複数測定することにより、第2変換部107の初期出力特性を把握することができる。
設定装置120は、第1〜3取得部121〜123、第1〜3算出部124〜126、入出力部127によって構成される。第1取得部121は、入出力部127を介して物理量センサ装置100のデジタル入出力部111から、少なくとも3つ以上の所定温度ごとに物理量センサ101によって出力された少なくとも3つ以上の初期出力値をそれぞれ取得する。すなわち、第1取得部121は、少なくとも計9つ以上の物理量センサ101の初期出力値を取得する。第1取得部121は、Vcc分圧部103の出力値を取得してもよい。
第2取得部122は、物理量センサ101の複数の初期出力値に対応して予め設定された物理量センサ101の目標出力値をそれぞれ取得する。すなわち、第2取得部122は、少なくとも計9つ以上の物理量センサ101の目標出力値を取得する。所定温度および物理量センサ101の目標出力値は、設定装置120の図示省略する記憶部に予め記憶されていてもよいし、図示省略する入力手段によって入力を受け付けてもよい。
第3取得部123は、入出力部127を介して第1変換部106の複数の初期出力値と、第1変換部106の複数の目標出力値とを取得する。第1変換部106の目標出力値とは、例えば、ゼロ値と第1変換部106の目標出力特性のフルスケール(FS:Full Scale)での出力値とを結ぶ直線上に載る出力値である。また、第3取得部123は、第2変換部107の複数の初期出力値と、第2変換部107の複数の目標出力値とを取得する。第2変換部107の目標出力値とは、例えば、ゼロ値と第2変換部107の目標出力特性のフルスケールでの出力値とを結ぶ直線上に載る出力値である。第3取得部123は、デジタル入出力部111および入出力部127を介して記憶部105に記憶された第1,2変換部106,107の初期出力値を取得してもよいし、第1,2変換部106,107の初期出力値の測定時に図示省略する測定手段から取得してもよい。また、第1,2変換部106,107の目標出力値は、設定装置120の図示省略する記憶部に予め記憶されていてもよいし、図示省略する入力手段によって入力を受け付けてもよい。
第1算出部124は、第1,2取得部121,122によって取得された物理量センサ101の初期出力値および目標出力値に基づいて、物理量センサ101の補正後の出力値を算出するための第1特性値を算出する。具体的には、第1算出部124は、所定温度ごとに物理量センサ101の初期出力値と物理量センサ101の目標出力値とを例えば最小二乗法により2次以上の多項式に近似して第1特性式を算出する。そして、第1算出部124は、所定温度ごとに算出された第1特性式の係数および定数項を第1特性値とする。
より具体的には、第1算出部124は、第1取得部121によってm個の所定温度ごとに物理量センサ101のn個の所定物理量における初期出力値が取得された場合(物理量センサの出力値の測定点がn個、および温度センサの出力値の測定点がm個)、m個の所定温度ごとにX次(2≦X≦n−1:n≧3)の多項式を算出し、これらX次の多項式に基づいて下記(1)式を算出する。下記(1)式は、演算部104で構成される第1特性式である。
下記(1)式において、Vdは物理量センサ装置100の初期設定後の物理量センサ101の出力値であり、ΔTは初期設定後の温度センサ102の検出温度(温度センサ102の出力値)である(下記(2)式および(3)式においても同様)。初期設定後とは、記憶部105に初期設定情報が書込まれた後であり、例えば、物理量センサ装置100の実使用時や出荷前試験時である。検出温度ΔTは、基準温度T0=25℃を基準とした温度センサ102の出力値である。そして、第1算出部124は、m個の所定温度ごとに算出されたX次の多項式の係数および定数項kij、i=1,2,・・・n、j=X,X−1,・・・,1,0を第1特性値とする。
Vouti(ΔT,Vd)=KiX(ΔT)×VdX+Kix-1(ΔT)×VdX-1+・・・+Ki1(ΔT)×Vd+Ki0(ΔT) (i=1,2,・・・,n) ・・・(1)
第1算出部124は、さらに、Vcc分圧部103の出力値に基づいて、第1特性式を算出してもよい。この場合、第1算出部124は、下記(2)式に示す第1特性式を算出する。下記(2)式において、Vccは、物理量センサ装置100の初期設定後のVcc分圧部103の出力値である。この場合、第1特性値はkij×Vcc/Vcc0、i=1,2・・・,n、j=X,X−1,・・・,1,0となる。
Vouti(ΔT,Vd)={Kix(ΔT)×VdX+Kix-1(ΔT)×VdX-1+・・・+Ki1(ΔT)×Vd+Ki0(ΔT)}×Vcc/Vcc0 (i=1,2,・・・,n) ・・・(2)
第2算出部125は、所定温度および第1特性値に基づいて、第1特性値の近似式Ki(ΔT)、i=1,2,・・・,nを算出するための第2特性値を算出する。具体的には、第2算出部125は、第1特性値kijごとに所定温度と第1特性値kijとを例えば最小二乗法により2次以上の多項式に近似して、下記(3)式に示す第2特性式を算出する。そして、第2算出部125は、第2特性式の係数および定数項kTij、i=1,2,・・・,n、j=Y(2≦Y≦m−1:m≧3),Y−1,・・・,0を第2特性値とする。第2算出部125によって算出された第2特性値は、入出力部127を介して物理量センサ装置100のデジタル入出力部111へ出力される。
Ki(ΔT)=kTiY×ΔTX+kTiY-1×ΔTX-1+…+kTi1×ΔT+kTi0 (i=1,2,・・・,n) ・・・(3)
第3算出部126は、第3取得部123によって取得された第1変換部106の初期出力値および目標出力値に基づいて、第1変換部106の調整情報を算出する。具体的には、第3算出部126は、第1変換部106の複数の初期出力値に基づいて、第1変換部106の初期出力特性をあらわす伝達関数(アナログ入力とデジタル出力の比例式)を算出する。そして、第3算出部126は、第1変換部106の目標出力特性をあらわす伝達関数と、第1変換部106の初期出力特性をあらわす伝達関数とを比較し、第1変換部106の調整情報を算出する。
第3算出部126は、第3取得部123によって取得された第2変換部107の初期出力値および目標出力値に基づいて、第2変換部107の調整情報を算出する。具体的には、第3算出部126は、例えば、第2変換部107の複数の初期出力値に基づいて、第2変換部107の初期出力特性をあらわす伝達関数を算出する。そして、第3算出部126は、例えば、第2変換部107の目標出力特性をあらわす伝達関数と、第2変換部107の初期出力特性をあらわす伝達関数とを比較し、第2変換部107の調整情報を算出する。第1,2変換部106,107の調整情報として、例えば、ゲイン誤差(回転移動量)、オフセット誤差(平行移動量)およびリニアリティ誤差(出力コードのステップの変化量)などが挙げられる。このため、例えば、第3算出部126によって目標出力特性に対する初期出力特性の回転移動量、平行移動量および出力コードのステップの変化量などを算出してもよい。
次に、図1に示す物理量センサ装置100の全体構成の一例について、図2を参照して説明する。図2は、本発明を適用して半導体チップ上に形成した半導体物理量センサ装置の全体構成の一例を示すブロック図である。物理量センサ装置200は、物理量センサ201、温度センサ202、Vcc分圧部203、演算回路204、データ記憶部205、A/Dコンバータ206、D/Aコンバータ207、第1,2補正回路208,209、制御回路210、デジタルI/Oインターフェース(以下、デジタルI/Oとする)211、アナログI/Oインターフェース(以下、アナログI/Oとする)212、プリアンプ(前置増幅器)214、第1〜3サンプルホールド215〜217、第1,2セレクタ218,219、基準電圧源220、センサ駆動回路221、発振器222によって構成される。
物理量センサ201、温度センサ202、Vcc分圧部203は、それぞれ、上述した図1の物理量センサ101、温度センサ102、Vcc分圧部103に相当する。演算回路204およびデータ記憶部205は、それぞれ、上述した図1の演算部104および記憶部105に相当する。A/Dコンバータ206、D/Aコンバータ207および第1,2補正回路208,209は、それぞれ、上述した図1の第1変換部106,107および第1補正部108,109に相当する。制御回路210、デジタルI/O211およびアナログI/O212は、それぞれ、上述した図1の制御部110、デジタル入出力部111およびアナログ入出力部112に相当する。
物理量センサ201、温度センサ202およびVcc分圧部203の出力信号は、アナログ信号である。物理量センサ201の後段には、プリアンプ214を介して第1サンプルホールド215が配置されている。プリアンプ214は、物理量センサ201の出力信号を増幅させる機能を有する。温度センサ202およびVcc分圧部203の後段には、それぞれ第2,3サンプルホールド216,217が配置されている。第1〜3サンプルホールド215〜217の後段には、第1セレクタ218を介してA/Dコンバータ206が配置されている。
第1サンプルホールド215は、物理量センサ201から連続的に入力されるアナログ信号を一定の時間間隔ごとに取り出し(標本化:サンプリング)一定時間保持する(ホールド)。第2サンプルホールド216は、温度センサ202から連続的に入力されるアナログ信号を一定の時間間隔ごとに取り出し一定時間保持する。第3サンプルホールド217は、Vcc分圧部203から連続的に入力されるアナログ信号を一定の時間間隔で取り出し一定時間保持する。第1セレクタ218は、第1〜3サンプルホールド215〜217からの入力を受ける。また、第1セレクタ218は、配線213を介してアナログI/O212と接続されており、アナログI/O212からの入力を受ける。
第1セレクタ218は、第1〜3サンプルホールド215〜217およびアナログI/O212から入力されるアナログ信号のうちの1つを選択してA/Dコンバータ206に出力する。A/Dコンバータ206は、第1セレクタ218によって選択された物理量センサ201の出力信号(アナログ信号)をデジタル化し、演算回路204に出力する。また、A/Dコンバータ206は、第1セレクタ218によって選択された温度センサ202、Vcc分圧部203およびアナログI/O212の各出力信号(アナログ信号)をデジタル化し、演算回路204に出力する。アナログI/O212の出力信号とは、アナログI/O212の出力モード時に、外部からアナログI/O212に入力される電圧信号である。
演算回路204は、物理量センサ装置200の実使用時、予めデータ記憶部205に記憶された初期設定情報を読み出し、この初期設定情報に基づいて物理量センサ201のデジタル化後の出力信号(以下、デジタル信号とする)を所定の増幅率で増幅して出力する。また、演算回路204は、物理量センサ装置200の出荷前調整時、演算処理を行わずに、物理量センサ201、温度センサ202、Vcc分圧部203およびアナログI/O212のデジタル化後の各出力信号(デジタル信号)を初期出力値のまま出力する。演算回路204の出力信号(デジタル信号)は、後段のデータ記憶部205に記憶される。
データ記憶部205に入力されたデジタル信号は、データ記憶部205に書込み・I/O端子から所定の電圧が印加されることにより、データ記憶部205に半永久的に記憶される。データ記憶部205には、さらに、外部からデジタルI/O211に入力されたデジタル信号が記憶される。外部からデジタルI/O211に入力されるデジタル信号は、D/Aコンバータ207の初期出力値を測定するための電圧信号や、設定装置120による算出値(初期設定情報、A/Dコンバータ206の調整情報およびD/Aコンバータ207の調整情報)などである。
D/Aコンバータ207は、物理量センサ装置200の実使用時、データ記憶部205に記憶された演算回路204による演算結果を読み出してアナログ化し、アナログI/O212にアナログ出力する。また、D/Aコンバータ207は、物理量センサ装置200の出荷前調整時、デジタルI/O211に接続された例えば電圧源からデジタルI/O211およびデータ記憶部205を経て入力された電圧信号をアナログ化し、D/Aコンバータ207の初期出力値をアナログI/O212に出力する。このD/Aコンバータ207の初期出力値によりA/Dコンバータ206の調整情報が算出される。
第1補正回路208は、物理量センサ装置200の出荷前調整時に、A/Dコンバータ206によって物理量センサ201、温度センサ202およびVcc分圧部203の各初期出力値をデジタル化する前に、データ記憶部205に記憶されたA/Dコンバータ206の調整情報を読み出し、A/Dコンバータ206の出力特性値を補正する。したがって、物理量センサ装置200の出荷前調整時に、物理量センサ201、温度センサ202およびVcc分圧部203の各初期出力値は、A/Dコンバータ206の調整後の出力特性が反映された出力値となる。第1補正回路208は、例えば、第1補正回路208の調整情報に基づいて、例えば予め用意された複数の冗長回路のルートを電気的に接続または切断することで分解能(bit数)の重みづけを行う2進荷重方式であってもよい。
第2補正回路209は、物理量センサ装置200の出荷前調整時に、D/Aコンバータ207によって演算回路204によるデジタル演算結果をアナログ化する前に、データ記憶部205に記憶されたD/Aコンバータ207の調整情報を読み出し、D/Aコンバータ207の出力特性を補正する。したがって、物理量センサ装置200の実使用時に、演算回路204によって演算される物理量センサ101の補正後の出力値は、D/Aコンバータ207の調整後の出力特性が反映された出力値となる。第2補正回路209は、例えば、第2補正回路209の各調整情報に基づいて、例えば予め用意された複数の冗長回路のルートを電気的に接続または切断することで分解能の重みづけを行う2進荷重方式であってもよい。
第2セレクタ219は、デジタルI/O211の出力モード時、データ記憶部205に記憶された物理量センサ201、温度センサ202、Vcc分圧部203およびアナログI/O212のデジタル値を読み出し、デジタルI/O211に出力する。また、第2セレクタ219は、デジタルI/O211の入力モード時、デジタルI/O211に入力されたデジタル信号をデータ記憶部205に出力する。制御回路210は、例えばプログラム制御により選択した動作モードに基づいて、第1,2セレクタ218,219、デジタルI/O211およびアナログI/O212の入力の切り換えを行う。
デジタルI/O211は、出力モード時、第2セレクタ219から入力されたデジタル信号を書込み・I/O端子から外部へ出力する。書込み・I/O端子から外部へ出力される情報は、物理量センサ201、温度センサ202、Vcc分圧部203およびA/Dコンバータ206の初期出力値や、演算回路204によるデジタル演算結果である。一方、デジタルI/O211は、入力モード時、外部から入力されたデジタル信号を第2セレクタ219に出力する。デジタルI/O211に外部から入力されるデジタル信号は、設定装置120による算出値や、D/Aコンバータ207の初期出力値を得るための電圧信号である。
アナログI/O212は、出力モード時、D/Aコンバータ207から出力されたアナログ信号をVout端子から外部へ出力する。アナログI/O212から外部へ出力される情報は、演算回路204によるアナログ演算結果や、D/Aコンバータ207の初期出力値である。一方、アナログI/O212は、入力モード時、外部から入力されたアナログ信号を、配線213を介して第1セレクタ218に出力する。アナログI/O212に外部から入力されるアナログ信号は、A/Dコンバータ206の初期出力値を得るための電圧信号である。
基準電圧源220は、Vcc端子から供給される電源電圧のノイズを平準化し、センサ駆動回路221の駆動に適した基準電圧を生成して、センサ駆動回路221に供給する。また、基準電圧源220は、発振器222や物理量センサ装置200内の各回路に電圧VDDを供給する。センサ駆動回路221は、物理量センサ201や温度センサ202を駆動するための所定の大きさの電圧を生成し、物理量センサ201や温度センサ202に供給する。発振器222は、A/Dコンバータ206やD/Aコンバータ207、演算回路204を駆動するためのクロック信号を生成し、A/Dコンバータ206やD/Aコンバータ207、演算回路204に供給する。
次に、制御回路210によって制御される物理量センサ装置200の動作モード1〜6について詳細に説明する。図3は、実施の形態1にかかる物理量センサ装置の動作モードを説明する図表である。動作モード1は、物理量センサ装置200の出荷前調整時に、物理量センサ201の初期出力特性を得るための動作モードである。制御回路210によって動作モード1が選択された場合、物理量センサ201、温度センサ202およびVcc分圧部203の各初期出力値をA/Dコンバータ206でデジタル化し、デジタルI/O211から設定装置120へ出力する制御がなされる。
具体的には、物理量センサ装置200の動作モード1における動作は次のとおりである。まず、物理量センサ201、温度センサ202およびVcc分圧部203の各出力信号(アナログ信号)をそれぞれ第1〜3サンプルホールド215〜217に一定時間保持する。次に、第1〜3サンプルホールド215〜217に保持された各出力信号を第1セレクタ218によって例えば予め設定された選択順序でA/Dコンバータ206に入力してデジタル化し、演算回路204に入力する。演算回路204による演算処理を行わずに、演算回路204に入力されたデジタル信号をそのままデータ記憶部205に格納する。この状態で、データ記憶部205に書込み・I/O端子から所定の電圧を印加することで、データ記憶部205に格納された情報がデータ記憶部205内の不揮発性メモリに転写され(書込まれ)、データ記憶部205に初期設定情報が半永久的に保持される(以下、データ記憶部205への書込みについて単に「記憶させる」とする)。そして、第2セレクタ219によって、データ記憶部205に記憶された物理量センサ201、温度センサ202およびVcc分圧部203の初期出力値を読み出し、例えば予め設定された選択順序で順次デジタルI/O211に出力し、書込み・I/O端子から外部へ出力する。これにより、物理量センサ装置200の動作モード1が終了する。
このように、動作モード1においては、物理量センサ201、温度センサ202およびVcc分圧部203の各出力値を補正せず、初期出力値のまま外部へ出力する。動作モード1において得られた物理量センサ201、温度センサ202およびVcc分圧部203の各初期出力値は、設定装置120に入力される。設定装置120においては、これらの初期出力値に基づいて、上記(1)式(または上記(2)式)および上記(3)式を算出するための物理量センサ装置200の初期設定情報が算出される。物理量センサ201の初期出力値が物理量センサ装置200から外部へ出力されるときの所定温度は、例えば、温度センサ202の初期出力値にて確認される。
制御回路210は、後述する動作モード5(A/Dコンバータ206の初期出力値を取得するモード)を選択した後に、動作モード1を選択する。これにより、A/Dコンバータ206の調整情報が反映された物理量センサ201、温度センサ202およびVcc分圧部203の各初期出力値を取得することができる。また、制御回路210は、動作モード1を選択した後、後述する動作モード3(物理量センサ101の補正後の出力値をデジタル演算して外部へアナログ出力するモード)を選択する前に、例えば後述する動作モード4(データ記憶部205にデータ書込みを行うモード)を選択して物理量センサ装置200の初期設定情報をデータ記憶部205に記憶させる。これにより、動作モード3において、演算回路204によって物理量センサ201の補正後の出力値を演算することができる。
動作モード2は、物理量センサ201の補正後の出力値を外部にデジタル出力する動作モードである。制御回路210によって動作モード2が選択された場合、物理量センサ201の出力値を演算回路204によって補正し、当該演算結果をデジタルI/O211から外部へデジタル出力する制御がなされる。具体的には、物理量センサ装置200の動作モード2における動作は次のとおりである。まず、動作モード1と同様に、物理量センサ201、温度センサ202およびVcc分圧部203の各アナログ信号をデジタル化して演算回路204に入力する。また、データ記憶部205に記憶された初期設定情報(第2算出部125によって算出された第2特性値)を読み出し、演算回路204に入力する。これにより、演算回路204によって構成された上記(1)式(または上記(2)式)および上記(3)式に、物理量センサ201の出力値Vd、温度センサ202の検出温度ΔT、Vcc分圧部203の出力値Vcc、および第2特性値kTij、i=1,2,・・・,n、j=Y,Y−1,・・・,0が入力され、物理量センサ201の補正後の出力値が演算される。次に、演算回路204の演算結果(物理量センサ201の補正後の出力値)を、データ記憶部205に記憶させる。その後、第2セレクタ219によって、データ記憶部205から物理量センサ201の補正後の出力値を読み出してデジタルI/O211に入力し、書込み・I/O端子から外部へデジタル出力する。これにより、物理量センサ装置200の動作モード2が終了する。このように、本発明においては、物理量センサ201の補正後の出力値をデジタル出力することも可能である。
動作モード3は、物理量センサ装置200の実使用時や出荷前試験時に、物理量センサ201の補正後の出力値を外部にアナログ出力する動作モードである。制御回路210によって動作モード3が選択された場合、物理量センサ201の出力値を演算回路204によって補正し、当該演算結果をD/Aコンバータ207によってアナログ化してアナログI/O212から外部へ出力する制御がなされる。具体的には、物理量センサ装置200の動作モード3における動作は次のとおりである。まず、動作モード2と同様に、物理量センサ201、温度センサ202およびVcc分圧部203の各デジタル信号と、データ記憶部205に記憶された初期設定情報とを演算回路204に入力して物理量センサ201の補正後の出力値を演算し、当該演算結果をデータ記憶部205に記憶させる。その後、物理量センサ201の補正後の出力値をデータ記憶部205から読み出してD/Aコンバータ207によってアナログ化し、アナログI/O212を経てVout端子から外部へアナログ出力する。これにより、物理量センサ装置200の動作モード3が終了する。制御回路210は、動作モード5を選択した後に、後述する動作モード6(D/Aコンバータ207の初期出力値を取得するモード)および動作モード1を選択し、その後、動作モード3を選択する。制御回路210は、動作モード3を選択する前に動作モード6を選択すればよく、動作モード6を選択するタイミングは、動作モード5よりも前であってもよいし、動作モード1の後であってもよい。これにより、物理量センサ装置200は、A/Dコンバータ206およびD/Aコンバータ207の調整情報が反映された物理量センサ201の補正後の出力値を出力することができる。
動作モード4は、外部から入力された情報をデータ記憶部205に記憶させる(書込む)ための動作モードである。制御回路210によって動作モード4が選択された場合、外部からデジタルI/O211に入力された情報をデータ記憶部205に記憶させる制御がなされる。具体的には、物理量センサ装置200の動作モード4における動作は次のとおりである。まず、制御回路210によってデジタルI/O211を入力モードに切換え、外部からの入力信号を書込み・I/O端子を介してデジタルI/O211に入力する。外部からの入力信号は、物理量センサ装置200の初期設定情報(第2算出部125によって算出される情報)や、D/Aコンバータ207の初期出力値を測定するための電圧信号である。デジタルI/O211に入力された情報は、第2セレクタ219を介してデータ記憶部205に記憶される。これにより、物理量センサ装置200の動作モード4が終了する。
動作モード5は、A/Dコンバータ206の初期出力値を得るための動作モードである。図4は、実施の形態1にかかる物理量センサ装置200の動作モード5における信号経路を示す説明図である。図4には、動作モード5における信号伝達経路を太線で示す。制御回路210によって動作モード5が選択された場合、入力モードのアナログI/O212から入力された電圧信号をA/Dコンバータ206によってデジタル化し、出力モードのデジタルI/O211から外部の測定手段232へ出力する制御がなされる。具体的には、物理量センサ装置200の動作モード5における動作は次のとおりである。まず、図4に示すように、制御回路210によってアナログI/O212を入力モードに切り換え、かつデジタルI/O211を出力モードに切り換える。また、制御回路210によって、アナログI/O212からのアナログ信号が配線213を介してA/Dコンバータ206に入力されるように切り換える。そして、Vout端子に外部接続された電圧源231からアナログI/O212に所定電圧のアナログ信号を入力する。制御回路210によってアナログI/O212とA/Dコンバータ206とが電気的に接続されているため、アナログI/O212から入力された所定電圧のアナログ信号は、配線213を介して後段のA/Dコンバータ206に入力されデジタル化される。A/Dコンバータ206によってデジタル化された信号(A/Dコンバータ206の出力信号)は、演算回路204、データ記憶部205および第2セレクタ219を経てデジタルI/O211に入力され、書込み・I/O端子から測定手段232へとデジタル出力される。このとき、演算回路204には、物理量センサ201の出力信号は入力されないため、演算処理は行われない。これにより、測定手段232による測定結果として、A/Dコンバータ206の初期出力値が得られ、物理量センサ装置200の動作モード5が終了する。
動作モード5において得られたA/Dコンバータ206の初期出力値は、設定装置120に入力され、設定装置120によってA/Dコンバータ206の調整情報が算出される。物理量センサ装置200は、制御回路210によって動作モード1を選択する前に、例えば動作モード4を選択してA/Dコンバータ206の調整情報をデータ記憶部205に記憶させる。すなわち、制御回路210によって、動作モード5、動作モード4および動作モード1の順に選択される。その理由は、上述したように、A/Dコンバータ206の調整情報が反映された物理量センサ201、温度センサ202およびVcc分圧部203の各初期出力値を得ることができるからである。
動作モード6は、D/Aコンバータ207の初期出力値を得るための動作モードである。図5は、実施の形態1にかかる物理量センサ装置200の動作モード6における信号経路を示す説明図である。図5には、動作モード6における信号伝達経路を太線で示す。制御回路210によって動作モード6が選択された場合、入力モードのデジタルI/O211から入力された電圧信号をD/Aコンバータ207によってアナログ化し、出力モードのアナログI/O212から外部の測定手段234へ出力する制御がなされる。具体的には、物理量センサ装置200の動作モード6における動作は次のとおりである。まず、図5に示すように、制御回路210によってデジタルI/O211を入力モードに切り換え、かつアナログI/O212を出力モードに切り換える。また、制御回路210によって、デジタルI/O211からのデジタル信号がデータ記憶部205を介してD/Aコンバータ207に入力されるように切り換える。そして、書込み・I/O端子に外部接続された入力手段233からデジタルI/O211に所定電圧のデジタル信号を入力する。制御回路210によってデータ記憶部205からD/Aコンバータ207へ向かう方向に信号が伝達される切換えがなされているため、デジタルI/O211から入力された所定電圧のデジタル信号は、データ記憶部205を経て、その後段のD/Aコンバータ207に入力されアナログ化される。D/Aコンバータ207によってアナログ化された信号(D/Aコンバータ207の出力信号)は、アナログI/O212に入力され、Vout端子から測定手段234へとアナログ出力される。これにより、測定手段234による測定結果として、D/Aコンバータ207の初期出力値が得られ、物理量センサ装置200の動作モード6が終了する。
動作モード6において得られたD/Aコンバータ207の初期出力値は、設定装置120に入力され、設定装置120によってA/Dコンバータ206の調整情報が算出される。物理量センサ装置200は、制御回路210によって動作モード3を選択する前に、例えば動作モード4を選択してD/Aコンバータ207の調整情報をデータ記憶部205に記憶させる。また、物理量センサ装置200は、上述したように制御回路210によって動作モード3を選択する前に動作モード1を選択し、動作モード1を選択する前に動作モード5を選択する。すなわち、制御回路210によって、動作モード5、動作モード6、動作モード1、動作モード4および動作モード3の順に選択されるのが好ましい(動作モード1,6の順番は入れ替え可能)。その理由は、上述したように、A/Dコンバータ206およびD/Aコンバータ207の調整情報が反映された物理量センサ201の補正後の出力値を得ることができるからである。制御回路210によって動作モード5、動作モード6、動作モード1を選択するごとに動作モード4を選択してもよい。
次に、実施の形態1にかかる物理量センサ装置200の出力値補正処理の手順について、例えば物理量センサ201が圧力センサ(以下、圧力センサ201とする)である場合を例に説明する。図6A〜6Cは、実施の形態1にかかる物理量センサ装置の出力値補正処理の手順を示すフローチャートである。図6A〜6Cには、A/Dコンバータ206およびD/Aコンバータ207の調整情報と、物理量センサ装置200の初期設定条件とを算出する処理を示す。まず、図6Aに示すように、圧力センサ201の出力値の測定回数n(≧3)、温度センサ202の出力値の測定回数m(≧3)、A/Dコンバータ206およびD/Aコンバータ207の出力値の測定回数p(≧2)を取得する(ステップS101)。次に、変数iに1を代入する(ステップS102)。
次に、変数iが1である場合(ステップS103:Yes)、変数kに1を代入する(ステップS121)。次に、制御回路210によって動作モード5を選択し、上述したように、アナログI/O212よりアナログデータVad(k)を入力して、A/Dコンバータ206のデジタル変換結果Dad(k)を測定する(ステップS122)。次に、制御回路210によって動作モード6を選択し、デジタルI/O211よりデジタルデータDda(k)を入力し、D/Aコンバータ207のアナログ変換結果Vda(k)を測定する(ステップS123)。そして、変数kをインクリメントして(ステップS124)、変数kが測定回数pよりも大きくなるまで、ステップS122〜S124の処理を繰り返し行う(ステップS125:No)。ここまでの処理は、物理量センサ装置200の動作モード5,6である。ステップS123,S122の順に行われてもよい。
変数kが測定回数pよりも大きくなった場合(ステップS125:Yes)、A/Dコンバータ206のデジタル変換結果Dad(k)、k=1,・・・,pに基づいて、A/Dコンバータ206の調整パラメータ(調整情報)Bit_adcを算出する(ステップS126)。次に、D/Aコンバータ207のアナログ変換結果Vda(k)、k=1,・・・,pに基づいて、D/Aコンバータ207の調整パラメータ(調整情報)Bit_dacを算出する(ステップS127)。次に、制御回路210によって動作モード4を選択し、A/Dコンバータ206の調整パラメータBit_adcおよびD/Aコンバータ207の調整パラメータBit_dacをデータ記憶部205に記憶させる(ステップS128)。
このA/Dコンバータ206の調整パラメータBit_adcおよびD/Aコンバータ207の調整パラメータBit_dacをデータ記憶部205に基づいて、A/Dコンバータ206およびD/Aコンバータ207が調整される。このため、以降のステップS104〜S111の処理においてA/Dコンバータ206の調整パラメータBit_adcおよびD/Aコンバータ207の調整パラメータBit_dacを反映させた状態で後述する初期出力値V0#ijを測定することができる。
次に、制御回路210によって動作モード1を選択し、温度センサ202によって検出された温度T(i)(すなわち、基準温度T0を基準とした検出温度ΔT)と、この温度T(i)のときのVcc分圧部203の出力値Vcc(i)とを測定する(ステップS104,S105)。次に、変数jに1を代入した後(ステップS106)、温度T(i)および圧力P(j)のときの圧力センサ201の初期出力値V0#ijを測定する(ステップS107)。次に、変数jをインクリメントして(ステップS108)、変数jが測定回数nよりも大きくなるまで、ステップS107,S108の処理を繰り返し行う(ステップS109:No)。
変数jが測定回数nよりも大きくなった場合(ステップS109:Yes)、変数iをインクリメントし(ステップS110)、変数iが測定回数mよりも大きくなるまで、ステップS103〜S110の処理を繰り返し行う(ステップS111:No)。これにより、m個の温度ごとにn個の圧力を測定して計m×n個以上の初期出力値V0#ij、i=1,2,…,m、j=1,2,…,nが測定され、物理量センサ装置200の外部へ出力される。ここまでの処理は、物理量センサ装置200の動作モード1である。ここまでの処理において測定された複数の初期出力値V0#ijは、設定装置120の第1取得部121によって取得される。
次に、変数iが測定回数mよりも大きくなった場合(ステップS111:Yes)、設定装置120の第2取得部122によって初期出力値V0#ijに対応する圧力センサ201の目標出力値V1#ij、i=1,2,…,m、j=1,2,…,nを読み出す(ステップS112)。次に、初期出力値V0#ijおよび目標出力値V1#ijに基づいて、温度Tiごとに目標出力値の近似式V1(Ti)を算出する(ステップS113)。次に、目標出力値の近似式V1(Ti)の係数および定数項kij、i=1,2,…,m、j=X,X−1,…,1,0を第1特性値として取得する(ステップS114)。
次に、変数iに1を代入し(ステップS115)、上記(1)式に示すように第1特性値の近似式Kiを算出する(ステップS116)。次に、第1特性値の近似式の各パラメータkTij、i=0,1,…,m、j=Y,Y−1,…,1,0(2≦Y≦n−1:n≧3)を、第2特性値として取得する(ステップS117)。そして、変数iをインクリメントして(ステップS118)、変数iが測定回数mよりも大きくなるまで、ステップS116〜S118の処理を繰り返し行う(ステップS119:No)。
次に、変数iが測定回数mよりも大きくなった場合(ステップS119:Yes)、近似式Kiの係数および定数項(第2特性値)kTijを、補正用パラメータ(初期設定情報)として物理量センサ装置200のデータ記憶部205に書込む(ステップS120)。ステップS120の処理は、物理量センサ装置200の動作モード4である。その後、本フローチャートによる処理を終了する。以降、制御回路210によって動作モード3を選択し、物理量センサ装置200を動作モード3で動作させることで、A/Dコンバータ206およびD/Aコンバータ207の各調整情報が反映された圧力センサ201の補正後の出力値をアナログI/O212からアナログ出力させることができる。
以上、説明したように、実施の形態1によれば、物理量センサの出力値を補正するためのデジタル演算処理に用いる物理センサ、温度センサおよびVcc分圧部の各初期出力値を測定する前に、A/Dコンバータの調整情報に基づいてA/Dコンバータを調整することができるため、A/Dコンバータの調整情報を反映させて物理センサ、温度センサおよびVcc分圧部の各初期出力値を測定することができ、当該初期出力値に基づいてデジタル演算処理を行うことができるため、物理センサの出力値を高精度に補正することができる。また、デジタル演算処理により算出された物理センサの補正後の出力値をアナログ化して外部へ出力する場合であっても、D/Aコンバータの調整情報を反映させて物理センサの補正後の出力値をアナログ出力することができる。したがって、物理用センサや周辺機器の特性ばらつきを高精度に補正したアナログ出力信号を出力可能な物理量センサ装置200を提供することができる。
また、実施の形態1によれば、物理量センサ装置の完成後に、A/DコンバータおよびD/Aコンバータの各調整情報に基づいて第1,2補正回路によってA/DコンバータおよびD/Aコンバータを調整することができる。このため、例えば物理量センサ装置をパッケージに組み込む際にかかる圧力によって、物理量センサ装置の出力特性が変化したとしても、パッケージ組み込み後に、パッケージに組み込む時に生じた出力特性の変化分も考慮して、物理量センサ装置やA/Dコンバータ、D/Aコンバータの出力特性を補正することができる。また、実施の形態1によれば、A/DコンバータおよびD/Aコンバータの各出力特性を補正することができるため、A/DコンバータおよびD/Aコンバータの分解能(bit数)を増やすなどA/DコンバータおよびD/Aコンバータの総合的な変換精度を向上させなくても、物理量センサの出力値を精度よく補正することができる。
このため、コストを低減させることができる。
(実施の形態2)
次に、実施の形態2にかかる物理量センサ装置について説明する。図7は、実施の形態2にかかる半導体物理量センサ装置の全体構成の一例を示すブロック図である。図7には、本発明を適用して半導体チップ上に形成した半導体物理量センサ装置の全体構成の一例を示す。実施の形態2にかかる物理量センサ装置が実施の形態1にかかる物理量センサ装置と異なる点は、第1,2補正回路を設けない点である。実施の形態1と同様に、動作モード5,6においてそれぞれA/Dコンバータ206およびD/Aコンバータ207の初期出力値を測定する。そして、初期出力特性と目標出力特性との誤差(調整情報)に基づいてA/Dコンバータ206またはD/Aコンバータ207が不良であるか否かの判断を行う。
次に、実施の形態2にかかる物理量センサ装置の出力値補正処理の手順について説明する。図8は、実施の形態2にかかる物理量センサ装置の出力値補正処理の手順を示すフローチャートである。まず、実施の形態1と同様に、図6Aに示すように、測定回数n,m,pを取得し(ステップS101)、変数iに1を代入した後(ステップS102)、変数kに1を代入する処理(ステップS121)から、A/Dコンバータ206の調整パラメータ(調整情報)Bit_adcおよびD/Aコンバータ207の調整パラメータ(調整情報)Bit_dacを算出する処理(ステップS126、S127)までを行う。
次に、図8に示すように、A/Dコンバータ206の調整パラメータBit_adcが予め設定された所定値rよりも大きい場合、または、D/Aコンバータ207の調整パラメータBit_dacが予め設定された所定値sよりも大きい場合(ステップS129:Yes)、このA/Dコンバータ206またはD/Aコンバータ207を不良と判断し、本フローチャートによる処理を終了する。その後、A/Dコンバータ206またはD/Aコンバータ207が不良と判断された半導体チップは例えば破棄してもよい。
一方、A/Dコンバータ206の調整パラメータBit_adcが予め設定された所定値r以下であり、かつ、D/Aコンバータ207の調整パラメータBit_dacが予め設定された所定値s以下である場合(ステップS129:No)、図6A,6Cに示すように、実施の形態1と同様にステップS104へ進み、実施の形態1と同様に以降の処理ステップS120までを行い、本フローチャートによる処理を終了する。
以上、説明したように、実施の形態2によれば、A/DコンバータおよびD/Aコンバータの調整情報を算出することによって、不良となるA/DコンバータまたはD/Aコンバータを容易に判別することができるため、実施の形態1と同様の効果を得ることができる。
なお、本実施の形態で説明した物理量センサ装置の調整方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ソリッドステートドライブ(SSD:Solid State Drive)、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
以上において本発明は、上述した実施の形態に限らず、種々変更可能である。例えば、補正用パラメータを算出するための設定装置を物理量センサ装置内に設けてもよい。この場合、例えば物理量センサ装置の動作モード3において周辺機器が変更されたときなどに、設定装置によって再度、補正用パラメータを算出する構成としてもよい。また、図1に示した物理量センサ装置のうち物理量センサとその他の装置(物理量センサの出力値補正装置)とを同一の半導体チップ上に設けてもよいし、異なる半導体チップ上に設けてもよい。物理量センサと物理量センサの出力値補正装置を異なる半導体チップ上に設けた場合、温度センサを物理量センサと同一の半導体チップ上に設けてもよいし、サーミスタなどで構成し、物理量センサの出力値補正装置および物理量センサと同一の半導体チップ上に設けなくてもよい。また、物理量センサを半導体チップ上に形成しなくてもよい。