Throttle Network

DCCWiki, a community DCC encyclopedia.
Jump to: navigation, search

Simple DCC system diagram.

Summary: A Throttle Network is a separate data bus which connects a throttle to the command station. This network is responsible for getting what the user (you) want to do to the command station, so that the command station can tell trains or turnouts what to do.

Throttle Networks

In its most simple form, there are three types of throttle networks being used. Going from basic to most advanced, they are: hard wired, polling, and peer-to-peer.

Hard Wired Network

A hard wired network is like that which was used with Digitrax's original Challenger system, and MRC's Command 2000. There are no digital signals (digital packet) going over the wires. It is an analog connection between the throttle and command station, which works much like analog throttles do. This is the lowest cost and most limited type of throttle system. In terms of 'networking' (or wiring), you have to have one wire for every throttle, plus a common.

The obvious disadvantage is lots of wire is needed. The advantage is that the throttles don't require the electronics needed for advanced communications, so the result can be significant upfront cost savings.

Polling Network

The following sentence is the computer science way of defining the polling method. Don't worry, it'll be broken down for us non-computer science modelers:

A polling network is the sequential interrogation of devices (throttles / accessory decoders) for various purposes, such as avoiding contention, determining operational status, or determining readiness to send or receive data.

Think of it as "Speak only when spoken to."

A polling network is one where the command station polls in sequence each device, asking if there is anything to report; such as locomotive or function commands to turn on/off lights, change speed, etc. The command station constantly makes these queries, so the network is continuously busy. While this type of network is adequate for several throttles, it is limited to several throttles. In some designs, you'll have a separate network for accessory decoders, meaning more wires for a separate network for those devices, such as block detectors (determine if train is on a block) and turnout status from accessory decoders. As more devices are added to the network, the time required to poll all the devices increases. The command station has to give every device an equal time slice, meaning the time between a device being polled increases.

Another disadvantage is network delay. If you change the speed of a locomotive just after the command station polled your throttle, you have to wait until the next cycle to get the command from your throttle to the command station. This may be only a fraction of a second on a system with few devices, but as more devices need to be polled, the delay can increase. A newly added throttle, or an inactive one, will be polled randomly to allow the command station to update its list of active devices.

Another issue which can arise is address conflicts: Two devices cannot share the same address on the bus, and some address ranges are reserved for specific devices.

Peer-to-Peer Network

The Peer-to-Peer (or P2P) is the most advanced type of network, and is found in today's modern business environment. Since this is the most advanced, there are significant advantages. Keep in mind that although advanced, that does not make it hard to use or understand - in actuality, it can make things easier for the user as the complexity is handled by the hardware, not the user.

P2P is a network that relies on the computing power of the devices (throttles, accessory decoders, etc.,) in the network to function as both client and server. Each device needs to be able to receive and transmit data. The data can be new locomotive instructions, throw a turnout, train location information, commands from a desktop computer controlling your layout, etc.

With this network type, the command station does not ask individual devices if there is any new information as with a polled network. Instead, it's up to each device to update other devices about any status changes. This frees bandwidth for data, because the command station does not keep the data bus occupied with constant "anything to report?" polling. A device will attempt to transmit only when it has data that it needs to pass on to another device.

To make it even more robust, not all devices on the network must be able to initiate communication, but they can. In some cases it's nice to be able to still poll a device for a information. In a P2P network, any device can poll any other device for information. An example this being used: If you just plugged in a throttle to the network, it doesn't know the status of anything. In a P2P network, the throttle can poll accessory decoders to determine a turnout's position. It can poll the command station to determine if a locomotive is being controlled by another throttle. The list goes on.

A significant advantage of a P2P network: All devices connect to the same network bus. Unlike the polled network, you run a single network cable to each device. This is also where the P2P network shines - one network does it all. Less wiring, less chance for failures. Another advantage is that P2P can handle today's equipment, and tomorrow's new gadgets. The command station only has to pass on a valid message, it doesn't need to be upgraded every time a new message is defined.

Network Comparison

Protocol Network Type Max. Devices Supported
LocoNet Peer to Peer Limited by command station
XpressNet Peer to Peer 30
CAN Bus/CBus Peer to Peer Unknown
EasyDCC TBUS Peer to Peer 10, more with extenders
ECos-link Peer to Peer Based on CAN
Maus-Bus Peer to Peer Unknown
SX-Bus Peer to Peer Unknown

Network Application by Manufacturer

For various reasons, various manufacturers use different network types. Here is a break down of what each system uses:




Note: For some of the following throttle networks, we need verification that they are actually peer-to-peer networks.

See Also


External links