2023年5月4日木曜日

ATtiny202 に自作Serial UPDI ライターで書き込み成功!

  AVRマイコンも時とともに変化してきていますが、私の電子工作では、従来の ATmega328 や ATtiny85 で事足りていました。 Atmel 社が Microchip 社に買われて少しずつ変化を見せる中で、新しい ATtiny 0 シリーズの ATtiny202 が秋月で売られているのに今更ながら気づきました。
 調べてみると、すでに2~3年前からあり、5個で¥200(@¥40)と超廉価でしたが、最近は円安・半導体不足とかで@¥70となっていましたが、それでも廉価です。
 話が逸れますが、秋月のAVRメニューの中でのお買い得は、ATmega 8 で@¥180でした。メモリこそ8kしかありませんが、28pinの DIPパッケージで、I/Opinも多く使いやすくて私のお気に入りです。

 ATtiny202 は、メモリが2kで、従来の ATtiny13A の後継のようですが、右写真のような8pin SOIC でそれこそ5mm角の小さなものです。私たちがブレッドボードなどで使うには、右の DIP 化ピッチ変換基板に乗せてやる作業が必要です。(この写真のものは、今回使った CH340N という USB-Serial 変換 ICで、同じ大きさです)

 また、この ATtiny202 へのプログラム書き込みは従来の ISP ライターでは書き込めません。
 ただプログラム開発は、Arduino IDE が使えるようで助かります、さすが Arduino !!!

 いろいろ調べてみると、 ATtiny202 へのプログラム書き込みは Serial UPDI という比較的簡単なものでよさそうです、なんとたった3本の線( Vcc 、GND 、UPID )でOK!!これなら私でも、、、とその気になって一気呵成に製作してしまいました。

 その方法は、USB-Serial 変換でパソコンから得られた、TXD RXD にダイオード(ショットキー推奨)と470Ωの抵抗1本で完成!?だそうで、 仕組みは私にはよく理解できませんが、回路図を入手しました。(wagiminator/AVR-Programmer で、github に公開されています)

 そこから引用した回路図を私用に多少変更したものが左図です。電源系を+5Vに限ればもっと簡素になりますが、+5V +3.3V の切り替えを可能にしております。
 +5V → +3.3V のレギュレータIC は150mA容量のものです。

 ATtiny202 のプログラム作成には、 Arduino IDE に、これも github から得た 「 mega Tiny Core 」というボードツールを、Arduino IDE のボードマネージャーを介してあらかじめインストールしておく必要があります。結果、書き込みツールにも「 Serial UPDI 」が追加されています。

 右写真の下にあるのが今回自作した「 Serial UPDI 」ですが即席の手作りなので見苦しい限りです。
 この「 Serial UPDI 」をパソコンのUSB端子に接続(写真はUSBハブを使用)し、出力の線3本をそれぞれ ATtiny202 の Vcc 、GND 、UPID に接続します。(写真中のピン名称を参照)
 この Vcc 1番ピン、GND 8番ピンはこれまでとは異なり8pin PIC のそれと同じで、大いに戸惑いますが、まさに Occupied Atmel ということでしょうか。

 Arduino の定番テストプログラム「 Blink 」の LED_BUILTIN は7番ピンが該当します。「 Serial UPDI 」上の赤色LEDは、左が電源、右がプログラム中をそれぞれモニタ出来るようになっています。写真はこれを実行中、、、

 ということであたらしい時代の AVR も手の届くところにあります、いろいろな機能を発見し、新しい製作物に思いをはせるのも、またたのしからずや、、、、といったこの頃です。