1-wire : 4.7k resistor not working / how to compute optimal resistor topology for star layout

1-wire

I've build a 1-wire network using a star topology (networking done trough my home's ethernet cables).

At the begining I didn't own a 4.7k resistor but some 1.2k resistor so I lined them to achieve 1.2k*3= 3.6k "virtual resistor".

This first version of my bus was working fine.

Today I tried to replace those 3 resistor by a single 4.7k and the bus stopped working.

==> Why ? 🙂


[EDIT] second question added below

Following maxim's guide I think I understand that, with a star topology, one should rather use a switched network or a Distributed Impedance Matching.

I'm more keen to try this second option but how can I compute the optimal resistor to add to each branch given their length ?


Star topology metrics are : 4 branches diverging at the master

  • 1st branch = 18.5m
  • 2nd branch = 26.5m
  • 3rd branch = 25m
  • 4th branch = "1cm" (direct connection to my 3.6k resistor)

Thus the radius of the longest branch is ~27m and the radius of the shortest is 0cm and the total weigth is 71m

Best Answer

From my memory of the Dallas guide, which should be similar, star layout should be avoided as the various reflections can cause interference. Without an oscilloscope it will be difficult to debug.

Assuming that you don't want to rewire, your most robust solution would be to put each cable on a separate pin of your micro and poll each individually.

You don't specify whether you are transmitting power on the data line or separately. The separate power line makes the resistor value less critical.

By the way, your 3.6k resistor isn't 'virtual'. It's real!