写真1 AD9833 DDS MSOP 0.5ピッチ 変換基板に乗せる

 

それはさておき、

 

このチップは10ピンのMSOPで、写真にようにピンセットの先ほどの大きさです。

 

変換基板に取り付けましたが、ピンのピッチは0.5なので、半田付けにはちょっと技術が必要です。

 

まずチップをゲルタイプの瞬間接着剤で正確な位置に仮止めしておきます。

 

フラックスをほんのわずか塗って、すべてのピンにわざとまたがるくらい半田を盛ります。

 

半田吸い取り線で、余分な半田を吸い取って、出来上がり。

 

慣れれば簡単ですが、最初は数個パーにする覚悟がいります(笑)。

 

このDDSは、マスタクロック(MCLK)周波数は最高25MHzで、その場合最高発振周波数(ナイキスト周波数)は12.5MHzとなり、分解能は0.1Hzです。

 

今回は手持ち部品の関係で、20MHzのクリスタルを使用したので、10MHzまでのプログラマブルオシレータとして、実験してみました。この場合の分解能は約0.075Hzです。

STM32L DiscoveryのIdd Measurement

投稿日 2014/09/18

STM32L DiscoveryのIdd Measurementについて、計測回路にちょっと興味があり調べてみました。

 

STM32L DiscoveryにはL つまりLow power(低消費電力)の32bit MCUが搭載されています。MCUはSTM32L152RBT6です。

 

なお8bit MCU搭載のSTM8L Discoveryもあり、MCUはSTM8L152C6T6 です。

 

低消費電力がうたい文句のMCUですから、その評価ボードDiscoveryのデモプログラムも、低消費電力がアピールできるものになっています。(キャップセンスのデモも含まれています。)

 

デモプログラムの説明は、AN3413 STM32L1x current consumption measurement
and touch sensing demonstration firmware
にあります。このアプリケーションノート中で消費電流の測定方法が説明されています。

 

デモは、スイッチを押すごとに、実行モードを

 

Vdd表示

RUNモード 4MHz 【0.85mA】

SLEEPモード 4MHz 【0.29mA】

LOW-Power RUNモード 32KHz 【8.20uA】 

LOW-Power SLEEPモード 32KHz 【4.51uA】

STOPモード(with RTC) 【1.81uA】

STOPモード 【0.78uA】

STANDBYモード 【0.55uA】

 

の各モードに切り替えていき、そのモードでの消費電流をLCDに表示するものです。

【】内はそのモードでの実測消費電流(これは今回の実験で得られた値です。行うたびに少しずつ違います。)です。

計測の前に後述のBais電流の記録(一種のキャリブレーション)を行っておけば精度が向上します。

STM32L_Discovery_01.jpg
STM32L_Discovery_02.jpg

Vdd表示モード Vdd = 2.98V             RUNモード 4MHz Idd = 0.85mA

STM32L_Discovery_03.jpg
STM32L_Discovery_04.jpg

SLEEPモード 4MHz Idd = 0.29mA          LOW-Power RUNモード 32KHz Idd = 8.20uA

STM32L_Discovery_05.jpg
STM32L_Discovery_06.jpg

STOPモード Idd = 0.78uA               STANDBYモード Idd = 0.55uA 

 

IddはMCUが消費する電流です。各モードのIddを計測するに当たって、RUNモードはよいのですが、MCUや、ペリフェラルの一つであるADコンバータが停止するような低消費電力モードでは、実行中しかADコンバータが動作しないのに、停止中のIddを計測しなければならないというジレンマが発生します。そこで、Idd(シャント抵抗の両端の電圧に置き換え)をゲイン50の電流センス用アンプで増幅したあと、コンデンサに畜電し、スイッチSでアンプからCを切り離した後、C両端の電圧を後から計測する方法をとっています。それを実現するのがIdd measurment回路でMCU停止時のタイミング生成もやっています。

STM32L_Discovery_10.jpg

STM32L DiscoveryのIdd Measurement回路のブロック図

(STM社 STM32L1x current consumption measurement
and touch sensing demonstration firmwareより)

 

回路の中のスイッチはMOS FETのスイッチで、Iddが比較的大きい(mA)RUNモードのときは、シャント抵抗を2Ωとし、比較的小さい(uA)LOW-POWERモードなど場合は2KΩ(回路図では1KΩになっていますが)+2Ωとして、その両端の電位差を電流センス用アンプMAX9938FEUKを通して読み込んでいます。

 

MCUが動いていないときのIddを計測しなければならないので、30KHzでトリッグされているカウンタ(74HC4060)のRESET状態をPA13をLOWにして解除しカウンタを起動して、結局150mSくらい後にPA0をHIGHにしてアイドル状態のMCUをWAKEUPして、PA4からC13の両端の電圧を計測しています。コンデンサC13はスイッチ74H1G66が高インピーダンス状態になることにより電流センス用アンプから切り離され、計測電圧を維持しています。(アイドル状態のIddを自分で計測するのは、結構厄介ですね。)

STM32L_Discovery_08.jpg

STM32L DiscoveryのIdd Measurement回路

(STM社 STM32L Discovery Users Manualより)

 

なお、JP1をOPENにしてUSERスイッチ(青いプッシュボタン)を押しながら電源を入れるとBias電流の記録が行われます。これはLOW-POWERモードの計測エラーを最小限にするための一種のキャリブレーションです。JP1をオープンにしてIdd Measurement回路を停止させた状態で電流センスアンプの値をバイアス値として不揮発メモリに記憶して、以降の計測の誤差を最小にします。Idd計測の前に一度やっておく必要があります。

 

 

 

 

(JF1VRR)