Skip to main content
Topic: Special 1-wire Serial Decoding capture (Read 1603 times) previous topic - next topic

Special 1-wire Serial Decoding capture

Hello,

I've been working on sniffing an industrial system that uses a 1-wire differential serial bus.  I have been using a USBee ZX logic analyzer to record the traffic, first buffered through a MCP2551 CAN tranceiver to convert the differential signal to TTL so the USBee can read it.  I have been hand decoding the signals, and was going to start writing a custom decoder for it in the USBee to save time, and just got my new Bus Pirate V3 in the mail, and said "hey I bet this can do what I need!"

It is a simple serial protocol, 4800 baud, 1 start bit, 8 data bits, 2 stop bits.  One side sends a byte or two, then the other, each side knows when to send based on context of the commands, and some are simple echo commands.

Can someone advise an easy way for me to capture these streams of data?  Each data transaction is maybe 500-1000 bytes or so, so it is not a huge amount of data.  I would like to be able to capture it and print it out.

Re: Special 1-wire Serial Decoding capture

Reply #1
I was confused a bit at first. When you say 1-wire differential serial bus, you don't mean the Dallas/Maxim 1-Wire protocol. This is basically a UART with a special transceiver? It sounds a lot like LIN.

If it's just serial, use the Bus Pirate's UART mode, configure it for your settings, and use the 'live monitor' macro. Use (0) to get the macro menu, I think it's macro (2). Then all traffic should be bridged to your terminal. Use a HEX display mode (or capture it to a file and view in a HEX editor) to see the raw values.
Got a question? Please ask in the forum for the fastest answers.