ユーザ用ツール

サイト用ツール


mobiledecoder2:update

文書の過去の版を表示しています。


ファームウェア更新方法 (jtag2updi)

このページでは、サークル「MT40」で頒布している、「Nゲージ向けDCCデコーダ (第二世代)」のファームウェアを更新する方法についてご案内しております。

これ以外の機種の場合は、該当の機種のページをご参照ください。


はじめに

Nゲージ向けDCCデコーダ (第二世代)では、マイコンにATtiny1606またはATtiny806を使用しております。
そのため、ファームウェアの書き換えを行うためにはUPDIインターフェースに対応したマイコンライターを用意する必要があります。

この手順書では、マイコンライターを用意するところから説明します。


更新に必要なもの

ファームウェア更新を行うために必要となるものは、下記となります。

Arduino

マイコンへの書き込み機として、Arduinoを使用します。
(jtag2updiを書き込んで使用します)
この手順でプログラムを書き換えますので、スケッチを消去してもよいものをご用意ください。

互換機等でも対応可能であると思われます。

4.7kΩの抵抗

UPDIの信号線に挿入します。
この例ではリード付きの1/6Wタイプを用意しましたが、もっと大きなものや、チップ抵抗にリード線をはんだ付けしたものでも可能です。

ブレッドボード用のジャンプワイヤ

リード線の前後に抵抗の足などをはんだ付けしたものでも代用可能です。

ワニ口クリップ付きの配線

ファームウェア更新対象のデコーダをに対して、車両から外した状態で電力を供給するために使用します。
車載した状態で線路電源を投入すれば書き込み可能な状態となりますが、プログラム端子と線路電源の接触によるデコーダ焼損のリスクがあるため推奨しません。


デコーダ側のプログラムポートの確認

デコーダの各機種ごとに、プログラムポートの位置と配線の向きを確認してください。

どの機種も1.27mmピッチとなっておりますので、1.27mmピッチピンヘッダを使ったケーブルを作成すればより確実に書き込みを行うことができます。

Atmel ICEやPICKit4、各種評価基板など、UPDIに対応した純正の書き込み機をお持ちの場合は、この手順に従ってArduinoで書き込みを行う必要はなく、それらを使って書き込みを行うことができます。
配線手順に従って接続を行い、書き込みを行ってください。


配線方法

DCCデコーダ基板のPROG端子の「GND」を、Arduinoの「GND」端子にジャンプワイヤで接続します。

PROG端子の「UPDI」は、4.7kΩの抵抗器を介して、Arduinoの「#6」端子 (Digital #6) に接続します。

もっとも単純な接続事例を下記写真で示しますので、参考にしてください。

接続時の注意点

  • PROG端子に接続するワイヤと、デコーダ上のPROG端子以外の接点と接触していないことをかならず確認してから通電を開始してください。
    PROG端子と関係のない端子が電気的に接触している場合、高確率でデコーダが焼損します。
    (特にRail+、Rail-、12Vに接触した場合はほぼ確実に焼損します)
  • PROG端子に接続するワイヤ2本 (GND、UPDI) 同士が接触している場合は、ファームウェアの書き込みはできませんが焼損はしません。 安心して配線を確認後、書き込み操作をやり直してください。

Arduinoをライターにする

用意したArduinoにjtag2updiを書き込み、UPDIライターとして機能するようにします。

jtag2updiのダウンロード

下記ページから、jtag2updiをダウンロードします。

https://github.com/ElTangas/jtag2updi

ダウンロードしたファイルを展開すると、下記の内容が表示されますので、「source」フォルダを「jtag2updi」に変更します。

名前を変更した「jtag2updi」フォルダを開き、「jtag2updi.ino」を開きます。

jtag2updiのビルド・Arduinoへの書き込み

書き込み機として用意したArduinoの種類に合わせ、ボードの種類を選択します。
今回の例ではArduino Unoの互換機を用意したため、「Arduino Uno」を選択します。

メニューから「スケッチ」「検証・コンパイル」を選び、ビルドします。

「マイコンボードに書き込む」を選び、Arduinoに書き込みます。

これで、ArduinoをUPDIに対応したマイコンライターとして使用する準備が整いました。


ファームウェアの準備

こちらのページから、使用しているデコーダに適合するファームウェアをダウンロードしてください。

現在の最新バージョン: Version 2021.06.28 (v1.0.1)

デコーダの型番 対応するファームウェア
K3066RA MotorDecoder2.ATtiny1606.hex
K3057RA MotorDecoder2.ATtiny1606.hex
K3057RA-S MotorDecoder2.ATtiny1606.hex
K3057-T FuncDecoder2.ATtiny806.hex
K3057-ST FuncDecoder2.ATtiny806.hex

書き込みを行うためのフォルダ準備

書き込みに用いるプログラム(avrdude.exe)、コンフィグファイル(avrdude.conf)、ファームウェアファイルそれぞれのパスをすべてコマンドに書けば動作するのですが、面倒ですので必要なファイルを一度すべて同じフォルダにコピー後、書き込みコマンドを実行します。

下記のファイルが必要となります。

ファイル名 存在しているパス
avrdude.exe C:\Program Files (x86)\Arduino\hardware\tools\avr\bin
avrdude.conf jtag2updiを展開したフォルダ
ファームウェアファイル ダウンロードしたファイルをコピー

各ファイルは、それぞれ下記の場所にあります。

avrdude.exe

avrdude.conf

すべてのファイルを集めてきて、下記の内容のフォルダを作ります。

バッチファイルの作成

先ほどのフォルダの中に、「write.bat」というファイルを作成します。
「新規テキストドキュメント」を作成し、ファイル名と拡張子を書き換えてしまうのが最も手っ取り早い手段であると思われます。

作成した「write.bat」を右クリックし、「編集」をクリックします。

mobiledecoder2/update.1624888035.txt.gz · 最終更新: 2021/06/28 13:47 by ytsurui

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki