ATtiny25マイコンEEPROM不良
マイコン型導通チェッカー組み立てキットで使っているアトメルの
「ATtiny25V」、導通チェッカーのプログラムを書いていましたら
不良品に出くわしました。
今回、書き込んだロットの数は50コ。
チップにプログラムを書き込んだあと、ベリファイして間違
いないか確認しています。
全数書き込み後、しばらくたってから(この間シール貼り)
のベリファイです。
今回、その中で一つだけおかしなのに出くわしました。
EEPROMの1バイトが保持されません。
書き込み後、通電したままでベリファイするぶんには正常。
ところがいったん通電をやめてからベリファイすると、
アドレス0004の1バイトだけ、本来0x02を書いたはずが0xFF
(初期値)
に戻ってしまうのです。
電源を切ったら忘れてしまうEEPROMでは役に立ちません。
過去、たくさんのチップを書いてきましたが、こんなトラブル
って初めてかなぁ。
|
2013年6月4日 17時21分
|
記事へ |
コメント(6) |
トラックバック(0) |
|
・電子回路工作 |
トラックバックURL:http://blog.zaq.ne.jp/igarage/trackback/3409/
※ブログ管理者が承認するまで表示されません
あるいはその間の電源断によって暴走して、EEPROMアクセスルーチンに入りこんでしまっているとか。
今回これが発生したのは50コ書いてこいつだけ。
プログラム実行状態で関連する処理は、
(1)電源オン時にスイッチが押されていたら
EEPROMを初期値に設定。
(この初期値はフラッシュMEM内)
チップ書き込み時はこれと同じデータをEEPROMに
書き込んでいる。
スイッチオフならEEPROMはそのまま。
(2)続いてEEPROMの内容をRAMにコピー
その後はRAMのデータで作動。
(3)パラメータ設定モードにしたらEEPROMの値を変更
できる。
通電を継続している限り、(2)でコピーしたRAMの値で
動作します。
ところが、いったん電源断するとEEPROMの読み出しデータが
「0xFF」になってしまうのです。
(1)あるいは(3)でEEPROMの値を正しいものに戻しても、電源断
でアウト。
けれど、通電したままのリセットなら大丈夫。
書き込み後のベリファイもいったん電源を落とすと×。
こんな状況です。
BODはONにしていますか?
EEPROM書き込みルーチンだけNOPなどでつぶせば、プログラムによって書き換わっているか判別できるのではないでしょうか?
BODイネーブル時、もう一桁電流が少なければいいんですがね。
ただ、途中のチップリビジョンからの対応なので、がっかりした覚えがあります。
使ったことなかったです。