Arduino詳解その27です。前回の記事はこちらです。
そもそもSDカードとは
前回はArduinoUNOでSDカードを使用するために必要なSDカードシールドをご紹介しました。また、簡単な動作確認もしてみました。これから本格的に使い方に取り組みたいと思うのですが、その前にSDカードについて明らかにしていこうと思います。なんとなく便利に使っているけれど、意外と何も知りませんよね。
以下のサイトなんか見ると詳しいですね
www.elecom.co.jp
SDカード(SDメモリーカード)とは、1999年に開発、発表された、フラッシュメモリを使用した記録媒体です。デジタルカメラ、携帯電話、スマートフォンなどに使用されているのはご存じだと思います。現在一般的に使用されているものに、形状の違いによってSDカード(約32×24mm)とmicroSDカード(約15×11mm)の2種類があります。この連載で使用するものはmicroSDカードです。
フラッシュメモリと不揮発性メモリ
詳細については上記サイトに譲りますが、押さえておかなければならないのは使用するにあたっての特徴と注意点です。SDカードはフラッシュメモリを使用しています。フラッシュメモリとは半導体の一種でデータを記録することが出来ます。通常のPCなどに使用されているメモリは以下の2種類があります。
・ROM(Read Only Memory)
データ読み出し専用のメモリです。通電を解除しても最初に記録した内容を失うことはないため、PCなどでは起動時に最初に読み込む内容を記録したりします。特別な条件(設備など)が無いとデータを書き込むことはできません。
・RAM(Random Access Memory)
データの読み書きが可能なメモリです。ROMと違ってデータの書き換えが可能なメモリです。PCなどでは、呼び出したプログラムを配置したりデータを記録したりする用途に使用されます。通電を解除すると記録した内容は失われてしまいます。
それぞれ長所、短所があるのですが、上記の問題をある程度克服したものに不揮発性メモリがあります。不揮発性メモリは、通電を解除しても記録内容を失うことが無く、書き換えも可能です。不揮発性メモリとして代表的なものがEEPROM。EEPROM・・・そういえば本連載でも出てきました。
hirocom777.hatenadiary.org
そう、ArduinoUNOにもEEPROMが搭載されています。設定なんかを記憶しておく場合に使うんでした。
EEPROMの弱点
読み書き可能で電源を切っても消えない・・・EEPROM最高!!ってなりそうなのですが、EEPROMにも弱点があるのです。
・書込み回数に限度がある
書込み回数に限度があって、大体10万回程度って言われています。コンピューターの世界での10万回は、そんなにすごい数値ではないです。ちょっとしたプログラムを走らせると、すぐに到達してしまいます。頻繁に書き換える内容についてはRAMに軍配が上がります。
・書き込み時間がかかる
RAMよりも書き込みに時間がかかります。高速なプログラムを走らせるうえで、これは致命的ですね。
以上の弱点については、以下の記事でも言及しています。
hirocom777.hatenadiary.org
また、最近ではROMの部分をEEPROM(フラッシュメモリ)がとってかわる傾向にあります。
それではフラッシュメモリとは
それではフラッシュメモリとは何なんでしょうか?フラッシュメモリの中身も基本的にはEEPROMです。データを扱う単位や、構造に工夫を凝らすことで大きな記憶容量を実現しています。大容量を実現したため、USBメモリやSSD、そしてSDカードが実現しました。中身は基本的にEEPROMですので、先に述べた弱点も同じように持っています。SDカードも同じです。
本格的に使ってみる
いかがでしたか?SDカードの特徴、注意点はEEPROM、フラッシュメモリのそれなんですね。ここら辺を理解したところで、次回から本格的に使ってみたいと思います。まずはファイルを作って書き込んでみましょう。お楽しみに!!
hirocom777.hatenadiary.org