Exact match. Not showing close matches.
PICList
Thread
'[EE] I2C addressing'
2005\11\04@172616
by
Nathan Nottingham
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
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
On 11/4/05, Nathan Nottingham <spam_OUTnateTakeThisOuT
nottingham-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
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}> On 11/4/05, Nathan Nottingham <
.....nateKILLspam
@spam@nottingham-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@180157
by
Bill Freeman
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
> 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
|
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}>
> 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:
> > On 11/4/05, Nathan Nottingham <
nate
KILLspamnottingham-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\05@104000
by
michael brown
----- Original Message -----
From: "Jinx"
{Quote hidden}> > 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
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
> 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...