回路をI2Cで書き換えられるIC、GreenPAKを買ってみた

概要

汎用ロジックを組み合わせた回路をI2C経由で書き換えられるGreenPAKというプログラマブルデバイスを購入してみました。もうちょっと深く触っていきたいと思いますが、まずはデバイスの概要紹介をしたいと思います。

GreenPAKとは?

いろいろな製品があるのですが、I2C経由で回路を書き換えることができるデバイス群です。購入したのは何度も書き換えが可能なタイプですが、ほとんどの製品は一度だけしか書き換えられないデバイスです。

既存の数十の部品で構成された回路を、少ない部品数に集約するためによく使われるデバイスで、回路を書き込んだ状態で出荷もしてくれるみたいです。

日本ではあおいさやさんの上記ページに情報がまとまっています。

購入物

  1. SLG4DVKDIP(開発用書き込み機)
  2. SLG46826V-DIP(DIP変換済み開発ボード)
  3. SLG46826V
  4. SLG46826G

上記の4種類を購入してみました。何度も書き換えられるのはSLG46826シリーズと、その廉価版のSLG46824シリーズです。VとGはパッケージ違いでVがSTQFN-20でリフロー用、GはTSSOP-20で足がでているので頑張ればはんだ付けできると思います。

SLG46824は機能がちょっと制限されているのですが、値段差があまりないので上位機種のSLG46826を選択しました。$0.35(SLG46824)と$0.40(SLG46826)なんで、両方チップ単体で購入すると安いです。開発ボードになるとすべて同じ値段なんでSLG46824を選択する理由はないと思います。

購入と配送

国内では取扱店がありません。Digi-Keyは取り扱いはありますが在庫がない状態。Mouserは在庫それなりにありますが、DIP実装済みのものがなかったり$0.40のチップが170円超えていたりとちょっと割高です。

  • Dialog Semiconductorオンラインストア

上記の公式ストアから直販で購入するのが定番みたいです。今回は60ドル弱+送料15ドルでした。年内だと学生は送料無料キャンペーンがあるみたいです。

今見たらMouserでの在庫が結構復活していたので、他の部品と一緒に買うのであればMouserの方が安いかもしれません。

スイッチサイエンスさんでもDIP書き込み機は販売していますが、DIP実装済みのチップは種類が少ないようです。何度も書き込めるタイプのSLG46826は現時点では販売していません。しかしながらDIP書き込み機上でテストをする分には実際に書き込んでいるのではないようで、複数回テストが可能なようです。

Products
------------------------------------------------------
50 x SLG46826G (un-programmed) (GreenPAK)  = $20.000
25 x SLG46826V (un-programmed) (GreenPAK)  = $10.000
1 x SLG4DVKDIP = $24.990
2 x SLG46826V-DIP = $2.500
------------------------------------------------------
Sub-Total: $57.490
Shipping and Handling: $15.000

配送はFedEx経由ですが、一週間ぐらいかかると思ったほうがいいと思います。発送まではタイミング次第ですが、早い場合には翌日みたいですが私の場合には2週間ぐらいかかってしまいました。

上記の箱がさらにFedExのダンボールに入って届きました。

購入したのは4点ですが、書き込み機は別途USBケーブルが付属してきました。

こんな感じで書き込み機にDIP実装されたボードを接続して利用します。

裏側はこんな感じです。ピンがでていますので、書き込んだあとに動作確認も可能です。

こんな感じで動作確認が可能です。

何ができるの?

実はボードがなくても、アプリは利用できて回路のデバッグも可能です。あおいさやさんのページでも紹介されている以下の電子書籍を参考にして動かしてみました。

アプリのインストール

アプリはメールアドレスなどの登録が必要ですが、無料でダウンロード可能です。まずはボードを買う前に動かしてみたほうがいいと思います。

起動

アプリを起動するとボード選択がでますが大量に並びますので、フィルタリングをしたほうが楽だと思います。826などで絞り込んだのが上記です。データシートも落とすことができます。

回路を組む

電子書籍を見ながら組みます。一点違うところがあり、PIN5の入力を設定する必要があります。自動的には設定されないので、Voltage Sourceを自分で追加します。

動きました。V3が入力値で、FILTERで反転されています。プルアップのボタンを想定しているので反転しているのかな。一番下が出力でLEDがチカチカする部分です。ただこの回路だとLEDがついているのがデフォルトで、たまに消える感じですね。

実機で動かす

こんな感じでLEDを接続しました。PIN16からLEDと抵抗を経由してGNDに接続しています。

右上にあるChange platformを押して、書き込み機に変更をしました。また、PIN5の左のあたりにNCというアイコンがありますので、右クリックすると未接続からプルアップやボタンなどが選択できます。上記はボタンを選択した状態です。

左からLATCHが押したままにするかで、未選択だとクリックしたときだけ押されます。Uはプルアップ、Bはプルダウンのスイッチとなります。>VDD<と表示されている場合にはVDDに接続されている状態です。

また、ECというボタンがありますので、これを押すと右側のパネルのExt. VDDがクリックされた状態になります。これで動かす準備が整いました。ボタンを押すとチカチカLEDが点滅します。押していない状態だと光ったままなのでちょっと不思議な回路です。

ちなみにPIN5はプルアップされているので、ボタンを接続するかGNDに直接接続することでLチカさせることが可能です。本質的には内部のアプリボタンではなくて、外部回路で制御する方が確実なのですが、ボタンとか接続するの面倒ですよね。

どんな回路が組めるの?

  1. Analog Comparators
  2. FILTER
  3. EDGE DET
  4. LUT
  5. DFF
  6. LATCH
  7. PGEN
  8. Pipe Delay
  9. Pipple Counter
  10. WS Ctrl
  11. FSM
  12. CNT
  13. DLY
  14. P DLY
  15. VREF
  16. POR
  17. OSC
  18. I2C
  19. TEMP SENSOR
  20. BG
  21. EEPROM

ざっくりと、SLG46826には上記の部品を組み合わせることができます。I2Cで通信ができるので、外部拡張のIOとして使うこともできますし、IO同士を直結することもできます。IO同士を直結した場合には、レベルコンバータとしても動きます。I2Cのセレクタとしても動いたりといろいろできますが、いまいち理解できていません。

アナログ系の回路と、デジタル系の回路がいい感じに含まれているので色々可能ではあるのですが、部品の総数としては多くはないのでパズルのような組み合わせが必要となります。

上級者はすごい回路を組むと思いますが、とりあえず単純な回路を動的に組み替えることができるデバイスとして使っていきたいと思います。

最小構成

実はI2Cで書き換えることができるので、書き込み機は必須ではありません。ESP32などを使ってI2C経由で接続すれば書き込むことができます。とはいえアプリからかんたんに書き込むことはできず、一度保存したファイルを転送する手順が必要になります。

人が組んだ回路を入れてみるだけや、お試しとしてはI2C経由で焼き込むのは非常に安くすんでおすすめだと思います。とはいえ、最初はボード無しでアプリ上で動かすだけで十分楽しいと思います。

参考資料

販売元が公開している、上記の日本語資料がいまのところ一番まとまっているマニュアルになっています。あおいさやさんの情報をあわせて確認してみてください。

まとめ

汎用ロジックを自由に組み合わせることができるプログラマブルデバイスです。汎用ロジックはあまり触ったことがないので、汎用ロジックの学習用としていろいろな回路を勉強していきたいと思います。

555相当のタイマー回路も作れるみたいですのでそこまでは行きたいと思っています。

コメント