1-wire Analysis Question

Having problems ? let us know the details here
Post Reply
micksulley
User
User
Posts: 2
Joined: Mon May 29, 2017 9:26 pm

1-wire Analysis Question

Post by micksulley »

Hi,
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
Thanks
Mick

Gerry
PICO STAFF
PICO STAFF
Posts: 1145
Joined: Mon Aug 11, 2014 11:14 am

Re: 1-wire Analysis Question

Post by Gerry »

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.

Regards,

Gerry
Gerry
Technical Specialist

Post Reply