Continue to Site

Welcome to EDAboard.com

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.

How to establish communication between 8051 microcontrollers using i2c protocol?

Status
Not open for further replies.

microlab

Full Member level 5
Joined
Mar 4, 2006
Messages
309
Helped
44
Reputation
88
Reaction score
35
Trophy points
1,308
Activity points
3,253
hai all
is it possible to establish communication between 8051 microcontrollers using i2c protocol?
if possible what's the maximum cable length?
and how many controllers we can connect?
when checked with philips,thay says we have to use some actve current source insted of pull up resistors.what's the active current source and how can we interface to the i2c bus?
i would like to get feed back from people who already had done such projects


thanking you


ml
 

i2c+speed+8051

Standard pull-ups should do too ..

Cable length?
Ther is no cable length .. all these devices should be confined to one "mother-board" or something like that ..

What are you trying to do:

- Multi-Master
or
- One-Master and Multi-Slave

Regards,
IanP
 

i2c communication between 8051s

dear ianp
i am talking about one master and slaves
pls check the following
this is waht i've got form esaacademy
Question: What is the maximum distance of the I2C bus?
This depends on the load of the bus and the speed you run at. In typical applications, the length is a few meters (9-12ft). The maximum capacitive load has been specified (see also the electrical Spec's in the I2C FAQ). Another thing to be taken into account is the amount of noise picked up by long cabling. This noise can disturb the signal transmitted over the bus so badly that it becomes unreadable.

The length can be increased significantly by running at a lower clock frequency. One particular application - clocked at about 500Hz - had a bus length of about 100m (300ft). If you are careful in routing your PCB's and use proper cabling (twisted pair and/or shielded cable), you can also gain some length.

If you need to go far at high speed, you can use an active current source instead of a simple pull-up resistor. Philips has a standalone product for this purpose. Using a charge pump also reduces "ghost signals" caused by reflections at the end of the bus lines.

If you need to go far at high speed, you can use an active current source instead of a simple pull-up resistor. Philips has a standalone product for this purpose. Using a charge pump also reduces "ghost signals" caused by reflections at the end of the bus lines.

so it's possible for us to make a long distance communication using i2c. in the last paragraph they were talking about active current sources.what's that?


thanking you


ml
 

8051 and i2c

microlab,

This is a sample active current source circut to drive I2C bus, you have to build 2 active current source, one for SDA and one for SCL.

99_1162217819.gif


Refere to attachment page 41 for more complex active current source.
 

Attachments

  • i2c_bus_specification_1129.pdf
    279.9 KB · Views: 101

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top