AVR 110 :内部・外部の発振切換え機にロックビットを追加する


内部・外部の発振切換え機!

発振切換え機  以前「AT90S1200の内部・外部の発振切換え機」作りました、これはavr37で紹介しましたが最近「ロックビットがセット出来ると便利だろう」と思い付ける事にしました。

 理由はEEPROMが普通では書き換えが無いのにノイズが多い場合どうしても影響を受けてしまいます、稀に書換えられてしまうのはリセットICを付ければ解決出来ますが結構高い(200円程度)ので「書込み禁止」にしてしまえばその問題も解決です。

 そこで、切換え機にロックビットの設定スイッチも付ける事にしました。パラレル書込み機を出して来れば良いのですが接続まで多少時間が掛かる(5分!)為、そこで手元の「発振切換え機」を使う事にしました。

動作

ヒユーズビットは次の様になっています。
 SPIENがシリアルプログラム許可で初期設定は[0]
 RCENがRC発振許可で初期設定は[1]と非プログラムになっています。

ロックビットは2bitです。
 11が許可されない。
 10がメモリー、EEPROMのプログラムを禁止
 00は上の禁止とベリファイの禁止

 で、スイッチは面倒なので両方設定の[00(書込み読出しなどの禁止)]にする事にしました、このロックビットの解除はプログラムを書込む時に自動的にクリヤーされます。

変更部分

 ハードは結局マイクロスイッチと抵抗の追加だけです。
 ソフトはスイッチ処理の追加です、ロックビットのコマンドは$20でこれも変更する必要があります。(ヒユーズビットは$40)です。
 これにbit2とbit1の所を0を書込めば設定出来ます。

結果は

 少し不安定だったEEPROMの動作がぴたりと止まりました。本当はEEPROMを使わないプログラムを作ればこれは必要なかったかも知れません。
 プロテクトを掛けたプログラムですが実際は「他人にSOFTを見せない」為ではありません、あくまでもプログラムの安定性が主たる目的です。

 この程度の説明で解りますでしょうか、書込み器によっては「ロックビットの設定が出来る」物も多いと思いますので今回はあまり重要性は無かったと思います。

 一応AT90S1200用ですがAT90S2313もロックしたのでそのまま差換えて使えそうです。

 2004/AUG/26 


[もどる]もどる  [MAIN MENU

inserted by FC2 system