• ベストアンサー

マイコンの中のEEPROMについて

マイコンの中のEEPROMについて マイコンの中(例えばSHシリーズ)にフラッシュROM領域とEEPROM領域があります。 これらは物理的にというか原理的には同じものなのでしょうか。 例えば、両方ともフラッシュメモリーと同じ構造で、アクセス方法(プロトコル?)が違うのでしょうか。 それとも、物理的・原理的に違う仕組みなのでしょうか。 マイコンの外付けのEEPROMとの違いは何がありますでしょうか。 よろしくお願いします。 追伸 もっと適切なカテゴリーがありましたら誘導していただければと思います。

  • elec2
  • お礼率61% (105/171)

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

同じかどうかは、一概には言えないと思います。 フラッシュメモリもEEPROM(電気的に消去可能は不揮発性メモリ)の一種です。 動作原理等はほぼ同じです。 一般に、EEPROMは1アドレス単位での消去が可能ですが、フラッシュはブロック単位での消去となります。 EEPROMに書き込む際には、現在のデータの消去→書き込みと行う必要があり、消去はとても時間がかかる動作なので、フラッシュの方が高速に書き込めることになります。 動作の違いから、回路も変ってきます。 そこで、マイコン内蔵のもの、となるわけですが EEPROMは上のように1アドレス単位での書き換えを期待されていると思います。 ですので、そのままEEPROMを積んでいるとは思います。 が、信号だけ同じで、実際はフラッシュがEEPROMの振りをしている可能性もあります。 例えば、全部フラッシュで作っておいて、ユーザーの要望にあわせて、特定の範囲をEEPROMとして使えるようにすると、1つの機種で複数のユーザーに対応できるわけです。 このあたり、どうなっているかは、技術資料をよみとくなりしないとわからないと思います。 外付けEEPROMは、内蔵品がマイコンチップ上で配線してあるものを、チップの外に配線したものです (というか、歴史的には逆ですね) 大抵汎用品なので、外付け品の型番から調べれば、素性がわかります。

elec2
質問者

お礼

詳細な説明、ありがとうございます。 >(というか、歴史的には逆ですね) そうですね。 そして、マイコンに内臓されたEEPROMが昔と同じ作りなのか、フラッシュメモリーの構造を代用しているのかを知りたいと思っています。

その他の回答 (2)

  • tadys
  • ベストアンサー率40% (856/2135)
回答No.3

フラッシュROMとEEPROMでの大きな違いは書き換え可能な回数です。 おおむね、EEPROMのほうがフラッシュより1桁~2桁回数が大きくなっています。

elec2
質問者

補足

ありがとうございます。 >フラッシュROMとEEPROMでの大きな違いは書き換え可能な回数です。 もし、フラッシュメモリーの構造(?)のものを見かけ上EEPROMとして使っているのだとしたら・・・ と、ここが気になっています。 フラッシュメモリーはプログラムを書きますので、そんなに頻繁に書きかえることはないと思います。 EEPROMの方は、それに比べると結構頻繁に書き換えを行います。 ですので「見かけ上のEEPROMだとしたら」という懸念を持っています。

  • hanmemomo
  • ベストアンサー率35% (205/580)
回答No.1

あーおんなじですよ 内蔵してても、外についてても同じです。 あと、フラッシュが3段になっているチップもありますね。 メインはフラッシュ32KにEEPを数Kなのに、3線をさらに亀の子にしてるやつもありますね プロトコルは違いますよ そもそも3線はシリアルで普通のEEPは必要なピン数です。 AバスとDバスと、少しのCSバスで構成されていますから それを用途で最適にしてるってことですね

elec2
質問者

補足

ありがとうございます。 「同じ」というのは、外付けのEEPROMとマイコン内蔵のEEPROMともに構造はフラッシュメモリーということでしょうか(昔は違っていたのでしょうか)。 どこかで「フラッシュメモリーはEEPROMより寿命が短い」とか言う話を耳にして気にしています。 もう少し詳しい情報をお持ちでしたら、ご説明ください。 よろしくお願いします。

関連するQ&A

  • フラッシュEEPROM?

    フラッシュEEPROMってなんですか? ROMがRead Only Memory って事はわかるんですけど。 後、ROMのほかの種類があったら教えてください。

  • マイコンのメモリマップについて

    マイコンに限った話ではないかとは思いますが、現在マイコンプログラムの勉強をしておりますが、マイコンのデータシートのメモリマップを見ると先頭番地からフラッシュメモリのマッピングがあり、その次に各種レジスタやRAMのマッピングがなされています。 (1)このメモリマップというものは論理アドレスと物理アドレスの対応表のようなものだと解釈しておりますが、この対応表自体はRAMの一部に格納されているのでしょうか? (2)例えばフラッシュメモリの物理アドレスが00~FFまであり、RAMの物理アドレスも00~FFだった場合で且つ フラッシュメモリの後ろにRAMのマップを作る場合、メモリマップの中の論理アドレスは00~2FFまでで物理アドレスはフラッシュメモリの部分は00~FF,RAMのブツリアドレスも00~FFになるという理解で良いですか? ひょっとするとかなり見当違いをしている質問かもしれません。 よろしくお願いします。

  • SSDの寿命論がありますが、スマホROMの寿命は?

    速いけど、寿命がHDDに劣ると言われているSSDですが、回路はEEPROM(もう死語となったか)=フラッシュメモリですよね。usbメモリもsdカードも一緒? さらにスマホのROMも同じ原理。 スマホも何年か使っていると、ある日ROMがポックリいくのでしょうか? ほかの部品の方が、先に壊れる?

  • フラッシュメモリーについて

    フラッシュメモリーをPCに入れてるのですが、ディスクに入っていないとでます。もちろん、メモリーの中には情報などをいれているのですが、なぜこうなるのでしょう?まったく出てきません。でも、マイコンから開くと出てきます。

  • ルネサスH8/3048Fの定数領域

    お世話になっております。 ルネサスH8/3048Fについて質問です。 また会社の古い装置を解析しているのですが、わからない事が有り質問させていただきます。 H8/3048F使った装置なのですが、装置のパラメータの設定/記憶にH8/3048Fを使っています。 プログラムは、内部のフラッシュROMに直接書き込んでいます。 が、この装置は増設のEEPROMを持っていないので、設定したパラメータが消えないように、AC100Vの電源とは別に電池を載せて、常にH8/3048Fが動いている状態に保つという変な構造になっています。 ところが、その電池を外した状態でパラメータの設定をし、電源を落として再度投入したところ、なぜか設定が保持されていました。 先に書きましたように、ROMの増設などは一切されていないので首を傾げています。 ひょっとして、プログラムの実行中にROMの定数領域を書き換える事が可能なのでしょうか? 恥ずかしい話ですが、ソースファイルが残っていないため、プログラムの検証が出来ません。 原因が分かる方がおられましたら、ぜひご教授ください。

  • SPI通信プロトコル

    SPI通信をサポートするデバイス(SPI-Flash、EEPROMやADC・・・など)のデータシートをいくつか見ているのですが、ふと不思議に感じることがあり質問させて頂きました。 私が見た範囲では、各デバイスの通信プロトコル(コマンドフォーマットや、レスポンスフォーマット)にはCRCやCheck Sumなどの、いわゆる"データ誤り検出の仕組み"が無いものばかりでした。 基本的に、各デバイス間の物理的な距離が近いことが想定されているためか、ノイズなどの影響は受けにくいのかもしれないですが、安全を期すには"データ誤り検出の仕組み"が必要だと感じました。 ※TCP/IP通信などではCRCがありますし、RS-232Cなどでもパリティがあります。 通信プロトコルはメーカーの設計思想依存なので、「正しい」とか「間違っている」ということは無いと思いますが、皆さんの考えをお聞かせ頂けないでしょうか? よろしくお願いいたします。

  • アルファーボード AP-AH4A

    現在、アルファーボード上のCPU-SH4AをC言語で書いたプログラムから動かす設計をしています。 アルファーボードには8MBのフラッシュROMが搭載されており、そのフラッシュROM上の「あるセクタ」に対して、外部からデータを書き込むルーチンを作成していますが書き込めません。 具体的な動作は、232Cより取り込んだデータをRAMに蓄えて、フラッシュ1セクタ(32kワード)を丸ごとRAMに展開し、232Cからのデータとマージし、もとのフラッシュ1セクタへ書きもどしてやる。 「ROM化支援機能」を使って、実際の消去、書き込みルーチンはRAM上で動作させ、処理終了後、ROM領域のルーチンへ復帰する。 こんな事を行った経験のある方がいらっしゃったら、ヒントでもサンプルでも良いので御教え頂けないでしょうか?

  • フラッシュメモリーが認識されず、「フォーマットされていません」というようなメッセージが出ます。

    毎日、パソコンの電源を落とす時に、フラッシュメモリーにバックアップを取っているのですが、昨夜、いつものようにバックアップを取ろうとしたところ、「フォーマットされていません、いますぐフォーマットしますか?」といった内容のメッセージが出て、書き込みができませんでした。 一昨日まで、普通に書き込みができていて、昨日、パソコンを使っている時にも、特に、間違って電源を切ってしまったとか、何かおかしくなるような要因があったとも思えず、急にそんなふうになってしまいました。 リムーバブルディスクのアイコンを右クリックしてプロパティを見たところ、“使用領域”“空き領域”ともに「0」となっていて、何もない状態になってしまっていました。 これは、フラッシュメモリーが壊れてしまったということなのでしょうか。中のデータは全部失われたのでしょうか。 フォーマットし直せば、このフラッシュメモリーはまだ使えるのでしょうか。 幸い、今のところ、本体のパソコンの方に問題はないので、フラッシュメモリー内のデータが消えても、またバックアップを取れば大丈夫なのですが……。 フォーマットし直せたとして、そのフラッシュメモリーを使い続けて、また壊れたりすることがあるのでしょうか。新しいものを買った方が無難でしょうか。 それと、フラッシュメモリーの方ではなく、パソコンの方にもし何か問題がありそうであれば、そういった点も教えていただければと思います。 たくさん質問事項を書いてしまいましたが、ご教授いただければと思います。 よろしくお願いいたします。

  • H8Sで割り込み発生時の飛び先アドレスがRAM上にある場合の割り込み関数の記述方法

    ルネサスのマイコンH8Sのプログラムを組んでおります。 プログラムの構成がBoot部分とアプリケーション部分に分かれており、 Bootはアドレス0番地から、アプリは3000番地以降の領域を使用するようになっています。 完成されたBootを使用してアプリケーションのプログラムを組まなければならなく、また、Bootは変更できないことになっています。 このBootの中のベクターテーブル上で、割り込みが発生した場合の飛び先のアドレスがRAM上になるように設定してあります。 このため、アプリケーションソフトでは、 割り込みが発生した場合のRAM上の飛び先に FLASH ROM上の指定したアドレスにジャンプする命令を書き、 FLASH ROMのジャンプ先には、実行したい関数を書きたいのですが、 (1)RAM上の特定のアドレスからFLASH ROM上の指定したアドレスにジャンプさせる方法。 (2)FLAH ROM上の指定したアドレスに関数を記述する方法。 を知りたいのですが、 どなたか教えて頂けないでしょうか? 開発環境はHew4 言語はC言語を使用しております。 私自身が理解不足であるため質問内容が伝わりにくいかと思いますが、 宜しくお願い致します。

  • 誘導加熱による漏電火災のしくみについて

    漏電によって火災が引き起こされる原因の一つとして「誘導加熱」があると聞きました。 いわゆるIHコンロの原理で、コイルによる磁束の中に金属を置くことでその金属に電流が流れ、加熱するしくみです。 漏電によってこの状態が引き起こされ、火災につながるらしいのですが、具体的にどのような状況でそれが起こるのか、ちょっとピンときません。教えていただけるとありがたいです。

専門家に質問してみよう