Take the 2-minute tour ×
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It's 100% free, no registration required.

I am looking for high capacity eeprom(I2C compatible) IC as an alternative to 1gb or 2gb micro SD card (data storage segment in my project) just in case I fail to interface Sdcard with pic32 mcu..

Suggestions are welcomed..

Thanks in advance..

share|improve this question
3  
My 2 cents... Don't plan of failing with being able to interface with the SD card. You will be able to get it figured out. –  Kellenjb Jun 2 '11 at 0:13
    
@kellenjb : Though I am thinking about alternatives, I am still working on that Sdcard thing.. There has been some improvement in my work,got command-response for reset,init, write, read and data-response for write.. Data-response for read is always 0xff(which is supposed to be 0xfe).. "Figuringggggg it out".. If the interface works properly, I will post all the changes I have made(hw and sw).. –  V V Rao Jun 2 '11 at 4:20
add comment

2 Answers

At higher capacities, SPI flash is way cheaper than eeprom, with capacities in the 1-32 megabit range. Main difference is it is block, not byte eraseable and 3.3v only. ALways SPI, not I2C, but I2C gets too slow for large memories anyway. For gb capacites you're looking at NAND flash, & you need to deal with pretty large erase blocks, ECC, page-at-a-time writes and bad-block mapping, so SD will probably be easier & cheaper as it does ECC internally.

share|improve this answer
add comment

Do the math: I2C at 400kHz => around 40kbytes/sec abs max (even at no EEPROM address overhead and 8 bytes per packet write: 64 data bits + 8 bytes * 1 ACK bit / byte + start/stop bits per packet + 7 bits I2C address overhead = 81 bits / 8 bytes)

At this rate, even if the EEPROM handled all the erasing/writing state machine internally, the bottleneck for I2C communications would take you 25,000 seconds = almost 7 hours to write 1GB of data.

I2C is much more sensitive to noise and much more difficult to deal with errors than SPI.


Save yourself trouble and use SPI over I2C if at all possible. The advantage of a SPI EEPROM is you can still use it even if you have to bit-bang the clock and data yourself.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.