Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
The slaves are hard-wired. Most of the i2c chips like eeproms, etc., allow you to modify one or two bits of the address, depending I believe more on the pins available on the chip package rather than for any other reason. So, if you're using a chip with built-in i2c, look at its specification and it will tell you the possible addresses it can have. If you're doing a software i2c slave, choose an address yourself, respecting that there can only be one slave at each address, and respecting the limitations on address of any other chips on the bus.
I have never see a I2c chips with a chip select. :?
A software address is use to access the chip and like barny wrote on some chips one or more lines can be be connected to gnd to change the address. This allow to use more than 1 chips of the same type on the same bus and select the component to read/write.
The chip has got three lines 1010, A0 ,A1 ,A2 R/W ,hardwire A0,A1,A2
to get the address you require Simple :wink: ,It depends from chip ti chip
you may find only A0 for example in some chips followed by page addresses ,
There are no chip selects on the I2C bus. Each device requires a unique address. Addresses are defined from an internal "base address" and usually (but not always) a few external pins to select the low order address bits (ie, A2, A1, A0). Some devices may take too much of the address space, such as certain EEPROMs, and may not have externally selectable low order address bits. They just operate at the default "base address".
The fun begins when you need to put more of these devices on a single I2C bus, and there are no available address spaces. Then you will need to use either an I2C switch (see philips) or use some sort of I2C I/O device to drive the pin selectable address bits (indirect addressing method).