2020年11月11日水曜日

STM32で廉価4chオシロを作ろう(3)アナログフロントエンド

STM32で4chオシロを作ろう!

今回はアナログフロントエンドをどこまで簡素化出来るかを考えてみます。

アナログフロントエンドとは、此処ではBNCコネクタ〜ADCまでの回路の意味とします。

市販オシロのダイヤルを操作すると、内部で高周波リレーがチャカチャカ音を立てるのが聞こえます。高周波リレーは値段高いです。そんな部品を1つでも使おうものなら廉価オシロとは言えなくなります。
高入力インピー、周波数、DCレンジ、アッテネーター、50Ω終端、LPF、などの性能に拘るとアナログフロントエンドの価格はどんどん高くなってしまい、何を作ろうとしてるのか判んなくなっちゃうでしょう。

そこで廉価オシロを実現するには、アナログフロントエンドへの要求性能をどれだけ捨てられるかが大切です。

捨てるとこは捨て、残したいとこは残して考えてみた1ch分のアナログフロントエンド回路がこれです。

思惑は様々です。

まず部品価格ですが、MCP6024は4回路入opampで中華通販最安¥80ですので、都合¥40也。2P6TスライドSWは¥30也。1P2TスライドSWは¥10也。chip partsの価格はゴミみたいなもん。これが最安かな。なおBNCは巨大なので使うのに抵抗感があります。

MCP6024は10MHz rail to rail in/outなので便利です。opamp bufferなんかやりたくないけど、ADCが低インピー駆動を要求するので仕方なく採用です。

opampで1.65V嵩上げしてる理由は、ADCダイナミックレンジを正負に割り振るため。また、1.65Vは念の為DACで可変にしておく。→この回路しくじってる。負電源必要。

入力端に目を転じると、抵抗はアッテネーターです。ADCフルスケールをx2,x4,x8程度に拡大するため。アッテネーター設定をSTM32が知るには、連動SW電圧をADCでセンスする(ATTPOS)。リレーは使いません。

入力端子直後のSWはAC/DC couple。STM32は関知しないで良いと思いますのでセンスしません。

入力端子にいきなりアッテネーターが付くのですから、アッテネーターのインピーダンスがオシロの入力インピーダンスになります。10kΩ程度にするつもりです。1MΩを狙う投資に見合う価値無し。

帯域はADCに律速されます。STM32F205のADC最高サンプル6MHzですので、アナログフロントエンドの要求帯域は3MHzってとこ。
サンプル周波数はtime/div次第で変わるため、アンチエイリアスLPFは実装しないつもりです。

最後に蛇足ながら、、、回路図赤印の入力端子GNDを1.65Vdcに上げておくという方法で嵩上げするのも考えられますが、止めました。GND floatingを保証出来ないからです。

#この回路の他に、様々なロータリーエンコーダやプッシュSWが別途つきます。でもそれらはアナログフロントエンド回路では無いので後日。


かしこ

2 件のコメント:

  1. ある程度汎用性持たせようとすると結構大変ですねー。
    こうやって中身見てみると、やっぱり売り物の測定器って大変なものですねー。50万くらいで売っていたオシロをなるべく早くイメージ壊さずに1/5くらいまで価格下げてますからね。
    文句言いながら使っていてテクトロに申し訳ない気持ち〜。

    返信削除
    返信
    1. 50V〜2mVまで3GHzサンプリングなんつうかったるい回路をよく作ってるもんです。測定器会社えらいです。

      削除