新AVRのUPDI書込器 (2023年1月3日)
AVRマイコンの製造元のATMEL社がMicroChip社に買収されて、
AVRマイコンが新型にリニューアルされました。
マイコンのコア部分に変更はなく、 R0~R31の32個の8ビットレジスタ
単純明快なRISC命令 パイプライン処理による1命令1クロックでの実行(例外あり)
などの特徴は変わりません。
リニューアルされたのは周辺回路で、ほぼ別物と言っていいほどです。
高機能になったり、イベントコントラーラが新たに装備されました。
最初の問題はプログラムを書き込む回路の変更です。
旧来のAVRは、 RESET
SCLK
MISO
MOSI
の4種類の信号線が必要でした。
CPUをRESET状態にしたままで、SPIで 書き込みをするようになっています。 最低でもGNDと合わせて5線が必要でした。
通常はAVRマイコンの電源電圧を監視した方がいいので
普通は6線となっています。
新AVRでは UPDI
の1線だけでOKです。GNDと合わせて2線です。
電源電圧を監視などをするとしても3線で済みます。
これだけでプログラムもデバッグもできます。
しか~し、今まで使っていたATMEL社純正の
書き込み器は使えなくなりました。
UPDIは双方向の非同期シリアル通信なので、
とても簡単なインターフェースでPCと接続できます。
書き込みのためのPC側のソフトもフリーのものがあります。
avrdude.exeです。
これはコマンドラインで使うもので
avrdude\avrdude -v -p attiny816 -P com6 -c serialupdi -b230400 -U flash:w:avr.hex
のようにコマンドを打って使います。
バッチファイルにして使っていましたが、CPUの種類やCOMポート番号は よく変わるので、GUIのラッパーを自作しました。
|
 |
これでワンクリックで書き込みできます。
ついでにアセンブルもワンクリックでできるようにしました。
|
 |
普通のUSBシリアル変換器(TTL/CMOS)と、ダイオードと抵抗を1本ずつの
インターフェース回路で使えますが(写真の上側)、専用基板を起しました(写真の下側)。
あんまり小さくならなかったです、、、 (30mm☓12mm) 3Pのコネクタを横型にしたのと、USBコネクタをType-Cにしたので
長く大きくなってしまいました。
【2線なのにコネクタが3Pとは? 】
一応、この書き込み器からターゲットに電源を供給できるように
電源ピンを設けましたので3Pになっています。
ターゲット側の電圧をモニタするものではありません。 書き込み器側にジャンパーがあって5Vか3.3Vを供給できます。
ちょっとした実験をする時に、AVR用に別途電源を用意する必要がないので
便利かな~、と思います。
|
 |
 |