アナデバ様の日本語ページの進捗に追いついたので、今回はまたAnalog Discovery 2の機能を使ってみる編に戻りたいと思います。今回使ってみるのはデジタル機能、プロトコル・アナライザです。いつもロジアナ機能の御供のプロトコル解析の方を使っていたので今までうっちゃっておいたもの。使ってみればこれはこれで便利かと。
※「お手軽ツールで今更学ぶアナログ」投稿順 indexはこちら
AD2の Protocol Analyzer機能
Digilent製Analog Discovery 2(最近Analog Discovery 3も登場したのですが、とても買い替える余裕もありません、ましてやProなど)は、AnalogといいつつDigital機能もいろいろ充実しています。その中でもロジアナ機能はマイコン関係の回路が動かね~などというときいつもお世話になっております。設定すればロジアナ機能の中でSPI、I2Cなどのプロトコルを解析して見やすく表示してくれる機能もあり、便利してます。
そのためプロトコルアナライザ機能はずっとうっちゃっていたのです。しかし使ってみればプロトコル・アナライザ機能にはこちらなりの利点があります。ロジアナ機能は時系列の信号をキャプチャして解釈しているので、表示可能な信号は物理的な時間長さの制限をうけます。そのため長期間のやりとりの解析はツライものがあります。一方、プロトコルアナライザでは、時間方向は上から下なのですが、物理的な時間で並べているわけではないです。プロトコルを解釈した結果を1行づつ表示しているので、1行1トランザクションという感じで物理的な時間長さの制限はうけないです。波形ではなく数値で表示されるのでより抽象的なやりとりレベルで見やすいと思います。
AD2のProtocol Analyzer機能は以下のようなプロトコルに対応してます。
-
- UART
- SPI
- I2C
- CAN
- CEC
- AVR
上記のうち、UARTからCANまではお馴染みかと思います。CECは、HDMIのConsumer Electronics Controlみたいです。HDMI接続している機器同士で情報をやりとりするためのもの。メーカのお名前を冠したxxリンクといった機能で使われているらしいです。知らんけど。AD2ではビデオ信号の解析は難しかろうと思いますが、制御情報は解読可能?らしいデス。ホントか?
最後のAVRは、言わずとしれたMicroChip社(元Atmel)のAVRマイコンのことです。プロトコルを解析するのではなくて、AVRマイコンのFlashなどに書き込み、読み出しなどができるということみたいです。ううむ、知ってしまったからにはこれは使ってみないとな。AD2はフラッシュ書き込み機能まであったのね?
プロトコル・アナライザについてのマニュアルページが以下に。
今回のターゲットデバイスとその接続
今回は、SPIのプロトコル解析をホスト micro:bit v2、デバイス 23LC512 SPI接続SRAMで行ってみたいと思います。読み書きに使っているソフトウエアは以下の別シリーズで作成したテストプログラムです。
GoにいればGoに従え(22) TinyGo、SPI接続、micro:bit v2の場合
AD2を含めた回路接続は以下のようです。
まずはロジアナのプロトコル解析機能で観察
プロトコルアナライザ機能を使う前に、ロジアナ機能のSPI解析で眺めてみます。こんな感じ。
今回、1回の通信が4バイトなので、この4バイト期間が1回であれば、これで十分わかります。しかし、今回、書き込みと対になる読み出しは時間的に遥かに先なので、書き込みから読み出しまでロジアナ機能で追いかけようとしても追いつきません。
プロトコル・アナライザ機能で観察してみる
プロトコル・アナライザ機能に切り替えました。以下、マーカで色分けしました。
-
- 黄色、02hはSRAMに対する書き込みコマンドバイト
- 黄緑、03hはSRAMに対する読み出しコマンドバイト
- 水色の連続する2バイトはSRAMアドレスの指定16ビット分
- ピンク色のバイトはSRAMへの書き込みバイト
- オレンジ色のバイトはSRAMからの読み出しバイト
プロトコル・アナライザ機能を使えば解析はお楽。