Any ideas how long it would take to read the whole 64k in this chip.
Read not write.
I havent got hold of one yet, just working out whether I can just read every location or I need to make some kind of smart search.
Which 24c256? Some clock at 400khz and some at 1mhz. I see there are many different write times.
I looked at the CAT24C256.
It takes a little time to set up read at 0. But after that it should hand you a byte every 9 clocks. Assuming your CPU can do the speed.
32kx8 If you can clock at 1mhz then it is 9uS/byte. 0.3 seconds. How bad is my math?
Now that I think about it. Set the address to 7fff and the next read will send data for 0.
I dont think the 'duino can address at over 400kc (the i2c peripheral might but I dont think the proc would keep up), the processor would be the limiting factor.
Sequential addressing would speed things up quite a bit.
I think I'll put together a storage regime, putting the data is numerical order, that'll speed it up a lot.
The other option would be parallel access eeprom, but that not very 'elegant'.
That seems real slow.
At 400khz and 9 clocks/byte ...... lets say 10 clocks so I can do the math in my head. You should get a byte at 40khz.
If you read one byte at a time (send the address every time) it will be 1/3 or 1/4 as fast. Maybe 10k bytes/sec.
Next: many compilers are quite slow. They might not do sequential reads. (Arduino is not a compiler .... even more slow)
Looking at it that way your right.
I'm using a library, maybe theres a delay in there somewhere.
Does the job for me though I only need to access one byte at a time so I'm not going to worry about it.
Poms, good point, the chip I have at the moment is a 128 not a 256 I blew that one up on 12v.