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 switches what to do.
Types of Networks
In its most simple form, there are three types of throttle networks being used on DCC systems today: hard wired, polling, and peer-to-peer (going from basic to most advanced).
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 is 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 need the electronics needed for advanced communications, so there can be significant upfront cost savings.
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 / stationary decoders) for various purposes, such as avoiding contention, determining operational status, or determining readiness to send or receive data.
Basically, a polling network is where the command station polls, in sequence, each throttle asking if there is anything to report; such as locomotive or function commands to turn on/off lights, change speed, etc. The command station is constantly making 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 stationary decoders, which means more wires for a separate network for devices. Devices such as block detectors (determine if train is on a block) and switch status from stationary decoders. As more devices are added to the network, the time it takes 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.
The peer-to-peer (or P2P) is the most advanced type of network and is found in today's modern work environment. Since this is the most advanced, there are significant advantages to it. Keep in mind that although it's advanced, it 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.
A P2P network is a network that relies on the computing power of the devices (throttles, stationary decoders, etc.) in the network to function as both a client and a server. That is, each device needs to be able to receive data and transmit data. The data can be new locomotive instructions, throw a switch, 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 doesn't keep the data bus occupied with constant "anything to report?" requests.
To make it even more robust, not all devices on the network must be able to initiate a 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 stationary decoders to determine a switch position. It can poll the command station to determine if a locomotive is being controlled by another throttle. The list goes on.
A major advantage of a P2P network: all devices connect to the same network bus. Unlike the polled network, you simply have to 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.
|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|
Who uses what
For various reasons, various manufacturers use different network types. Here's a break down of what each system uses:
- NCE-Bus (a throttle bus)
Note: For some of the following throttle networks, we need verification that they are actually peer-to-peer networks.
- Transport-Agnostic -- multiple transports
- Layout Command Control NMRA's Layout Command Control(tm) (LCC).
- OpenLCB The people, ideas, and technology powering NMRA's LCC.
- CAN Bus (a network, also used in automobiles)
- LocoNet (a network)
- Maus-Bus (a bus, also called X-Bus Light or MZS-Bus or RocoNet)
- SX-Bus (a bus - originally used for Selectrix only, but recently also used for DCC)
- XPressNet (a bus, formerly called X-Bus)
- Mark Veneman's DCC page - explains a few "Cab bus systems"
- Sven Brandt's DCC Bus Systems page - explains a few bus systems (in German)