ヒューズ設定
ヒューズについて
 AVRのfuseとは、AVRのチップの動作を設定するパラメタのビットで、
      AVRはプログラムデータとは別に、
      ライタで通信してfuse設定の書き込みをします。
AVRのライターには、プログラムの書き込み以外に、FUSE書き込み機能も必ずあります。
以下の各名称のFUSE:内部発信クロック設定、その他、重要ビットを間違って書き込みすると以後、ISP書き込みができなくなる。または、それ以後 チップが機能しなくなる、つまりもう使えない ということも起こりうるので、FUSEの扱いは重要です。
  
AVR ISP AVRmarkⅡ
●fuseの各ビット
| ・RSTDISBL | リセット端子禁止 | 
| ・DWEN | デバッグWire機能 許可 | 
| ・SPIEN | シリアルプログラミング許可 | 
| ・WDTON | ウオッチドッグタイマ常時有効 | 
| ・EESAVE | EEPRROMをチップ消去から保護 | 
| ・BODLEVEL | 低電圧リセット電圧レベル | 
| ・CKDIV8 | 発信クロック8分周 | 
| ・CKOUT | CPUクロックをCLK0端子から出力 | 
| ・SUT_CKSEL | リセット遅延時間設定 | 
【ヒューズビット設定値】
上位バイト
      
| 名称 | ビット | 意味 | 規定値(出荷時) | 
| DWNEN | 7 | デバッグWIRE機能許可(0:有効、1:無効) | 1(デバッグWIRE不可) | 
| EESAVE | 6 | チップ消去からEEPROM内容保護(0:保護、1:未保護) | 1(未保護) | 
| SPIEN | 5 | シリアルプログラミング許可(0:ISP許可、1:ISP禁止) | 0(許可) | 
| WDTON | 4 | ウオッチドッグ有効(0使用する、1:使用しない) | 1(WDTはWDTCSR レジスタで設定)  | 
    
| BODLEVEL3 | 3 | 3  2  1 1 1 1 :リセット禁止 1 1 0 :1.8Vリセット 1 0 1 :2.7Vリセット 1 0 0 :4.3Vリセット  | 
      1(未設定) | 
| BODLEVEL2 | 2 | 1(未設定) | |
| BODLEVEL1 | 1 | 1(未設定) | |
| RSTDISBL | 0 | PA2がIOピンか(0)、RESET設定か(1) | 1(RESET設定) | 
下位バイト
    
| 名称 | ビット | 意味 | 規定値 | 
| CKDIV8 | 7 | システムクロック8分周選択(0 : 1/8、 1: 1) | 0 | 
| CKOUT | 6 | システムクロック出力許可(0:出力する、1:しない) | 1 | 
| SUT1 | 5 | 1 0   (詳細は日データシートP15,16)  0 0 : BODリセット許可 0 1 : 高速立ち上がり電源 1 0 : 低速立ち上がり電源 1 1 : ---  | 
      1(低速立ち上がり) | 
| SUT0 | 4 | 0 | |
| CKSEL3 | 3 | 3 2 1 0 1 × × × : 外部発振 0 1 1 0 : 128k内部WDT発振 0 1 0 0 : 8M内部発振 0 0 1 0 : 4M内部発振 0 0 0 0 : 外部クロック信号 (詳細は日データシートP14,15,16)  | 
      0(8M内部発振) | 
| CKSEL2 | 2 | 1 | |
| CKSEL1 | 1 | 0 | |
| CKSEL0 | 0 | 0 | 
AVR STUDIO4 から下のボタンでライタ画面を開く(当然、ライターが接続、認識されていることが必要)

ISPmarkⅡ fuseビット設定画面では レ チェックで 0 設定です。
SPIEN はチェック外せないようになっています。これを外すとISP書き込みできなくなる。
AVR STUDIO4 の ISPmarkⅡ "Fuses" TAB 画面

読み込みをオートにしているとタブを開くと自動で読み込めますが、通信ができてないと読み込んだビット値は当てにならない。
 コマンドラインの書き込みソフトavrspxのように表を見ながら各ビットを設定するのとは違い、
      BODLEVEL 、 CLOCK設定などは プルダウンメニューの中から選択できる。
 いくつかのビットはHigh Voltage書き込み用になっている。
      使用するライターの設定でISPライターになっているとそのfuse設定が変えられないビットがある。(読み込んでビット状態だけは表示)
 これらのビットを変更すると、そのチップはISPライターでは書き込めなくなるので注意。
      (下記 参照)
    
注意点
* ヒューズ設定、その他書き込み関連ビットは安易に書き込むとそれ以後、反応しなくなる恐れがあるのでヒューズ書き込みには注意!
内部発信器付きのATtiny2313のようなチップは出荷時(購入時)には、内部発振に設定されていて発信器ナシでも書き込み可能です。
外部発信器を使うヒューズ設定値にするとそれ以後は外部発信器を付けなければヒューズ設定の書き替えさえ出来なくなり、反応しなくなります。
通信不能の対処
外部発信器の設定を書き込んでしまったら・・・
外部発信器設定を書き込んだら発信器をつなぐしかなさそうです。(ただ、設定した発振数値と多少違う発信でも書き換えできるようです)
チップと通信できなくなったら・・・・パラレル書き込み(PP)
・パラレル書き込み
ISPライターでは、書き込みなどに関連するfuseのビットの設定を変えると、ISPライターではもう通信ができなくなります。ISPライターでチップと通信できないのでfuse書き込みもISP書き込みではもはや無理です。
ISPではなく、PP(パラレル書き込み)可能なライターなどあればチップと通信が可能。 これを使って、ISPライターでも可能なfuse設定に戻すしかないようです。
パラレル書き込みができるライタ
       AVR Dragon、 STK500などのライターでpp可能    
- twtter
 - google+
 - hatena
 
