メディア

A-Dコンバーターの測定精度を上げる方法【対策の効果を検証する】ハイレベルマイコン講座【ADC測定精度編】(2)(5/6 ページ)

» 2018年10月02日 11時00分 公開

その他の誤差

1)A-Dコンバーターの連続変換

 連続したA-Dコンバーターの変換の際に、被測定電圧が、n回目とn+1回目で大きく異なった場合、n+1回目の変換電圧の誤差が大きくなることがある。これは、サンプリング用の内部の電圧保持用コンデンサーの充電または放電の時間が、ユーザーが設定したサンプリング時間よりも長くなってしまい、被測定電圧に至らないままで二分検索が始まって、正常な変換結果が得られないためである。

 対策としては、サンプリング時間を十分確保するか、ダミー変換を1回入れて、電圧保持用コンデンサーの電荷をある程度充電または放電しておき、2回目で本番の変換を行う方法が有効だ。

 実際にあった例では、ユーザーが被測定電圧を安定させるために、端子に外部コンデンサーを付けた場合にこの現状が起きて、A-Dコンバーターの変換結果の誤差が大きくなったことがある。

 ただし、マイコンによっては、電圧保持用コンデンサーの充放電回路を内蔵している製品もあるので、詳細については、マイコンのマニュアルを確認してもらいたい。

2)A-Dコンバーターの入力配線長

 被測定電圧源とマイコンのA-Dコンバーターの入力端子をつなぐ配線が長くて、正確に変換できなかった例がある。「A-Dコンバーターの変換ができない」という問い合わせがあったので調べた結果、1m近い配線を引き回していた。これでは、ノイズを拾うアンテナを設けているのと同じであるので、どんなに優秀なA-Dコンバーターでも正確な変換は不可能である。

 マイコンに接続する配線を長くすると、A-Dコンバーターの変換だけでなく、マイコンのノイズ耐量が落ちて、ESDやラッチアップの原因になる。また、高速通信の配線であれば、通信不良の原因になるので、絶対に行ってはいけない。

3)マイコン自体が出すノイズ

 前述したが、マイコン自体もノイズの発生源である。自ら出したノイズでA-Dコンバーターの変換誤差を大きくする。

 変換の際には、A-Dコンバーターモジュールだけ動作させて、他の機能を止めて変換するのが理想的であるが、CPUやDMA(Direct Memory Access)を使わなければ、変換結果を取り出すことができない。したがって、CPUまたはDMAとA-Dコンバーターモジュールだけ動作させて、その他のモジュールは停止させることが現実的である。

 実際に、その他のモジュールが動作すると、どのくらい誤差が増えるか実測してみた。具体的にはA-Dコンバーター変換と同時に、PWM(Pulse Width Modulation)機能で汎用I/Oをパタパタとトグルしてみた。それも、汎用I/OはA-Dコンバーターの参照電圧用端子VDDAの隣の端子の汎用I/Oと、被測定電圧の入力端子の隣の汎用I/Oを使ってノイズの影響が出やすい状況にして変換を行った。

 結果を図13に示す。変換結果がマイナス側にシフトしていることが明らかだ。

図13:マイコン内部のノイズを故意に発生させた場合

 今回の実測はJTAGツールを接続して、マイコンの内部レジスタを観測している。もちろん、JTAGツールからもノイズは発生し、それが誤差になって現れる。実際の製品では、JTAGツールは取り外されているので、JTAGツールのノイズの影響はないと考えられる。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.