DCC (Digital Command Control) presentation
- Principles
- NEM standards and the NMRA standard for numerical control
- The Digital Command Control (DCC) protocol
- Signals
- Configuration variables (CV)
You will also find a simple decoding exercise
Principles
To fully understand the digital world, you need to understand the following basic concepts:- Alternating voltage and current
- The representation of digital signals (bit, byte, ...)
- The structure of a protocol
- The role of a configuration variable
These notions are described in Alan Gartner's site (see references below).
Voltage and current In digital
- Rails are conductors.
- Voltage is permanent on the track.
- Voltage is between -18V and + 18V in HO, but lower in N and Z.
- The speed of a locomotive is not influenced by a voltage variation.
- The polarity applied does not determine the direction of the train.
European Standards of Modeling (NEM)
The European Standards of Modeling (NEM) describe in detail the signals and the protocol:
- NEM 670 DCC digital control system Bit encoding.
- NEM 671 Digital control signal DCC basic data packets.
NEM in French and German languages are published by MOROP, can be downloaded for free
They are in line with the NMRA standard. No problem of compatibility.
They are in line with the NMRA standard. No problem of compatibility.
DCC NMRA standard
The NMRA Standard (July 2004 Edition) describes in detail the signals and the protocol:
- S 9.1 Electric DCC Standard
- S 9.2 Communication DCC Standard
The Standard is completed by the RP "Best practices" Electrical interface and color coding of the wiring:
- Power interface
- Extension of packets
- Configuration variables
- Manufacturer identification
- Service mode
- Error mode
- Specification of decoders
The publications are in English and can be downloaded free of charge.
DCC protocol
The DCC protocol has been defined by the NMRA (National Model Railroad Association) in the USA. It was validated definitively in 1994, as a national standard.
The foundations of this protocol were laid in the early 1990s by Lenz, Germany, who wanted to improve the Märklin protocol.
Compatibility with previous generations of decoders was not guaranteed by all manufacturers.
The exchanges between the central unit and a decoder respect a data format also called protocol.
The signal and the traction current are one.
The foundations of this protocol were laid in the early 1990s by Lenz, Germany, who wanted to improve the Märklin protocol.
Compatibility with previous generations of decoders was not guaranteed by all manufacturers.
The exchanges between the central unit and a decoder respect a data format also called protocol.
The signal and the traction current are one.
DCC protocol : Packet Structure
The structure of the packet is as follows (from NEM 671):
First set of pluses is for the synchronization
Second set of pulses is for data with destination adress byte
Third set of pulses is for date with command
Final set of pulses is for stop packet
Second set of pulses is for data with destination adress byte
Third set of pulses is for date with command
Final set of pulses is for stop packet
Signals
The signals are intended to convey clear and understandable information (unaltered by the transport).
- 1 is a short duration pulse
- 0 is a long duration pulse
The control unit sends the command via formed packets composed of signals on the rails.
Packets are sent in a repetitive way.
The decoder in the train performs the decoding of the signal and applies the command.
Typical signals in a DCC digital package:
Typical signals in a DCC digital package:
Exercise
Objective: Understand what the central unit sends by putting us in the place of the decoder.
Decode the packet sent by the central unit:
Interpret the command sent by the central:
- Use the right standard
- Identify the structure of the package
- Identify the instruction
Interpret the command sent by the central:
Try and do not cheat !
Result:
Use S 9.2 Communication DCC Standard
First set of pluses is for the synchronization
Separator with a "0" pulse
Second set of pulses is for data with destination adress byte which is 11000000 = 3
Separator with a "0" pulse
Third set of pulses is for date with command wich send a stop (train forward)
Separator with a "0" pulse
Final set of pulses is for control packet
This packet will stop the train.
Separator with a "0" pulse
Second set of pulses is for data with destination adress byte which is 11000000 = 3
Separator with a "0" pulse
Third set of pulses is for date with command wich send a stop (train forward)
Separator with a "0" pulse
Final set of pulses is for control packet
This packet will stop the train.
Configuration Varianles (CV)
Configuration Variables (CVs) are the parameters necessary for the proper control of trains.
The NMRA standard describes them in: Recommended Practice RP-9.2.2 DCC Configuration Variables July 2007.
The NMRA standard describes them in: Recommended Practice RP-9.2.2 DCC Configuration Variables July 2007.
There are 3 types of CV:
- Mandatory (M)
- Recommended (R)
- Optional (O)
They are theoretically 1024 but many are reserved for the future ...
There are default values (eg CV # 1 = 3 is the address of the default loco).
Some variables can only be read (eg manufacturer identifier).
The indispensable:
The recommended ones:
All other CVs are therefore optional, for the standard, which does not mean it is useless. So always read the manufacturer's instructions, especially CV 29.
There are default values (eg CV # 1 = 3 is the address of the default loco).
Some variables can only be read (eg manufacturer identifier).
The indispensable:
- Loco address CV # 1
- Manufacturer ID and version CV # 7 and # 8
- Configuration data of CV decoder # 29. (direction, speed table, ...)
The recommended ones:
- V start CV # 2: voltage level to start the motor.
- Acceleration rate CV # 3: 0 = immediate otherwise apply the equation.
- Deceleration rate CV # 4: 0 = immediate otherwise apply the equation.
- Value end tempo package CV # 11: Duration of speed if no more packet received.
All other CVs are therefore optional, for the standard, which does not mean it is useless. So always read the manufacturer's instructions, especially CV 29.
References and useful links
Publications (not exhaustive):
In English:
NMRA:
http://www.nmra.org/standards/DCC/standards_rps/DCCStds.html
https://www.nmra.org/beginners-guide-command-control-and-dcc
In English:
NMRA:
http://www.nmra.org/standards/DCC/standards_rps/DCCStds.html
https://www.nmra.org/beginners-guide-command-control-and-dcc
Alan GARTNER sit which is excellent:
http://www.wiringfordcc.com/intro2dcc.htm
In French language
« A propos du digital » Yannick Noël Edition 2014
« Les variables de configuration en DCC » Pascal Trinquenaux 2001
« Dossier Digital » Jean-Luc Zimmermann 2000
(http://train.modele.free.fr/index.htm)
MOROP:
http://www.morop.org/fr/normes/index.html
Forum TCoul:
http://fr.groups.yahoo.com/group/tcoultime/
TCoul:
http://www.bootentrain.fr/
http://www.wiringfordcc.com/intro2dcc.htm
In French language
« A propos du digital » Yannick Noël Edition 2014
« Les variables de configuration en DCC » Pascal Trinquenaux 2001
« Dossier Digital » Jean-Luc Zimmermann 2000
(http://train.modele.free.fr/index.htm)
MOROP:
http://www.morop.org/fr/normes/index.html
Forum TCoul:
http://fr.groups.yahoo.com/group/tcoultime/
TCoul:
http://www.bootentrain.fr/