aioscilloscope / Features / 9-bit multidrop UART

9-bit multidrop UART

RS-485 multidrop buses decoded: addresses told from data, and a trigger on one slave's address only.

Add-on video

9-bit UART decode for RS-485 multidrop, on our MHO934
9-bit UART decode for RS-485 multidrop, on our MHO934 · Watch on YouTube

What it does

A character is a start bit, 5 to 8 data bits, the address bit and 1 or 2 stop bits. You set whether a 1 or a 0 in the ninth bit marks an address. Addresses show in blue in the decode lane, and the event table has one row per message: the slave's address, how many bytes followed it, and the bytes.

The scope's trigger hardware compares eight data bits, so on its own it also fires on a data byte of the same value. NovaOS reads the ninth bit of the character it triggered on and re-arms when it marks data, so a capture starts only on that slave's address. Probe both wires of the pair and it decodes A minus B, which keeps decoding through common-mode noise.

How to use it

  1. Decode > NovaOS > UART9; set the address bit, data bits, stop bits and rate.
  2. Trigger on B1 with the slave's address in Trig. addr; Addr. only is on by default.
  3. For an RS-485 pair, set Minus (A-B) to the channel on the second wire.
  4. Over SCPI: :NOVAos:BUS1:MODE UART9, and :NOVAos:BUS1:DATA? for the table.

On Rigol's firmware

DHO800: not offered · DHO900: not offered · MHO900: not offered.

Where it stands

Built and checked on test signals on both families, and filmed on our MHO934 with its own generator playing a 9-bit exchange. A live RS-485 bus on our bench is next. The request it came from.

A paid add-on; none is for sale yet. Everyone named on its request page keeps it free. Core and add-ons.