One Wire

Hi everyone

I have to solve an issue using EMX and a OW network. The network is composed of a set of 30 DS2401 devices whose 6 are always on the network (used to check if network lines are not broken). The other 24 devices are connected on the bus using switches and allows to know if the switch is off or on by detecting the presence of the DS2401 signature on the bus.

Finally I have 6 DS2408 that allows to supply LED’s according to the DS 2401 detected on the bus. This architecture has already worked before but we spend a hard time to define the proper value for the pullup resistor and this time it seems that the pullup is not the only problem.

Sometimes some DS2401 are not properly detected and I don’t know why. Is it due to long stubs?if yes, why suddenly? (the only changes is the PCB…) How to proceed to enhance the OW behaviour?

@ leforban -

it looks like if more than 20m, one wire works incorrectly, I remember one user said that.

According to Guidelines for Reliable Long Line 1-Wire Networks | Analog Devices

The “weight” of a 1-wire network is the total connected length of wire, where “radius” is the distance from the master to the most distant slave.

Have a look at:

http://www.1wire.org/Files/Articles/1-Wire-Design%20Guide%20v1.0.pdf

This paper is realy good to understand the problematics.

The document I linked is specific guidance for LONG (or what they call “high-weight”) networks. At 76m, you should have plenty of headroom, as long as you follow the guidance.

Hi Godefroi

I 've already read plenty of litterature about OW. However, avoiding long stubs is sometime impossible due to the building topology.

I’ve tried the RC filter without success (it seems to be specific to the DS2480). I don’t know how will work the slew rate control define in Appendix A.

I am using twisted pair cable. The pullup resistor is in fact a TRIM Pot of 4.7k in order to adpat the impedance to the network. It was working fine till…now

Try a capacity on the end of each sensor between ground and vcc, to get a stable powering. Little noise on VCC will cause errors on the data line.

Then on each stub, put a 150 ohm resistor in series with the data line. That will kill reflections of the signal. Avoid open ends.

Do not use shielded twisted pair cable. Use unshielded twisted pair :slight_smile:

slew rate control isn’t possible with the implementation of OW in the .net micro framework. Because you do not have a seperate pin for RX and one for TX.

Look at my link at page: 61/62/63

cable is shielded however shield has been left unconnected. I will try to add 100-150 Ohms on stubs.

Due to topology and the aim we target there’s open ends. Each time a switch is off there’s an open ends…

Arghhhh it was a nasty bug in the code. It works really better now (in terms of application behaviour). I still have in some cases Microlan devices that are not recognized but it is not critical and relies on the network topology.

For those who work on one wire, do you have a trick to adapt automatically the pullup impedance according to the network length. (I had a look on some digital pots but I am not sure that the max output current will be enough.