(57)【要約】【課題】オンチップのＡ／Ｄ変換回路やＤ／Ａ変換回路の変換精度を改善する補正データの不所望な書き換えによる誤動作の虞を未然に防止する。【解決手段】消去及び書き込み可能な不揮発性メモリ（４）と、変換回路（１５，１６）と、ＣＰＵ（２）とを備える。変換回路はＡ／Ｄ変換回路又はＤ／Ａ変換回路の内の何れか一方又は双方である。前記不揮発性メモリは前記変換回路の変換精度を補正する誤差補正データを所定記憶領域（４Ｔ）に保有する。前記所定記憶領域はテストモードにおいて消去及び書き込みが許可されそれ以外の動作モードにおいて消去及び書き込みが禁止されるプロテクト領域である。リセットスタートにより通常動作を行なうとき誤差補正データはプロテクト領域に格納されているから、マイクロコンピュータが暴走してもその領域が容易に書き換えられることを阻止することができる。【選択図】        図１
2004266614.tif 000002
【特許請求の範囲】
【請求項１】
消去及び書き込み可能な不揮発性メモリと、変換回路と、ＣＰＵとを備え、
前記変換回路はＡ／Ｄ変換回路又はＤ／Ａ変換回路の内の何れか一方又は双方であり、
前記不揮発性メモリは前記変換回路の変換精度を補正する誤差補正データを所定記憶領域に保有し、
前記所定記憶領域はテストモードにおいて消去及び書き込みが許可されそれ以外の動作モードにおいて消去及び書き込みが禁止されるプロテクト領域であることを特徴とするマイクロコンピュータ。
【請求項２】
前記プロテクト領域はリセット解除によるシステム立ち上げに利用されるブート領域の一部であることを特徴とする請求項１記載のマイクロコンピュータ。
【請求項３】
前記変換回路がＡ／Ｄ変換回路であるとき、Ａ／Ｄ変換要求に応答してアナログ入力信号がＡ／Ｄ変換され、Ａ／Ｄ変換された変換後ディジタルデータに応ずる誤差補正データが前記不揮発性メモリから読み出され、読み出された誤差補正データにより前記変換後ディジタルデータの補正後ディジタルデータが生成され、生成された補正後ディジタルデータがＡ／Ｄ変換要求に対する変換結果とされることを特徴とする請求項１記載のマイクロコンピュータ。
【請求項４】
前記変換回路がＤ／Ａ変換回路であるとき、Ｄ／Ａ変換要求に応答して変換前ディジタルデータに応ずる誤差補正データが前記不揮発性メモリから読み出され、読み出された誤差補正データにより前記変換前ディジタルデータの補正後ディジタルデータが生成され、補正後ディジタルデータがＤ／Ａ変換されることを特徴とする請求項１記載のマイクロコンピュータ。
【請求項５】
誤差補正データは変換回路の分解能に応ずる刻みの対応ディジタルデータの値を下位アドレスとする領域に配置されることを特徴とする請求項１乃至４の何れか１項記載のマイクロコンピュータ。
【請求項６】
ＣＰＵ、消去及び書き込み可能な不揮発性メモリ及びＡ／Ｄ変換回路を有するマイクロコンピュータにテストモードを設定する処理と、
前記マイクロコンピュータに外部Ａ／Ｄ変換回路を接続する処理と、
前記Ｄ／Ａ変換回路によるＤ／Ａ変換結果を外部Ａ／Ｄ変換回路でＡ／Ｄ変換して、外部Ａ／Ｄ変換回路の出力データとＤ／Ａ変換回路の入力データとの誤差を演算する処理と、
演算された誤差を相殺する誤差補正データを生成して不揮発性メモリの所定記憶領域に格納する処理とを含み、
前記所定記憶領域はテストモードにおいて消去及び書き込みが許可されそれ以外の動作モードにおいて消去及び書き込みが禁止されるプロテクト領域であることを特徴とする変換精度のチューニング方法。
【請求項７】
ＣＰＵ，消去及び書き込み可能な不揮発性メモリ及びＤ／Ａ変換回路を有するマイクロコンピュータにテストモードを設定する処理と、
前記マイクロコンピュータに外部Ｄ／Ａ変換回路を接続する処理と、
前記外部Ｄ／Ａ変換回路によるＤ／Ａ変換結果を前記Ａ／Ｄ変換回路でＡ／Ｄ変換して、外部Ｄ／Ａ変換回路の入力データとＡ／Ｄ変換回路の出力データとの誤差を演算する処理と、
演算された誤差を相殺する誤差補正データを生成して不揮発性メモリの所定記憶領域に格納する処理とを含み、
前記所定記憶領域はテストモードにおいて消去及び書き込みが許可されそれ以外の動作モードにおいて消去及び書き込みが禁止されるプロテクト領域であることを特徴とする変換精度のチューニング方法。
【請求項８】
テストモードにおいて消去及び書き込みが許可されそれ以外の動作モードにおいて消去及び書き込みが禁止されるプロテクト領域を一部に有する不揮発性メモリとＣＰＵとを有するマイクロコンピュータに搭載されたＡ／Ｄ変換回路によるＡ／Ｄ変換方法であって、
Ａ／Ｄ変換要求に応答してＡ／Ｄ変換回路がアナログ入力信号をＡ／Ｄ変換して変換後ディジタルデータを生成する処理と、
生成された変換後ディジタルデータに応ずる誤差補正データを前記不揮発性メモリの所定記憶領域から読み出す処理と、
読み出された誤差補正データと前記変換後ディジタルデータとによって補正後ディジタルデータを生成する処理とを含み、
前記補正後ディジタルデータが前記Ａ／Ｄ変換要求に対するＡ／Ｄ変換結果とされることを特徴とするＡ／Ｄ変換方法。
【請求項９】
テストモードにおいて消去及び書き込みが許可されそれ以外の動作モードにおいて消去及び書き込みが禁止されるプロテクト領域を一部に有する不揮発性メモリとＣＰＵとを有するマイクロコンピュータに搭載されたＤ／Ａ変換回路によるＤ／Ａ変換方法であって、
Ｄ／Ａ変換要求に応答して変換前ディジタルデータに応ずる誤差補正データを前記不揮発性メモリの所定記憶領域から読み出す処理と、
読み出された誤差補正データと前記変換前ディジタルデータとによって補正後ディジタルデータを生成する処理と、
前記Ｄ／Ａ変換回路が前記補正後ディジタルデータをＤ／Ａ変換してアナログ信号を外部に出力する処理と、を含むことを特徴とするＤ／Ａ変換方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マイクロコンピュータやマイクロプロセッサ等のデータ処理装置に搭載されたアナログ−デジタル変換回路（以下、Ａ／Ｄ変換回路と称す）やデジタル−アナログ変換回路（以下、Ｄ／Ａ変換回路と称す）の変換精度を向上させる技術に関し、例えばＡ／Ｄ変換回路及びＤ／Ａ変換回路を搭載したマイクロコンピュータに適用して有効な技術に関する。
【０００２】
【従来の技術】
特許文献１には変換テーブルを用いてＤ／Ａ変換器の入力を補正する発明の記載がある。特許文献２にはＡ／Ｄ変換器の出力と、その出力を入力して補正データを出力するっ芽折りの出力とを演算してＡ／Ｄ変換結果を補正する発明の記載がある。特許文献３にはＡ／Ｄ変換器の出力をアドレスとして誤差メモリをアクセスしＡ／Ｄ変換器の出力と誤差メモリの出力を演算してＡ／Ｄ変換結果を補正し、また、Ｄ／Ａ変換器の入力で誤差メモリをアクセスし当該入力と誤差メモリの出力を演算してＤ／Ａ変換結果を補正する発明の記載がある。
【０００３】
【特許文献１】
特開２０００−２４４３１７号公報
【特許文献２】
特開２０００−２１６６７７号公報
【特許文献２】
特開平１０−４９３０７号公報
【０００４】
【発明が解決しようとする課題】
本発明者はＡ／Ｄ変換回路及びＤ／Ａ変換回路の変換精度について検討した。これによれば、その精度にはオフセット誤差、フルスケール誤差、及び量子化誤差等が有り、変換精度の向上を考えた場合、夫々に対する精度向上のためのパラメータに対してデバイスの特性測定結果や机上のシミュレーション結果に基いて内部の回路的対策を行なうことができる。しかしながら、そのようなパラメータは内部回路を構成するコンパレータの容量やスイッチングＭＯＳトランジスタのオン抵抗、配線抵抗、抵抗分圧回路の抵抗値ばらつき等、その決定因子が多岐に亘ることから、問題個所の抽出が難しく、また、その原因もデバイスによって異なる場合もあり、容易に実現することができない。
【０００５】
そこで、本発明者はマイクロコンピュータ内蔵のＡ／Ｄ変換回路やＤ／Ａ変換回路の精度測定を行ない、その誤差を補正するための補正値をマイクロコンピュータ内蔵の不揮発性メモリに書き込み、書き込んだ補正値を用いてＡ／Ｄ変換結果及びＤ／Ａ変換対象データを補正しようとした。このとき、マイクロコンピュータの暴走などによって補正値が不所望に書き換えられると、その後の変換精度は著しく低下する虞がある。この点について、本願発明の完成後に行なった公知例調査による上記文献１乃至３では考慮されていない。
【０００６】
本発明の目的は、オンチップのＡ／Ｄ変換回路やＤ／Ａ変換回路の変換精度を改善する補正データの不所望な書き換えによる誤動作の虞を未然に防止することができるマイクロコンピュータを提供することにある。
【０００７】
本発明の別の目的は、オンチップのＡ／Ｄ変換回路やＤ／Ａ変換回路に対する変換精度のチューニング方法を提供することにある。
【０００８】
本発明の更に別の目的は、オンチップのＡ／Ｄ変換回路やＤ／Ａ変換回路による変換方法を提供することにある。
【０００９】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【００１０】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１１】
〔１〕本発明に係るマイクロコンピュータは、消去及び書き込み可能な不揮発性メモリと、変換回路と、中央処理装置（ＣＰＵ）とを備える。前記変換回路はＡ／Ｄ変換回路又はＤ／Ａ変換回路の内の何れか一方又は双方である。前記不揮発性メモリは前記変換回路の変換精度を補正する誤差補正データを所定記憶領域に保有する。前記所定記憶領域はテストモードにおいて消去及び書き込みが許可されそれ以外の動作モードにおいて消去及び書き込みが禁止されるプロテクト領域である。
【００１２】
上記より、マイクロコンピュータはリセットスタートにより通常動作を行なうとき誤差補正データはプロテクト領域に格納されているから、マイクロコンピュータが暴走してもその領域が容易に書き換えられることを阻止することができる。
【００１３】
前記プロテクト領域は、例えばリセット解除によるシステム立ち上げに利用されるブート領域の一部である。
【００１４】
本発明の具体的な形態として前記変換回路がＡ／Ｄ変換回路であるとき、Ａ／Ｄ変換要求に応答してアナログ入力信号がＡ／Ｄ変換され、Ａ／Ｄ変換された変換後ディジタルデータに応ずる誤差補正データが前記不揮発性メモリから読み出され、読み出された誤差補正データにより前記変換後ディジタルデータの補正後ディジタルデータが生成され、生成された補正後ディジタルデータがＡ／Ｄ変換要求に対する変換結果とされる。一方、前記変換回路がＤ／Ａ変換回路であるとき、Ｄ／Ａ変換要求に応答して変換前ディジタルデータに応ずる誤差補正データが前記不揮発性メモリから読み出され、読み出された誤差補正データにより前記変換前ディジタルデータの補正後ディジタルデータが生成され、補正後ディジタルデータがＤ／Ａ変換される。
【００１５】
前記誤差補正データは例えば変換回路の分解能に応ずる刻の対応ディジタルデータの値を下位アドレスとする領域に配置される。これにより誤差補正データのアクセスが容易になる。
【００１６】
〔２〕本発明に係る変換精度のチューニング方法は、ＣＰＵ、消去及び書き込み可能な不揮発性メモリ及びＡ／Ｄ変換回路を有するマイクロコンピュータにテストモードを設定する処理と、前記マイクロコンピュータに外部Ａ／Ｄ変換回路を接続する処理と、前記Ｄ／Ａ変換回路によるＤ／Ａ変換結果を外部Ａ／Ｄ変換回路でＡ／Ｄ変換して、外部Ａ／Ｄ変換回路の出力データとＤ／Ａ変換回路の入力データとの誤差を演算する処理と、演算された誤差を相殺する誤差補正データを生成して不揮発性メモリの所定記憶領域に格納する処理とを含む。前記所定記憶領域はテストモードにおいて消去及び書き込みが許可されそれ以外の動作モードにおいて消去及び書き込みが禁止されるプロテクト領域である。これにより、ＣＰＵの暴走等によっても消失し難いマイクロコンピュータオンチップのＡ／Ｄ変換回路に対する変換精度を向上させるチューニング用データを取得することができる。
【００１７】
本発明に係る変換精度の別のチューニング方法は、ＣＰＵ，消去及び書き込み可能な不揮発性メモリ及びＤ／Ａ変換回路を有するマイクロコンピュータにテストモードを設定する処理と、前記マイクロコンピュータに外部Ｄ／Ａ変換回路を接続する処理と、前記外部Ｄ／Ａ変換回路によるＤ／Ａ変換結果を前記Ａ／Ｄ変換回路でＡ／Ｄ変換して、外部Ｄ／Ａ変換回路の入力データとＡ／Ｄ変換回路の出力データとの誤差を演算する処理と、演算された誤差を相殺する誤差補正データを生成して不揮発性メモリの所定記憶領域に格納する処理とを含む。前記所定記憶領域はテストモードにおいて消去及び書き込みが許可されそれ以外の動作モードにおいて消去及び書き込みが禁止されるプロテクト領域である。これにより、ＣＰＵの暴走等によっても消失し難いマイクロコンピュータオンチップのＤ／Ａ変換回路に対する変換精度を向上させるチューニング用データを取得することができる。
【００１８】
〔３〕本発明に係るＡ／Ｄ変換方法は、テストモードにおいて消去及び書き込みが許可されそれ以外の動作モードにおいて消去及び書き込みが禁止されるプロテクト領域を一部に有する不揮発性メモリとＣＰＵとを有するマイクロコンピュータに搭載されたＡ／Ｄ変換回路によるＡ／Ｄ変換方法であって、Ａ／Ｄ変換要求に応答してＡ／Ｄ変換回路がアナログ入力信号をＡ／Ｄ変換して変換後ディジタルデータを生成する処理と、生成された変換後ディジタルデータに応ずる誤差補正データを前記不揮発性メモリの所定記憶領域から読み出す処理と、読み出された誤差補正データと前記変換後ディジタルデータとによって補正後ディジタルデータを生成する処理とを含む。前記補正後ディジタルデータが前記Ａ／Ｄ変換要求に対するＡ／Ｄ変換結果とされる。これによれば、ＣＰＵの暴走後であっても所期のＡ／Ｄ変換精度を維持することがたやすい。
【００１９】
本発明に係るＤ／Ａ変換方法は、テストモードにおいて消去及び書き込みが許可されそれ以外の動作モードにおいて消去及び書き込みが禁止されるプロテクト領域を一部に有する不揮発性メモリとＣＰＵとを有するマイクロコンピュータに搭載されたＤ／Ａ変換回路によるＤ／Ａ変換方法であって、Ｄ／Ａ変換要求に応答して変換前ディジタルデータに応ずる誤差補正データを前記不揮発性メモリの所定記憶領域から読み出す処理と、読み出された誤差補正データと前記変換前ディジタルデータとによって補正後ディジタルデータを生成する処理と、前記Ｄ／Ａ変換回路が前記補正後ディジタルデータをＤ／Ａ変換してアナログ信号を外部に出力する処理とを含む。これによれば、ＣＰＵの暴走後であっても所期のＤ／Ａ変換精度を維持することがたやすい。
【００２０】
【発明の実施の形態】
《マイクロコンピュータ》
図１には本発明の一例に係るデータ処理装置としてのマイクロコンピュータが示される。同図に示されるマイクロコンピュータ１は、例えば相補型ＭＯＳ（ＣＭＯＳ）集積回路製造技術によって単結晶シリコンのような１個の半導体基板（半導体チップ）に形成される。
【００２１】
マイクロコンピュータ１は、夫々データバス、アドレスバス及びコントロールバス（制御信号バス）から成る内部バス２０と周辺バス２１を有する。内部バス２０には、中央処理装置（ＣＰＵ）２、ＣＰＵ２の制御プログラム及び制御データ等を格納する電気的に書込み及び消去可能な不揮発性メモリとしてのフラッシュメモリ４、ＣＰＵ２の作業領域並びにデータの一時記憶に利用される揮発性メモリとしてのランダムアクセスメモリ（ＲＡＭ）５、バスコントローラ７、及び割込みコントローラ１０が接続される。周辺バス２１には、割り込みコントローラ１０、タイマカウンタ１１、シリアルコミュニケーションインタフェースコントローラ（ＳＣＩ）１２、システムコントローラ１３、ウォッチドッグタイマ（ＷＤＴ）１４、アナログ−デジタル変換回路（以下、Ａ／Ｄ変換回路と称す）１５、デジタル−アナログ変換回路（以下、Ｄ／Ａ変換回路と称す）１６、入出力ポート１７、１８及びその他周辺モジュール１９が接続される。マイクロコンピュータの同期クロック信号はクロック発生回路（ＣＰＧ）８で生成される。
【００２２】
入出力ポート１７，１８は外部バスとのインタフェース、周辺回路と外部とのインタフェースに割当てられ、その割り当ての設定は、ＣＰＵ２がフラッシュメモリ４の制御プログラムを実行して行う。
【００２３】
前記ＣＰＵ２は、例えばフラッシュメモリ４から命令をフェッチし、取り込んだ命令を解読する命令制御部と、命令制御部による命令解読結果に従って汎用レジスタや算術論理演算器などを用いて演算処理を行なう実行部とを有する。
【００２４】
バスコントローラ７は、バスマスタモジュールであるＣＰＵ２と外部又は図示を省略するＤＭＡＣ（ダイレクト・メモリ・アクセス・コントローラ）等の内蔵バスマスタモジュールとの間のバス権要求の競合を調停する。調停論理は例えば優先順位に基づく調停制御である。調停の結果、バス権が与えられたバスマスタモジュールは、バスコマンドを出力し、バスコントローラ７は、このバスコマンドに基づいてバスの制御を行なう。
【００２５】
割り込みコントローラ１０は、周辺バス２１に接続される回路モジュールから出力される図示を省略する割込み要求信号を入力し、入力された割込み要求信号に対して優先制御及びマスク制御を行って、割り込み要求を受け付ける。割込みコントローラ１０は、割込み要求を受付けると、ＣＰＵ２に割込信号ＩＲＱを出力する。ＣＰＵ２は割込信号ＩＲＱが与えられると、実行中の処理を中断して、割込み要因に応じた所定の処理ルーチンに分岐する。分岐先の処理ルーチンの最後では、復帰命令が実行され、この命令を実行することによって前記中断した処理が再開可能にされる。
【００２６】
前記クロック発生回路８は、特に制限されないが、クロック発振器の発振出力をＰＬＬ（フェーズロックドループ）回路で逓倍してシステムクロック信号を生成する。
【００２７】
システムコントローラ１３は、リセット信号ＲＥＳ、モード信号ＭＤ０〜ＭＤ２、スタンバイ信号ＳＴＢ等を入力して、マイクロコンピュータ１の動作モードを制御する。
【００２８】
ローレベルのリセット信号ＲＥＳによりマイクロコンピュータ１にリセット指示が与えられると、ＣＰＵ２等のオンチップ回路モジュールはリセット状態とされる。この後、リセット信号ＲＥＳのハイレベルによりリセット解除が指示されると、ＣＰＵ２は所定の制御プログラムのスタートアドレスから命令をフェッチし、プログラムの実行を開始する。
【００２９】
前記フラッシュメモリ４は多数のフラッシュメモリセルがマトリクス配置されたメモリセルアレイを有する。フラッシュメモリセルは、特に制限されないが、チャンネル領域の上に絶縁膜で分離された導体としてのフローティングゲートに電荷を注入可能にするフローティングゲート構造とされる。シリコン窒化膜などの電荷トラップ領域に電荷を局在的に注入可能にする電荷トラップ構造などを採用することも可能である。フローティングゲート構造の場合には電荷の注入状態と放出状態の閾値電圧の相違に応じて記憶情報の論理値を決める。電荷トラップ構造においては電荷のトラップ位置やトラップ電荷の極性に応じて多値の情報記憶を行なうことが容易である。そのようなフラッシュメモリセルに対するデータの記憶は、例えばメモリセルが保持する電荷を初期的状態にする第１処理（例えばイレーズ処理若しくは消去処理）、初期的状態から電荷状態を変更する第２処理（例えばプログラム処理若しくは書き込み処理）によって行なわれる。例えばフローティングゲート型のフラッシュモリセル３１のドレインはビット線に、ソースはソース線に、コントロールゲートはワード線に接続される。イレーズ処理はソース線に高電圧を印加して電子をソース線に引き抜く。プログラム処理はワード線に高電圧を印加してドレインからフローティングゲートにホットエレクトロンを注入する。
【００３０】
前記フラッシュメモリは前記Ａ／Ｄ変換回路１５及びＤ／Ａ変換回路１６の変換精度を補正する誤差補正データを格納する変換テーブル４Ｔを有する。誤差補正データについての詳細は後述する。
【００３１】
図２及び図３にはマイクロコンピュータのアドレスマップが例示される。マイクロコンピュータ１の動作モードはテストモードとそれ以外の動作モードに大別される。それ以外の動作モードをここでは便宜上ユーザモードと称する。前記動作モードの指定は特に制限されないが前記モード信号ＭＤ０〜ＭＤ２を利用して行なわれる。通常のリセットスタートを行なった場合にはユーザモードにされる。テストモードはマイクロコンピュータの使用者（ユーザ）には開放されていない動作モードであり、マイクロコンピュータの製造メーカがデバイステストを行なうときに利用する動作モードである。テストモードを設定するには例えばリセット解除時にモード信号ＭＤ０〜ＭＤ２のレベルの組み合わせのを所定に変化させることによって設定される。
【００３２】
図２及び図３において、テストモードでは変換テーブル４Ｔは消去及び書き込み可能にされる。ユーザモードでは変換テーブル４Ｔの消去及び書き込みは禁止される。
【００３３】
図２において変換テーブル４Ｔが配置されるアドレス空間はフラッシュメモリ４においてユーザエリア（ユーザに開放されているエリア）とは別の専用エリアとされる。ユーザプログラムを用いて変換テーブル４Ｔをアクセスする事が必要な構成（ソフトウェア補正）を採用する場合、変換テーブル４Ｔはユーザモードにおいてリードだけ可能にされ、消去及び書き込みは不可能にされる。ユーザプログラムを用いて変換テーブル４Ｔをアクセスする事を必要としない構成（ハードウェア補正）を採用する場合、変換テーブル４Ｔはユーザに一切非公開としてよい。ユーザモードにおける変換テーブル４Ｔの非公開、消去・書き込みプロテクトは、例えば変換テーブル４Ｔのアドレスマッピングに対してバスコントローラ７のバス制御論理で行なえばよい。
【００３４】
特に図示はしないが、変換テーブル４Ｔの上記専用エリアは例えばマイクロコンピュータ１のリセット解除によるシステム立ち上げに利用されるブート領域の一部に配置すればよい。ブート領域には例えばリセット処理の初期設定データ、或はベクタなどが配置される。
【００３５】
図３において変換テーブル４Ｔが配置されるアドレス空間はフラッシュメモリ４においてユーザエリアの一部が割当てられている。この場合には、前記ソフトウェア補正又はハードウェア補正の何れの場合であっても、ユーザモードでは変換テーブル４Ｔはリード可能にされ、消去及び書き込みが不可能にされる。ユーザエリアの一部に変換テーブル４Ｔを配置する場合にはＡ／Ｄ変換回路１５及びＤ／Ａ変換回路１６を搭載しないバリエーションを考慮することが必要になる。そこで、ユーザモードにおける変換テーブル４Ｔの消去・書き込みプロテクトは、例えば変換テーブル４Ｔのアドレスマッピングに対してバスコントローラ７のバス制御論理で行なうようにすればよいが、消去・書き込みプロテクトの有無をアルミマスタスライス或は端子の状態で選択可能にするのがよい。
【００３６】
図４にはＤ／Ａ変換回路１６の一例が示される。Ｄ／Ａ変換回路１６はデータレジスタ３０、デコーダ３１、抵抗分圧回路３２、アンプ３３及び制御回路３４から成る。ＣＰＵ２より制御回路３４にＤ／Ａ変換動作が指示されると、バス２１を介してデータレジスタ３０にディジタルデータがセットされ、これを前記デコーダ３１がデコードし、デコード結果に応じて抵抗分圧回路３２のスイッチが選択され、選択されたスイッチに応じて得られる分圧電圧がアンプ３３で増幅されてアナログ電圧ＡＶｏｕｔとして出力される。
【００３７】
図５にはＡ／Ｄ変換回路１５の一例が示される。Ａ／Ｄ変換回路１５は局部Ｄ／Ａ変換器３５、コンパレータ３６、制御回路３７、逐次比較レジスタ３８及びデータレジスタ３９から成る。局部Ｄ／Ａ変換器３５は前記Ｄ／Ａ変換回路１６と同様にデコーダ、抵抗分圧回路及びアンプによって構成される。ＣＰＵ２より制御回路３７にＡ／Ｄ変換動作が指示されると、制御回路３７は逐次比較レジスタ３８に局部Ｄ／Ａ変換器３５のフルスケールの１／２の値を出力させ、コンパレータ３６にその出力電圧と入力アナログ電圧ＡＶｉｎとを比較させる。比較結果に応じて逐次比較レジスタ３８のＭＳＢをセット状態のままにするかリセット状態にするかを決め、次に１／４フルスケール値をセットして同様の動作を繰返す。このようにＭＳＢビットからＬＳＢビットまでのセット・リセット状態を決定し、その結果がデータレジスタ３９経由でバス２１に出力可能にされる。
【００３８】
《変換精度のチューニング》
図６には前記変換テーブル生成フローが例示される。変換テーブル４Ｔの生成、要するに誤差補正データの生成は、マイクロコンピュータ１の選別工程の一部として行なわれる。誤差補正データの生成はＡ／Ｄ変換回路１５とＤ／Ａ変換回路１６とで別々に行なわれる。先ず、対象変換回路に対し、一つの変換動作を行ない（Ｓ１）、その変換結果に対する変換精度を測定し（Ｓ２）、その変換精度に対する誤差を相殺するための補正値を演算し（Ｓ３）、その補正値をＲＡＭ５の所定アドレスに転送し（Ｓ４）、上記処理を全分解能に対して行なう（Ｓ５）。全分解能に対する補正値が取得されると、それがＲＡＭ５からフラッシュメモリ４の所定エリアに書き込まれて（Ｓ６）、変換テーブル４Ｔが生成される。
【００３９】
図７には変換テーブル４Ｔの一例が示される。誤差データはそれに対応するディジタルデータの値を下位アドレスとする領域に配置される。ディジタルデータは変換回路の分解能に応ずる刻み毎のディジタルデータである。例えばＡ／Ｄ変換回路１５によるＡ／Ｄ変換結果がＨ’０００１であるとすると、それに応ずる誤差補正データが例えば“２”なら、変換テーブル４ＴのＡ／Ｄ変換回路１５用領域の下位側アドレスＨ’０００１に当該誤差補正データ“２”が格納される。Ｄ／Ａ変換回路１６の場合、Ｄ／Ａ変換対象ディジタルデータＨ’０００１に対し、それに応ずる誤差補正データが例えば“２”なら、変換テーブル４ＴのＤ／Ａ変換回路１６用領域の下位側アドレスＨ’０００１に当該誤差補正データ“２”が格納される。
【００４０】
図８には図６の変換テーブル生成処理の一例としてＡ／Ｄ変換回路１５に対する変換テーブル生成動作が例示される。
【００４１】
マイクロコンピュータ１はテストボード４０に搭載される。テストボード４０には高い変換精度が保証されたテスト用のＤ／Ａ変換回路（外部Ｄ／Ａ変換回路）４１が設けられ、マイクロコンピュータ１に接続される。テストボード４０は選別テスタ４２の制御を受けて選別動作される。選別テスタ４２はマイクロコンピュータ１にテストモードを設定し、▲１▼に示されるように、精度測定プログラムをＲＡＭ５に転送する。ＣＰＵ２は▲２▼に示されるように前記精度測定プログラムを実行する。即ち、ＣＰＵ２はディジタル期待値データＤ１を外部Ｄ／Ａ変換回路４１に出力し、外部Ｄ／Ａ変換回路４１による変換結果を入力して、Ａ／Ｄ変換回路１５に与えてＡ／Ｄ変換する。ＣＰＵ２はそのＡ／Ｄ変換結果のデータＤ２と前記ディジタル期待値データＤ１との誤差を演算し、演算された誤差を相殺する誤差補正データ（符号付補正データ）を生成してＲＡＭ５に格納する。上記処理をＡ／Ｄ変換回路１５の全分解能の各ディジタルデータが得られるように行ない、▲３▼のように、全ての誤差補正データをフラッシュメモリ４に書き込んで変換テーブル４ＴのＡ／Ｄ変換回路１５用部分を生成する。
【００４２】
図９には図６の変換テーブル生成処理の一例としてＤ／Ａ変換回路１６に対する変換テーブル生成動作が例示される。
【００４３】
マイクロコンピュータ１はテストボード４３に搭載される。テストボード４３には高い変換精度が保証されたテスト用のＡ／Ｄ変換回路（外部Ａ／Ｄ変換回路）４４が設けられ、マイクロコンピュータ１に接続される。テストボード４３は選別テスタ４２の制御を受けて選別動作される。選別テスタ４２はマイクロコンピュータ１にテストモードを設定し、▲１▼に示されるように、精度測定プログラムをＲＡＭ５に転送する。ＣＰＵ２は▲２▼に示されるように前記精度測定プログラムを実行する。即ち、ＣＰＵ２は前記Ｄ／Ａ変換回路１６にディジタルデータＤ３を与えてＤ／Ａ変換し、Ｄ／Ａ変換結果をアナログ期待値として外部Ａ／Ｄ変換回路４４に与える。外部Ａ／Ｄ変換回路４４はその入力アナログ信号をＡ／Ｄ変換し、ＣＰＵ２はそれによって得られるディジタル変換データＤ４を入力し、外部Ａ／Ｄ変換回路の出力ディジタルデータＤ４とＤ／Ａ変換回路の入力ディジタルデータＤ３との誤差を演算し、演算された誤差を相殺する誤差補正データ（符号付補正データ）を生成してＲＡＭ５に格納する。上記処理をＤ／Ａ変換回路１６の全分解能の各ディジタルデータが得られるように行ない、▲３▼のように、全ての誤差補正データをフラッシュメモリ４に書き込んで変換テーブル４ＴのＤ／Ａ変換回路１６用部分を生成する。
【００４４】
《変換動作》
変換テーブルを用いた変換動作を説明する。この変換動作はマイクロコンピュータ１が制御対象システムに実装されて前記ユーザモードが設定されたときの動作とされる。
【００４５】
図１０にはＤ／Ａ変換回路１６の変換精度をソフトウェア補正する場合の動作が例示される。ＣＰＵ２には、汎用レジスタＲＥＧｈ、ＲＥＧｉ，ＲＥＧｊ，ＲＥＧｋ及び算術論理演算器ＡＬＵが代表的に図示されている。ＣＰＵ２はその動作プログラムにしたがってＤ／Ａ変換を行なうとき、変換対象ディジタルデータを汎用レジスタＲＥＧｊにロードする。汎用レジスタＲＥＧｉには変換テーブル４ＴのＤ／Ａ変換用エリアのマッピングアドレスが先にロードされており、その下位側に変換対象ディジタルデータがロードされる。ＣＰＵ２は汎用レジスタＲＥＧｉの値をアクセスアドレスとしてフラッシュメモリ４をリードアクセスする。これにより、その変換対象ディジタルデータに応ずる誤差補正データが読み出され、ＣＰＵ２はこれを汎用レジスタＲＥＧｈにロードする。ＣＰＵ２は算術論理演算器ＡＬＵを用いて汎用レジスタＲＥＧｈの誤差補正データに汎用レジスタＲＥＧｊの変換対象ディジタルデータを加算し、加算結果を汎用レジスタＲＥＧｋにロードする。汎用レジスタＲＥＧｋの値が補正された変換対象ディジタルデータとされる。ＣＰＵ２はＤ／Ａ変換回路１６にＤ／Ａ変換動作を指示し、汎用レジスタＲＥＧｋの補正後変換対象ディジタルデータをレジスタ３０に転送してＤ／Ａ変換動作をさせる。尚、図１０ではバス２０，２１の図示を省略しているが、ＣＰＵ２、フラッシュメモリ４、Ｄ／Ａ変換回路１６の間のデータ転送はバス２０，２１経由で行なわれる。
【００４６】
図１１には図１０の動作における補正演算の制御処理フローの概略が簡単に示される。補正対象ディジタルデータがレジスタＲＥＧｊにロードされ（Ｓ１０）、これに応ずる誤差補正データがフラッシュメモリ４のテーブル４ＴからレジスタＲＥＧｈにロードされる（Ｓ１１）。そして算術論理演算器ＡＬＵにて双方のレジスタＲＥＧｊとＲＥＧＨの値が加算され（Ｓ１２）、加算結果が変換対象とされる。
【００４７】
図１２にはＡ／Ｄ変換回路１５の変換精度をソフトウェア補正する場合の動作が例示される。ＣＰＵ２には、汎用レジスタＲＥＧｈ、ＲＥＧｉ，ＲＥＧｊ，ＲＥＧｋ及び算術論理演算器ＡＬＵが代表的に図示されている。Ａ／Ｄ変換回路１５はアナログ信号ＡＶｉｎをＡ／Ｄ変換すると、変換結果がレジスタ３９に得られる。ＣＰＵ２はＡ／Ｄ変換回路１５によるＡ／Ｄ変換の終了を割込み、或は変換動作終了フラグのポーリングによって検出する。ＣＰＵ２はＡ／Ｄ変換回路１５によるＡ／Ｄ変換の終了を検出すると、レジスタ３９の補正前変換結果データを汎用レジスタＲＥＧｉ、ＲＥＧｊにロードする。前述にように、汎用レジスタＲＥＧｉには変換テーブル４ＴのＡ／Ｄ変換用エリアのマッピングアドレスが先にロードされており、その下位側に補正前変換結果データがロードされる。ＣＰＵ２は汎用レジスタＲＥＧｉの値をアクセスアドレスとしてフラッシュメモリ４をリードアクセスする。これにより、その補正前変換結果データに応ずる誤差補正データが読み出され、ＣＰＵ２はこれを汎用レジスタＲＥＧｈにロードする。ＣＰＵ２は算術論理演算器ＡＬＵを用いて汎用レジスタＲＥＧｈの誤差補正データに汎用レジスタＲＥＧｊの補正前変換結果データを加算し、加算結果を汎用レジスタＲＥＧｋにロードする。汎用レジスタＲＥＧｋの値が補正後変換結果データとされる。ＣＰＵ２はこれをＡ／Ｄ変換結果としてデータ処理に利用する。尚、図１２ではバス２０，２１の図示を省略しているが、ＣＰＵ２、フラッシュメモリ４、Ｄ／Ａ変換回路１６の間のデータ転送はバス２０，２１経由で行なわれる。
【００４８】
図１３には図１２の動作における補正演算の制御処理フローの概略が簡単に示される。補正前変換結果データがレジスタＲＥＧｊにロードされ（Ｓ１３）、これに応ずる誤差補正データがフラッシュメモリ４のテーブル４ＴからレジスタＲＥＧｈにロードされる（Ｓ１４）。そして算術論理演算器ＡＬＵにて双方のレジスタＲＥＧｊとＲＥＧＨの値が加算され（Ｓ１５）、加算結果が補正後変換結果データとされる。
【００４９】
図１４にはＤ／Ａ変換回路１６の変換精度をハードウェア補正する場合に必要な構成とその動作が例示される。Ｄ／Ａ変換回路１６は、図４の構成に対して加算器ＡＵとレジスタＲＥＧａ，ＲＥＧｂが追加的に必要になる。ＣＰＵ２はその動作プログラムにしたがってＤ／Ａ変換を行なうとき、制御回路３４に変換動作を指示すると共に、レジスタＲＥＧａに変換対象ディジタルデータをロードする。レジスタＲＥＧａの値は専用バス５０を介してフラッシュメモリ４のアドレスデコーダに供給される。アドレスデコーダは専用バス５０からの入力によって変換テーブル４ＴのＤ／Ａ変換用エリアをアドレシングして、変換対象ディジタルデータに応ずる誤差補正データを専用バス５１に読み出す。誤差補正データは専用バス５１からレジスタＲＥＧｂにロードされる。算術演算器ＡＵはレジスタＲＥＧｂの誤差補正データにレジスタＲＥＧａの変換対象ディジタルデータを加算し、加算結果をレジスタ３０にロードし、この補正された変換対象ディジタルデータがＤ／Ａ変換される。
【００５０】
図１５にはＡ／Ｄ変換回路１５の変換精度をハードウェア補正する場合に必要な構成とその動作が例示される。Ａ／Ｄ変換回路１５は、図５の構成に対して加算器ＡＵとレジスタＲＥＧｂ，ＲＥＧｃが追加的に必要になる。Ａ／Ｄ変換回路１５はアナログ信号ＡＶｉｎをＡ／Ｄ変換すると、変換結果がレジスタ３９に得られる。レジスタ３９の補正前変換結果データは専用バス５２を介してフラッシュメモリ４のアドレスデコーダに供給される。アドレスデコーダは専用バス５２からの入力によって変換テーブル４ＴのＡ／Ｄ変換用エリアをアドレシングして、前記補正前変換結果データに応ずる誤差補正データを専用バス５３に読み出す。誤差補正データは専用バス５３からレジスタＲＥＧｂにロードされる。算術演算器ＡＵはレジスタＲＥＧｂの誤差補正データにレジスタ３９の補正前変換結果データを加算し、加算結果をＲＥＧｃにロードする。レジスタＲＥＧｃの値が補正後変換結果データとされる。レジスタＲＥＧｃに補正後変換結果が得られるとＡ／Ｄ変換回路１５は変換の終了割込みを要求し、或は変換動作終了フラグをセットする。
【００５１】
図１６には変換精度の補正効果の一例が示される。（Ａ）は補正前であり、例えば誤差は±１ＬＳＢの範囲を超えている。上記補正によれば分解能に応ずる最小刻み単位でディジタルデータの補正を行なうから、（Ｂ）のように変換精度は±１ＬＳＢの範囲に収まる。
【００５２】
図１７にはＡ／Ｄ変換のソフトウェア補正（図１２参照）とハードウェア補正（図１５）の変換スピードの比較例が示される。逐次Ａ／Ｄ変換動作に必要な時間は双方で同じであり、例えば１３４又は２６６ステートを要する。ステートとは例えばＣＰＵ２の動作クロックの１周期を意味する。補正動作はフトウェア補正に比べてハードウェア補正の方が速い。Ａ／Ｄ変換動作が逐次比較動作であるからＡ／Ｄ変換動作全体として変換動作速度の差は実質的に無視し得る。見方を変えれば、並列比較型のＡ／Ｄ変換動作を行なうＡ／Ｄ変換回路の場合にはハードウェア補正を行なわなければ並列比較型のＡ／Ｄ変換を行なう意味がない。
【００５３】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００５４】
例えば、消去及び書き込み可能な不揮発性メモリはフラッシュメモリに限定されず、ＥＥＰＲＯＭや高誘電体メモリ等であってもよい。Ａ／Ｄ変換回路やＤ／Ａ変換回路の変換形式は上記構成に限定されず適宜変更可能である。マイクロコンピュータの周辺機能も適宜変更可能である。
【００５５】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００５６】
すなわち、マイクロコンピュータにオンチップのＡ／Ｄ変換回路やＤ／Ａ変換回路の変換精度を改善する補正データの不所望な書き換えによる誤動作の虞を未然に防止することができる。そのようなマイクロコンピュータにオンチップのＡ／Ｄ変換回路やＤ／Ａ変換回路に対する変換精度をチューニングすることができ、高い変換精度でＡ／Ｄ変換やＤ／Ａ変換を行なうことができる。
【図面の簡単な説明】
【図１】本発明の一例に係るマイクロコンピュータのブロック図である。
【図２】変換テーブルが配置されるアドレス空間をフラッシュメモリにおいてユーザエリアとは別の専用エリアとした場合を示すマイクロコンピュータのアドレスマップである。
【図３】変換テーブルが配置されるアドレス空間をフラッシュメモリにおいてユーザエリアの一部に割当てた場合を示すマイクロコンピュータのアドレスマップである。
【図４】Ｄ／Ａ変換回路の一例を示すブロック図である。
【図５】Ａ／Ｄ変換回路の一例を示すブロック図である。
【図６】変換テーブル生成フローを例示するフローチャートである。
【図７】変換テーブルの一例を示す説明図である。
【図８】図６の変換テーブル生成処理の一例としてＡ／Ｄ変換回路に対する変換テーブル生成動作を示す説明図である。
【図９】図６の変換テーブル生成処理の一例としてＤ／Ａ変換回路に対する変換テーブル生成動作を示す説明図である。
【図１０】Ｄ／Ａ変換回路の変換精度をソフトウェア補正する場合の動作を例示する説明図である。
【図１１】図１０の動作における補正演算の制御処理フローの概略を簡単に示すフローチャートである。
【図１２】Ａ／Ｄ変換回路の変換精度をソフトウェア補正する場合の動作を例示する説明図である。
【図１３】図１２の動作における補正演算の制御処理フローの概略を簡単に示すフローチャートである。
【図１４】Ｄ／Ａ変換回路の変換精度をハードウェア補正する場合に必要な構成とその動作を例示する説明図である。
【図１５】Ａ／Ｄ変換回路の変換精度をハードウェア補正する場合に必要な構成とその動作を例示する説明図である。
【図１６】変換精度の補正効果の一例を示す比較説明図である。
【図１７】Ａ／Ｄ変換のソフトウェア補正とハードウェア補正の変換スピードについての比較説明図である。
【符号の説明】
１  マイクロコンピュータ
２  ＣＰＵ
４  フラッシュメモリ
４Ｔ  変換テーブル
１５  Ａ／Ｄ変換回路
１６  Ｄ／Ａ変換回路
２０  内部バス
２１  周辺バス
４１  外部Ｄ／Ａ変換回路
４４  外部Ａ／Ｄ変換回路
５０，５１，５２，５３  専用バス
【図１】
2004266614.tif 000003
【図２】
2004266614.tif 000004
【図３】
2004266614.tif 000005
【図４】
2004266614.tif 000006
【図５】
2004266614.tif 000007
【図６】
2004266614.tif 000008
【図７】
2004266614.tif 000009
【図８】
2004266614.tif 000010
【図９】
2004266614.tif 000011
【図１０】
2004266614.tif 000012
【図１１】
2004266614.tif 000013
【図１２】
2004266614.tif 000014
【図１３】
2004266614.tif 000015
【図１４】
2004266614.tif 000016
【図１５】
2004266614.tif 000017
【図１６】
2004266614.tif 000018
【図１７】
2004266614.tif 000019