マイコンに搭載されたA-Dコンバーターの測定精度を上げる方法【原因と対策】:ハイレベルマイコン講座【ADC測定精度編】(1)(2/5 ページ)
すでにマイコンを使い込んでいるマイコン上級者に向けた技術解説連載「ハイレベルマイコン講座」。今回から2回にわたって、ノイズの影響を受けず、マイコンに搭載されているA-Dコンバーター本来の測定精度を得る方法を、実際の測定を基に解説する。
ノイズの要因
そもそも、半導体の中にあるキャリアに電圧が印加され、移動するだけでもノイズ発生の要因になる。すなわち、マイコンを動作させようとして、電源を印加しただけでも、自らノイズを発生するといえる。特にMOSトランジスタのスイッチングや、アナログ回路の直流バイアス電流によっても大量のキャリアが移動するため、比較的大きなノイズが発生する。
さらに、マイコンの電源として使用している機器やデバイスで発生するノイズが、マイコンの中に進入してきて、変換誤差の原因になる。具体的には、交流を整流した電源では、元の交流成分のノイズ、スイッチングレギュレーターではスイッチングによって発生するノイズなどが挙げられる。その他、産業用機器の近くで使用する場合は、モーターなどが発するノイズや、サージノイズやスパイクノイズが挙げられる。身近な生活家電でも、電子レンジやテレビ、PCやスマートフォンなどがノイズを発している。
このように考えると、ノイズ対策を何も行わない場合、マイコンのA-Dコンバーターはノイズだらけの環境で動作することになる。
現実のノイズレベル
例えば、3Vの電圧を12ビット分解能のA-Dコンバーターで変換する場合を考える。変換結果は0x000〜0xFFFで得られる。この時の1LSBは3Vの0xFFF(4095)分の1であるので、3V÷4095=0.0007326V=0.7326mVに相当する。
もし、0.7326mVのノイズがA-Dコンバーターの電源や基準電圧源に乗ると、A-Dコンバーターの変換値の最下位ビットはノイズ成分で占められてしまうことになり、被測定電圧を測っているのか、ノイズを測っているのか、分からなくなる。
では、実際にどのくらいのノイズが発生するのだろう。実際にマイコンを動作(A-Dコンバーターの変換を繰り返す)させて、電源ラインをオシロスコープのACモードで観測してみる。
観測結果について述べる前に、今回の実験環境を説明しておく。マイコンはSTマイクロエレクトロニクスの「STM32L15x」を使った。測定ボードは市販のユニバーサル基板にソケットなどの部品を取り付けた手作りのボードだ。回路図を図1に示す。
電源には、あえてノイズ成分を多く含む市販の「安定化電源」と、比較的ノイズが発生しにくい乾電池を使用する。部品の取り付け位置やマイコンとの距離は、外部のノイズがマイコンに影響を及ぼさないように、極力配慮している。実行させるソフトウェアは、A-Dコンバーターを動作させるだけの最も簡単な動作のプログラムコードとした。測定環境(電源の種類、デカップリングコンデンサーの有無など)は測定ごとに変更するが、図1が基本回路になる。
Copyright © ITmedia, Inc. All Rights Reserved.