2023年4月26日水曜日

AVR書き込みボードを作ってみました

  ここでAVRというのは、自動電圧調整器(Automatic Voltage Regulator)ではなく、我々アマチュアの電子工作によく使われる、Atmel社のマイクロコントローラ(いわゆるマイコン)のことで、左写真の上にある3個のICが代表的なものです。

 マイコンというからにはプログラムを作成し、このプログラムをマイコンに書き込まなけばなりません。いちばん下に写っているのがプログラム書き込み器、いわゆるプログラマでこれはUSBaspと称されるものです。

これらのAVRにプログラムを書き込むには、AVRチップに電源を与え、プログラマから RESET、MISO(Master In Slave Out)、MOSI(Master Out Slave In)、SCK(System Clock) の信号を所定のピンに与えることでなされます。
 
 右図は、ISP(in-circuit serial programming)と称される、標準化されたコネクタのピン配置で、前述の信号が示されています。

 従来はブレッドボードにAVRを固定して、プログラマからのリード線をあらかじめ決められたAVRのピンに接続してプログラムを書き込んでいました。
 最近「AVR書き込みボード」なるものを部品通販で目にして、気になっていましたが、JH4VAJ さんのブログで製作記事を読み、手元の40ピン・ゼロプレッシャーIC ソケットを見ているうちにその気になり、一気に作り上げてしまいました。

 左図は覚えのための配線図モドキです。中央の40ピン・ゼロプレッシャーIC ソケットを上から見た図に適当に部品と、結線を示しておきました。結線は右下のIPSソケットに帰着・接続してあります。

 図中にあるように、3種類のAVR(8pin、20pin、28pin)がこのソケット1個でプログラムできますが、当然のこととして同時に2個は使えません。

 右写真は、上が上面、下が裏面の様子です。これら部品はそこいらに転がっているものを有効利用したもので、特に新しいものはありませんが、強いてあげれば秋月の片面ガラスコンポジット基板くらいなものでしょうか。
 上写真の上方にみえる赤色のLEDはArduino IDEの例題にある、BASIC の BLINK を走らせて動作チェックするための、いわゆる「Lチカ」用です。(28pin、8pin)はLEDが点灯しますが、20pin はLEDの接続pinを変更しないと光らないようです。


 左写真は、8pin AVRのATtiny13A で
「Lチカ」実行中です。

 パソコンのUSBハブにUSBaspプログラマを差し込み、もう一方を今回製作の「AVR書き込みボード」のISPに接続してあります。

 他の20pin AVR ATtiny2313、28pin AVR ATMega328 も同様にして作動が確認できました。

 書き込みのプログラムは avrdude を使っていますが、わたしはコマンドラインが苦手で右に示したようなGUI経由で使っております。

 このYCIT版avrdudeGUIはかなり古いですが、その使いやすさから未だに手放せません。

 あとは適当なケースにでも入れてやらねばなりませんが、ここからは例によって遅々と進むことでしょう。

 AVRも Atmel 社が PIC を開発した Microtip 社に吸収されてどうなるかと思いましたが、その独自性を評価されてAVR はいまだに生き残り、かつ発展を続けています。
新しい世代の AVR も徐々に増えてきたようなのでまたいろいろ楽しみたいと思っています。

0 件のコメント: