不揮発メモリ(EEPROM)内蔵のワンチップマイコンについて
- 不揮発メモリのEEPROMには書きこみ回数に寿命制限があり、ワンチップマイコンにEEPROMを内蔵すると、マイコンは書きこみ回数の寿命制限を越えたときから正常に動作できなくなる問題が発生する。
- H8マイコンは不揮発情報をCPU外部のNVRAM RAMに持たせることで、書きこみ回数制限を越えてもCPUが動作できるようにしている。
- 一方、PICマイコンでは内蔵EEPROMの書きこみ回数が制限回数を越えると、マイコンは恒久的な故障に陥る。それぞれのマイコンの設計思想を理解せずに結論を出すことはできない。
- ベストアンサー
不揮発メモリ(EEPROM)内蔵のワンチップマイ…
不揮発メモリ(EEPROM)内蔵のワンチップマイコンについて http://mori.nc-net.or.jp/EokpControl?&tid=154077&event=QE0004 に非常に奇妙な質問と回答がありました。 回答が締め切られたため、別話題として質問にしてみました。 不揮発メモリのEEPROMには書きこみ回数に寿命制限があります。 このため、ワンチップマイコンにEEPROMを内蔵すると、書きこみ回数の 寿命制限を越えたときから、マイコンは正常に動作できなくなる問題 があります。 従って、EEPROM書きこみ回数制限を越えても、CPUが動作できるように、 不揮発情報をCPU外部のNVRAM RAMに持たせるという考え方がH8ではとられ ていると思われます。 一方PICマイコンで内蔵EEPROMを使用するには当然、その書きこみ回数が 書きこみ制限回数を越えないような応用に使わないと、PICマイコンは EEPROM書きこみ回数の上限値を越えたときから恒久故障に至ります。 そうしたマイコンそれぞれの設計思想を理解せずして、PICマイコンが良い とか、H8が悪いみたいな結論は、マイコンとその応用の仕方の考え方の 理解が全くできていないと思いますよ。 H8が悪くてPICが良い? http://mori.nc-net.or.jp/EokpControl?&tid=154077&event=QE0004
- 電子部品・基板部品
- 回答数3
- ありがとう数3
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
えー、元の質問を投稿した者です。 なにか私の質問が原因で論議になっているようなので、少し弁明させていただきます。 1) 私としましては、別にPICが良くてH8が悪いとは毛ほども思っておりません。 むしろ、H8の方が使う比率が多いくらいです。 扱うデータの大きさやプログラムのサイズ、入出力ポートの数などに応じて使い分けていますが、PICもH8も愛用しております。 2) 回答2の方の仰っているように、「変な構造」といきなり言い切ってしまうのは、確かに元の設計者に対して失礼な物言いでした。 問題の装置に関してはちょっと色々あったもので、思わずこのような乱暴な表現を使ってしまいました。 この点で皆さんが不快に感じられたのでしたらお詫び致します。
その他の回答 (2)
E=mc^2 さんが気になった表現はここですかねえ? 「変な構造になっています。」 設計意図がわからないものを「変」と言われてしまうと設計も立つ瀬がありませんものね(^^; 最近のPICデータシートを見ると、EEPROMの書き替え回数が100万回となってますね。 たしかに重宝。
お礼
EEPROM書き込み回数上限100万回まで伸びましたか。 前は1万回くらいで壊れましたよね。 100万回くらいならかなり長期に使えそうですね。
補足
私が最初に使ったワンチップマイコンはH8/500系で、最初は難しく感じ、 その当時は、H8の構造の良さをわかる実力がありませんでした。 H8で使いにくかったのは、ピン数が足りず、内蔵ペリフェラルが フルに使えないのを不便に感じていました。 しかし16Fxxxなどの8BIT系PICを、その後実際に使ってみて、 その覚えにくい使いづらい命令体系、細かくバンクやページに 分断されたメモリ構造、多重割り込み処理が出来ない、タイマー割り込み を一定周期にするのが構造的に難しい等、PICマイコンの極めてトリッキー な姿に直面し、さらにMPLABのバグ満載状態等々、あまりにも困り果て、 今まで不便と思っていたH8が、実はH8の命令や構造が極めて洗練された 良いものであることが良くわかりました。 現在ではSH2AもDual coreが出てきて注目しています。
リンク先見ましたが、論点がずれているのでは?と思います。 リンク先の相談内容は ・H8/3048F使用の機械が電源が切れてもデータが保持されているのはなぜ? これに対する回答は ・キャパシタの残留電荷によって電源電圧が一時的に保持されているのでは? ということで解決しているようです。 また、別の内容がやりとりされていますが、その内容も ・データ用フラッシュ内蔵のPICは何かと重宝するなあ。 という内容なので、E=mc^2さんのおっしゃる ・EEPROMの書き込み回数とH8とPICのフェイルセーフの違い ・H8が悪くてPICがよい には全く触れていないと思います。
お礼
論点をあわせたRESPONCEではなかったので、 そういう反論はくるだろうと予想していました。 ただ万人に受け入れられる文章を短時間に書くのは難しいです。 気は使ったつもりでも、それが伝わらないケースが 文字通信では多い。 相手の書いた文章を悪意に意識してとらないことが重要という人もいます。
関連するQ&A
- MplabのRead_EEPROM
Mplab8.92+PICkit3でPICのプログラムをしています。 ポート入力をPIC内蔵のEEPROMに書込むようなプログラムを作り ターゲットボード上で動作させた後、PICをボードから抜き取り Mplab上でReadしViewメニューのEEPROMで見ると ポートの入力とは異なる値になっています。 (ボードの入力はプルアップした上で固定してあります。) しかし、A社のプログラマーでReadすると ポート入力がEEPROMに正しく書込まれています。 (A社のプログラマーはサポートのデバイスが少ないので 現実的には使えないのですが。) 色々試してみると プログラムとして、「PIC内蔵EEPROMデータメモリに初期値として書込んだデータ」は 正しく、書込み、読取できましたが ボード上で動作しないと確定しないようなデータ (ポートの入力、カウント回数・・・等) は、正しく書込まれている (プログラムの動作から確認すると) けれどもMplab上のReadでは正しく表示されませんでした。 MplabのReadとはこういうものなのでしょうか? (私の推測ではMplabのRead-View-EEPROMはCPUを実機で 動作させることなくパソコン上でシュミレーションするための もののように思えてきたのですが・・・) それとも、何か設定すれば可能になるならば 教えてください。 私の場合Mplabを使う場合 シュミレーションとかは使いません。 コンパイルしてCPUに書込み(Program)するだけです。
- 締切済み
- 電子部品・基板部品
- EEPROMの書込み回数制限(寿命)について
EEPROMの書込み回数制限(寿命)について教えてください 書込み回数制限が、10万回とか100万回とかいいますが この場合の書込み回数寿命というのは ある一つのアドレスに対して書込む場合に問題になるのでしょうか それとも、EEPROMに書込みをするという行為に対する制限なのでしょうか 言葉を変えて言えば、アドレスを変化させて書き込めば 一箇所当たりの制限回数のn倍の寿命になるものなのでしょうか よろしくお願いします
- ベストアンサー
- その他([技術者向] コンピューター)
- 技術の森の謎 その1
技術の森の質問を遡って行くと No.125より前の日付けがそれ以後のNo.126よりも新しくなっています。 この理由をご存知でしたらご教授くださいませ。 (1)なぜそうなったか。 (2)なぜ修正しなかったか。 以上よろしくお願い致します。 失礼しました。 No.126 http://mori.nc-net.or.jp/EokpControl?&event=QE0004&tid=19049 No.125 http://mori.nc-net.or.jp/EokpControl?&tid=23619&event=QE0004
- ベストアンサー
- 製造業の経営
- 射出成形のゲートについて教えてください
ここで質問していますので、このリンク先から回答をお願いします。 http://mori.nc-net.or.jp/EokpControl?&tid=293981&event=QE0004
- 締切済み
- プラスチック金型
- PIC16F1827のEEPROMへの書込み
PCM V5.0(PIC用CCS社コンパイラ)を Mplab8.92に組込み、PICkit3を使ってプログラムしています。 PIC16F1827のEEPROMへの書込みがうまくいきません。 RAは入力ポートで固定してあります。 RBは出力ポートでLEDが接続してあります。 テストプログラムは一回のみの動作です。 実機で動作させると RAは固定してあるので当然(4)でLEDが点灯しますが、 実機からCPUを抜き取りMplab上でReadすると EEPROMのアドレス0,1,2は異なるデータであり 動作させるたびに違うデータが書込まれています。 しかし (1) a0=35h (2) a1=a6h (3) a2=93h と定数にすると EEPROMのアドレス0,1,2は正しいデータが 書込まれています。 Q1. a0,a1,a2をポート入力とする場合は CPU自体に何か設定する必要があるのでしょうか? それともプログラムに工夫が必要なのでしょうか? いままで使っていたPIC16F88では このようなことはなかったと思うのですが・・・。 ----- テストプログラム ----- a0 = RA; //(1) write_eeprom (0,a0); a1 = RA; //(2) write_eeprom (1,a1); a2 = RA; //(3) write_eeprom (2,a2); if (a0 == a1 && a1==a2) //(4) RB =255; else RB =0;
- ベストアンサー
- その他(プログラミング・開発)
- このサイト表示がおかしい?
どーでもえーことなんですいません このサイト表示がおかしい? 以前からごくたまにあったんだけれど No.43911 http://mori.nc-net.or.jp/EokpControl?&tid=311267&event=QE0004 回答(13)の回答者名の欄が異様にデカイ No.43919 http://mori.nc-net.or.jp/EokpControl?&tid=311457&event=QE0004 回答者だけでなく質問者の欄から全部デカイ なんでだろう? 私のパソコンだけなのか? Win10 Microsoft Edge で開くととんでもなくデカイ Win10 IE11で開くと普通サイズより大きい (Edgeよりは小さい) Win10 Google ChromeではEdgeと変わらなくデカイ Win7でも時々はそうしたデカイのがあったしOSの問題ではないと思うのだが? ただ、立て続けに2件あったことは記憶にないし
- ベストアンサー
- 製造業の人事・労務
- PICマイコン メモリのバックアップ 切換え
PICマイコンにて電源を切ってもデータを保持したいです。 マイコンはPIC16F84やPIC16F887を使います。 887でEEPROMを試したのですが、書込みのタイミングが悪いのかデータを保持出来ない場合がありました。 基板は、16F84、16F887どちらも共通にしたいので、リチウム電池で保持しようと考えています。 その場合、外部電源とリチウム電池の自動切り替え回路はどのようにすれば良いでしょうか。 簡単な案は、「リレーを使い切り替える。」ですが、他にありましたら教えて頂きたいです。 また、充電電池の場合、参考となる回路があればご紹介ください。 宜しくお願いいたします。 この手のカテゴリはどこなんでしょうか。
- 締切済み
- その他(パソコン)
- オススメのNCシミュレータは?
既出の質問No.43409 「繰り返しの方法を教えて下さい」 http://mori.nc-net.or.jp/EokpControl?&tid=304891&event=QE0004 に関連してお尋ね致します。 Gコードの (1)シンタックスチェッカー (2)エミュレーター (3)デバッガー(エミュレーターと統合されていてもかまいません) などの NCアプリケーションをご存知でしたらご教授ください。 自分の考える「お奨めポイント」を1行程度でお願いします。 例:「Android環境でも動くので、現場でスマホで確認できる。」等 … とりあえず大まかな価格を (A)フリー (B)2万円未満(シェアウェアレベル) (C)2万円以上 で分けていずれに属するかも併記していただけると有難いです 気長によろしくお願いいたします。 繰り返しの方法を教えて下さい http://mori.nc-net.or.jp/EokpControl?&tid=304891&event=QE0004
- 締切済み
- CAM
- DC53は 生材で加工を行なった後、自由に…
DC53は 生材で加工を行なった後、自由に熱処理ができないのでしょうか? DC53は 生材で加工を行なった後、自由に熱処理ができないのでしょうか? http://mori.nc-net.or.jp/EokpControl?&tid=271157&event=QE0004 参考
- 締切済み
- 金属
お礼
短い時間で書いた文章でしょうから、お互い思ってる心が 伝わらないで誤解が生じてしまうことがおこりがちですが、 タカユキさんのお詫びするという言葉が書けるという謙虚さに 関心しました。
補足
かな漢字入力の誤変換をお詫びして訂正します。 誤: 関心しました。 正: 感心しました。