Searching \ for '[EE] I2C addressing' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/i2cs.htm?key=i2c
Search entire site for: 'I2C addressing'.

Exact match. Not showing close matches.
PICList Thread
'[EE] I2C addressing'
2005\11\04@172616 by Nathan Nottingham

picon face
I've been Googling I2C all afternoon and have not found a solution to
this problem.  If the Microcontroller is the master doing software I2C
using standard I/O ports (think 16F84) and you are connecting to a
single slave device the addressing seems fairly straight forward.

Great example here:
http://tinyurl.com/ex8ul

Full URL for the paranoid :)
http://www.analog.com/UploadedFiles/Application_Notes/4357629173488053769440327090AN-561.pdf

However, how does one handle multiple slave devices especially if they
are the same device.  In the example above, what if I need multiple
AD7416s?  How can they be addressed?

Thank you

2005\11\04@173401 by olin piclist

face picon face
Nathan Nottingham wrote:
> However, how does one handle multiple slave devices especially if they
> are the same device.  In the example above, what if I need multiple
> AD7416s?  How can they be addressed?

Some slave chips have extra pins that let you select from a range of
addresses.  So if the device has 3 such pins you can put up to 8 of them on
the same IIC bus.  Check the data sheet of your device to see if and how
many address pins it has.


******************************************************************
Embed Inc, Littleton Massachusetts, (978) 742-9014.  #1 PIC
consultant in 2004 program year.  http://www.embedinc.com/products

2005\11\04@173807 by Alex Harford

face picon face
On 11/4/05, Nathan Nottingham <spam_OUTnateTakeThisOuTspamnottingham-tech.com> wrote:
>
> However, how does one handle multiple slave devices especially if they
> are the same device.  In the example above, what if I need multiple
> AD7416s?  How can they be addressed?

I'm sure I won't be the only to answer... but generally there are
address bits that are configurable by connecting them to ground or
supply voltage.

In the diagram on pg 8 you'll see that they are all tied to ground,
but you can get 2^3 combinations of addresses on that device by
changing those inputs.

Alex

2005\11\04@180145 by Nathan Nottingham

picon face
Thank you and thanks to Olin as well.  I'm a software programmer still
thinking all problems can be solved in code.



Alex Harford wrote:
{Quote hidden}

2005\11\04@180157 by Bill Freeman

flavicon
face
Olin Lathrop writes:
> Nathan Nottingham wrote:
> > However, how does one handle multiple slave devices especially if they
> > are the same device.  In the example above, what if I need multiple
> > AD7416s?  How can they be addressed?
>
> Some slave chips have extra pins that let you select from a range of
> addresses.  So if the device has 3 such pins you can put up to 8 of them on
> the same IIC bus.  Check the data sheet of your device to see if and how
> many address pins it has.

       And some come in N versions, with N different addresses
(really an internal chip bonding option).  See, for example, the
Microchip 5 pin TO-220 I2C temperature sensors.

                                                       Bill

2005\11\04@182247 by Jinx

face picon face
> However, how does one handle multiple slave devices especially
> if they are the same device

As others have said, use the chip's address pins. A current project
of mine has multiple F88 slaves, and I use a similar system so the
user can configure it. Simply put (although there's more to it), each
block of 8 x F88s has a base address and each F88 within that
block has a unique address relative to the base address. Each block's
base address can be changed with user-configurable jumpers, so that
you are able to keep adding blocks of 8 x F88s

2005\11\04@223652 by Dmitriy Kiryashov

picon face
Nathan, what Olin said is correct. Slowly chewing the fish again...

Each I2C device has permanent base address and sort of extension
to it configurable by pins : individual device address. By setting
ones and zeroes in different ways on the same type devices you want
to put in parallel on I2C ( so two physical devices of the same type
do not have the same "individual" address ) you will be able to access
them independently through your software since each of them will have
different ( in the "extra bits" field ) address. Otherwise you can't
distinguish them in "software".

Other solution is I2C extender. Go to Philips semiconductor website
and search for I2C multiplexers / extenders ( don't recall correct
name right now ) You will get an idea.


WBR Dmitriy.


Nathan Nottingham wrote:
{Quote hidden}

> -

2005\11\05@104000 by michael brown

picon face

----- Original Message -----
From: "Jinx"


{Quote hidden}

I simply must know what it is that uses blocks of 8 x F88s.  ;-) Is it
some kind of LED sign control?

2005\11\05@170637 by Jinx

face picon face
> I simply must know what it is that uses blocks of 8 x F88s.  ;-) Is
> it some kind of LED sign control?

LEDs ? Oh, yawn ;-) No, it's a plug 'n' play PLC system. Not as
dull as it sounds, each block is assigned a digital and/or analogue
function(s). Not every F88 needs to be installed but its address range
has to be reserved. Additionally, any F88 in the system has the
capability of talking to any other. Although I've not implemented
this, I've tested it and there are some intriguing possibilities, in the
context of the application

I'm sure this is just how CyberDyne Systems Corporation started ;-))

Hopefully I won't end up like Miles Bennett Dyson...........


More... (looser matching)
- Last day of these posts
- In 2005 , 2006 only
- Today
- New search...