メモリ
シリアルROM:ATMEL AT24C256
仕様
これはフラッシュメモリです。書き込みの保証回数は、10万回から100万回となっています。バイト単位または64バイト単位での書込みが可能です。
型
容量
書込み速度
最大クロック
電圧
24LC64
24LC128
24LC256
64kbits(x8)
128kbits(x8)
256kbits(x8)
5ms
400kHz
2.5-5.5V
詳細は http://www.atmel.com/dyn/resources/prod_documents/doc0670.pdf
構成
A0,A1,A2はチップアドレスで、アクセス時に指定したアドレスのチップのみが応答します。SCLがクロック、SDAがデータ信号です。シリアル信号はI2Cタイプです。
スタート・ストップコンディション
SDAとSCLは1とします。SCLを1にしたまま、SDAを1>0に変化させます。これが、スタートコンディションです。続けてデータを送り、最後のSCLを1にしたまま。SDAを 0>1 に立ち上げます。これがストップコンディションです。
応答
1バイトのデータ書込み後、SCLにパルスを送ります。このとき、書込みへの応答としてメモリは SDA を0に下げます。これを応答と言います。バイトデータの書込み後はこの応答を確認する必要があります。
バイト単位書込み手順
スタートコンディションを設定し、次に 1010 aaa0 のコントロールバイトを順に送ります。aaaはチップアドレスです。
次に、アドレス上位、アドレス下位バイト、書込みデータを送り、最後にストップコンディションを送ります。各バイト毎に 応答の確認を行います。
64バイト単位の書込み
スタートコンディションを送り、次に 1010 aaa0 のコントロールバイトを送ります。aaaはチップアドレスです。
次に、アドレス上位、アドレス下位バイト、書込みデータを64バイト続けて送り、最後にストップコンディションを送ります。各バイト毎に応答信号が返ります。
バイトデータ読みだし
スタートコンディションを設定し、次に 1010 aaa0 のコントロールバイトを送ります。aaaはチップアドレスです。
次に、アドレス上位、アドレス下位バイト、を送ります。ここまでは、書込みと同じです。
次に 1010aaa1 の読み出し用コントロールバイトを送ります。 応答を受け取ったらデータ受信を待ちます。データを受け取ったら NACK を返し、最後にストップコンディションを送ります。
連続データ受信
バイトデータ読みだしと同じです。データを受け取ったとき ACK を返すと、次のデータを送ってきます。最後のデータを受け取ったら NACK を返し、最後にストップコンディションを送ります。