空を見上げて
トップページ » 電子工作 » Arudino UNO R3(その4)

Arudino UNO R3(その4)

Arudino UNO R3の話ではないが
・シリアルRAMはどの程度の周波数で動くのか?
というのが残っていた。

SPI-SRAMはこちら。
http://arms22.blog91.fc2.com/blog-entry-403.html
スイッチサイエンスで購入。
電源が3.3Vなので要注意。インターフェイスはコンバータが入っている。
32Kらしいので0x7FFFまでに思うが0x8000みたいなサンプルが出てくる。
0x8000=0x0000なのかしら?

そこは気にせずベンチを書く。
1024byteの書き込みで7pinがHigh、読み込みで7pinがLowなのでオシロで観測する。

#include
#include
SPISRAM myRAM(10); // CS pin
int out_pin = 7;

void setup()
{
pinMode(out_pin, OUTPUT);
digitalWrite(out_pin, LOW);

Serial.begin(115200);

SPI.begin();
SPI.setBitOrder(MSBFIRST);
SPI.setClockDivider(SPI_CLOCK_DIV2);
SPI.setDataMode(SPI_MODE0);

}

void loop()
{
int i;
digitalWrite(out_pin, HIGH);
//Byte write...
for (i = 0; i < 1024; i++){
myRAM.write(i,(byte)(i &0x00FF));
}
digitalWrite(out_pin, LOW);
//Byte read...
for (i = 0; i < 1024; i++){
myRAM.read(i);
}
}

結果はReadもWriteも25msだった。なので1Byte=24.4us。ってことは40KHzのような。
ちょっと微妙な感じ。
まあオシロに使ったとしても、40KHz以上のものは作れない。2chとすると20KHzになる。今の倍速は出そうだが...。

何もない今の方が美しいって気もする。
ってことはそれ以外の用途になるのか...。

by   at 09:00
コメント

コメントはありません

コメントを書く




保存しますか?


(書式を変更するような一部のHTMLタグを使うことができます)


Please enter the security code you see here