All tools

Free tool

RS-485 bus planner

Check an RS-485 bus before you wire it: cable length against baud rate, unit loads, stub length, termination and fail-safe bias against the RS-485 spec, with Modbus addresses and timing for Tstep-087 drives and TIO-0808 cards.

Line
bit/s
m
Nodes

The master sits at the start of the trunk.

×
m
×
m

A stub runs from the trunk to the transceiver. Wired in and out through a device's own A and B terminals, it is little more than the board trace.

Termination and bias
Termination
Ω
Fail-safe bias
Ω
Ω
Master driver and bias supply
Assumptions
ns

Leave blank to assume 10 ns, an edge without slew-rate limiting. The Tiny Controls documents do not give the ST3485E's rise time.

Idle differential voltage
271mV
At least 200 mV
Total unit load
7.58 of 32 UL
Longest run at 115200 bit/s
868 m
Silent interval t3.5
1.75 ms
Driver DC load
55.3 Ω

All 9 checks pass

Master 5 V A B 0 V 40 m · twisted pair 120 Ω · 115200 bit/s 120 Ω 120 Ω 560 Ω to 5 V 560 Ω to 0 V Tstep-087 stub 0.1 m addr 1 Tstep-087 stub 0.1 m addr 2 Tstep-087 stub 0.1 m addr 3 TIO-0808 stub 0.1 m addr 17
A (D+) in blue, B (D−) in red, signal common dashed. Terminators are the shaded boxes across the pair. A stub drawn red and dashed is over the stub limit.

Checklist

  • PassLength vs data rate40 m × 115200 bit/s = 4.61 × 10⁶ m·bit/s, inside the 10⁸ guideline. The longest run recommended at this rate is 868 m. The 10⁸ figure is a design guideline, not part of the standard.
  • PassRate every device supportsTstep-087 and TIO-0808 run at 19200 or 115200 bit/s, chosen by DIP switch (S8 on the Tstep-087, BAUD on the TIO-0808). Set every device to 115200 bit/s.
  • PassUnit loads7.58 UL of the 32 UL limit: master 1 UL, Tstep-087 × 3 at 1.64 UL each, TIO-0808 × 1 at 1.64 UL each. A Tstep-087 or TIO-0808 counts 1 UL for its ST3485E transceiver (assumed: the unit load is not given in the documents) plus 0.644 UL for its on-board 20 kΩ bias resistors.
  • PassStub lengthLongest stub 0.1 m, inside the 0.198 m limit for a 10 ns edge (rise time × 0.66 c ÷ 10). Rise time assumed 10 ns, an edge that is not slew-rate limited: the documents name the ST3485E transceiver on the Tstep-087 and TIO-0808 but not its edge rate, and the master's is unknown. Enter a datasheet figure under Assumptions.
  • PassTermination120 Ω at both ends of a 120 Ω cable: 0 % of each edge reflects. Tstep-087: jumper JP4 puts R65 across A and B, and the schematic gives R65 as 33 Ω, not 120 Ω. Leave JP4 open unless you have checked the fitted part, and terminate with an external resistor.
  • PassDriver DC loadThe driver sees 55.3 Ω: termination 60 Ω ∥ bias path 1.01 kΩ ∥ receivers 2.4 kΩ (5 UL). RS-485 drivers are specified to give at least 1.5 V into 54 Ω.
  • PassFail-safe biasIdle A − B = 271 mV, above the 200 mV a receiver needs to hold a defined idle state. Sources: 560 Ω to 5 V and 560 Ω to 0 V at the master; the on-board 20 kΩ pull-up and pull-down of each of the 4 Tiny Controls nodes; 60 Ω of termination. Largest E24 value giving at least 250 mV here: 560 Ω from A to 5 V and from B to 0 V at the master (271 mV).
  • PassModbus addressesTstep-087 × 3: addresses 1–3 (DIP switches S4–S7, all off is 1); TIO-0808 × 1: address 17 (switches AD0–AD2, all off is 17). Every slave needs its own address: two on one address answer together and corrupt both replies.
  • PassModbus silent intervalAbove 19200 bit/s Modbus fixes t3.5 at 1.75 ms and t1.5 at 0.75 ms rather than scaling them with the rate. The Tstep-087 and TIO-0808 end a frame on a 3 ms gap timer at either rate: send each frame in a single write, and leave at least 5 ms between frames as the Tstep-087 manual advises.

How it is worked out

Each check follows TIA/EIA-485 or a common design rule, and says which. Figures about Tiny Controls devices come from their schematics, firmware and manuals. Where those documents say nothing, the tool assumes a figure and says so in the check.

Length and data rate

TIA/EIA-485 allows a trunk of up to 1200 m. How far a given rate will go depends on cable loss, so designers use a rule of thumb: length in metres times rate in bit/s should stay under 10⁸. It is a guideline, not part of the standard. At 115200 bit/s it gives 868 m. At 9600 bit/s the 1200 m limit comes first.

Lmax = min(1200 m, 10⁸ ÷ rate)

Unit loads

One driver can serve 32 unit loads (UL). One UL is a receiver drawing no more than 1 mA with its input at +12 V and 0.8 mA with it at −7 V, about 12 kΩ. A 1/8 UL receiver lets 256 share a bus. Bias resistors fitted on a node load the bus too, so the tool holds them to the same test and adds the result to the node's count.

bias UL = the largest of  (12 − Vrail) ÷ Rup ÷ 1 mA,   (Vrail + 7) ÷ Rup ÷ 0.8 mA,
                          12 ÷ Rdown ÷ 1 mA,         7 ÷ Rdown ÷ 0.8 mA

20 kΩ from A to 3.3 V:  (3.3 + 7) ÷ 20 kΩ = 0.515 mA  →  0.644 UL

total UL = master + Σ count × (transceiver UL + bias UL)          pass ≤ 32 UL

Stubs

A stub is the wire from the trunk to a transceiver. Once its round trip is a noticeable part of an edge's rise time, the reflection from its open end distorts the edge. The usual rule keeps a stub under a tenth of the distance an edge travels while it rises. The fastest driver on the bus sets the limit. With no rise time entered, the tool assumes 10 ns, an edge without slew-rate limiting, which allows about 0.2 m. A slew-limited transceiver has slower edges and allows longer stubs, so enter its datasheet figure if you use one.

Lstub ≤ tr × VF × c ÷ 10          VF = 0.66 (assumed),  c = 299 792 458 m/s

10 ns × 0.66 × 299 792 458 m/s ÷ 10 = 0.198 m                     pass, otherwise warn

Termination

A resistor equal to the cable's impedance, Z0, across A and B at each physical end absorbs an edge instead of sending it back. The reflection coefficient says how much comes back from a mismatched terminator. Terminating one end leaves the other end open, and that end reflects everything, so one end is a warning at best. An unterminated line can still work when it is short enough for its reflections to die out early in each bit.

Γ = (RT − Z0) ÷ (RT + Z0)                  pass |Γ| ≤ 10 %,  warn ≤ 25 %,  otherwise fail

unterminated:  tprop = L ÷ (VF × c)
  pass   2 × tprop ≤ tr                     electrically short
  warn   10 × tprop ≤ bit time ÷ 10         rings out in five round trips
  fail   otherwise

Driver DC load

The driver sees the terminators, the bias path from the supply through the pull-ups, across the pair and down through the pull-downs, and every receiver, all in parallel. RS-485 drivers are specified to give at least 1.5 V into 54 Ω, so the tool warns below that.

Rload = 1 ÷ ( ends ÷ RT  +  1 ÷ (Rup,par + Rdown,par)  +  UL ÷ 12 kΩ )      pass ≥ 54 Ω

Fail-safe bias

Between every request and reply no driver is enabled, and only resistors hold the line. Receivers switch at ±200 mV and can output anything between those thresholds, so noise on an unbiased idle bus reads as false start bits and corrupts the next frame. The tool treats every pull-up on A, including the ones fitted on the nodes, as a source to its own rail, and every pull-down on B as a path to 0 V, then solves the two line voltages with the terminators between them.

GA = Σ 1 ÷ Rup     IA = Σ Vrail ÷ Rup     GB = Σ 1 ÷ Rdown     GT = ends ÷ RT

VA = IA ÷ (GA + GT − GT² ÷ (GB + GT))
VB = VA × GT ÷ (GB + GT)
Vidle = VA − VB                                                      pass ≥ 200 mV

One pull-up, one pull-down and the terminators alone:
Vidle = V × RT,par ÷ (Rup + RT,par + Rdown)
5 V, 560 Ω, 60 Ω:  5 × 60 ÷ (560 + 60 + 560) = 254 mV

The recommended value is the largest E24 resistor, fitted equally from A to the supply and from B to 0 V at the master, that gives at least 250 mV: the 200 mV threshold plus 25 % for resistor tolerance, supply droop and the receivers' own input current, which the calculation leaves out.

Modbus silent interval

Modbus RTU marks the end of a frame with silence, not a character. Up to 19200 bit/s the gap scales with the rate. Above it the specification fixes the gap, and the TIO-0808 firmware's framing notes quote the same 1.75 ms. The specification counts 11 bits a character, since RTU without parity is meant to use two stop bits. The Tstep-087 and TIO-0808 use 8N1, 10 bits, so 10 is the default here.

t3.5 = 3.5 × bits per character ÷ rate      rate up to 19200 bit/s
t3.5 = 1.75 ms,  t1.5 = 0.75 ms               rate above 19200 bit/s

19200 bit/s, 8N1:  3.5 × 10 ÷ 19200 = 1.82 ms

The Tstep-087 and TIO-0808 find the end of a frame with a 3 ms gap timer at either rate. Send each frame in a single write, so it has no pause inside it, and leave at least 5 ms between frames, as the Tstep-087 manual advises.

Worked example

The page opens on a master and four slaves on 40 m of 120 Ω twisted pair at 115200 bit/s: three Tstep-087 drives and a TIO-0808 card, daisy-chained with 0.1 m stubs, 120 Ω at both ends, and 560 Ω bias to 5 V at the master.

Wiring an RS-485 bus

Why termination and biasing matter

A cable is a transmission line. An edge that reaches the end of one is reflected unless a resistor equal to the cable's impedance absorbs it, and the reflection rings back and forth across the bits that follow. Terminators belong at the two physical ends of the trunk and nowhere else: every extra one lowers the load the driver sees and the idle voltage the bias can hold. Termination also creates the idle problem, because 60 Ω across the pair pulls A and B together. That is why a terminated bus needs bias resistors of a few hundred ohms, where tens of kilohms hold an unterminated one.

Daisy chain, not star

An RS-485 bus is one line with two ends. Run the cable from device to device, into one pair of terminals and out again, so each stub is only the board trace. A star has as many ends as it has arms, every arm reflects, and two terminators cannot sit at all of them. Where a device must hang off the trunk, keep its stub inside the limit above.

Common reference

RS-485 is differential, but each receiver still needs both lines within −7 V to +12 V of its own 0 V. Devices on separate supplies can sit further apart than that. Carry signal common with the pair, as the Tstep-087 and TIO-0808 manuals ask, rather than trusting the earth between cabinets to do it.

Shielding

Use shielded twisted pair near drives, motors and their cables. Earth the shield at one point, usually the master or the cabinet entry, so interference drains to earth without a loop current flowing along the shield between two earths. If the shield also carries signal common, which the Tiny Controls manuals allow, connect it at every device but still earth it at one point only.

What the tool knows about Tiny Controls devices

FactTstep-087TIO-0808Source
TransceiverST3485E on 3.3 VST3485E on 3.3 VBoard schematics
On-board bias20 kΩ from A (D+) to 3.3 V, 20 kΩ from B (D−) to 0 VThe sameBoard schematics
On-board terminatorJumper JP4 in series with R65 across A and B; R65 is given as 33 ΩNone on the schematicBoard schematics
Baud rate19200 or 115200 bit/s, DIP switch S819200 or 115200 bit/s, BAUD switchFirmware and manuals
Character format8N18N1Firmware
Addresses1–16, switches S4–S717–24, switches AD0–AD2Firmware and manuals
Transmit directionSwitched by the driveSwitched by the cardFirmware and manuals
End of frame3 ms gap timer; leave 5 ms between frames3 ms gap timerFirmware and manuals
Unit loadNot given. The tool assumes 1 UL for the transceiver and adds 0.644 UL worked out from the bias resistors.Assumption
Edge rateNot given. The tool assumes 10 ns unless you enter a figure.Assumption

Assumptions and limits

Related products