Summary: A Throttle network is a separate data bus connecting the throttles and other accessories to the command station.
In its most simple form, there are three types of throttle networks in use. Going from basic to most advanced: 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 a lot 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.
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.
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 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.
|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 breakdown of what each system uses:
- NCE-Bus (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
- CAN Bus (a network, also used in automobiles)
- EasyDCC (a bus)
- ECoS-link (a network, using a modified CAN-Bus)
- ESU ECoS System
- LocoNet (a network)
- Maus-Bus (a bus, also called X-Bus Light, MZS-Bus or RocoNet)
- SX-Bus (a bus - originally used for Selectrix only, but recently also used for DCC)
- XPressNet (Previously called X-Bus)