¿Qué hay realmente en las vías
cuando se usa un sistema digital?
© Juan Carlos Viana
Aunque se ha puesto todo el cuidado
en la elaboración de esta información, el autor no se responsabiliza
de cualquier daño material o personal que pudiera ocasionarse por
seguir las instrucciones contenidas en estas páginas
Todos los sistemas de control digital con presencia significativa en
el mercado del modelismo ferroviario resuelven con el mismo método
la problemática de añadir la señal de control a la
señal de potencia que alimenta los motores de los modelos. En todos
los casos se utiliza como señal base una señal de pulsos
rectangulares cuya amplitud varía entre dos niveles de voltaje del
mismo valor y polaridad opuesta (+V y -V). Sobre esta señal base
se codifican valores binarios ('0' y '1') por variación de la duración
de sus pulsos. Mediante estos valores binarios o agrupaciones de los mismos
se pueden codificar paquetes de información que se intercambian
entre la central digital y el decodificador y que éste interpreta
como órdenes de control. El método de codificación
de valores binarios y la estructura y significado de los mensajes que con
ellos se construyen, es decir, el protocolo de comunicación, definen
las diferencias entre los diferentes sistemas digitales. La utilización
de una señal base con las mismas características es la clave
que permite diseñar centrales capaces de manejar simultáneamente
varios protocolos sobre la misma vía y decodificadores con capacidad
de recibir e interpretar mensajes de diferentes estándares digitales.
En lo que sigue se describen, con cierto nivel de detalle, las principales
características de los dos sistemas que más ampliamente se
usan: NMRA DCC y Marklin Motorola
(en sus versiones antigua y nueva).
Con su lectura detallada, al lector le quedará claro que DCC y Motorola
nada tienen que ver con utilizar vías de dos raíles o vías
con carril central.
NMRA Digital Command Control
(DCC)
Codificación de bits
De acuerdo con el estándar
NMRA
S-91 (Electrical Standards for DCC), los bits se codifican sobre la
señal base como muestra la figura y se describe a continuación.
-
Bit '1'. Un ciclo completo de la señal rectangular en el que cada
semiciclo tiene la misma duración (típicamente 58 microsegundos,
lo que hace un total de 116 microsegundos para el bit). Se admite que las
centrales DCC emitan la señal con diferencias sobre el valor nominal
y entre las duraciones de los semiciclos en los rangos que se indican en
la figura. Por su parte, los decodificadores deben reconocer como bits
'1' válidos aquellas dentro de los límites que se indican.
-
Bit '0'. Es un ciclo completo en el que cada semiciclo debe
tener una duración mayor o igual de 100 microsegundos. Se admite
como válido que una central emita semiciclos de entre 95 y 9900
microsegundos, siempre que la duración total no exceda los 12000
microsegundos. Los decodificadores deben admitir como bits '0' válidos
aquellos cuya duración de semiciclo se encuentre entre los valores
indicados en la figura.
En la medida en que no se obliga a que los semiciclos
de los bits '0' tengan la misma duración, el valor medio de la señal
resultante puede no ser cero, lo que, con dos ejemplos diferentes (uno
con valor medio positivo y otro con valor medio negativo) se muestra en
la figura siguiente.
La posibilidad de variar la relación entre la duración
de los semiciclos positivo y negativo de los bits '0' permitiría
a una central digital DCC generar una señal, que independientemente
de los bits usados para el control digital, sirva para gobernar una locomotora
convencional (analógica) por variación del valor medio de
la tensión. En estos casos hay que tener en cuenta que le motor
de la locomotora, diseñado para funcionar con una señal continua,
estará siendo alimentado realmente por una señal rectangular
asimétrica, lo que puede producir comportamientos no deseados del
motor (calentamiento, ruidos y vibraciones).
La siguiente figura muestra la forma en que se codificaría, según
el estándar DCC, la secuencia de bits '100'. Para el primer cero,
se ha elegido que el semiciclo positivo tenga la misma duración
que el semiciclo negativo. Para el segundo, el semiciclo positivo tiene
más duración, con lo que el valor medio de la señal
no es cero, sino que tiene un valor positivo.
En la realidad, puesto que no son posibles las transmisiones de señal
con ancho de banda infinito, las transiciones entre semiciclos no son nunca
totalmente verticales y tienen pendiente finita. La figura siguiente muestra
el valor máximo permitido por el estándar para tiempo de
transición de la señal DCC en el entorno del cruce por cero
(en concreto entre -4 y +4 volt). Las centrales digitales deben cumplir
este valor máximo en el punto de salida de señal y para todo
el rango de carga que permitan.
La norma permite superponer señales no DCC a la señal
DCC con propósitos particulares siempre que los decodificadores
puedan descartarlas y que no supongan una distorsión no monotónica
en el paso de la señal por cero de amplitud mayor de +/-2.5 volt.
La siguiente figura muestra un ejemplo de este tipo de distorsión,
que hace que la señal, durante la transición negativa, realice
una transición positiva intermedia.
Paquetes básicos DCC
De acuerdo con el estándar
NMRA
S-92 (Communications Standards for DCC), la estructura de una paquete
NMRA válido es la siguiente:
| Preámbulo |
0 |
Byte de dirección |
0 |
Byte de datos |
... |
1 |
Entre el byte de datos y el bit '1' final puede haber repetición
de bytes de datos separados por bits '0'
-
Preámbulo
Es una secuencia de bits '1' que sirve para que los decodificadores
identifiquen y se sincronicen con el principio del paquete. Las centrales
digitales deben enviar un mínimo de 14 bits '1' completos en el
preámbulo. Por su parte, los decodificadores no deben admitir como
preámbulos válidos aquellos con menos de 10 bits '1' completos
ni deben requerir más de 12 bits '1' completos para recibir correctamente
el paquete.
-
Byte de dirección
Contiene la dirección del destinatario del paquete (o parte
de ella, si se utilizan varios bytes). Puede también contener una
instrucción (para paquetes relativos al modo de servicio). Se reservan
para opciones especiales las direcciones 00000000 (0), 11111110 (254) y
11111111 (255). El hecho de identificar a los destinatarios mediante direcciones
implica que los decodificadores deben ser capaces de retener y reconocer
su propia dirección, que debe poder ser fácilmente configurable
por el usuario. Las centrales digitales pueden restringir el rango de direcciones
válidas soportadas, de manera que no estén disponibles todas
a las que el campo dirección podría dar lugar, siempre que
este hecho se indique claramente en la documentación.
-
Byte de datos
Puede contener una dirección, un dato, una instrucción
o información para detección de errores.
-
Bit '1' final
Indica fin del paquete y puede ser el primer bit del preámbulo
del paquete siguiente si no se utilizan bits de relleno entre paquetes.
Tanto en los bytes completos como en los campos de que pueden estar formados
los bytes siempre se transmite el bit más significativo el primero
y el menos significativo el último.
Puesto que los paquetes DCC enviados a los decodificadores pueden perderse
por problemas de transmisión, las centrales digitales deben repetir
su envío tan frecuentemente como sea posible. Debe ser posible configurar
las centrales digitales para que transmitan un paquete completo al menos
cada 30 mseg (tiempo medido entre los bits iniciales de cada paquete).
Los decodificadores deben ser capaces de reaccionar correctamente frente
a la recepción múltiple de paquetes, siempre que éstos
se reciban separados al menos 5 mseg. en el tiempo. Debe tenerse especial
cuidado de no enviar dos paquetes con direcciones idénticas en el
rango 112-127 con separación inferior a 5 mseg., pues los decodificadores
antiguos pueden interpretarlos como paquetes de modo de servicio. Si un
decodificador recibe un paquete no válido, debe de ser capaz en
cualquier caso de reconocer el siguiente preámbulo válido
como el comienzo de un nuevo paquete.
Según el estándar DCC, se anima a los constructores de decodificadores
a que incluyan mecanismos de conversión automática para diferentes
tipos de señales de potencia y formatos de control adicionales a
DCC, siempre que dicha conversión automática pueda deshabilitarse
por el usuario. Si la conversión automática está habilitada
en el decodificador, éste debe mantenerse en modo DCC mientras reciba
paquetes DCC válidos con tiempos entre bits iniciales menores o
iguales a 30 mseg. Si está deshabilitada, el decodificador debe
mantenerse en modo DCC independientemente de la temporización en
la recepción de paquetes. Como caso particular de conversión
automática puede citarse el paso de modo digital a modo convencional
(analógico). Éste tiene asignado el código 00000001
de la NMRA y permite utilizar locomotoras con decodificador DCC en entornos
no digitales en los que se utiliza tensión continua variable.
Otras conversiones con código asignado por la NMRA son Radio (00000010),
Zero-1 (00000100), TRIX (00001000) y CTC-16/Railcommand (00010000). Hay
que indicar que el uso simultáneo de protocolo DCC y Motorola, por
utilizar la misma señal base, no necesita de conversión automática.
El estándar NMRA
S-92 (Communications Standards for DCC) define el siguiente conjunto
de 4 paquetes básicos que constituyen el mínimo exigible
para asegurar interoperabilidad entre sistemas diferentes y cuya estructura,
que es conforme a la general de un paquete DCC es:
| 111111111111 |
0 |
0AAAAAAA |
0 |
01DCSSSS |
0 |
EEEEEEEE |
1 |
-
Velocidad y dirección para decodificadores de locomotora
| 111111111111 |
0 |
0AAAAAAA |
0 |
01DCSSSS |
0 |
EEEEEEEE |
1 |
El byte de dirección (0AAAAAAA) contiene la dirección
del decodificador destinatario. Con los 7 bits disponibles para codificar
la dirección y teniendo en cuenta las direcciones reservadas, se
admiten direcciones en el rango 1-127.
El byte de instrucción (01DCSSSS) contiene la información
de velocidad y sentido para el decodificador. Consta del campo fijo '01'
que identifica la instrucción de velocidad/dirección, el
bit D de dirección (el valor '1' indica hacia delante),
cuatro bits para codificar el paso de velocidad y un bit C que
puede servir como bit adicional (el menos significativo) para codificar
el paso de velocidad (para el caso de usar 28 pasos) o para control de
las luces de la locomotora (caso del uso de 14 pasos de velocidad en modo
compatible con modelos antiguos de decodificador). En el caso de usar sólo
los bits SSSS para codificar la velocidad, de los 16 valores posibles
se reservan dos para indicar parada (normal y de emergencia), con lo que
quedan 14 pasos posibles para el uso normal. En el caso de usar los bits
CSSSS,
de los 32 valores posibles, se reservan 4 (dos para parada normal y dos
para parada de emergencia), con lo que quedan 28 posibles para el uso normal.
A continuación se incluye la tabla de codificación de pasos
de velocidad. En los casos de parada en los que el bit C='1',
el bit de dirección puede ignorarse para las funciones sensibles
a la dirección.
| CSSSS |
Velocidad |
CSSSS |
Velocidad |
CSSSS |
Velocidad |
CSSSS |
Velocidad |
| 00000 |
Parada |
00100 |
Paso 5 |
01000 |
Paso 13 |
01100 |
Paso 21 |
| 10000 |
Parada |
10100 |
Paso 6 |
11000 |
Paso 14 |
11100 |
Paso 22 |
| 00001 |
Parada de emergencia |
00101 |
Paso 7 |
01001 |
Paso 15 |
01101 |
Paso 23 |
| 10001 |
Parada de emergencia |
10101 |
Paso 8 |
11001 |
Paso 16 |
11101 |
Paso 24 |
| 00010 |
Paso 1 |
001100 |
Paso 9 |
01010 |
Paso 17 |
01110 |
Paso 25 |
| 10010 |
Paso 2 |
10110 |
Paso 10 |
11010 |
Paso 18 |
11110 |
Paso 26 |
| 00011 |
Paso 3 |
00111 |
Paso 11 |
01011 |
Paso 19 |
01111 |
Paso 27 |
| 10011 |
Paso 4 |
10111 |
Paso 12 |
11011 |
Paso 20 |
11111 |
Paso 28 |
El byte de detección de errores (EEEEEEEE) se calcula
realizando la operación de OR exclusivo (0 XOR 0=0, 0 XOR 1=1, 1
XOR 0=1, 1 XOR 1=0) bit a bit de los bytes de dirección y velocidad.
Todo decodificador que recibe un paquete, debe calcular el resultado y
compararlo con el valor recibido. Si la comparación no es exacta,
puede ignorar el paquete recibido.
-
Reset (para todos los decodificadores)
| 111111111111 |
0 |
00000000 |
0 |
00000000 |
0 |
00000000 |
1 |
Cuando un decodificador recibe este paquete debe parar la inmediatamente
la locomotora que tenga bajo su control, borrar su memoria volátil
(incluidos datos de dirección y velocidad) y volver al estado normal
tras un arranque. Tras el envío de un paquete de reset, hasta transcurridos
20 mseg., la central no debe enviar paquetes con la dirección en
el rango 01100100-01111111 (100-127), salvo que se pretenda entrar en el
modo de servicio.
-
Vacío (para todos los decodificadores)
| 111111111111 |
0 |
11111111 |
0 |
00000000 |
0 |
11111111 |
1 |
Cuando un decodificador recibe este paquete, que incluye un byte de
dirección con valor 255 (reservado), no debe hacer nada, aunque
para él debe contar como si se tratara de un paquete normal dirigido
a otro decodificador. Este paquete es un paquete típico "de relleno"
utilizado por las centrales digitales cuando no tienen otros paquetes que
transmitir y desean mantener en modo digital a los decodificadores que
puedan estar en la instalación.
-
Parada general (para todos los decodificadores)
| 111111111111 |
0 |
00000000 |
0 |
01DC000S |
0 |
EEEEEEEE |
1 |
Si S='0', todos los decodificadores realizarán una parada normal
(de acuerdo con la tasa de frenado con la que se hayan configurado) del
motor de la locomotora que controlen.
Si S='1', la parada será de emergencia (corte inmediato de la
tensión al motor). En este caso, si C='1', puede ignorarse opcionalmente
el valor del bit de dirección D para las funciones sensibles a la
dirección
La figura siguiente muestra un paquete que indica a la locomotora 76 que
se ponga en el paso de velocidad 24 marchando hacia atrás.
En el documento de prácticas recomendadas NMRA
RP-9.2.1 DCC Extended Packet Formats se extiende el conjunto de paquetes
básicos con un amplio conjunto de paquetes en formato extendido.
Hay que indicar que, aunque dicho documento no es un estándar NMRA,
la mayoría de los fabricantes incorporan en sus centrales y decodificadores
lo incluido en él, habida cuenta de la ampliación de capacidades
de control que ello supone (direcciones extendidas, modo de servicio, control
de multitracción, 128 pasos de velocidad, ...). A continuación
se describe el conjunto de formatos de paquete extendidos, que siguen la
norma general en cuanto a estructura de un paquete
DCC válido, pero en vez de incluir 3 bytes de datos separados
por '0', pueden incluir entre 3 y 6 bytes de datos separados por '0'. Para
la descripción se utiliza
-
A para denotar un bit del campo dirección
-
C para denotar un bit de un campo tipo instrucción
-
D para denotar un bit de un campo de datos
-
U para denotar un bit de valor indefinido (válido '0' o
'1')
-
E para denotar un bit de detección de error
El primer byte de todo paquete de formato extendido contiene la dirección
primaria de su destinatario. Esta dirección primaria puede tener
valores dentro del siguiente espacio de direcciones (hay que aclarar que,
para el caso de direcciones con más de 7 bits, el valor correspondiente
a los bits de la dirección primaria debe completarse con bits adicionales
del siguiente byte en el paquete, tal como se muestra en cada caso):
-
Dirección 00000000 (0): dirección especial de difusión
(broadcast).
-
Direcciones 00000001 a 01111111 (1 a 127): decodificadores multifunción
con direcciones de 7 bits
Total de direcciones disponibles: 127 (1 a 127)
-
Direcciones 10000000 a 10111111 (128 a 191): decodificadores de accesorios
básicos con direcciones de 9 bits y decodificadores de accesorios
extendidos con direcciones de 11 bits.
| 10A5A4A3A2A1A0 |
0 |
1A8A7A6CDDD |
Total de direcciones disponibles: 512 (0 a 511)
| 10A5A4A3A2A1A0 |
0 |
0A10A9A80A7A61 |
Total de direcciones disponibles: 2048 (0 a 2047)
-
Direcciones 11000000 a 11100111 (192 a 231): decodificadores multifunción
con direcciones de 14 bits.
| 11A5A4A3A2A1A0 |
0 |
A13A12A11A10A9A8A7A6 |
Total de direcciones disponibles: 16383 (1 a 16383)
-
Direcciones 11101000 a 11111110 (232 a 254): reservado para uso futuro.
-
Dirección 11111111 (255): paquete vacío.
El último byte de todo paquete en formato extendido es el de detección
de errores, que se calcula mediante la operación de OR exclusivo
bit a bit sobre todos los bytes de dirección y datos. Se aplica
lo indicado en el apartado de
paquetes básicos
DCC, para el caso de no concordancia entre el valor calculado por un
decodificador y el recibido.
En lo que sigue, se entiende por decodificador mutifunción aquel
que se usa para controlar uno o más motores y/o funciones. Por su
parte, un decodificador de accesorios es un dispositivo capaz de controlar
un determinado número de funciones simples (desvíos, luces,
...) si es del tipo básico o capaz de controlar señales luminosas
u otros accesorios complejos, si es del tipo extendido.
Paquetes con formato extendido para decodificadores multifunción
-
Comando de difusión para decodificadores multifunción
| 111111111111 |
0 |
00000000 |
1, 2 ó 3 bytes de instrucción |
0 |
EEEEEEEE |
1 |
La instrucción contenida en los bytes centrales del paquete debe
ser ejecutada por todos los decodificadores que lo reciban. Aquellos que
no implementen la instrucción correspondiente, pueden ignorarla.
-
Paquetes de instrucción para decodificadores multifunción
Tienen la siguiente estructura, que varía según la extensión
del campo de dirección:
| 111111111111 |
0 |
0A6A5A4A3A2A1A0 |
1, 2 ó 3 bytes de instrucción |
0 |
EEEEEEEE |
1 |
Decodificadores con direcciones de 7 bits
| 111111111111 |
0 |
11A5A4A3A2A1A0 |
0 |
A13A12A11A10A9A8A7A6 |
1, 2 ó 3 bytes de instrucción |
0 |
EEEEEEEE |
1 |
Decodificadores con direcciones de 14 bits
La instrucción contenida en el paquete tiene, según sea
de longitud 1, 2 ó 3 bytes, la siguiente estructura:
CCCDDDDD CCCDDDDD,0,DDDDDDDD
CCCDDDDD,0,DDDDDDDD,0,DDDDDDDD
Es decir, siempre hay un campo inicial de 3 bits que codifica el tipo
de instrucción y 5 bits adicionales de datos, a los que pueden añadirse
8 bits o 16 bits de datos adicionales. La tabla siguiente muestra los tipos
de instrucción disponibles en el estándar:
|
CCC |
Tipo de instrucción |
| A |
000 |
Control de decodificador y de multitracción |
| B |
001 |
Instrucciones de operación avanzada |
| C |
010 |
Instrucción de velocidad y dirección para operación
marcha hacia delante |
| D |
011 |
Instrucción de velocidad y dirección para operación
marcha hacia atrás |
| E |
100 |
Instrucción de funciones grupo 1 |
| F |
101 |
Instrucción de funciones grupo 2 |
| G |
110 |
Expansión futura |
| H |
111 |
Instrucción de acceso a variable de configuración (CV) |
A continuación se detallan todos ellos:
-
Control de decodificador y de multitracción (000)
Con la excepción de la función de acuse de recibo (acknowledgment)
del decodificador (00001111), en un paquete sólo puede incluirse
una sola instrucción de control de decodificador y de multitracción.
-
Control del decodificador (0000)
Tiene los dos posibles formatos siguientes: 0000CCCD y 0000CCCD,0,dddddddd
En cualquiera de los casos, esta instrucción se usa para fijar
o modificar la configuración interna de los decodificadores, de
manera que algunas de sus características, en función del
valor de D, se activen o desactiven.
| CCC |
Acción |
| 000 |
Con D='0', reset "en caliente" del decodificador:
borrado de su memoria volátil
(incluyendo datos de dirección y velocidad) y retorno
a los valores de encendido.
Con D='1', reset "en frío" del decodificador:
las CVs 29, 31 y 32 se devuelven a sus valores de fábrica,
la CV19 se pone a '00000000' y se hace un reset "en
caliente". |
| 001 |
Instrucción de prueba de fábrica (Factory Test).
No debe usarse en operación normal. |
| 010 |
Reservada para uso futuro |
| 011 |
Activar flags de decodificador o grupo de decodificadores. Su
formato es
En función de los valores de cccc y de D, puede deshabilitarse/habilitarse
la petición de acuse de recibo,
activarse y fijar la comunicación bidireccional y aceptar o
no las instrucciones de acceso a CV.
aaa es la subdirección del decodificador (su valor
se fija en la CV31) |
| 100 |
Reservada para uso futuro |
| 101 |
Activar direccionamiento avanzado (bit 5 de CV29) |
| 110 |
Reservada para uso futuro |
| 111 |
Con D='1' petición de acuse de recibo del
decodificador |
-
Control de multitracción (0001)
Sirve para establecer multitracciones, activarlas y desactivarlas y
tiene el formato 0001CCCC,0,0AAAAAAA
El valor '1' del segundo byte se reserva para uso futuro, CCCC es la
(sub)instrucción de control de multitracción y AAAAAAA es
la dirección de la multitracción. Si se usa el valor '0000000',
la multitracción se desactiva y si se usan valores entre 1 y 127,
la multitracción se activa. Al activarse una multitracción
su dirección se almacena en los bits 0 a 6 de la CV19 y el bit 7
de la CV19 se pone a '1'.
Cuando una multitracción está activada, el decodificador
ignorará cualquier instrucción de dirección y velocidad
dirigida a su dirección base (salvo que ésta coincida con
la de la multitracción). Las funciones controladas por las instrucciones
'100' y '101' continuarán respondiendo en la dirección base
del decodificador y responderán a la dirección de la multitracción
si están activados los valores apropiados en las CV21 y CV22.
Las (sub)instrucciones de control de multitracción son
-
CCCC='0010' (00010010). Fija la dirección de la multitracción
con el valor del siguiente byte y activa la multitracción con dirección
de marcha hacia delante (o la desactiva si la dirección es '0000000')
-
CCCC='0011' (00010011). Fija la dirección de la multitracción
con el valor del siguiente byte y activa la multitracción con dirección
de marcha hacia atrás (o la desactiva si la dirección es
'0000000')
El resto de los valores CCCC se reservan para uso futuro.
-
Instrucción de operación avanzada (001)
Esta instrucción, que no puede repetirse dentro de un mismo
paquete y que permite el acceso a funciones avanzadas del decodificador,
tiene la estructura 001CCCCC,0,DDDDDDDD. De las 32 (sub)instrucciones
posibles a las que los 5 bits pueden dar lugar, sólo están
definidas las siguientes, quedando el resto reservadas para uso futuro:
-
CCCCC='11111'. Control de velocidad con 128 pasos. Sirve para enviar al
decodificador la orden de variación de velocidad con el formato
00111111,0,ds6s5s4s3s2s1s0,
donde d es la dirección ('0' hacia delante, '1' hacia atrás)
y s6s5s4s3s2s1s0
el valor en binario del paso de velocidad (126 valores posibles, pues U0000000
se utiliza para indicar parada y U0000001 para parada de emergencia).
-
CCCCC='11110'. Instrucción de pasos de velocidad restringidos. Sirve
para restringir la velocidad máxima del decodificador y tiene el
formato 00111110,0,dUs5s4s3s2s1s0,
donde d='0' indica habilitar operación restringida de velocidad,
d='1' deshabilitarla y s5s4s3s2s1s0
son los pasos de velocidad tal como se definen en el caso de los paquetes
básicos (para el modo de 128 pasos, se escala a 28 pasos).
-
Instrucción de dirección y velocidad marcha adelante (010)
Tiene el formato 010DDDDD y se utiliza para enviar información
de control a los motores conectados a los decodificadores multifunción
en modo marcha hacia adelante. Los bits 0 a 3 codifican el paso de velocidad,
según lo definido en los paquetes básicos.
Si el bit 1 de la CV29 tiene el valor '1', el bit 4 de la instrucción
sirve para codificar un paso de velocidad intermedio (tal como se define
en los paquetes básicos). Si el bit 1 de la
CV29 tiene el valor '0', el bit 4 de la instrucción sirve para controlar
la función F0 (luces). En este modo, U0000 significa parada,
U0001,
parada de emergencia, U0010 es el primer paso de velocidad y U1111
el de velocidad máxima.
-
Instrucción de dirección y velocidad marcha atrás
(011)
Esta instrucción, con formato 010DDDDD, es idéntica
a la anterior, pero para el caso de marcha hacia atrás.
-
Instrucción de grupo de funciones 1 (100)
Tiene el formato 100DDDDD y permite controlar hasta 5 funciones
(F0 y F1-F4). Los bits 0 a 3 controlan respectivamente las funciones F1
a F4, de manera que un valor '1' significa función activada y un
valor '0' función desactivada. Si el bit 1de la CV29 está
a '1', entonces el bit 4 de la instrucción controla la función
F0 (luces). Si el bit indicado de la CV29 está a '0', entonces el
bit 4 de la instrucción no tiene significado y las luces se controlan
con las instrucciones de velocidad y dirección (010 y 011).
-
Instrucción de grupo de funciones 2 (101)
Tiene el formato 101SDDDD y permite controlar hasta 8 funciones
adicionales (F5-F12). El bit 4 (S) define el uso de los bits 0 a 3 (DDD).
Si S='1', los bits 0 a 3 definen, respectivamente, el estado activado (valor
'1') o desactivado (valor '0') de las funciones F5 a F8. Si S='0', los
bits 0 a 3 definen, respectivamente, el estado activado o desactivado de
las funciones F9 a F12.
Los bits 0 a 3 controlan respectivamente las funciones F1 a F4, de
manera que un valor '1' significa función activada y un valor '0'
función desactivada. Si el bit 1de la CV29 está a '1', entonces
el bit 4 de la instrucción controla la función F0 (luces).
Si el bit indicado de la CV29 está a '0', entonces el bit 4 de la
instrucción no tiene significado y las luces se controlan con las
instrucciones de velocidad y dirección (010 y 011).
-
Instrucción para expansión futura (110)
Tiene el formato 110DDDDD,0,DDDDDDDD y su
uso se reserva para el futuro.
-
Instrucción de acceso a CV (111)
Sirve para fijar o modificar CVs del decodificador ya sea desde la vía
de programación o desde la vía normal. Hay dos formas de
instrucción (corta y larga), según se desee acceder a CVs
seleccionadas de acceso frecuente o verificar/modificar cualquier CV. En
cualquiera de los casos, sólo puede haber una instrucción
de acceso a CV por paquete.
-
Instrucción de acceso a CV corta
Tiene la estructura 1111CCCC,0,DDDDDDDD, donde DDDDDDDD
es el valor que se coloca en la CV identificada por CCCC. Por
ahora sólo están definidos los valores siguientes, quedando
el resto reservados para uso futuro:
| CCCC |
|
| 0000 |
Uso no permitido |
| 0010 |
Valor de aceleración (CV23) |
| 0011 |
Valor de deceleración (CV24) |
-
Instrucción de acceso a CV larga
Sirve para la manipulación directa de cualquier CV y tiene la
estructura 1110CCA9A8,0,A7A6A5A4A3A2A1A0,0,DDDDDDDD.
La CV destino de la instrucción es el valor indicado por A9A8A7A6A5A4A3A2A1A0
más 1 (es decir, la CV3 se codifica 0000000010).
La operación para realizar se codifica con los valores de CC,
tal como se indica en la tabla:
| CC |
Operación |
| 00 |
Reservado para uso futuro |
| 01 |
Verificar byte
Se compara la CV destino con el valor DDDDDDDD |
| 10 |
Escribir byte
Se escribe en la CV destino el valor DDDDDDDD.
Para que la escritura tenga efecto, el decodificador debe recibir dos
paquetes de escritura idénticos |
| 11 |
Manipulación de bit
Tiene el formato 111011A9A8,0,A7A6A5A4A3A2A1A0,0,111DCAAA,
donde AAA indica la posición del bit dentro de la CV
y C el tipo de operación ('0' verificar y '1' escribir) |
Paquetes con formato extendido para decodificadores de accesorios
Como ya se ha indicado, de acuerdo con la NMRA, un decodificador de accesorios
es un dispositivo capaz de controlar un determinado número de funciones
simples (desvíos, luces, ...). Para posibilitar el manejo de un
gran número de dispositivos, se permite que un decodificador
de accesorios pueda responder a una o varias direcciones. Cada dirección
de decodificador controla 4 pares de salidas (equivalentes a 8 salidas
individuales), cada una de las cuales puede activarse permanentemente o
durante un periodo de tiempo configurable (CV515 a CV518). La desactivación
puede realizarse en cualquier momento.
-
Formato de paquete para decodificadores de accesorios básicos (activación
y desactivación de accesorios)
| 111111111111 |
0 |
10A5A4A3A2A1A0 |
0 |
1A8A7A6CDDD |
0 |
EEEEEEEE |
1 |
Los 6 bits menos significativos de la dirección del decodificador
destinatario del paquete (A5A4A3A2A1A0)
se codifican en el segundo byte; los tres más significativos, en
complemento a uno (A8A7A6),
en el tercero. El bit C del tercer byte indica si la salida debe activarse
("1") o desactivarse ("0"). El tiempo de activación de cada par
de salidas se configura en las CV515 a CV518 (0 indica activación
permanente). Los bits DDD del tercer byte identifican la salida: los primeros
dos DD identifican el par (1-4) y el tercero la salida dentro del par.
Ejemplo: paquete de activación de la salida 1 del tercer par
del decodificador de dirección 157.
111111111111 0 10011101 0 11011100 0 01000001 1
(pues CDDD=1100 y 157 es 010011101, de donde A5A4A3A2A1A0=011101
y A8A7A6=101)
-
Formato de paquete para decodificadores de accesorios extendidos
Tiene la estructura
| 111111111111 |
0 |
10A5A4A3A2A1A0 |
0 |
0A10A9A80A7A61 |
000XXXXX |
0 |
EEEEEEEE |
1 |
y permite la transmisión de posiciones a señales luminosas
o de datos a decodificadores de funciones complejos. Cada señal
luminosa puede mostrar una posición cada vez. XXXXX indica
la posición que debe mostrarse, siendo '00000' la de parada absoluta
y el resto dependiente del sistema de señalización empleado.
La dirección del decodificador se codifica en 11 bits, con los bits
8 a 10 en complemento a uno.
-
Difusión (para todos los decodificadores de accesorios básicos)
Tiene la estructura y significado del paquete de activación/desactivación
de accesorios, pero utilizando la dirección especial de difusión
511.
| 111111111111 |
0 |
10111111 |
0 |
1000CDDD |
0 |
0011CDDD |
1 |
En este caso, los 4 bits menos significativos del byte de control de errores
es el complemento a uno de los bits CDDD del tercer byte.
-
Difusión (para todos los decodificadores de accesorios extendidos)
Tiene la estructura
| 111111111111 |
0 |
10111111 |
0 |
00000111 |
000XXXXX |
0 |
101XXXXX |
1 |
es decir, utiliza la dirección 2047, con el mismo significado del
paquete general para decodificadores extendidos.
-
Instrucción de acceso a CV de decodificador de accesorios
Los valores de las CVs de los decodificadores de accesorios pueden
manejarse como en el caso de los decodificadores multifunción, mediante
el uso de la forma larga de la instrucción
de acceso a CV definida más arriba. En el caso de los decodificadores
de accesorios, la dirección se expande en dos bytes, según
el procedimiento siguiente:
-
decodificadores básicos: 10A5A4A3A2A1A0,0,1
A8A7A61DDD
(DDD indica la salida a cuya CV se accede para modificación)
Con ello, el formato de paquete queda
| 111111111111 |
0 |
10A5A4A3A2A1A0 |
0 |
1A8A7A61DDD |
0 |
1110CCAA |
0 |
AAAAAAAA |
0 |
DDDDDDDD |
0 |
EEEEEEEE |
1 |
-
decodificadores extendidos: 10A5A4A3A2A1A0,0,0
A10A9A80A7A61
Con ello, el formato de paquete queda
| 111111111111 |
0 |
10A5A4A3A2A1A0 |
0 |
0A10A9A80A7A61 |
0 |
1110CCAA |
0 |
AAAAAAAA |
0 |
DDDDDDDD |
0 |
EEEEEEEE |
1 |
Marklin Motorola
Codificación de bits
Marklin Motorola antiguo
Marklin Motorola nuevo
El
Tren Digital
Fecha: 26/03/2003
Última actualización: 05/10/2006