0
\$\begingroup\$

I've read that the 1-wire pullup resistor is included so that either the master or the slave device can pull the line low in order to communicate. Makes perfect sense: if the device had a transistor output stage pulling it high, then no other device would be able to commandeer the bus.

Most hobbyists seem to use the same resistor value. I have a suspicion this is not appropriate and that cable run is a factor here.

So, why is this critical resistor, which is always the same value for a given device, not integral to the device?

\$\endgroup\$

2 Answers 2

1
\$\begingroup\$

Silly question. I just realised. You probably only want one pull-up per bus, whereas you might have many devices on that bus. For each parallel pullup, the resistance reduces.

\$\endgroup\$
1
\$\begingroup\$

Why is this critical resistor, which is always the same value for a given device, not integral to the device?

One reason is that so many devices could be attached to the line. Let's say we use a 4.7 kΩ resistor for pull-up. The current sunk by a device pulling the line low would be 1 mA.

Now consider what happens if you have 100 devices on the bus, each with its own 4.7 kΩ pull-up. Any device trying to pull the line low would have to sink 100 mA. This has too bad effects:

  • The 1-wire devices would have to have a much beefier open-collector transistor.
  • It would be a problem for low-power systems as, for example, the battery would need to provide a much higher current.
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.