Hi, I have to improve a system memory capability with the minimum IO usage possible. I am thinking to use I2C memory device which spends 2 I/O pins. There's also SPI devices which need 4 I/O pins. It will be very usefull if anyone could help with the following information: 1) Some I2C and SPI available vendors. Some vendors URL will be very usefull. 2) Does KEIL have I2C and/or SPI facility support ? Do I have to implement whole potocol by hand ? Does anyone have any example code using such memories ? 3) How can I connect I2C and SPI device to the AT89S8252 IO pins ? Which pins can I use ? Any pin ? 4) What is the difference between SPI and I2C memory devices ? Which one is cheaper ? What are the good and bad features of them ? Any information on any of these topics will be very appreciated. Thanks a lot, Regards, Andre
1) Some I2C and SPI available vendors. Some vendors URL will be very usefull. philips, st micro, microchip Use Google for URL 3) How can I connect I2C and SPI device to the AT89S8252 IO pins ? Which pins can I use ? Any pin ? yes 4) What is the difference between SPI and I2C memory devices ? Which one is cheaper ? about the same What are the good and bad features of them ? some like the mother, some like the daughter, a matter of taste.
You find on my side a I²C simulation for different devices (http://www.c51.de/c51.de/Dateien/uVision2DLLs.php3?Spr=EN). You find also C-Code for the I²C slave protocol. Michael
Questions 1-3: Look on the support section of this site, or the free CD - both full of links to Vendors' sites, articles, appnotes, etc, etc,... Look in the code examples, too - there's loads. "4) What is the difference between SPI and I2C memory devices?..." Probably the only difference is that one has an SPI interface, while the other has an I2C interface; internally, I expect, the actual memory of the device will be identical. For the differences between the interfaces, go to http://www.lvr.com/ and search for "microwire" - there's an article which compares & contrasts SPI, Microwire and I2C.