AVREFを使ってA/D変換の窓を小さくしてみる実験してみました。結果は、AVREFPが1.6V付近から徐々に精度が劣化をはじめ、0.8Vを下回ると急激に精度が悪化しました。AVREFの調整だけだと分解能はせいぜい3倍くらいしかアップできなさそうですね。応用では例えば、NTCサーミスタなどを使用する際はAVREFP/AVREFMに抵抗分圧した電圧を供給すれば測定対象の温度範囲を絞って、分解能をあげることができます。 ・AVREFP=75%VDD ・AVREFM=25%VDDとすれば、測定範囲が半分になって分解能を2倍にできますね。注意点は、AVREF用に供給する電圧を抵抗分圧で作ると、抵抗誤差の方が変換誤差よりも大きくなりやすいのとAVREFPの電圧が1.6V未満になると誤差が増えるで、AVREFを使う際はいろいろ気をつけましょう。巷では(統計的には)、N回サンプリングして、最大値と最小値付近を捨て平均すると√Nビット分解能が増えるとされていますけどもノイズによるバラつきはある程度収束しますけど、ADCの総合誤差があるから100回サンプリングしても、√100=10ビットも分解能は増えませんし。最初は、AVREFPが低くなるとADC内のコンパレーターのオーバードライブ量が足りなくなって、変換値が少しずつ低めになるのかな、と想像していましたけども、5Vから2.6Vまでしっかり揃っていました(±0LSB)。2.6Vから1.6Vまでは、じわじわと下がり傾向([email protected])、1.6Vから0.8Vまでは下がり傾向が次第に加速([email protected])していき、0.8Vを下回ると逆に一気に大暴騰してしまいました。一定電圧以下だとダメになっちゃうんですねー。↓条件: RL78/G13 5V 32MHz動作 標準モード1変換時間=1216/FclkANI1=1/2*AVREFP(Z=500Ω)、AVREFP(ANI0)=0~5V(Z=0Ω)各変換値は512回サンプリングの単純平均
FSOUz8c6JvemqPAX_A0443.gif
lFr8VeuQwVsFCVM4-0_A0442.gif
すとさんおっしゃる通りですね。結局、FINEチューニングしても費用対効果は出ないと思いますし、むしろ悪化の恐れがでますよね。総合誤差の壁があるので、分解能をいくら上げても意味ないですしAVREFP\,AVREFMを±0.1%精度の金皮抵抗の分圧で作ってもそれぞれ2個の抵抗による誤差(0.1%+0.1%)がAVREFP\,AVREFMの2個所加わって0.4%の劣化となります。分解能10ビットで1LSB=1/1024=0.098%FSRですから、0.4%は4LSBの誤差要因になります。4LSB分精度を稼ぐには測定範囲(窓)を1/4にしなければならなくなり、窓を小さくしたことによるAVREFの特性悪化も加えると行って来い、むしろ悪化?してしまう可能性がありますね。AVREFPとAVREFMは異電圧接続というよりも、VDD系電源とデカップリングできるように存在してそうですね♡