WinbondのSPIフラッシュメモリW25Qを、試作目的でよく使っている。W25Qシリーズでは、容量・パッケージ形状・機能によって、多種のチップが存在している。どの型番を選択すれば良いか、ちょっとわかりにくかったのでまとめてみた。
ちなみに、フラッシュメモリの使用目的は音声データの記録で、STM32マイコンからデータの読み書きをしている。W25QはQuad SPIに対応しており、通常のSPIより高速にアクセスすることができる。しかし、現在の使用目的ではそこまでの速度は必要ではないため、より配線が少なくなる通常のSPIで使用している。
記憶容量について
W25Qシリーズでは、512kbitから2Gbitまでの容量のチップがある。このうち、数Mbit以下の小容量の方はあまり興味がない。小容量ならEEPROMの方が使いやすいからである。
16Mbitから512Mbitがもっとも使う容量である。各容量の型番は、W25Qの後に容量の数値がそのまま入る形になっている。
- 16Mbit:W25Q16xx
- 32Mbit:W25Q32xx
- 512Mbit:W25Q512xx
容量がどの程度必要かという点については、音声データで考えた場合、以下のようになる。16kHzのサンプリング、16ビットモノラルのデータで記録する場合である。
- 16Mbit:約65秒
- 128Mbit:約524秒(9分弱)
16Mbitでも、数秒の台詞や効果音などをかなりの数、入れておくことができる。音楽を入れるなら、128Mbit程度が必要だろう。購入時にもよるが、128Mでも100円程度で買える。気軽に使える価格である。
パッケージ
パッケージも多種存在して、それぞれ型番の後ろに付く記号が違う。注意が必要なのは、同じパッケージでも容量によって記号が変わる場合がある。
パッケージについては、手実装の試作が中心なのでBGAは基本的に使っていない。QFNは何とかなるが、使いやすいのはやはりSOPである。SOPでも8ピンと16ピンのチップが存在する。16ピンはNCのピンが増えるだけなので、スペース効率が悪い。
128Mbitの場合、SOP8ピンの型番は「W25Q128JVSIQ」となる。「S」の部分がパッケージを示している。一方、64Mbitの場合、SOP8ピンの型番は「W25Q64JVSSIQ」である。「SS」がSOP8ピンとなる。
デフォルトのピン機能
W25Qでは、ピンの機能をレジスタの値で切り替えることができる。具体的には、ライトプロテクト、ホールドのピンを、データ転送用として使うかどうかを指定する。
起動時のレジスタの状態によって、型番が別のものになっている。ライトプロテクト、ホールドの機能が有効になっているチップと、最初からデータ転送用に設定されているチップとで、違う型番になっているということである。
この点については、通常のSPIで使用するのにはあまり関係ない。ライトプロテクトやホールドは、ピンの機能としてはまったく使っていない。また、データ転送用と言っても、これらのピンを使用するのはQuad SPIの場合である。したがって、現在の使用方法ではどちらの型番でもまったく同様に使える。
型番としては、「W25Q128JVSIM」がライトプロテクト、ホールドが有効のものである。「W25Q128JVSIQ」がデータ転送用の指定となっている。「M」「Q」がピン機能を示している。
使用例
以下は実際に使用している回路である。実際に購入、使用してしている型番は以下のとおりである。
- W25Q128JVSIM
- W25Q128JVSIQ
- W25Q64JVSSIQ