このページでは、サークル「MT40」で頒布している、「Nゲージ向けDCCデコーダ (第二世代)」のファームウェアを更新する方法についてご案内しております。
これ以外の機種の場合は、該当の機種のページをご参照ください。
この手順書は、avrdudeコマンドを直接操作してコンパイル済みのHexファイルを書き込む方法の案内となります。
他にArduino IDEから書き込む方法もあります。
Nゲージ向けDCCデコーダ (第二世代)では、マイコンにATtiny1606またはATtiny806を使用しております。
そのため、ファームウェアの書き換えを行うためにはUPDIインターフェースに対応したマイコンライターを用意する必要があります。
この手順書では、マイコンライターを用意するところから説明します。
ファームウェア更新を行うために必要となるものは、下記となります。
Arduino
マイコンへの書き込み機として、Arduinoを使用します。
(jtag2updiを書き込んで使用します)
この手順でプログラムを書き換えますので、スケッチを消去してもよいものをご用意ください。
互換機等でも対応可能であると思われます。
デコーダの各機種ごとに、プログラムポートの位置と配線の向きを確認してください。
どの機種も1.27mmピッチとなっておりますので、1.27mmピッチピンヘッダを使ったケーブルを作成すればより確実に書き込みを行うことができます。
Atmel ICEやPICKit4、各種評価基板など、UPDIに対応した純正の書き込み機をお持ちの場合は、この手順に従ってArduinoで書き込みを行う必要はなく、それらを使って書き込みを行うことができます。
配線手順に従って接続を行い、書き込みを行ってください。
DCCデコーダ基板のPROG端子の「GND」を、Arduinoの「GND」端子にジャンプワイヤで接続します。
PROG端子の「UPDI」は、4.7kΩの抵抗器を介して、Arduinoの「#6」端子 (Digital #6) に接続します。
線路電源の端子については、ワニ口クリップで線路電源 (コマンドステーション出力やDC12V) 、またはArduino上から供給する+5V電源に接続します。
もっとも単純な接続事例を下記写真で示しますので、参考にしてください。
接続時の注意点
K3057シリーズは構造上、線路端子の裏側に別のパターンが存在しており、そのままワニ口クリップで基板を挟むとはんだレジストが損傷し、意図せず短絡してデコーダ焼損が発生するケースがあります。
そのため、下記例のように適当な厚紙やプラ板などを挟み、線路端子の反対側を保護するように接続してください。
こちらのページから、使用しているデコーダに適合するファームウェアをダウンロードしてください。
現在の最新バージョン: Version 2022.12.09 (v1.0.5)
デコーダの型番 | 対応するファームウェア |
---|---|
K3066RA | MotorDecoder2-ATtiny1606-v1.0.5.hex |
K3057RA | |
K3057RA-S | |
K7012RA | |
T-EC215RA | |
M02F0RA | |
M02F7RA | |
K3057-T | FuncDecoder2-ATtiny806-v1.0.5.hex |
K3057-ST | |
T-EC215Tc | |
T-EC215F |
書き込みに用いるプログラム(avrdude.exe)、コンフィグファイル(avrdude.conf)、ファームウェアファイルそれぞれのパスをすべてコマンドに書けば動作するのですが、面倒ですので必要なファイルを一度すべて同じフォルダにコピー後、書き込みコマンドを実行します。
下記のファイルが必要となります。
ファイル名 | 存在しているパス |
---|---|
avrdude.exe | C:\Program Files (x86)\Arduino\hardware\tools\avr\bin |
avrdude.conf | jtag2updiを展開したフォルダ |
ファームウェアファイル | ダウンロードしたファイルをコピー |
各ファイルは、それぞれ下記の場所にあります。
すべてのファイルを集めてきて、下記の内容のフォルダを作ります。
先ほどのフォルダの中に、「write.bat」というファイルを作成します。
「新規テキストドキュメント」を作成し、ファイル名と拡張子を書き換えてしまうのが最も手っ取り早い手段であると思われます。
作成した「write.bat」を右クリックし、「編集」をクリックします。
バッチファイルの中身に、下記の内容を書き込みます。
avrdude -Cavrdude.conf -v -c jtag2updi -P com4 -p t1606 -U flash:w:MotorDecoder2.ATtiny1606.hex
なお、下記の内容は環境に合わせて適宜変更してください。
書き込み後、ファイルを保存して閉じます。
これで書き換えの準備は完了です。
配線方法に従って、ファームウェア書き換え対象のデコーダとArduinoを接続します。
デコーダの線路電源端子にはコマンドステーションからの電源、またはDC12Vを接続し、デコーダが動作する状態にします。
また、Arduinoはパソコンに接続し、パソコンから操作できる状態にします。
この状態で、先ほど作成した「write.bat」を起動します。
正常に書き込みが開始されると、2枚目の画像のように進行状況が表示され、完了すると自動的に閉じられます。
画面が閉じればファームウェア書き換え作業は完了です。 線路電源を落としてデコーダを取り外してください。