BS21 Lab の製品 - シリアル EEPROM 闇鍋シールド(基板のみ)(製品番号:BS21LAB-017)

19/jan/2014 新規
23/jan/2014 更新

SPI 方式のシリアル EEPROM (8ピン DIPタイプ) が最大6個、プラス、 I2C (TWI)方式のシリアル EEPROM (8ピン DIPタイプ) が最大5個の、計11個まで搭載できるシールドです。

本製品は「基板のみ」です。シリアル EEPROM 等は、お客様で御用意ください。

材料箱の片隅に転がっている小容量のシリアルEEPROM を、まとめて料理するのに最適でしょう。

  1. 概要
  2. ギャラリー
  3. ご購入方法
  4. 注意事項
  5. 免責事項
  6. 添付品の一覧
  7. 仕様
  8. 使用方法
  9. SPI 系
  10. I2C (TWI) 系
  11. ソフトウエア

・概要

本製品は「基板のみ」の提供です。これ単独では何も出来ませんので御注意下さい。
また、搭載できないタイプのシリアル EEPROM もありますので、データシートを良く確認して下さい。

どんな具材(シリアルEEPROM)が入っているかは食してみるまで分からないので、「闇鍋」と命名しました。


・ギャラリー

使用例:クリックすると拡大します。基板以外は付属していません。※ 実際は、必要な部品だけ実装すれば良いので、ここまでフル実装する必要は有りません。
View

実際の製品は、この基板のみです。回路図を見なくても、シルクを見ただけで何となく分かってしまうのではないでしょうか。部品番号 20番台が I2C (TWI) 系、30番台が SPI 系です。
表面

各種変換基板を使用すれば、もしかしたら DIP タイプ以外も搭載可能かもしれません。
変換基板の例


・ご購入方法

本製品は、以下のサイトで取り扱って頂いております。

(株)スイッチサイエンス様


・注意事項

本基板では使用不可能なシリアル EEPROM がありますので、使用前に各種データシートを良く確認して下さい
もし間違えた場合、どの様な事象が発生するかわかりません。


・免責事項

本製品は人命等に関わる装置への利用につきまして、考慮されておりません
また、本製品を使用した事によって発生しました如何なる事象につきまして、弊社は責任を負いかねますので御了承下さい。


・添付品の一覧

以下がそろっている事を御確認ください。
万一、不足している場合は、infoあっとまーくbs21−lab.com (スパム対策で全角文字にしてます) まで、御連絡下さい。

名称型番メーカー個数コメント
(1)シリアル EEPROM 闇鍋 シールド基板BS21LAB-B017弊社製1枚
(2)取扱説明書BS21LAB-017(P1)弊社製1枚


上記以外の部品は添付されていませんので、お客様にて御用意して頂く必要が有ります。具体的には、以下の部品です。
名称型番個数
シリアルEEPROM任意任意
パスコン0.1μF 程度シリアルEEPROM 個数分
ICソケットDIP 8ピンシリアルEEPROM 個数分
SPI 用 pullup 抵抗 1/6W10k〜100kΩ程度シリアルEEPROM 個数分
TWI 用 pullup 抵抗 1/6W1k〜10kΩ程度SDA/SCL 用は2ヶ
ピンヘッダー適量
ショートピン適量
足長ピンソケットセット1set
上記写真の様に、全ての部品が必要という訳では有りません。装着したいシリアル EEPROM の個数に合わせて、適宜、調整してください。

本基板に ICソケットを半田付けしてから、シリアルEEPROM を装着する方法が望ましいですが、絶対ではありません。 別に固定でも構わん!という場合は、ダイレクトに本基板に半田付けしてしまっても全然OKです。

パスコンは安定動作の為にも付けるべきです。(ただ、シリアルEEPROM を複数装着している場合、一度に2つ以上をアクセスする事態は無いはずなので、 適当にパスコンを間引いてしまっても大丈夫かも。)

足長ピンソケットセットは、弊社製(別売り)をお奨めいたします。


・仕様

寸法幅約68.6mm×長さ約53.3mm×厚み約1.2mm有鉛はんだを使用
穴位置φ3.2mm×4Arduino UNO R3 と穴位置コンパチ
駆動電圧搭載するシリアル EEPROM の仕様に依存


<ご注意!!>
Vcc は、シリアル EEPROM の仕様に依存します。
例えば、あるシリアル EEPROM が Vcc = 1.8〜3.6V 仕様で、別のシリアル EEPROM が Vcc = 4.5〜5.5V 仕様の場合は、混在は不可能ですので注意して下さい。

また、電圧レベルシフト機能も無いので、Arduino 側の Vcc と合わせておく必要が有ります。Arduino 側が 5V 仕様ならば、シリアル EEPROM 側も 5V に対応している必要が有ります。


回路図:
シリアルEEPROM闇鍋シールドの回路図


本基板が想定しているシリアル EEPROM は、以下のものです。これ以外でも、使えるのが有るかもしれません。


以下のシリアル EEPROM はピンアサインが違うので、本基板では使用できません。
これ以外にも、駄目なのが有るかもしれません。必ず、データシートを御確認ください



・動作確認した環境:

以下の環境でのみ動作確認しました。これ以外の環境で、きちんと動作するかは不明です。


・使用方法

★☆★☆★☆★☆★☆★☆
☆★☆ Vcc の選択 ★☆★
★☆★☆★☆★☆★☆★☆

基板上に "Vcc sel" とシルク印刷されている箇所があります。
御使用の Arduino の Vio 電圧に合わせて、ここのジャンパーピンを、以下の3つのいずれかに設定する必要があります。
御注意!! ここの設定を間違えた場合、ホスト側の SPI/TWI 通信機能を破壊する恐れがあります。十分に注意して下さい。

Vcc 電圧ジャンパーピンの位置コメント
@+5V 決め打ち5V−VccSPI/TWI 通信を 5V で行う必要があるタイプArduino Duemilanove, Arduino Uno(初代,R2,R3), AE-ATmega 等
A+3.3V 決め打ち3V3−VccSPI/TWI 通信を 3.3V で行う必要があるタイプArduino Pro(3.3V仕様), Arduino Due
BIOREF に依存IOR−VccIOREF ピンの電圧値(3.3V or 5V のどちらか)を参照すれば良いタイプ
※通常はこの設定を選んでおくのが無難です
Arduino Uno R3, Leonardo や Due 等の IOREF ピンが存在するタイプ

@5V−Vcc A3V3−Vcc BIOR−Vcc

※ 当然ですが、個々のシリアル EEPROM 自体も、この Vcc 電圧に対応している必要が有ります。

※ もし Vcc を切り替える必要が無いのでしたら、わざわざピンヘッダーを立てる必要は有りません。直結しちゃっても構いません。


・SPI 系

基板の以下の部分が SPI 系になります。
SPIエリア

SPI 系は、以下の6個が搭載可能です。

名称CS ピンコメント
U32デジタル2 もしくは 3
U34デジタル4 固定これのみ 500mil 幅にも対応
U35デジタル5 もしくは 6
U37デジタル7 固定
U38デジタル8 もしくは 9
U3Aデジタル10 固定

使用する CS ピンは、固定、もしくは2択、のどちらかです。
使用したい CS ピンを変更したい場合は、シリアルEEPROM そのものを移動させて下さい。

Arduino 側の内蔵 pullup 抵抗を ON にしておけば、各 CS ピン用の pullup 抵抗(回路図の R32〜R3A)は無くても、問題なくEEPROM は動作すると思われますが、 電源投入直後から Arduino のスケッチが動作して内蔵 pullup が有効になるまでの CS ピン不安定期間が気持ち悪いと感じられる方は、 R32〜R3A の pullup 抵抗(10k〜100kΩ程度)を入れておくと、安心でしょう。

WP ピンが開放状態でも大丈夫なシリアル EEPROM と、必ず Vcc か GND に接続しなければならないシリアル EEPROM の2種類があるようです。

使用前に必ず、そのシリアル EEPROM のデータシートを確認して下さい


SPI 通信用ピンは、従来のデジタル 11/12/13 ピンを使用する方法と、ICSP ピンを使用する方法の、どちらか片方を選べれます。 (Arduino Leonardo 等は、必ず ICSP ピンでなければなりません)
この時、3つのジャンパーピンは同時に切り替えてください。
従来の11/12/13 ピンを使用する方法 もしくは ICSP ピンを使用する方法 の片方のみ(同時は不可)

※ EEPROM とは別に、microchip 製 SPI SRAM の 23 シリーズも実装できるかもしれません。


・I2C (TWI) 系

基板の以下の部分が I2C (TWI) 系になります。
TWIエリア

I2C 系は、以下の5個が搭載可能です。

名称I2C アドレス
U2Xxxxx000 もしくは
xxxx011
これのみアドレス選択可能
U21xxxx001 固定
U22xxxx010 固定
U24xxxx100 固定
U27xxxx111 固定

I2C アドレスは、下位3ビットが(回路パターン的に)固定されています。上位4ビットの設定は、シリアルEEPROM 側に依存します (ほとんどの場合 1010 になっているはずですが、違うのも有るかもしれません)。
また、シリアルEEPROMによっては、A2, A1, A0 のいずれかが N.C. になっている場合が有りますので、注意してください。

使用したい I2C アドレスを変更したい場合は、シリアルEEPROM そのものを移動させて下さい。

WP ピンが開放状態でも大丈夫なシリアル EEPROM と、必ず Vcc か GND に接続しなければならないシリアル EEPROM の2種類があるようです。

使用前に必ず、そのシリアル EEPROM のデータシートを確認して下さい


I2C 通信用ピンは、従来のアナログ A4/A5 ピンを使用する方法と、Arduino UNO R3 以降に追加された SDA/SCL ピンを使用する方法の、どちらか片方を選べれます。 (Arduino Leonardo 等は、必ず R3 追加ピンでなければなりません)
この時、2つのジャンパーピンは同時に切り替えてください。
従来のA4/A5 ピンを使用する方法 もしくは R3 ピンを使用する方法 の片方のみ(同時は不可)


また、I2C バス(SDA/SCL)のどこかに pullup 抵抗が1組必要です。必要な場合は、本シールドの R1/R2 部に 1k〜10kΩ程度の抵抗を入れてください。
他のシールドで既に pullup 抵抗が付いている場合は、2組も必要ないので、わざわざ、本シールドの R1/R2 部に抵抗を付ける必要はありません。
SS1 と描かれた部分にピンヘッダーを立て、ジャンパーピンにて、pullup 抵抗を有効/無効する事が可能です。
以下の写真の様に、ピンヘッダーの代わりに、NKK 製の SS-22SDH2 もしくは SS-22SDP2 を装着すれば、切り替えが楽になります。
Pullup抵抗のON/OFF


※ microchip 社の 24xx1025 ですが、本シールドでは A2ピンを ON/OFF のどちらかに固定にしかできない為、恐らく半分の容量しか使えない(128kBの内の64kBのみ)と思います(所有していない為、断言できません)。 一方、24xx1026 ならば、128kB 全域が使えると思います(こちらも所有していない為、断言できません)。

※ ピンアサインさえ合えば、もしかすると、EEPROM 以外の TWI デバイスも実装できるかもしれません。


・ソフトウエア

ソフトウエアは特に用意していません SPI通信仕様の 25AA512 のみ Arduino 用ライブラリを用意しました。
ただし、シリアルEEPROM ごとに制御方法が変わるので、汎用的なものでは有りませんので注意して下さい。

以下の圧縮ファイルをダウンロードし、arduino フォルダの中の libraries フォルダの中に解凍するだけで OK です。

BS21Lab-ArduinoLib-SPIEEPROM64K-v1.00.zip 2014年1月21日版

※ Arduino IDE 1.0.5 で動作確認しています。

アンインストールも、SPIEEPROM64K フォルダーごと削除するだけで OK です。

※ arms22 氏作成の「SPISRAMライブラリ」をベースに作成しました。
詳細は「なんでも作っちゃう、かも。 」の Arduinoで遊ぼう - シリアルSRAMを使ってメモリを拡張する を参照してください。

なお、SRAM と違い、EEPROM の場合は、Write 関数実行中はデータ受信のみで、受信完了後に実際の書き込み処理が行われますので、一定時間待つ必要が有ります。
また、EEPROM 特有のページ境界が存在しますので、そちらの注意も必要になります。


25AA512 以外は、データシートを見て、個別に対応願います。(まさに闇鍋)


…と、これだけですと、あんまりですので、関連ページへのリンクを幾つかリストアップしておきます(全部で動作確認した訳では有りません)。
なお、これらのページは、弊社とは無関係ですので、くれぐれも『「シリアル EEPROM 闇鍋シールド」でどうやって動かすの?』という質問で、各ページの管理者さんを困らせる様な事態は、ご遠慮ください。 (多分、「シリアル EEPROM 闇鍋シールド」って何だ?という返事しか返ってこないと思います)

SPI 用:
TWI 用:
なお、"Arduino EEPROM" だけでググると、Arduino 本体の ATmega328P や ATmega32U4 内蔵の EEPROM の読み書き方法が、多数出てきますので、そちらと混同しない様にして下さい。



製品リストに戻る

Copyright (C) 2014 BS21 Lab, All rights reserved.