■先日D級アンプキットを使って自作アンプを作ったわけですが、作ってみるとやっぱり面白くて欲が出る。RCAで受けるんじゃなくて、TOSLINKかCOAXIALを使ったデジタルオーディオレシーバーに挑戦してみたい。してみたいのだけど、今の道具立てではずいぶんきついということも解っていて、回路やプログラムに不具合があってもそれを調べる手立てがない。デジタルマルチメーターだけでどうにかなる世界ではなくて、オシロスコープほしいなあと漠然と思っていたのだけど、先日そこそこ安くてそれなりの性能がありそうな製品を見つけて買ってしまった。
青島(チンタオ)にあるHantekのDSO-2250で、国内輸入代理店はアテックス。サンプリングは250M/sでアナログ帯域は100MHzまで。ただ、このサンプリングレートだと実用になる帯域はだいたい25MHzくらいらしい、というのはアジレントの初心者向けオシロスコープガイドで仕入れた知識。
こないだまでよく使っていたPICやAVRの内蔵オシレータだと8MHzぐらいで、外部の発振器を使っても20MHzや32MHzぐらいなので、そのあたりを使うのであれば通用する性能かもしれない。ただ、今回使うのはSTM32(ARM)で72MHz駆動。この帯域まで十分に見れるようにするにはサンプリング周波数はたぶん1GHzが要求されると思うのだけど、そのクラスの製品はまだ高い。
ただ、72MHzといっても、実際に見たいのはSPIやUSARTの出力がきちんと出ているか、とか、オーディオ処理用ICの、1MHz未満の周波数帯域での動作なので十分に通用するだろう。
STM32はストロベリー・リナックスのSTBee Mini。基本のLチカプログラムを改造して外付けのLEDを点滅させるようにし、そのスイッチングで発生する矩形波をオシロスコープで観測してみた。
プログラム言語はCで、コーディング上ディレイ無しで走らせるとだいたい3MHz弱の矩形波を観測できた。波形は多少なまるものの、確かに矩形。角がなまるのは高周波成分を拾えていないからですね。
この観測過程でオシロスコープの使い方もなんとなく解った。特にプローブのチューニング。購入時に同梱されていたプローブ2本のうち1本が断線していて使えなかったので、結局秋月で300MHz対応のプローブを購入しています。電圧がx1,x10の倍率を選べるのですが、倍率を換えたらチューニングも調整しないと波形がキレイに出てこない。そういうものなのか、と。
Lチカの波形を見れたので、当面の目的だったSPIの波形を。というか、STM32のプログラミングがよくわからないので、とりあえずコーディングして、実際に動いているかどうか見てみたいわけです。ターゲットはデジタル温度センサであるLM74。SPIのスレーブで動く。
サンプルソースをとにかく探し、みようみまねでコーディング・アンド・コンパイル。LM74は何回か使ったことがあるのでSPIさえ処理できれば大丈夫。
数回トライしてクロック出しとCSのコントロール、LM74からのリードアウトをオシロスコープ上で観測できた。SPIのクロックで72MHzの4分周になる18MHzでもオシロではなんとか矩形波として見えなくもない波形となって、8分周の9MHzでは十分観測にかかるというのも予想通り。プログラムでは16分周として4.5MHzでクロックを出すようにしました。下の図がその波形。黄色い線がクロックで緑の線がLM74の出力。LM74の後端がきれいに落ちないでスロープになっているのは出力処理が終って、フローティング状態になっているからみたいです。実際にそんな波形が出ているなんてことは今の今まで知らなかったわけで、なるほどプルダウンは必須だなといったことが改めて理解できたりと、まあ、いろいろ面白い。