Test and Measurement Forum

1-wire Analysis Question

Having problems ? let us know the details here

1-wire Analysis Question

Postby micksulley » Sun Jun 04, 2017 6:17 pm

I recently bought a 2206B to try to analyse a problem with my 1-wire network. In the system log I see an error message that the system has tried to access a device with family code 0, which doesn't exist. My question is, is it possible to set up a trigger initiated by a certain data string? If so how do I do it?
My knowledge of oscilloscopes is pretty much zero at the moment, so I would appreciate some help :D
Posts: 2
Joined: Mon May 29, 2017 9:26 pm

Re: 1-wire Analysis Question

Postby Gerry » Mon Jun 05, 2017 12:00 pm

Hi micksulley,

There is currently no way to trigger on a string of values.

When looking to use a PicoScope to perform all but the slowest serial decoding, it is always best to select a model with a fair sized buffer because you can really only perform good analysis when you have captured enough data (which the smaller 2000 PicoScopes can't really do).

However, a straightforward and accurate way to interpret a '1-wire family code error' correctly could be to capture the string of data within the context of a communication sequence, which doesn't need to be very long. You can just place one device on the bus at a time, and then trigger on a data bit, using a pulse width shorter than 30us trigger (using standard transmission rate would be less likely to cause diagnosis problems), and capture the data to fill the buffer.

To store the data permanently (so that it is not overwritten) and can be analyzed, you should use a single trigger. To make sure that you capture all of the data you should not use a sample rate that is not too fast (to avoid errors you may just need to sample the data at a rate of at least 1MS/s, i.e. 10x the actual bit-width, assuming a typical bit width of 10us). The devices should respond quickly enough to capture enough of the required data (you only have to capture a Read ROM command of 33 form the Master and then you have the family code in the following byte).

Note that I have assumed a typical bit width, rather than a worst case bit width of 5us, which would require a 2MS/s sample rate and only give you 16 total consecutive bit widths of data (for the 32MS buffer inside the PicoScope 2206B). So, you may have to increase the sample rate slightly, but you would have difficulty getting all of the data if the actual bit width is near the maximum, and/or the slave is too slow to respond. In this case you could split the buffer in 2 and use a 2MS/s sample rate, to capture the Read ROM command in the first buffer, and the family code in the second buffer.

Alternatively, (and if you want to perform any further analysis of the 1 wire communication stream) you would need a larger buffer PicoScope .You may be eligible for a refund for the cost of the 2206B, which would help with any upgrade - you can check using our help desk at support@pioctech.com on +44 (0) 1480 396395.


Technical Specialist
Posts: 130
Joined: Mon Aug 11, 2014 11:14 am

Return to Getting Started

Who is online

Users browsing this forum: No registered users and 0 guests