Throttle Network

Throttles are connected to a throttle network which managed by the command station. There is no communication standard for the throttle network, so all throttles must be compatible with the command station. The NMRA DCC standard only applies to signals after the booster. For example, a Digitrax throttle will not work on NCE, however decoders from any manufacturer will will be able to receive commands from any booster. 
In its most simple form, there are three types of throttle networks in use. 
Going from basic to advanced: 
# Hard Wired, 
# Polled, and 
# Peer-to-Peer
Though some throttle networks support bi-directional communication, where the command station can also send information to the throttle, conceptually the throttle network can be thought of as a unidirectional throttle-to-command-station bus.
In addition to its role connecting throttles, the throttle bus can also serve as a network for communicating layout-related information. For example, an array of occupancy detectors might share their occupancy states on the throttle bus.
Your DCC system will restrict the network topology of the throttle network you are allow to deploy on your layout. For example, the overall length of the throttle bus will be limited, or the system's throttle network might require a linear bus topology without any branches. Or it might require special terminations at the ends of its branches.
== 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), one wire is required for every throttle, plus a common.
The obvious disadvantage is a lot of wire is needed for multiple throttles. The advantage is that the throttles don't require the electronics needed for advanced communications, so the result can be significant upfront cost savings.
=== Polled Network ===
The following sentence is the computer science definition of polling. 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." 
In a polled network the command station sequentially polls 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 gives every device an equal time slice, increasing the time required for a specific device to be polled again as additional devices are added to the network.
Another disadvantage is network delay: If you change the speed of a locomotive after the command station polled your throttle, it has to wait until the next pollng 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 increases. A newly added throttle, or an inactive one, will be polled randomly to allow the command station to update its list of active devices. Various strategies can be implemented to minimize network delay by polling active throttles frequently as compared to other less active throttles. 
Another issue which arises is address conflicts: Two devices cannot share the same address on the bus, with some address ranges reserved for specific devices.
=== Peer-to-Peer Network ===
The Peer-to-Peer (or P2P) is the most advanced network type, as 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 Peer to Peer, 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 throttle network occupied with constant "anything to report?" queries. A device will attempt to transmit only when it has data 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.
=== 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
NCE-BUS/CAB BUS	Polled 	63
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:
==== Hardwired ====
* MRC Command 2000
* Digitrax Challenger
==== Polled ====
* NCE-Bus (Throttle bus)
** Wangrow
** RamTraxx by RamFixx Technologies (Acquired by Wangrow in 1998)
** North Coast Engineering (NCE)
** Lahti Associates (formerly Power Systems Inc., (PSI))
**DYNATROL Digital
==== Peer-To-Peer ====
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)
** Zimo
** STP Software Computer interface for CAN-Bus
** MERG Group offering kits to its members
** Layout Command Control NMRA's Layout Command Control(tm) (LCC).
** OpenLCB The people, ideas, and technology powering NMRA's LCC.
* EasyDCC (a bus)
** CVP
* ECoSlink (a network, using a modified CAN-Bus)
** ESU ECoS System
* LocoNet (a network)
** Digitrax Zephyr, Empire Builder, Chief
** Uhlenbrock Intellibox
** Fleischmann Twin-Center
** Piko Digi-Power-Box
** Massoth DiMax RC Receiver
** Various manufacturers and open-source projects for LocoNet computer interfaces
** Various manufacturers of accessories supporting LocoNet as feedback network
* Maus-Bus (a bus, also called X-Bus Light, MZS-Bus or RocoNet)
** LGB MZS-II
** Uhlenbrock Intellibox
** Roco 'Digital is cool' system
** Massoth DiMax
* SX-Bus (a bus - originally used for Selectrix only, but recently also used for DCC)
** Trix Mobile Station
** Rautenhaus
** MüT DigiRail
** MTTM
* XPressNet (Previously called X-Bus)
** Lenz Digital Plus
** Hornby Digital
** CT-Elektronik (adapters for LocoNet, CAN-Bus, CT-Bus)
** Viessmann Commander
** ZTC Controls
** Massoth DiMax RC Receiver
** Arnold Digital (acquired by Hornby)
** Lahti Associates (formerly Power Systems Inc.)
==See Also==
* Throttle
* NMRAnet
* LCC
===External links===
* 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)
Category:DCC
Category:Throttle Network