« USBtinyISPライタの製作 | トップページ | mega8・48・88・168ヒューズリセッターの製作 »

2010年3月12日 (金)

Tiny13,45,85用のヒューズリセッターの製作

Fuseresetter45 書籍「Gainer互換Pepperで、フィジカル・コンピューティング」によりPepperを製作していたのですが、ATtiny45をプログラムすると、リセット端子をI/Oポートとして使用するようにヒューズの設定をするために、ISPモードのライタでは、再度書き込みをすることができなくなってしまいます。

ファームウェアの状況が分からなかったので、再度書込みができないATtiny45がたくさん出来てしまいました。再度使用するためには、高電圧プログラミングを使わなければなりません。

しかし、簡単な解決方法として、ヒューズのみを初期値に戻すヒューズリセッターが紹介されていました。書籍のP.115に出ているヒューズリセッターは、ATtiny13で制御し、ATtiny13,45に対応しています。

早速製作してみましたが、ATtiny13が手元になかったので、ATtiny45でプログラムしなおしてみました。2つは基本的にほとんど違いはなく、内臓発振器のクロックが、ATtiny45が8MHzであるのに対して、ATtiny13では9.6MHzとなることです。これが影響するのは、時間待ちのためのタイマーの設定が変わる程度でした。クロックの違いによってタイムアウト値を変更します。また、設定ファイルがATtiny45用になるため、SIGNATURE_00などの変数はATtiny45ようになっていることに注意が必要です。また、TIFR0は、TIFRに変更しました。

組み立てて動作させてみると、デバイスが一致しないとして、LEDが点灯したままとなってしまいました。色々調べてみたところ、原因は対象デバイスに対するVDD電圧が低く、プログラミング条件にならないことが原因でした。VDDは、2SA1015によって供給されるのですが、ベースにつながっている510Ωが大きすぎ電流が十分に流せないことが原因でした。100Ωの抵抗に交換して動作するようになりました。

デバイスが一致しないときに、ATtiny13でないために、何かが違っているのかとも考え、ATtiny13Aを購入して試したのですが関係ないようでした。

しかし、ATtiny45にしたため、メモリに余裕が出来ましたので、ATtiny85にも対応してみました。といっても、書き込む内容はATtiny45と同じなので、シグネイチャを追加チェックするようにしただけです。

すでに、Pepperのファームウェアはうまく書き込みできて、問題なく動作するようになっていましたので、このヒューズリセッターの出番は、失敗するたびにジャンク箱入りになったATtiny45の復活のみでした。

« USBtinyISPライタの製作 | トップページ | mega8・48・88・168ヒューズリセッターの製作 »

製作」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« USBtinyISPライタの製作 | トップページ | mega8・48・88・168ヒューズリセッターの製作 »

フォト
無料ブログはココログ
2016年6月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

USBとマイコンの参考書購入