How to make

マイコンボード「Da Vinci 32U」でAVRISP mkII クローンを作る

1.はじめに

  1. Da Vinch 32U はストロベリー・リナックスが製造・販売しているATmega32U4搭載のマイコンボードです。
  2. これをAVRライタ AVRISP mkII(クローン) に変身させます。
  3. ISP,TPI,PDI の書き込みプロトコルに対応しています。
  4. lufaプロジェクトのAVRISPmkIIクローンのソースコードからファームウェアをビルドしたhexを用います。
  5. AT90USB62を使用したAVRISPmkIIクローンのFRISK USBTiny MkIIの回路を採用します。

図はFrisk USBTiny MkIIから引用

この記事は「Arduino IDE配下のATtiny他の開発環境」で使用することを目的とし
“AVRDUDE ver6.2″で動作確認をしています。
“Atmel Studio”での使用については対象外で全くテストしていません。

2.用意するもの

  1. Windowsパソコン (Mac / Linux のバーチャルマシン上で動くWindowsでも可)
  2. Arduinoブートローダが書き込まれていないDa Vinci 32U
    Arduinoブートローダが書き込まれいる場合は「Da Vinci 32Uを初期状態にもどす方法」を参照して初期状態に戻します。
  3. Flipツール
    Da Vinci 32UにDFUでプログラムを書き込むツールです。Atmel社のFlipのページ(下記URL)からダウンロードしてインストールします。
    http://www.atmel.com/tools/FLIP.aspx
  4. AVRISP mkII クローンファームウエア
    AVRISP-MKII_ATmega32u4.zip をダウンロードします。
    解凍するとAVRISP-MKII_ATmega32u4.hexが生成されます。

3.Da Vinci 32U AVRISP mkII クローン接続図

図1
PF4ポートの「Voltage」はターゲットの電圧をモニタするものですが,+5Vにプルアップするかオープンのままで使えます。

4.AVRIPSP mkII化作業

  1. USBケーブルをつなぎ,HWB端子をGNDに接続してリセットスイッチを押した後,HWB端子のGNDとの接続を切ります。(GNDに接続したままでも良いが念のため切り離す)
  2. ATMEL ATm32U4DFU または Atmel Corp IOUSBHostDevice が現れます。デバイスドライバが要求される場合はC:\Program Files\Atmel\Flip 3.4.7\usb\を指定してドライバをインストールします。
  3. Flipツールを起動してAVRISP mkII クローンファームウエアを書込みます。
    図2〜5はATmega16u2に他のファームウエアを書き込む様子です。

    1. ATmega32U4を選択 図2
    2. USB接続でオープンする 図3
    3. AVRISP-MKII_ATmega32u4.hexをロードする 図4
    4. 書込み 図5

      図2

      図3

      図4

      図5

5.動作テスト

  1. HWB端子をGNDに接続しないでUSBケーブルをつなぎます。GNDに接続したままでも良いが念のため切り離す)
  2. ATMEL AVRISP mkII が出現します。Arduio IDEと連携させて用いるには汎用USBドライバlibsubをインストールします。
    libusbのインストール方法はOS環境等によってさまざまに適する方法がありますので libusb AVRISP 等のキーワードでWeb検索してご自分のOS環境に適し方法でインストールします。
  3. 前述の図1を参照にしてAVRデバイスを接続し読み書きを試します。

6.活用

ATMEL AVRISP mkIIとして正しく動けば次によりArduino IDEから色々なAVRデバイスを利用することができます。

7.Da Vinci 32Uを初期状態にもどす方法

AVRライタ,AVRライタソフトが必要です。

  1. DFUローダー詰め合わせmegaUSB_DFU_Bootloaders_2.zipをダウロードし展開します。
  2. AVRライタをDa Vinci 32Uに接続し,AVRライタソフトを起動します。
    AVRライタやソフトは多種多様で個別説明できませんので以下に必須操作の要点を述べます。
  3. Da Vinci 32Uの全メモリを消去します。
  4. 下のようにヒューズビットを設定します。
    lowFuse  0xFF     , highFuse 0xD9      ,extendedFuse 0xC3
    Fuseの設定を誤るとDa Vinci 32Uがゴミと化すので要注意
  5. megaUSB_DFU_Bootloaders_2.zipを展開したフォルダの中の
    ATMega32U4-usbdevice_dfu-1_0_0.hexを書き込みます
  6. LockBit 0xEFを設定します。
  7. HWB端子をGNDに接続してリセットスイッチを押します。
    USBデバイスATMEL ATm32U4DFUが出現します。

以上で初期状態にもどります。

8.参考

  • Da Vinci 32Uとよく似たマイコンボードに32U4を搭載したSparkFun Pro Micro があります。中華製クローンは$3程度で流通しています。
  • Pro MicroもAVRISP mkIIクローンファームウェアを書き込んで動かすことができますがTPICLK信号線がピンに出ていないのでTPI書き込みはできません。(TPICLK信号を基板内から取り出す改造を施せばTPI書き込みはできます)
Copyright © kosakalab All Rights Reserved.
Powered by WordPress & BizVektor Theme by Vektor,Inc. technology.