2023/04/22

Saleae Logic pro8

(1年前に書いていて投稿を忘れていたので放流)

 ゼロ年代後半 個人的にオシロも持っておらず、プロトコルアナライザもデバッガの概念もなかったころ、デバッグ中の基板にはAMモードにした広帯域受信機(DJ-X11)を近づけて動作検証していた。
  一昔前の5V動作の16bitマイコンはクロックの放射ノイズも大きく(周波数拡散クロックなんて無かった)、ループ処理の過程でピーとかザーとか激しく主張していた。UARTもRS232レベルシフタを通していたので、文字送信があるたびに  チ、チ、チ、 とリズムを奏でていた。書き込まれたプログラムが止まってしまうとそうした喧噪も止まり、ユニバーサル基板の切れ端とUEW線とリード抵抗の足の切れ端だらけの机はホワイトノイズに包まれた。
 機器間通信が増え、処理性能とソフトウェア規模が肥大化し、無料版の純正ツールやフレームワークに落とし穴があることが前提な昨今、ハードウェアの挙動をリアルタイムで把握することは問題の早期解決に役立つ。

 4年前に https://www.saleae.com/ja/ のロジックアナライザ を導入して使っているが、早くから導入していればと思ったデバイスの一つ。現在はソフトウェアがLogic 2.xになり大幅に更新されている。昨今の半導体不足の流れで一度仕様変更があり、いつの間にか市販価格が倍近いお値段になっている…。

収録動作

 理論上USB3.0帯域をフルで使う信号キャプチャ機器なので、レコード長はPCのメモリ容量に依存する。なのでRAM容量が許すかぎり設定したサンプルレートで連続したキャプチャを続けることができる。 ロジックの場合変化が無い区間はデータは増加しない。

負荷テストということでわざとアナログ多チャンネルの高速キャプチャを行ってみると、数秒でGB単位の信号がRAMに保存される。
 

 開発PCのメインメモリを64GBにしたので、限界まで収録できるか実験してみたが、クラッシュせずちゃんと記録できた。
 サンプルレートの最高値はUSB3.0の帯域を上限に、同時に取得するch数で割ることになる
 パラレルバスや多数の信号を同時にデバッグするなら、値段を気にせずLogic Pro16を買っておくのが良さそう。
 
とはいえ、シリアルバスのモニターであれば、プロトコルトリガーをかけることができる。観測対象が明確なら膨大なメモリは必須ではなく、一般的なロジアナと似たような使い方になる。
 本家でも解説されているけど、例えばUARTの出力は全部ログに残るので、デバッグモニター用のUARTラインを繋いでおけば特定メッセージの検索などができて便利。モニターchとして徒にUSBSerialを多数繋げる必要はない。

Raspberry Pi picoをMicroPythonで動かし、プロトコルトリガーをかけながらI2Cデバイスのレジスタ設定を試してるの図

最初からプロトコル対応数も豊富で、最近のバージョンは拡張機能としてデコーダーを書くことができ、様々なプロトコルや計測法を選べる。

 時折USB絡みで動作停止することがある。動作の安定性はUSB3.0の帯域に依存するため、ハブ構成、他のポートでの抜き差しや、合計のケーブル長などには注意が必要。USB3.0接続で安定しない環境では、あえてmicroB端子のケーブルでつなぎ、USB2.0接続で動かすということができる。 

アナログ観測

 Proモデルは最大50Mspsでアナログ電圧測定(-10~10Vまで)が可能になっている。
 ロジックを観測している端子で同時にアナログ電圧も取り込むことができる。デジタルバスで時たま通信不良が…といったシナリオや、そもそもロジック電圧として見えるかといったところを検証可能。
短期間の事象であれば、最高分解能で数分取り込み続け、あとから眺めるみたいな時系列の検証に便利だ。ただアナログchではトリガーができないので、あくまで収録後の解析手段となる。50Mspsだと1chで100MB/1秒のレートでRAMを消費する。
オシロ並みのサンプルレートを持ったデータロガーみたいな存在として使うことになる。とはいえ50Mspsなのでオシロの完全な代替とはならない。

  逆にものすごく低レートにすることで長時間ロギングが可能。Ver1のソフトウェアでは10bpsが選べた。V2も2.3.7から50bpsの低速サンプリングが可能になった。数十mVステップで数秒~数時間単位の電圧変化を見るだけなら、本格的な長時間向けデータロガーが無くても代用できそう。 非安定な電圧で動作する回路の挙動確認に便利かもしれない。

  波形の操作も軽快で、数十GB単位の膨大なキャプチャデータであっても、スムーズにズームとスクロール、タグ付けを行えるようになっている。 時系列で稀に起こるランダム事象の発見では強力なツールだ。Saleaeで流してグリッジの存在を探索し、特定してデジタルオシロを引っ張りだすのが効率的かもしれない。

RFパワーメータの出力を観測してみる

 AD8318は1~8000MHzの範囲のRFパワーをダイレクトに検出できる対数アンプで、RSSI計測や方向性結合器を介した送信機の出力計測などに使われる。
RF系の仕事も増えてきたので、出力確認のための簡易パワーメーターを作ろうと考えた。
マイコンなどで換算する例が多いけど、電圧値を取得して換算すれば出力値を得ることができる。


定期的な送信電波のVOUTモニタ例(横は分単位)

 電源を供給して、信号源の代わりに直接アンテナを繋いでオシロで観測していたとき、スマートフォンの電波などを拾って反応していることに気づいた。

わざと入力にダミーロードを付けて、近傍電波しか拾えないようにした。卓上のiPhone以外の信号は捉えにくくなったはずなので、その電波発信をモニターしてみる。
 

細かいピークは定期的にあるが、たまに高出力のピークが出ているのがわかる。

強いピークだけを拡大した所

 応答時間が10nSということで、パルス状の携帯電波等も細かくとらえることができる。適切なフィルタ回路とLNAを通せば、CWレーダーも作れそう。
(結局 、8GHzまで測れるRFパワープローブを買ってしまったので試みだけで終わった)

2023/01/02

新春マクロ撮影テスト


2022年に投稿するのをすっかり忘れていたら2023年になっていた。ということで今年もよろしくおねがいします。

主題としては、手元のマクロ撮影機材を比較する話。デジタル一眼レフとしてK-70を導入して数年になるが、最近ようやく標準ズームレンズ以外のレンズとしてHD PENTAX DA のマクロレンズ 35mmF2.8 Macro Limitedを入手。 

 マクロ撮影の領域については、Olympus TG-5でほぼ網羅されている。ほぼというのは、手軽さを追求した結果であり、一眼で真面目にマクロ撮影をしてこなかったという背景がある。一眼のキットレンズでも数十センチ離せば基板写真は撮れるので、画質の必要な用途でも棲み分けができていた。
  iPhone13proもマクロ撮影が可能だが、こちらは普段あまり使っていないので比較に加えた。

テスト撮影の被写体として、Arduino Dueを使う。適度に大きく、背の高い部品が生えていて、シルク印刷のエッジが出ているので比較には持ってこいだ。 (市場では物凄い値段になってしまっているけれど)

基板全体を撮影する

HD DA Macroは端までピントを出すためF8くらいまで絞った。TG-5も画角50mm相当で撮影する。iPhone13proは標準アプリとサードパーティアプリで撮影した。


HD DA Macro 35mm 50mm相当

TG-5 50mm相当 


iPhone13pro 26mm (Procamを使用)


iPhone13 pro 13mmクロップ状態(標準アプリ 26mm相当)


 APS-CサイズだとRAW画像の素性が良いので処理しやすい。ファインダーを覗けばピントも追いこめる。

TG-5は大抵AFで撮影しているが、実はピントが出ていない眠い画像になることが多かった。大画面で見るまで気づくのが遅れやすい。明るければいい写真が取れるし、RAW処理でノイズは目立たないレベルに持っていくことができる。

 iPhone13 proはお任せで撮ると、被写体が近ければ超広角13mm 遠ければ広角26mmを使う。Dueの基板全体を写そうとフレーミングを行うと、標準アプリ上では倍率1倍表示でも、13mmカメラをクロップして撮影しており、26mmカメラの画像と比較すると塗りのキツい絵作りになっている。

 高画質化のためにセンササイズ拡大を優先した結果、26mm広角があまり寄れなくなったことが原因だろう。
 勝手に切り替わると困るときは、サードパーティの撮影アプリを使って使用するカメラレンズを固定すると良い。この問題、同じく望遠端も暗くて手振れが多い状況では広角カメラをクロップしようとする。確かに明るいレンズを優先して、失敗写真を減らすという目的では正しいのだが…。標準アプリは十分な光量とピントの合わせやすい綺麗な風景専用と割り切ったほうがよいだろう。

最大限拡大する

マクロレンズでどこまで寄れるかは気になるところ、この3機種ともかなり寄れる。拡大率と作業性でいうと顕微鏡モードとオプションでリングライトを備えるTG-5の圧勝になるが、HD DA Macroもかなり拡大できる。ワーキングディスタンス(WD)は20mm程度あった。一眼の最短撮影距離は被写体からセンサ面まで距離の話なので戸惑う。

iPhone13 proのマクロモードはかなり寄れるが、代わりに周辺収差がすごいことになる。これは14proでは改善されたと聞く。WDは15mm程度まで寄れるが、超広角レンズは本体の真ん中寄りに配置されていて、寄るにあたって光源を遮ってしまいがちだ。

HD DA Macro 35mm 50mm相当

TG-5 100mm相当 

iPhone13 pro 13mm マクロモード

深度合成をする

奥行きのある被写体のすべての領域にピントが合った写真を撮る場合、被写界深度合成(Focus Stacking)を行う必要がある。複数の写真をソフトウェアで合成するのだが、結構手間がかかる作業だ。

TG-5で深度合成したマザボの裏1

TG-5で深度合成したマザボのCPUソケット裏のコンデンサ

TGシリーズは撮影するだけで全自動で処理してくれるという特徴があり、手軽に深度合成した写真を撮影できる。合成まで任せるか、少しずつフォーカスをずらした画像を撮ってくれるフォーカスブラケット撮影が選べる。

RAW現像ソフトのSILKYPIX Developer Studio pro10には被写界深度合成機能があるため、K-70でもピントをずらしながら撮影し、PC上でRAWを合成するという形で処理できる。

せっかく頑張ってボケる光学系になったものを台無しにするようだが、iPhoneでもアプリによってフォーカスブラケット撮影が可能なものがいくつか見つかる。デスクトップの小物くらいのサイズでは寄れないことも手伝い、効果が限定的でわかりづらい。合成まで行ってくれるものは見つからず、PC上で処理した。マクロモードのレンズ収差を補えるかと思ったけれど、限定的な効果にとどまっている。

HD DA Macro 35mm 50mm相当 F8をSILKYPIX10で5枚スタック

TG-5 被写界深度合成自動モード 80mm相当 

TG-5 RAWをフォーカスブラケット撮影 SILKYPIX10で合成

iPhone 26mmでフォーカスブラケット撮影 SILKYPIX10で合成

iPhone13pro 13mm フォーカスブラケット撮影 SILKYPIX10で合成

iPhone13pro 13㎜ 1枚のみ

一通り撮影してきて、マクロ記録撮影におけるTG-5のお手軽さを再確認した。iPhone13proでも代用できる範囲は結構広いけど、一般的なお手軽に振り切れた結果、ユースケースを外れた利用シーンでは逆に使いにくい面が目立つ。暗所撮影や解像度についてはK-70でこだわる感じで行きたい。

レンズを買ったきっかけは、Open Circuits: The Inner Beauty of Electronic Components という電子部品の図鑑に触発された面がある。下記リンクから一部の内容を閲覧できる。

https://opencircuitsbook.com/

古い電子部品やコネクタ、受動部品から最新のパッケージまで実物の構造を見せてくれる教育的な本なのでおすすめ。撮影テクニックについても解説がある。筆者は電子書籍版を買った後に物理本も買ってしまった。