PICのEEPROMの書換え回数制限(2)
写真は、なつかしの窓付きEPROMです。 紫外線に当てるとROMの内容が消えるという書換え可能なROMです。
15年くらいまえのPCのBIOSは、大抵このタイプのROMでしたね。
その後、EEPROMという電気的にROMを消去できるものが出てきたり、FlashROMというブロック単位で一気にデータを消去できる安価なROMが一般的になってきました。
さてさて、PIC16マイコンに搭載されているROMは、2種類あります。
プログラム領域のNOR型FlashROMと バイト単位でデータ書換えできるEEPROMです。
今回のEEPROMでは、書換え制限10万回の制約を乗り越えるために、ちょっとしたアイデアを使いましたが、少し内容を変更しました。
入力セレクタや、表示の方法など、それほど頻繁には変更しないところは、固定のアドレスを割振りました。 そして、ボリューム値は、沢山変更するので、インデックスシフトにしています。
書換えたあとベリファイして、正しく書換えできなくなったら、インデックスをインクリメントして、別の領域にデータを移すという方法です。
3バイト単位でシフトすると、空き領域の240バイトは80回ほどシフトが可能です。
ボリュームを変更して5秒たってから保存するので、それほど頻繁には書換えが起こらないのですが、例えば1日に100回ほどボリュームを変更するとして
1年 365日 = 3.6万回
10年 = 36万回
100年 = 360万回
ですが、10万回保証*インデックス80回 = 800万回
と、かなり余裕な書換え回数となりました。
安心してボリュームを変更できますね。
ちなみに、電子ボリュームではない抵抗体のボリュームの場合、摺動子の往復は、それほどに耐久性があるわけではありません。
アルプス電気のRK27は15,000回だそうです。
耐久性でも、ギャングエラーでも、対振動時における音質劣化でも電子ボリュームの方が一枚うわてなんですね。
« 本日の世界遺産 | トップページ | ボーズ創業者のアマー G.ボーズ博士が死去 »
「マイコン」カテゴリの記事
- PICkit 3のProgrammer-To-Goを試す(2019.01.26)
- PICマイコンの開発環境 × Windows 8.1 は動作しないらしい(2014.07.21)
- IrBerryDACのPICプログラムソース公開(2014.03.13)
- MPLAB X IDE 手ごわい(2014.03.09)
- AppleRemoteの送信コードの謎(2013.11.27)
コメント