Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

I2C Memory expanding

Status
Not open for further replies.

KOEZE

New Member
I'm building a datalogger for r/c use from the internet. The latest version uses a 24C1024 I2C eeprom. I can source 24C512 I2C eeproms. An earlier version of the software can handle these so I can build me a working logger. I was wondering if I could do something simple to use 2 24C512 as one 24C1024. For instance can I simply add both 24C512 to the I2C bus or am I facing adressing problems.

For your information the logger I'm building is **broken link removed**

EJK
 
KOEZE said:
I'm building a datalogger for r/c use from the internet. The latest version uses a 24C1024 I2C eeprom. I can source 24C512 I2C eeproms. An earlier version of the software can handle these so I can build me a working logger. I was wondering if I could do something simple to use 2 24C512 as one 24C1024. For instance can I simply add both 24C512 to the I2C bus or am I facing adressing problems.

Try checking the datasheet for the 24C512, if it has address lines you can connect more than one to the same bus, by setting them to different addresses. Failing that, you can give them different I/O lines, so use a common data line, but have seperate clock lines - but it means using three lines instead of two, and more rewriting of the code.
 
That is all way bove my head. I was hoping that the 24c1024 2 24c512 in a single unit was. I haven't been able to find anything about that chip other than in combination with Funcards. The fact that microchip nor atmel has the 24c1024 gave me the impression that the 1024 was something else than usual.

Since I only have access to the hex-listing changing the program is way out of my league.

Thank you for your reply.

EJK
 
What Nigel was saying is that with a number of I2C eproms on the market (I believe all Microchip eproms can do this) you can hook multiple chips to the same I2C bus. Externally by way of 3 pins, you can give each eprom a specifice address or "code word" if you prefer. All I2C devices have to have a unique "code word" in order to allow multiple devices to exist on the same two wires. What happens next is in the firmware of your PIC. When the PIC issues its first data transfer over the I2C bus, it first transmits the "code word". Every device on the bus receives the "code word" but only the one with the same code will respond to any further commands until you stop your data transfers by setting a "stop condition".

This bus arbitration is handled by the microcontroller. Speaking from experience, it is VERY convenient to use a microcontroller that has a hardware I2C controller built in. It will make your life a lot easier.

-Bill
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top