(57)【要約】【課題】本発明は、ＡＤＣ及びＤＡＣを搭載するチップにおいて効率的にＡＤＣ及びＤＡＣの誤差の測定及び補正が可能な半導体集積回路チップを提供することを目的とする。【解決手段】半導体集積回路チップは、バスと、該バスに接続されるＣＰＵと、該バスにデジタル出力が接続されるＤＡＣと、該バスにデジタル入力が接続されるＡＤＣと、電圧生成回路と、該電圧生成回路と該ＡＤＣのアナログ入力との間の電気的接続の導通・非導通を切り替える第１のスイッチと、該ＤＡＣのアナログ出力と該ＡＤＣの該アナログ入力との間の電気的接続の導通・非導通を切り替える第２のスイッチを含むことを特徴とする。【選択図】図２
2008092195.tif 000002
【特許請求の範囲】
【請求項１】
バスと、
該バスに接続されるＣＰＵと、
該バスからデジタル入力が接続されるＤＡＣと、
該バスにデジタル出力が接続されるＡＤＣと、
電圧生成回路と、
該電圧生成回路と該ＡＤＣのアナログ入力との間の電気的接続の導通・非導通を切り替える第１のスイッチと、
該ＤＡＣのアナログ出力と該ＡＤＣの該アナログ入力との間の電気的接続の導通・非導通を切り替える第２のスイッチ
を含むことを特徴とする半導体集積回路
【請求項２】
該ＣＰＵは、該電圧生成回路、該第１のスイッチ、及び該第２のスイッチの動作を制御するよう構成されることを特徴とする請求項１記載の半導体集積回路。
【請求項３】
該バスに接続されるメモリを更に含み、該ＣＰＵは、該メモリに格納されたプログラムに基づいて動作して、該電圧生成回路、該第１のスイッチ、及び該第２のスイッチの動作を制御するよう構成されることを特徴とする請求項２記載の半導体集積回路。
【請求項４】
バスと、該バスに接続されるＣＰＵと、該バスに接続されるメモリと、該バスからデジタル入力が接続されるＤＡＣと、該バスにデジタル出力が接続されるＡＤＣと、電圧生成回路と、該電圧生成回路と該ＡＤＣのアナログ入力との間の電気的接続の導通・非導通を切り替える第１のスイッチと、該ＤＡＣのアナログ出力と該ＡＤＣの該アナログ入力との間の電気的接続の導通・非導通を切り替える第２のスイッチを含む半導体集積回路において、
該電圧生成回路に第１のアナログ電圧を出力させ、
該第１のスイッチを導通させて該第１のアナログ電圧を該ＡＤＣにより第１のデジタル値に変換させ、
該第１のデジタル値を該メモリに格納し、
該バスを介して供給されるデジタルコードをデジタル入力として該ＤＡＣに第２のアナログ電圧を出力させ、
該第２のスイッチを導通させて該第２のアナログ電圧を該ＡＤＣにより第２のデジタル値に変換させ、
該第２のデジタル値を該メモリに格納し、
該第１のデジタル値に基づいて該ＡＤＣの誤差を計算し、
該第２のデジタル値と該ＡＤＣの該計算した誤差とに基づいて該ＤＡＣの誤差を計算する
各段階を該ＣＰＵにより実行させる自動誤差計算プログラム。
【請求項５】
該ＡＤＣの該アナログ入力に接続される外部端子から該ＡＤＣにアナログ電圧が入力される場合に該ＡＤＣの該計算した誤差に基づいて該ＡＤＣから出力されるデジタルコードを補正する段階を更に該ＣＰＵにより実行させることを特徴とする請求項４記載の自動誤差計算プログラム。
【請求項６】
該ＤＡＣの該アナログ出力に接続される外部端子に該ＤＡＣからアナログ電圧を出力する場合に該ＤＡＣの該計算した誤差に基づいて該ＤＡＣに入力するデジタルコードを補正する段階を更に該ＣＰＵにより実行させることを特徴とする請求項４記載のプログラム。
【請求項７】
バスと、該バスに接続されるＣＰＵと、該バスに接続されるメモリと、該バスにデジタル入力が接続されるＤＡＣと、該バスにデジタル出力が接続されるＡＤＣと、電圧生成回路と、該電圧生成回路と該ＡＤＣのアナログ入力との間の電気的接続の導通・非導通を切り替える第１のスイッチと、該ＤＡＣのアナログ出力と該ＡＤＣの該アナログ入力との間の電気的接続の導通・非導通を切り替える第２のスイッチを含む半導体集積回路において、
該電圧生成回路に第１のアナログ電圧を出力させ、
該第１のスイッチを導通させて該第１のアナログ電圧を該ＡＤＣにより第１のデジタル値に変換させ、
該第１のデジタル値を該メモリに格納し、
該バスを介して供給されるデジタルコードをデジタル入力として該ＤＡＣに第２のアナログ電圧を出力させ、
該第２のスイッチを導通させて該第２のアナログ電圧を該ＡＤＣにより第２のデジタル値に変換させ、
該第２のデジタル値を該メモリに格納し、
該第１のデジタル値に基づいて該ＡＤＣの誤差を計算し、
該第２のデジタル値と該ＡＤＣの該計算した誤差とに基づいて該ＤＡＣの誤差を計算する
各段階を含むことを特徴とする自動誤差計算方法。
【請求項８】
該ＡＤＣの該アナログ入力に接続される外部端子から該ＡＤＣにアナログ電圧が入力される場合に該ＡＤＣの該計算した誤差に基づいて該ＡＤＣから出力されるデジタルコードを補正する段階を更に含むことを特徴とする請求項７記載の自動誤差計算方法。
【請求項９】
該ＤＡＣの該アナログ出力に接続される外部端子に該ＤＡＣからアナログ電圧を出力する場合に該ＤＡＣの該計算した誤差に基づいて該ＤＡＣに入力するデジタルコードを補正する段階を更に含むことを特徴とする請求項７記載の自動誤差計算方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に半導体集積回路に関し、詳しくはＡＤＣとＤＡＣとを有する半導体集積回路に関する。
【背景技術】
【０００２】
ＡＤＣ（Analog to Digital Converter）とＤＡＣ（Digital to Analog Converter）との両方が、ＣＰＵやメモリ等と共に１つの半導体集積回路チップに搭載された汎用チップがある。図１は、そのようなチップの一般的な構成の一例を示す図である。
【０００３】
図１において、ＡＤＣ及びＤＡＣを搭載したＬＳＩチップ１０は、ＣＰＵ１１、タイマー１２、ポート１３、ＵＡＲＴ１４、メモリ１５、ＡＤＣ１６、ＤＡＣ１７、及びバス１８を含む。ＣＰＵ１１、タイマー１２、ポート１３、ＵＡＲＴ１４、メモリ１５、ＡＤＣ１６、及びＤＡＣ１７は、バス１８を介して互いに接続される。
【０００４】
ＡＤＣ１６は、そのアナログ入力が外部端子２０に接続される。またＤＡＣ１７は、そのアナログ出力が外部端子２１に接続される。ＡＤＣ１６は、外部端子２０を介して入力されたアナログ電圧をＡＤ変換し、このＡＤ変換の結果のデジタル出力として得られるデジタルコードをバス１８に出力する。このデジタルコードはメモリ１５に格納される。ＤＡＣ１７は、バス１８を介して例えばＣＰＵ１１から供給されるデジタルコードをデジタル入力としてＤＡ変換し、このＤＡ変換の結果のアナログ出力として得られるアナログ電圧を外部端子２１から外部に出力する。
【０００５】
ＡＤＣ及びＤＡＣには一般に変換誤差が含まれる。そこでＡＤＣ及びＤＡＣについてそれぞれの変換誤差を予め測定しておき、実際のＡＤ変換及びＤＡ変換を行う際に、測定済みの誤差に基づいた補正処理を行うことが好ましい。従来、図１に示されるようなＬＳＩチップ１０では、ＬＳＩチップ１０内のＡＤＣ１６及びＤＡＣ１７の誤差を求める場合、外部端子２０を介して所定のアナログ電圧を入力してＡＤ変換後のデジタルコードを調べたり、所定のデジタルコードに対するＤＡ変換後のアナログ電圧を外部端子２１を介して出力して測定したりしていた。
【０００６】
この場合、多数のサンプル点についてアナログ電圧を入力したり、多数のサンプル点について出力アナログ電圧を測定したりする必要があり、手間暇がかかるという問題がある。
【特許文献１】特開昭５２−０９３３６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
以上を鑑みて本発明は、ＡＤＣ及びＤＡＣを搭載するチップにおいて効率的にＡＤＣ及びＤＡＣの誤差の測定及び補正が可能な半導体集積回路チップ、誤差計算及び補正のためのプログラム及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の半導体集積回路は、バスと、該バスに接続されるＣＰＵと、該バスからデジタル入力が接続されるＤＡＣと、該バスにデジタル出力が接続されるＡＤＣと、電圧生成回路と、該電圧生成回路と該ＡＤＣのアナログ入力との間の電気的接続の導通・非導通を切り替える第１のスイッチと、該ＤＡＣのアナログ出力と該ＡＤＣの該アナログ入力との間の電気的接続の導通・非導通を切り替える第２のスイッチを含むことを特徴とする。
【０００９】
自動誤差計算プログラムは、バスと、該バスに接続されるＣＰＵと、該バスに接続されるメモリと、該バスからデジタル入力が接続されるＤＡＣと、該バスにデジタル出力が接続されるＡＤＣと、電圧生成回路と、該電圧生成回路と該ＡＤＣのアナログ入力との間の電気的接続の導通・非導通を切り替える第１のスイッチと、該ＤＡＣのアナログ出力と該ＡＤＣの該アナログ入力との間の電気的接続の導通・非導通を切り替える第２のスイッチを含む半導体集積回路において、該電圧生成回路に第１のアナログ電圧を出力させ、該第１のスイッチを導通させて該第１のアナログ電圧を該ＡＤＣにより第１のデジタル値に変換させ、該第１のデジタル値を該メモリに格納し、該バスを介して供給されるデジタルコードをデジタル入力として該ＤＡＣに第２のアナログ電圧を出力させ、該第２のスイッチを導通させて該第２のアナログ電圧を該ＡＤＣにより第２のデジタル値に変換させ、該第２のデジタル値を該メモリに格納し、該第１のデジタル値に基づいて該ＡＤＣの誤差を計算し、該第２のデジタル値と該ＡＤＣの該計算した誤差とに基づいて該ＤＡＣの誤差を計算する各段階を該ＣＰＵにより実行させる。
【００１０】
自動誤差計算方法は、バスと、該バスに接続されるＣＰＵと、該バスに接続されるメモリと、該バスにデジタル入力が接続されるＤＡＣと、該バスにデジタル出力が接続されるＡＤＣと、電圧生成回路と、該電圧生成回路と該ＡＤＣのアナログ入力との間の電気的接続の導通・非導通を切り替える第１のスイッチと、該ＤＡＣのアナログ出力と該ＡＤＣの該アナログ入力との間の電気的接続の導通・非導通を切り替える第２のスイッチを含む半導体集積回路において、該電圧生成回路に第１のアナログ電圧を出力させ、該第１のスイッチを導通させて該第１のアナログ電圧を該ＡＤＣにより第１のデジタル値に変換させ、該第１のデジタル値を該メモリに格納し、該バスを介して供給されるデジタルコードをデジタル入力として該ＤＡＣに第２のアナログ電圧を出力させ、該第２のスイッチを導通させて該第２のアナログ電圧を該ＡＤＣにより第２のデジタル値に変換させ、該第２のデジタル値を該メモリに格納し、該第１のデジタル値に基づいて該ＡＤＣの誤差を計算し、該第２のデジタル値と該ＡＤＣの該計算した誤差とに基づいて該ＤＡＣの誤差を計算する各段階を含む。
【発明の効果】
【００１１】
本発明の少なくとも１つの実施例によれば、電圧生成回路、第１のスイッチ、及び第２のスイッチを設けることにより、ＡＤＣ及びＤＡＣの誤差をＬＳＩチップ内部において測定・計算可能な構成を提供する。例えば、メモリに格納されたプログラムをＣＰＵにより実行することにより、ＣＰＵの制御の下で電圧生成回路、第１のスイッチ、及び第２のスイッチを動作させ、ＡＤＣ及びＤＡＣの誤差を自動的に測定・計算することができる。これにより、効率的なＡＤＣ及びＤＡＣの誤差の測定及び補正が可能となる。
【発明を実施するための最良の形態】
【００１２】
以下において、本発明の実施例を添付の図面を用いて詳細に説明する。
【００１３】
図２は、本発明による半導体集積回路チップの構成の一例を示す図である。図２において、図１と同一の構成要素は同一の番号で参照し、その説明は省略する。
【００１４】
図２において、ＡＤＣ及びＤＡＣを搭載したＬＳＩチップ（半導体集積回路チップ）３０は、ＣＰＵ３１、タイマー１２、ポート１３、ＵＡＲＴ１４、メモリ１５、ＡＤＣ１６、ＤＡＣ１７、バス１８、電圧生成回路３２、第１のスイッチ（ＳＷ１）３３、及び第２のスイッチ（ＳＷ２）３４を含む。ＣＰＵ３１、タイマー１２、ポート１３、ＵＡＲＴ１４、メモリ１５、ＡＤＣ１６、及びＤＡＣ１７は、バス１８を介して互いに接続される。なおＬＳＩチップ３０は単一のチップであり、図２に示される構成要素が全て１つのチップの中に設けられる構成となっている。
【００１５】
ＡＤＣ１６は、そのアナログ入力が外部端子２０に接続される。またＤＡＣ１７は、そのアナログ出力が外部端子２１に接続される。ＡＤＣ１６は、外部端子２０を介して入力されたアナログ電圧をＡＤ変換し、このＡＤ変換の結果のデジタル出力として得られるデジタルコードをバス１８に出力する。このデジタルコードはメモリ１５に格納される。ＤＡＣ１７は、バス１８を介して例えばＣＰＵ３１から供給されるデジタルコードをデジタル入力としてＤＡ変換し、このＤＡ変換の結果のアナログ出力として得られるアナログ電圧を外部端子２１から外部に出力する。
【００１６】
ＡＤＣ及びＤＡＣには一般に変換誤差が含まれる。そこでＡＤＣ及びＤＡＣについてそれぞれの変換誤差を予め測定しておき、実際のＡＤ変換及びＤＡ変換を行う際に、測定済みの誤差に基づいた補正処理を行うことが好ましい。
【００１７】
本発明では電圧生成回路３２、第１のスイッチ３３、及び第２のスイッチ３４を設けることにより、ＡＤＣ及びＤＡＣの誤差をＬＳＩチップ３０内部において測定・計算可能な構成を提供する。またメモリ１５に格納されたプログラム（自動誤差計算及び補正プログラム）をＣＰＵ３１により実行することにより、ＣＰＵ３１の制御の下で電圧生成回路３２、第１のスイッチ３３、及び第２のスイッチ３４を動作させ、ＡＤＣ及びＤＡＣの誤差を自動的に測定・計算することができるように構成する。これにより、効率的なＡＤＣ及びＤＡＣの誤差の測定及び補正が可能となる。なお図２において、メモリ１５は、固定の制御情報やプログラム等を格納するＲＯＭ、データ保持領域やワーク領域等として利用されるＲＡＭ、所定の目的のために使用されるレジスタ等を含む。
【００１８】
第１のスイッチ３３は、電圧生成回路３２とＡＤＣ１６のアナログ入力との間を結合するように配置され、電圧生成回路３２とＡＤＣ１６のアナログ入力との間の電気的接続の導通・非導通を切り替えるよう動作する。また第２のスイッチ３４は、ＤＡＣ１７のアナログ出力とＡＤＣ１６のアナログ入力との間を結合するように配置され、ＤＡＣ１７のアナログ出力とＡＤＣ１６のアナログ入力との間の電気的接続の導通・非導通を切り替えるよう動作する。電圧生成回路３２による電圧生成動作並びに第１のスイッチ３３及び第２のスイッチ３４の切り替え動作は、ＣＰＵ３１により制御することができるように構成されている。即ち、例えば電圧生成回路３２、第１のスイッチ３３、及び第２のスイッチ３４を制御するための制御用のモジュールがバス１８に接続されており、ＣＰＵ３１からこのモジュールに制御コマンドを送ることにより制御を実現するようにしてよい。或いは、ＣＰＵ３１から直接に制御線を電圧生成回路３２、第１のスイッチ３３、及び第２のスイッチ３４に接続し、その制御線を介して制御を実現するようにしてよい。図２では、図示の都合上、これらの制御経路については示していない。
【００１９】
本発明においては、図２に示すＬＳＩチップ３０において、電圧生成回路３２に第１のアナログ電圧を出力させ、第１のスイッチ３３を導通させて第１のアナログ電圧をＡＤＣ１６により第１のデジタル値に変換させ、第１のデジタル値をメモリ１５に格納する。またバス１８を介して供給されるデジタルコードをデジタル入力としてＤＡＣ１７に第２のアナログ電圧を出力させ、第２のスイッチ３４を導通させて第２のアナログ電圧をＡＤＣ１６により第２のデジタル値に変換させ、第２のデジタル値をメモリ１５に格納する。また第１のデジタル値に基づいてＡＤＣ１６の誤差を計算するとともに、第２のデジタル値とＡＤＣ１６の計算した誤差とに基づいてＤＡＣ１７の誤差を計算する。これらの動作は、メモリ１５に格納されたプログラム（自動誤差計算及び補正プログラム）をＣＰＵ３１により実行することにより、ＣＰＵ３１の制御の下で電圧生成回路３２、第１のスイッチ３３、第２のスイッチ３４、ＡＤＣ１６、及びＤＡＣ１７を動作させることにより実現してよい。
【００２０】
図３は、電圧生成回路３２の構成の一例を示す図である。図３に示す電圧生成回路３２は、複数のトランジスタ４１乃至４５、互いに直列に接続される複数の抵抗素子４６乃至４９を含む。抵抗素子４６乃至４９からなる抵抗素子列の一端は電源電位Ｖｃｃに接続され、他端はグランド電位に接続される。この抵抗素子列により、例えば０Ｖ、１／４Ｖｃｃ、２／４Ｖｃｃ、３／４Ｖｃｃ、４／４Ｖｃｃの５つの異なる電圧を生成することができる。なおこの例においては電圧の分割数が４分割であるが、必要に応じて分割数を設定すればよい。
【００２１】
トランジスタ４１乃至４５のゲートには、それぞれ独立に複数の制御線が接続されている。制御線の一本がＨＩＧＨになると、対応する１つのトランジスタが導通する。トランジスタ４１乃至４５の各々は、チャネルの一端が抵抗素子４６乃至４９からなる抵抗素子列の対応する点に接続され、他端が第１のスイッチ３３を介してＡＤＣ１６のアナログ入力に結合されている。ある１つのトランジスタが導通すると、それに対応する電圧が当該トランジスタ及び第１のスイッチ３３を介してＡＤＣ１６に供給されることになる。
【００２２】
図４は、ＬＳＩチップ３０におけるＡＤＣ及びＤＡＣの誤差測定・計算方法の一例を示すフローチャートである。
【００２３】
ステップＳ１において、第１のスイッチ３３をオン（導通）、第２のスイッチ３４をオフ（非導通）として、電圧生成回路３２により０Ｖを生成し、ＡＤＣ１６により０ＶをＡＤ変換した変換結果のデジタルコードを第１のレジスタに格納する。ここで第１のレジスタは図２のメモリ１５の一部であり、専用のハードウェアからなるレジスタであってもよいし、ＲＡＭの領域の一部をレジスタとして割り当てて使用する構成であってもよい。
【００２４】
ステップＳ２において、ステップＳ１と同様の動作を１／４Ｖｃｃ〜４／４Ｖｃｃの４つのサンプル電圧に対して実行する。具体的には、ステップＳ２において、（Ｎ／４）Ｖｃｃ（Ｎは自然数）のアナログ電圧に対してステップＳ１と同様の動作を実行し、その後ステップＳ３において、Ｎが４であるか否かを判定する。即ち、４つのサンプル（０Ｖを含め５つのサンプル）の全てについてＡＤ変換が終了したか否かを判定する。終了していない場合には、ステップＳ２に戻り、Ｎを１だけインクリメントし、次の電圧に対するＡＤ変換を実行する。ステップＳ３においてＮが４と判定されると、ステップＳ４に進む。
【００２５】
ステップＳ４で、第１のレジスタに格納された複数（Ｎ＋１個）のサンプルに対する複数（Ｎ＋１個）のデジタルコードに基づいて、ＡＤＣ１６の入力電圧と出力電圧との関係を示す近似直線を計算し、この近似直線に基づいてゼロオフセット誤差、フルスケール誤差、及び線形性誤差（直線性誤差）を計算する。計算したゼロオフセット誤差、フルスケール誤差、及び線形性誤差（直線性誤差）は、第２のレジスタに格納する。なお上記の各計算は、ＬＳＩチップ３０のＣＰＵ３１により実行される。
【００２６】
図５は、近似直線を説明するための図である。図５の横軸はＡＤＣ１６へ入力するアナログ電圧を示し、縦軸はＡＤＣ１６から出力されるデジタル出力（変換デジタルコード）を示す。
【００２７】
図５に示すように、入力アナログ電圧Ａ０乃至Ａ４（０Ｖ〜４／４Ｖｃｃ）のそれぞれに対して、プロット５１乃至５５で示されるように出力デジタルコード（変換コード）が得られる。これらのプロットに対して例えば最小自乗誤差となるような直線を割り当てることにより、近似直線５０が得られる。
【００２８】
ゼロオフセット誤差、フルスケール誤差、及び線形性誤差（直線性誤差）は、ＡＤＣの精度を示す評価基準として一般に用いられる誤差である。ゼロオフセット誤差は、出力デジタルコードがゼロ（０００ｈ）から次のデジタルコード（００１ｈ）に遷移する際の入力電圧であり、理想的には０．５ＬＳＢである。例えば近似直線５０において、出力デジタルコードがゼロ（０００ｈ）から次のデジタルコード（００１ｈ）に遷移する際の入力電圧がｘＬＳＢであるとする。この場合、この値ｘと理想値との差であるｘ−０．５ＬＳＢがゼロオフセット誤差となる。なおここでＬＳＢとは、２つの連続した出力デジタルコードに対応する理想的な入力電圧の差であり、ＡＤＣの分解能に対応する入力電圧値である。
【００２９】
フルスケール誤差は、出力デジタルコードが最大値（フルスケール値）に遷移する際の入力電圧であり、理想的には入力最大電圧ＶｍａｘとしてＶｍａｘ−１．５ＬＳＢである。例えば近似直線５０において、出力デジタルコードが最大値（フルスケール値）に遷移する際の入力電圧がｙＬＳＢであるとする。この場合、この値ｙと理想値との差であるｙ−（Ｖｍａｘ−１．５ＬＳＢ）がゼロオフセット誤差となる。
【００３０】
また線形性誤差は、理想的な入出力間の関係を示す直線と、近似直線５０との差の最大値である。即ち、近似直線５０の出力デジタルコードと理想的な直線の出力デジタルコードとの差分を、各アナログ入力電圧について計算し、それらの差分の最大値が線形性誤差となる。
【００３１】
図４に戻り、ステップＳ５で、第１のスイッチ３３をオフ（非導通）、第２のスイッチ３４をオン（導通）として、最小のデジタルコード（０００ｈ）を入力としてＤＡＣ１７によりアナログ電圧を生成し、ＡＤＣ１６によりこのアナログ電圧をＡＤ変換した変換結果のデジタルコードを第１のレジスタに格納する。なおこのアナログ電圧は、理想的には０Ｖであるが、実際にはＡＤＣ１６の誤差が含まれる。
【００３２】
ステップＳ６において、ステップＳ５と同様の動作を、例えば入力１０ビットの場合であれば０００ｈ〜３ＦＦｈの範囲にある所定の４つのサンプルコードに対して実行する。具体的には、ステップＳ６において、例えばＮ×１００ｈ−００１ｈ（Ｎは自然数）の変換デジタルコードに対してステップＳ５と同様の動作を実行し、その後ステップＳ７において、Ｎが４であるか否かを判定する。即ち、４つのサンプル（０００ｈを含め５つのサンプル）の全てについてＤＡ変換及びＡＤ変換が終了したか否かを判定する。終了していない場合には、ステップＳ６に戻り、Ｎを１だけインクリメントし、次のデジタルコードに対するＤＡ変換及びＡＤ変換を実行する。ステップＳ７においてＮが４と判定されると、ステップＳ８に進む。
【００３３】
ステップＳ８において、第１のレジスタに格納された複数（Ｎ＋１個）のサンプルに対する複数（Ｎ＋１個）のデジタルコードと、第２のレジスタに格納されたＡＤＣ１６の線形性誤差とに基づいて、ＤＡＣ１７の線形性誤差を算出する。まず、ステップＳ５及びＳ６でＤＡＣ１７に入力した所定の複数のデジタルコードを入力とし、第１のレジスタに格納されている複数（Ｎ＋１個）のデジタルコードを出力として、入出力の関係を示す近似直線を計算する。このようにして求めた近似直線から線形性誤差を求めると、ＤＡＣ１７の線形性誤差とＡＤＣ１６の線形性誤差との両方を含んだものとなってしまう。そこで、ステップＳ４で計算され第２のレジスタに格納されているＡＤＣ１６の線形性誤差を参照し、上記の近似直線から求めた線形性誤差からＡＤＣ１６の線形性誤差を取り除くことにより、ＤＡＣ１７のみの線形性誤差を計算する。これにより、所望のアナログ電圧をＤＡＣ１７のＤＡ変換により生成したい場合に、ＤＡＣ１７に入力すべきデジタルコードを求めることが可能となる。なお以上の計算は、ＬＳＩチップ３０のＣＰＵ３１により実行してよい。
【００３４】
図６は、外部端子２０から入力されるアナログ電圧をＡＤ変換する際の処理を示すフローチャートである。
【００３５】
ステップＳ１で、第１のスイッチ３３をオフ（非導通）、第２のスイッチ３４をオフ（非導通）として、外部端子２０からＡＤＣ１６にアナログ電圧を入力する。
【００３６】
ステップＳ２で、ＡＤＣ１６により入力アナログ電圧をＡＤ変換して得られる変換デジタルコードを第１のレジスタに格納する。
【００３７】
ステップＳ３で、第１のレジスタに格納されたデジタルコードに対して、第２のレジスタに格納されているＡＤＣ１６のゼロオフセット誤差、フルスケール誤差、及び線形性誤差を用いた補正を行うことにより、入力アナログ電圧を正しく示すデジタルコードを算出する。この補正演算は、ＬＳＩチップ３０のＣＰＵ３１が自動的に実行するように構成してよい。
【００３８】
図７は、所望のアナログ電圧をＤＡＣ１７から外部端子２１に出力する際の処理を示すフローチャートである。
【００３９】
ステップＳ１で、第１のスイッチ３３をオフ（非導通）、第２のスイッチ３４をオフ（非導通）として、ＣＰＵ３１において内部レジスタに変換対象のデジタルコードをセットする。なお変換対象のデジタルコードとは、理想のＤＡ変換特性を仮定した場合に所望のアナログ電圧に対応するデジタルコードのことである。
【００４０】
ステップＳ２で、ＣＰＵ３１において、上記変換対象のデジタルコードに対して、第２のレジスタに格納されているＤＡＣ１７の線形誤差を用いた補正を行うことにより、所望のアナログ電圧をＤＡＣ１７により正しく生成するために必要なデジタルコードを演算する。この補正演算は、ＬＳＩチップ３０のＣＰＵ３１が自動的に実行するように構成してよい。
【００４１】
ステップＳ３において、ＣＰＵ３１からＤＡＣ１７にバス１８を介して上記補正済みのデジタルコードを入力し、ＤＡＣ１７から外部端子２１を介して所望のアナログ電圧を出力させる。
【００４２】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【図面の簡単な説明】
【００４３】
【図１】ＡＤＣ及びＤＡＣを搭載したＬＳＩチップの従来の構成を示す図である。
【図２】本発明による半導体集積回路チップの構成の一例を示す図である。
【図３】電圧生成回路の構成の一例を示す図である。
【図４】ＬＳＩチップにおけるＡＤＣ及びＤＡＣの誤差測定・計算方法の一例を示すフローチャートである。
【図５】近似直線を説明するための図である。
【図６】外部端子から入力されるアナログ電圧をＡＤ変換する際の処理を示すフローチャートである。
【図７】所望のアナログ電圧をＤＡＣから外部端子に出力する際の処理を示すフローチャートである。
【符号の説明】
【００４４】
３０  ＬＳＩチップ
３１  ＣＰＵ
１２  タイマー
１３  ポート
１４  ＵＡＲＴ
１５  メモリ
１６  ＡＤＣ
１７  ＤＡＣ
１８  バス
３２  電圧生成回路
３３  第１のスイッチ
３４  第２のスイッチ
【図１】
2008092195.tif 000003
【図２】
2008092195.tif 000004
【図３】
2008092195.tif 000005
【図４】
2008092195.tif 000006
【図５】
2008092195.tif 000007
【図６】
2008092195.tif 000008
【図７】
2008092195.tif 000009