皆さまAD変換は上手く行ってますか?
会社の設計業務では、よくAD変換を利用しています。
アナログ回路が苦手な電気設計の楠川です。
AD変換はマイコンの汎用機能なので、皆さんも良く使われると思います。勿論、マイコンでAD変換をしますので、実際には
ソフトチームがFirmwareを作ります。なので、ハードウェアエンジニアの私は、回路さえちゃんと繋がっていればOKと思っていました。
しかし、その中で上司から言われたのが、
『省電力デバイスでAD変換するときは、電源変動に気をつけよう』です。
➡【社長の赤ペン】
正確には、『ボタン電池(CR2032等)を使う場合は、マイコンの動作消費電流で電源変動するのでAD変換時は要注意❗』ですw
※省電力デバイス≒ボタン電池が大半ですので。
省電力デバイスは、
・スリープ状態 =マイコンが休止状態 =消費電流が最小状態 ※電池から引き出す電流がとても少ない状態
・アクティブ状態 =マイコンが動作状態 =消費電流が大きい状態 ←AD変換時はこちらです。
を切り替える必要があります。
なぜなら、動作が不要な間は更なる低消費化を目指すので、できる限りスリープ状態にして電池寿命を延ばしたいからです。
省電力デバイスで良く使用されるボタン電池では、内部抵抗が非常に大きいです。
高校時代の物理の電気の所で、出てきたアレです。電池の中に小さな抵抗[r]が入っていて、計算させられていたアレです!
内部抵抗が大きい電源(今回はCR2032)で、消費電流の大・小で電池の電圧がどう変わるのか?
百聞は一見にしかず、この波形をみてください。
水色の波形は電源電圧です。「アクティブ状態(スリープ解除)」とともに電圧が低下しています。(約10mVの低下)
※波形がギザギザに成っているのは、BLEの送信・受信や他の動作(ソフトの処理も含め)パルス状に流れる電流が違うのがそのまま波形にでています。
もっとも太い部分の平均的中心線辺りで判断します。
➡ 【社長の赤ペン】
超低消費電力のBLEチップとCR2032の組合せでは、最大0.25v(250mV)程度の電圧降下があるのを前提として設計コンセプトを立てる事を勧めます。
※(参考)ピークTx・Rx電流で
15~20mA/burst with CR2032: Δ0.25v
5~10mA/burst with CR2032: Δ0.1~0.15v
位がアンチョコ基準です。
あと、ちゃんとオシロはフィルター掛けて測定すれば、もっと解りやすいキャプチャ画に成ったはず。
この10mVの低下は、BLEチップの消費電流が増えたときの電圧低下です。その大半がソフトウェアが動いて居る事による消費電流の増加分です。
このように電源の内部抵抗が大きいと、消費電流が増えたときに電源電圧が低下します。
※上で述べた内部抵抗[r]によって電池端子の+端子の電圧[mV]が[r]x[mA]分下がっている様子です。
この波形では、スリープ状態からアクティブ状態(スリープ解除)に移行して、マイコンのソフトウェアが動き出し、消費電流が増えた事で、電源電圧の低下を引き起こしています。
このグラフの注目点は、それに伴い測定したいセンサー電圧も、電源電圧低下に遅れて電圧降下していることが確認できます。
ビーコンなどの省電力デバイスでは消費電流削減のためにスリープを多用することが多々あるかと思います。
そんな多用するスリープ。
スリープを解除したときに、微妙な電源変動が起きるかもしれません。
➡ 【社長の赤ペン】
間違っては無いのですが、厳密に言いますと、ちょっとこの日本語だと勘違いされかねません。
というのも、スリープ時・スリープ解除時を区別していますが、スリープ時は、マイコンは起動割込待ちで眠ってますので、
ADは使わない=ソフトウェアもアクティブじゃないので、気にしなくて良いです。どうせ何も動いてないからですw
ただ、アクティブ時でもソフトウェアの動き次第で消費電流は変わるのは正しいです。
まぁ、最低消費電流としてスリープ状態と比較したんだと思いますが、実際はソコじゃないですw
また、本当に注意すべきはハードウェアエンジニアだけでなくソフトウェアエンジニアも同様です。
通常のAD変換の比較基準電圧がVdd基準の場合が多いです。 つまりVdd_I/Oというマイコンのコア電圧基準のAD変換が一般的なのです。
すると、Vdd_I/O:3.3vで、(神様だけが知っている正確な)AD入力値が1.1vで、8bitADとしますと、1.1/3.3v≒0.333v➡256x1/3が読み取り値です。
しかし、その時のVdd_I/Oが3.2vに下がった瞬間だったとしますと読み取り値が変わりますよね。これが問題になるという事です。
1.1vは変わらない前提です。 「1.1vも同様に下がるから変わらないのでは?」というのは設計者としては失格ですw
(追記)一昔前は、Vdd基準とVref基準というのが選べるAD変換機能が多かったのですが、最近はVref基準のAD変換は余り見ません。
古い設計のマイコンには多いですね。PICとかはまだ選べると思います。
ただ、このVref基準も、以前使って居たマイコンの仕様書はVref:0.8v(min)~0.9v(typ)~1.0v(max)と±0.1vで、アテにはならないもんでしたw
ビーコンなどの省電力デバイスでは、測定電圧が小さくなりがちだったり、内部抵抗が大きな電池を使ったりと、アナログ的には不利な点がいくつかあります。
これらの電気的に不利な点を考えながらこの波形を見ると、アナログを扱うときは気をつける点が多いことがわかりますね!
これからも気をつけていきます!