Digital Command Control (DCC) is a standard for a system for the digital operation of model railways that permits locomotives on the same electrical section of track to be independently controlled.

The DCC protocol is defined by the Digital Command Control Working group of the National Model Railroad Association (NMRA). The NMRA has trademarked the term DCC, so while the term Digital Command Control is sometimes used to describe any digital model railway control system, strictly speaking it refers to NMRA DCC.

History and protocols
A digital command control system was developed (under contract by Lenz Elektronik GmbH of Germany) in the 1980s for two German model railway manufacturers, Märklin and Arnold. The first digital decoders that Lenz produced appeared on the market early 1989 for Arnold (N) and mid 1990 for Märklin (Z, H0 and 1; Digital=). Märklin and Arnold exited the agreement over patent issues, but Lenz continued to develop the system. In 1992 Stan Ames, who later chaired the NMRA/DCC Working Group, investigated the Märklin/Lenz system as possible candidate for the NMRA/DCC standards. When the NMRA Command Control committee requested submissions from manufacturers for its proposed command control standard in the 1990s, Märklin and Keller Engineering submitted their systems for evaluation. The committee was impressed by the Märklin/Lenz system and had settled on digital early in the process. The NMRA eventually developed their own protocol based on the Lenz system and further extended it. The system was later named Digital Command Control. The first commercial systems built on the NMRA DCC were demonstrated at the 1993 NMRA Convention, when the proposed DCC Standard was announced. The proposed standard was published in the October 1993 issue of Model Railroader magazine prior to its adoption.
 
The DCC protocol is the subject of two standards published by the NMRA: S-9.1 specifies the electrical standard, and S-9.2 specifies the communications standard. Several recommended practices documents are also available.

The DCC protocol defines signal levels and timings on the track. DCC does not specify the protocol used between the DCC command station and other components such as additional throttles. A variety of proprietary standards exist, and in general, command stations from one vendor are not compatible with throttles from another vendor.

RailCom 
In 2006 Lenz, together with Kühn, Zimo and Tams, started development of an extension to the DCC protocol to allow a feedback channel from decoders to the command station. This feedback channel can typically be used to signal which train occupies a certain section, but as well to inform the command station of the actual speed of an engine. This feedback channel is known under the name  RailCom, and was standardized in 2007 as NMRA RP 9.3.1.

Quoting "NMRA Standards and Recommended Practices":

    S-9.3 DCC Bi-Directional Communications Standard
       S-9.3.1 (discontinued)
       S-9.3.2 DCC Basic Decoder Transmission - (updated 12/20/2012) UNDER REVISION

How DCC works

A DCC system consists of power supplies, command stations, boosters, throttles and decoders.
 
The DCC command station creates the digital packet using data from a throttle. The digital packet contains the decoder's address, instructions and an error byte to check the validity of the packet. 

Many command stations are integrated with an amplifier (booster) which, in combination with its power supply, modulates the voltage on the track to encode digital messages while providing electric power. For large systems additional boosters may be employed to provide extra power.

The track voltage is a pure digital signal. The DCC signal does not follow a sine wave, nor is it a carrier superimposed on a DC voltage. The command station/booster quickly switches the voltage applied to the rails on and off, resulting in a binary stream of pulses. One rail is always the inverse logical state of the other, with each data pulse repeated. As there is no polarity, direction of travel is independent of the rail's phase. The length of time the voltage is applied provides the method for encoding data. To represent a binary one, the period is short (nominally 58 µs), while a zero is represented by a longer period (nominally at least 100 µs). 

Each locomotive is equipped with an individually addressed multifunction DCC decoder that takes the signal from the track, processes and acts on the instructions. The electric motor's speed and direction is controlled using Pulse Width Modulation. Each decoder is given a unique address, and will not act on commands intended for a different decoder, thus providing independent control of locomotives and accessories anywhere on the layout without special wiring requirements. Decoders can also control functions such as lights, smoke generators, and sound generators. These functions can be operated remotely from the DCC throttle. Accessory decoders can also receive commands from the throttle in a similar way to allow control of turnouts, uncouplers and other operating accessories (such as station announcements) and lights.

It is possible to power a single analog (DC) model locomotive by itself (or in addition to the DCC decoder equipped engines), depending on the choice of commercially available DCC starter systems. The technique is known as  zero stretching and is not part of the NMRA DCC Standard. The zero bit's period can be expanded (stretched) to make the average voltage (and thus the current) either forward or reverse, depending on which rail the stretched zero bit is applied to. However, because the raw power contains a large harmonic component, DC motors heat up much more quickly than they would on DC power, and some motor types (particularly coreless electric motors) can be damaged by a DCC signal.

Advantages over analog control

The great advantage of digital control is the individual control of locomotives wherever they are on the layout. With analog control, operating more than one locomotive independently requires the track to be wired into separate "blocks" each having switches to select the controller. Using digital control, locomotives may be controlled wherever they are located.

Digital locomotive decoders often include "inertia" simulation, where the locomotive will gradually increase or decrease speeds in a realistic manner. Many decoders will also constantly adjust motor power to maintain constant speed. Most digital controllers allow an operator to set the speed of one locomotive and then select another locomotive to control its speed while the previous locomotive maintains its speed.

Recent developments include on-board sound modules for locomotives as small as N scale, made possible by advancements in smartphones, which tend to use small yet high-quality speakers.

Wiring requirements are generally reduced compared to a conventional DC powered layout. With digital control of accessories, the wiring is distributed to accessory decoders rather than being individually connected to a central control panel. For portable layouts this can greatly reduce the number of inter-board connections - only the digital signal and any accessory power supplies need cross baseboard joins.

Example schematics

Competing systems
There are two main European alternatives: Selectrix, an open Normen Europäischer Modellbahnen (NEM) standard, and the Märklin Digital proprietary system. The US Rail-Lynx system provides power with a fixed voltage to the rails while commands are sent digitally using infrared light. 

Other systems include the Digital Command System and Trainmaster Command Control.

Several major manufacturers (including Märklin, Fleischmann, Roco, Hornby and Bachmann), have entered the DCC market alongside makers which specialize in it (including Lenz, Digitrax, ESU, ZIMO, Kühn, Tams, North Coast Engineering (NCE),Digikeijs, and CVP Products' EasyDCC, Sound Traxx, Train Control Systems and ZTC). Most Selectrix central units are multi protocol units supporting DCC fully or partially (e.g. Rautenhaus, Stärz and MTTM).

See also 
 List of network buses

References

External links

NMRA Standards and Recommended Practices page
The NMRA's trademarked DCC logo
DCC History at the DCCWiki
The DCCWiki
Wiring for DCC
OpenDCC - An open project for building your own decoders, command stations etc.

Digital model train control
Rail transport modelling