FAQ
A/Dコンバーターについて
- アナログ入力インピーダンスが高い場合、アナログ入力端子に0.1μF程度のコンデンサを付けるとありますが、コンデンサ容量がサンプリングホール回路内のコンデンサより十分大きくない場合はどのようなことが考えられますか?
- A/Dコンバーターの内部インピーダンスを教えてください。
- ハードウェアマニュアル及びデータシートに、アナログ入力への駆動インピーダンスの推奨値がありますが、どのような計算で求めましたか? (MB90545Gでは、15.5kΩ以下)
- A/D入力の電圧レベルは、A/D変換開始後、どの程度、確定していれば良いですか?
- アナログ入力端子に接続可能なコンデンサーの容量はどのくらいですか?
- アナログポートの未使用端子は、どう処理すれば良いですか?
- A/DコンバーターのAvccやAvssをそれぞれ、オープンで使用した場合、どうなりますか?
- スタンバイ中にA/Dコンバーターの電源端子のAVccをVssに接続しても良いですか?
- 擬似時計モード時のAVccとAVRef端子からの電流消費量はどの位か?
- A/Dコンバーター未使用時には、AVcc=0Vの端子処理は問題ありますか?
- A/Dコンバーター未使用時には、AVcc=0Vの端子処理の場合、入力ポート設定であるP70がVcc電位まで上昇しないが、AVcc=0Vが原因か? (対象:MB90340,MB90860)
- AVRHが一定であるが、A/Dの精度がVccの変動に依存することがありますか?
- A/DコンバーターのリファレンスH端子の電圧レベルをマイコンの電源電圧より小さくした場合に考えられる問題点は何ですか?
- A/Dコンバーターを使用していない場合、AVRHの端子処理は?
- データシートにおいて、"|AVR-AVss|or|AVRH-AVRL|が小さくなるに従って、相対的に誤差は大きくなります。"とありますが、なぜですか?
- リファレンス端子(AVRH)へVcc電圧レベルを入力する際にプルアップ抵抗を挿入したほうが良いですか?
- AVRHの投入タイミングに関して、Vcc以降(Vcc->AVcc->AVRH)とあるが、その時間規定はありませんか? 電源切断時のシーケンスはありますか?
- VccとAVRHを同時投入では問題がありますか? (AVcc、AVRHにVccを接続)
- A/Dコンバーター非起動時には、AVRH端子も外部にて非接続状態にすれば、暗電流は低減しますか?
- A/Dポートの8ポートのうち、1ポートが以下のような状態になったとき、他のポートの入力電圧をモニタ出来ますか?
(1)入力電圧ANn < AVRL
(2)入力電圧ANn > AVRH - A/Dポートの8ポートのうち、真中の1ポートを汎用ポートとしてAN0~AN7までサーチした場合、汎用ポートとして使用したアナログ変換はどうなりますか?
- A/D変換において、効率良く複数チャネルを変換する方法は何かありますか?
- ソフトウェア起動(STRTbit=1)してもA/Dが起動しない。
- A/Dコンバーター再起動可能単発モード(MD0,1=00)において、設定チャネル間(CH0->1,2…)でSTRTビットにより再起動させると、「CH0->CH1-RESET-CH0->CH1…」の順で変換されるはずが、「CH0->CH1-RESET-00h->CH0->CH1…」と動作するのですが、なぜですか?
- 停止モード時において、一時停止中のBUSYbitの値は何になっていますか?
- スタートチャネル設定ビット(ANS0~2)、エンドチャネル設定ビット(ANE0~2)をビット定義して使用することは可能ですか?
- A/Dセッティングレジスタ(ADSR0/1)のA/D変換終了チャネル選択ビット(ANE0~4)をC言語にて書き換えると、予期しない値が変換されますが、なぜですか?
- A/D データレジスタ上位( ADCR:H)ではA/D 変換のコンペア時間と、サンプリング時間の選択が可能ですが、これら各々の選択の設計根拠はどのように考えれば良いですか? 例えば、「コンペア時間が長い方が変換精度が良い」とか...
- 変換時間についてはなぜ選択可能になっているのか理解しかねますが...。
- 内部動作周波数とADの変換精度は関連しますか? (8MHz/16MHz/24MHzにて比較)
- アナログ入力電流と入力リーク電流の違いは何ですか?
- A/D変換精度の定義は?
1. アナログ入力インピーダンスが高い場合、アナログ入力端子に0.1μF程度のコンデンサを付けるとありますが、コンデンサ容量がサンプリングホール回路内のコンデンサより十分大きくない場合はどのようなことが考えられますか?
A/Dコンバーターのサンプリング時に、外部コンデンサのチャージをサンプリングホールド回路に取り込みます。この時に、外部のコンデンサ容量が小さいと内部のコンデンサに多くの電荷が流れ込み、アナログ電圧が一瞬低下します。その後内部のコンデンサは充電され正規のアナログ値になりますが、サンプリング時間が十分でないと変換値の精度が満たせなくなる可能性があります。
2. A/Dコンバーターの内部インピーダンスを教えてください。
デバイスにより異なりますので、詳細は、各デバイスのデータシートのA/Dコンバーター部を参照願います。(参考値としては、抵抗:約2kΩ, 容量:30pF)
3. ハードウェアマニュアル及びデータシートに、アナログ入力への駆動インピーダンスの推奨値がありますが、どのような計算で求めましたか? (MB90545Gでは、15.5kΩ以下)
A/Dポートに15.5kΩの外部回路がある場合(3.2kΩ,30pF:内部回路定数)
t=CR=(3.2kΩ+15.5kΩ)x 30pF = 561ns
時定数は63.2%の充電電圧の時間なので、実際は8~10倍の時間が必要です。
561ns × 8 ≒ 4us <- 実際の充電時間
マイコンのサンプリング時間の設定では、最速で4us(64サイクル:16MHz時)なので、マイコンの最速のサンプリング時間を満足できます。
4. A/D入力の電圧レベルは、A/D変換開始後、どの程度、確定していれば良いですか?
サンプリング時間中(変換開始前)に確定させてください。外部インピーダンスと内部回路のC,R(参考定数)によって時定数を求める事で、システム上でA/D入力電圧レベルの安定する時間の目安値が分かります。
5. アナログ入力端子に接続可能なコンデンサーの容量はどのくらいですか?
アナログ入力端子に接続可能なコンデンサーの容量は、アナログ回路内部の容量より十分に大きければ問題ありません。目安としては0.1uF以上であれば問題ないと考えます。
6. アナログポートの未使用端子は、どう処理すれば良いですか?
使用しない入力端子を開放のままにしておくと、誤動作及びラッチアップの可能性があります。そのため、2kW以上の抵抗でプルアップまたは、プルダウン処理を行なう事を推奨致します。
7. A/DコンバーターのAvccやAvssをそれぞれ、オープンで使用した場合、どうなりますか?
A/DコンバーターのAvccやAvssをそれぞれ、オープンで使用した場合、A/D変換値を保証できません。
8. スタンバイ中にA/Dコンバーターの電源端子のAVccをVssに接続しても良いですか?
Vcc=AVccで使用する必要があります。理由としては、アナログ入力端子がデジタルポートと兼用しており、もしデジタルポート側に電圧が掛かっているとそこから、AVccに流れ込む可能性があります。
9. 擬似時計モード時のAVccとAVRef端子からの電流消費量はどの位か?
擬似時計モード時のAVccとAVRef端子からの電流は、規格上では、データシートにありますIAH、IRHの電流値になり、MAX5uAとなります。
A/D停止時のAVcc、AVRの電流となりますので、実力的には常温で数十nA程度と考えます。
10. A/Dコンバーター未使用時には、AVcc=0Vの端子処理は問題ありますか?
問題有ります。Vcc=Avccにて使用願います。
11. A/Dコンバーター未使用時には、AVcc=0Vの端子処理の場合、入力ポート設定であるP70がVcc電位まで上昇しないが、AVcc=0Vが原因ですか? (対象:MB90340,MB90860)
AVcc=0Vが原因と思われます。
P70はAN16と兼用端子のため、P70からAVccに電流が流れ込んでいるために起きている現象と判断します。
12. AVRHが一定であるが、A/Dの精度がVccの変動に依存することがありますか?
Vcc=AVcc>=AVRHかつAvss=Vss=0の関係においてA/Dの精度保証範囲内において、A/Dの精度が異なる事はありません。A/Dの精度がVccに依存しているように見える場合は、A/D変換時のAVRHが電流引き込みにより低下してないか、検証願います。
13. A/DコンバーターのリファレンスH端子の電圧レベルをマイコンの電源電圧より小さくした場合に考えられる問題点は何ですか?
A/DコンバーターのリファレンスH端子の電圧レベルをマイコンの電源電圧より小さくした場合、リファレンスHとリファレンスLの間でA/D変換される事になりますので、電気的特性にある各種誤差より大きくなる可能性がありますが、A/D変換は行われます。
14. A/Dコンバーターを使用していない場合、AVRHの端子処理は?
VccでもVssでも問題ありませんが、Vccに接続するとスタンバイ時などに若干、電流が流れることを考えるとVssに接続することをお奨めします。
15. データシートにおいて、"|AVR-AVss|or|AVRH-AVRL|が小さくなるに従って、相対的に誤差は大きくなります。"とありますが、なぜですか?
|AVR-AVss|or|AVRH-AVRL|が小さくなるということは、1LSBあたりの電圧が小さくなるためにノイズの影響を受けやすくなります。結果、相対誤差が大きくなります。
16. リファレンス端子(AVRH)へVcc電圧レベルを入力する際にプルアップ抵抗を挿入したほうが良いですか?
リファレンス端子(AVR)には、A/D変換時に電流が流れますので、プルアップ抵抗を挿入するとAVR供給電圧レベルが低下します。従いましてVccに直結して使用する事を推奨します。
17. AVRHの投入タイミングに関して、Vcc以降(Vcc->AVcc->AVRH)とあるが、その時間規定はありませんか? 電源切断時のシーケンスはありますか?
時間の規定はありません。
しかし、指定の順番もしくは同時に投入しない場合、ラッチアップが起こる可能性があります。
18. VccとAVRHを同時投入では問題がありますか? (AVcc、AVRHにVccを接続)
全く同時であれば問題ありません。同じ配線から供給できるならば問題ないと思われます。
19. A/Dコンバーター非起動時には、AVRH端子も外部にて非接続状態にすれば、暗電流は低減しますか?
低減はいたしません。A/Dコンバーター非起動時には、AVRH端子も内部スイッチにて遮断されておるためです。具体的にはIRH(A/Dリファレンス電源電流)の値は論理的には変わりません。
20. A/Dポートの8ポートのうち、1ポートが以下のような状態になったとき、他のポートの入力電圧をモニタ出来ますか?
(1)入力電圧ANn < AVRL
(2)入力電圧ANn > AVRH
本MCUは、電気的特性にもあります様に、基本的にアナログポートへの入力電圧は、AVRL,AVRH内にある必要があります。
1)入力電圧ANn < AVRL or 2)入力電圧ANn > AVRHの場合に他のアナログ入力ポートのA/D変換への影響ですが、構造的には内部に影響する様なパスはありませんので、実力的には問題無く動作すると考えます。
21. A/Dポートの8ポートのうち、真中の1ポートを汎用ポートとしてAN0~AN7までサーチした場合、汎用ポートとして使用したアナログ変換はどうなりますか?
基本的に、ポート状態がA/D変換されます。
22. A/D変換において、効率良く複数チャネルを変換する方法は何かありますか?
当社マイコンのA/Dコンバーターマクロには、設定chから設定chまでのA/D変換を連続に変換する機能があります。また、拡張インテリジェントI/O機能と合わせて使用する事によっても効率良く複数chのA/D変換を行う事が出来ます。
23. ソフトウェア起動(STRTbit=1)してもA/Dが起動しない。
BUSYbit=0とSTRTbit=1を同時に書き込んでいませんか? BUSY=0はA/Dの強制終了になりますので、同時に書き込むとA/Dは起動しません。(RMW系命令を本レジスタに実行した場合は、BUSY bitは常に1がリードされますので、STRTのSETビット命令にてSTRT=1, BUSY=1となり、正常に起動すると考えます。)
24. A/Dコンバーター再起動可能単発モード(MD0,1=00)において、設定チャネル間(CH0->1,2…)でSTRTビットにより再起動させると、「CH0->CH1-RESET-CH0->CH1…」の順で変換されるはずが、「CH0->CH1-RESET-00h->CH0->CH1…」と動作するのですが、なぜですか?
STRTビットで再起動する場合、割込みルーチン処理が長いと、次の割込み制御をしようとするため、このような現象が発生しているものと考えられます。A/D変換中に再起動する場合は、INTビットをクリアしてから再起動(ここでもINTビットをクリア)することで回避できると考えます。
25. 停止モード時において、一時停止中のBUSYbitの値は何になっていますか?
一時停止中はBUSY=1となっています。停止モードを一度起動すると、BUSYビットに"0"書込みをしない限り、BUSY=1のままとなります。
26. スタートチャネル設定ビット(ANS0~2)、エンドチャネル設定ビット(ANE0~2)をビット定義して使用することは可能ですか?
スタートチャネル設定ビット(ANS0~2)は、リード時とライト時では内部のアクセス場所が異なります。
- リード時 :
A/D変換中は、変換中のチャネル番号
変換停止中は、前に変換したチャネル番号 - ライト時 :
スタートチャネル番号の設定
従って、エンドチャネル設定ビット(ANE0~2)をビット定義して使用した場合、スタートチャネル設定ビット(ANS0~2)が意図しないチャネル設定に変化する可能性がありますので、ビット定義での設定はできる限り避けてください。
27. A/Dセッティングレジスタ(ADSR0/1)のA/D変換終了チャネル選択ビット(ANE0~4)をC言語にて書き換えると、予期しない値が変換されますが、なぜですか?
A/D変換開始チャネル選択ビット(ANS0~4)が書き変わっている可能性があります。C言語でビット操作記述をした場合、アセンブラにコンパイルするとリードモディファイライト命令(RMW命令)となります。ANS0~4等の、書き込み時と読み出し時で動作が異なるビットの場合、予期しないデータを書き込んでしまいます。対策方法としては、ワードでの一括書込み(レジスタ操作)や、ANE0~4->ANS0~4の順で書き込む方法があります。
28. A/D データレジスタ上位( ADCR:H)ではA/D 変換のコンペア時間と、サンプリング時間の選択が可能ですが、これら各々の選択の設計根拠はどのように考えれば良いですか? 例えば、「コンペア時間が長い方が変換精度が良い」とか...
A/DCに内蔵されるサンプルホールド回路に外部のアナログ電圧をチャージする時間をサンプリング時間といい、チャージした電圧をデジタル値に変換する時間をコンペア時間といいこの2つに分けられます。A/Dコンバーターの変換精度に影響するのは、このうちサンプリング時間の影響が大きいと考えます。それは、A/Dのサンプルホールド回路は、変換毎にアナログ電圧を保持しているため、新たに変換するアナログ電圧をチャージしようとすると一旦、前回サンプリングされた、アナログ電圧が外部端子に出力されます。この時、アナログ端子のインピーダンスが高いと本来のアナログ電圧値に戻る前にサンプリング時間が終了し、サンプルホールド回路にチャージされた電圧が、異常な場合が想定されその異常電圧をデジタル値に変換されるためです。
29. 変換時間についてはなぜ選択可能になっているのか理解しかねますが...。
変換時間の設定が可能な理由は、マシンサイクルが8MHzになっても最小変換時間を設定できるよう選択可能にしております。ようは、マシンサイクルがお客様の都合で変更され、A/D変換時間がそれに応じて遅くなるため、少しでも変換時間に自由度を持たせなるべく変換時間を短く設定できるように細工しております。
30. 内部動作周波数とADの変換精度は関連しますか? (8MHz/16MHz/24MHzにて比較)
内部動作周波数は直接関係ありません。
内部動作周波数により変わるサンプリング時間と出力インピーダンスが影響を及ぼしているものと思われます。
31. アナログ入力電流と入力リーク電流の違いは何ですか?
アナログ入力リーク電流は、A/D変換におけるポード電圧サンプリング時に漏れる電流値になります。
これに対して、入力リーク電流とは、ポートが入力状態(Hi-z)において内部の保護ダイオードを通して漏れる電流となります。本アナログ入力リーク電流は、実力的には100nA程度(以下)と考えていただければ結構です。
32. A/D変換精度の定義は?
詳細は、各デバイスのデータシートのA/Dコンバーターの項目を参照願います。
