I2C pull-up resistors value with two or more devices ? - Page 2

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Re: I2C pull-up resistors value with two or more devices ?

Quoted text here. Click to load it

    Good information, thanks.

    We, also, have our own proprietary IIC buss pinouts with eight wires.
There is some redundancy because we also send a fair amount of power.
You'll see that there are two identical 8-pin connectors, pinouts are:

1- +12Vdc
2- -12Vdc
3- +5Vdc
4- /Sclk
5- /Sdata
6- /Int
7- Gnd
8- Gnd

    In our configuration the cable is manufactured of individual wires
randomly located so the absolute pin location isn't important.  Included
on the pcb is an IIC temperature sensor by Dallas Semi, the DS1621.

    I just put up the amrTerminator but have yet to create the schematics in
.pdf format so don't complain about the schematic link being incorrect:
http://www.amresearch.com/hardware.html#IIC and move down about 11 items
to the amrTerminator.  This small pcb
http://www.amresearch.com/graphix/iic/iic.terminator.jpgactually has
three of the pullup channels I spoke of upstream plus LED's to monitor
power supplies.

    The advantage of this design is that pullup current doesn't peter out
near the +5V rail and continues pulling up at about 60% of full current to
keep the data and clock lines stiff preventing rfi and emi from corrupting
communications.

    If you look at the PCF8574 there is a /Int pin.  This is extremely
important if you're using that concept over a serial bus.  Instead of
having to poll all IIC(SMB) slaves the controller can simply look at this
one pin to determine if any remote action needs to be taken.  This
releases an incredible amount of CPU overhead!  I should note that we use
not only the 8574 but designed some of our own IIC slaves using the Atmel
family of inexpensive RISC micros.  All use the /Int feature to notify an
IIC Master when they need attention.  Only then does the Master need to
devote resources to polling.  In one project this increased our main loop
execution speed by about 300%.

    FYI:  Since designing that pcb we've discovered that the problems we had
with the DS1621 were not in our code, which we spent many, many days on, but in
silicon!  It turns out that Dallas knew internally that the part was
fatally flawed yet refused to admit it in public for fear of lawsuit. I'll
never design with a Dallas sole-sourced part again.
 
    The IIC bus is a great way to expand your options with small
microcontrollers and can be extended a dozen or more feet but only if you
truly understand the complications.

-- Regards, Albert
---------------------------------------------------------------------- AM
Research, Inc.                  The Embedded Systems Experts
http://www.amresearch.com (916) 780-7623
----------------------------------------------------------------------

Site Timeline