秋月で販売しているSTM32F042K6T6でAVRプログラマを作ります.
目次
STM32F042とは?
ARM Cortex-M0 ベースの32bitマイコンです.Nucleoボード等にも積まれています.秋月にて¥250で販売されています.
STM32F042は¥250という安さなのにUSBデバイスとして振る舞う事ができる優れものです.
さらに,STM32F042はD+のプルアップ抵抗や外付けXTALなど付けること無くUSB機能が使えます.入出力ピンの一部も5Vトレラントなので,5V系のAVRとも直結できます.
F042-AVRプログラマを作った動機
Atmel社を買収したMicrochip社の陰謀によりAVR ISP MKIIという比較的安価な純正AVRプログラマが販売中止に追い込まれました.
代替品を探してみた所,Pololu USB AVR Programmerという,純正AVRプログラマであるSTK500の互換品を発見しました.
Atmel Studio上で使用することができるので,純正AVRプログラマと使い勝手が変わらないのが魅力的でした.しかもUSB-Serialアダプターとしても使えます.
しかし,メインチップにPICが用いられているようで,「AVRプログラマに競合製品であるPICを用いるとはけしからん!!!」と思い,自作を決意しました.
調べてみると,ATMEGA8でSTK500互換プログラマを作成した前例がありました.
これを参考に作ってみることにしました.
F042-AVRプログラマの概要
STK500は元々COMポート接続ですが,今回はF042で仮想COMポートをエミュレーションします.USB-Serialアダプターとしても使えるように,COMポートを2つエミュレートします.STM32F042で仮想COMポートを2ポート実装する方法については,後日説明します.
ソフトウェア
GitHubで一応見れます.諸事情により公開停止中(=_=)
TINY2313のヒューズビット読み書き・Flash読み書きは確認しました.
USB-Serialアダプタとしても一応動きますが,検証が必要です.
ハードウェア
Eagleでプリント基板を設計してALLPCBで注文しました.
BOOTピンの配線が間違っていたので,後日気が向いたら再発注するかもしれません.下の回路図・パターンは修正済みです.
ALLPCBで頼んだ基板が届いた。25枚注文して1700円。実際は42枚封入されてた。BOOTピンの配線ミスってるから気が向いたら再発注するかも。 pic.twitter.com/J3uR42DZQO
— A.T. (@4730_gumi) 2018年1月5日
昨日届いた基板を配線した。ちゃんとAVRライタとして機能している。 pic.twitter.com/oPUOdhfeLL
— A.T. (@4730_gumi) 2018年1月5日