Skip to main content

Overview

Protocol

The currently used ZIMO CAN protocol is now quite old (> 10 years) and has grown historically. It is therefore hardly possible to adapt this protocol to new requirements. For this reason, the devices of the Zs series (2010) will use a new extended protocol in parallel to the current CAN protocol (ZCAN10).

The MX10 supports both protocols on its two CAN sockets. The CAN sockets labeled ZIMO use the 'old' protocol by default, while the sockets from other devices use the new CAN protocol. However, this can be changed in the MX10 menu at any time as required.

Layer 7

So that a model railroad can actually be controlled, a layer-7 (application) must also be defined. The Layer-7 definition contains the definition of the 29Bit ID's and the 8 data bytes. So that such a CAN protocol works properly, it must be ensured that the 29Bit ID's of the CAN bus are unique system-wide.

Practically all CAN controllers can mask and/or filter the CAN ID. By a CAN ID's it is possible to filter all CAN messages in such a way, that the respective device only has to process those messages which are really relevant. A turnout decoder for example does not get 'locomotive commands' at all. Conversely, a booster does not need to worry about 'switching commands'.

Addressing

In the following, the term "object" is often used. By this term you can imagine any "addressable" thing on a model railway. In particular, it does not matter whether it is a vehicle, a switch or a USB key. All that matters is that such an object has a unique address (UID) in the active system and a few basic properties.

Of course, specific objects have, in addition to their basic properties, "custom" properties that are valid only for this one object. For historical reasons, a distinction has to be made between "legacy objects" and ZCAN20 objects. Legacy Objects (DCC locomotive / turnout decoder, ...) do not have their own UIDs and their properties are mostly distributed in different CVs, or partially not available. ZCAN20 objects (but also ESU/Märklin) have a unique UID and also the necessary basic properties. In order to be able to use also common decoders and devices, there must be a management system that simulates the ZCAN20 objects to the rest of the system by means of computation, stored configurations, etc. In this way, even "legacy/conventional" decoders and other devices behave as ZCAN20 objects.

Translate Table For Legacy Devices:

UID Word1UID Word2 Min.UID Word2 MaxAvailable Addresses
0x00000x00000x27FF10240DCC Locomotives
0x00000x28000x28FF256MM1/MM2 Locomotives
0x00000x29000x2EFF3072Available [1]
0x00000x2F000x2FFF256Multi-tractions
0x00000x30000x31FF512DCC 'Basic' Accessory Decoder
0x00000x32000x39FF2058DCC 'Extended' Accessory Decoder
0x00000x3A000x3DFF1024MM1 Accessory Decoder
0x00000x40000x43FF1024S88 Feedback
0x00000x44000x45FF1024X-Net Decoder
0x00000x46000x47FF1024X-Net Feedback
0x00000x48000x4FFF2048Available [2]

ZIMO Device Generation 1

UID Word1UID Word2 Min.UID Word2 MaxAvailable Addresses
0x00000x50000x503F64MX1
0x00000x50400x507F64MX8 Module, Channel 1
0x00000x50800x50BF64MX9 Module, Channel 1
0x00000x50C00x50CF16CSA Module
0x00000x50D00x50DF16MX31
0x00000x51000x513F64MX8 Module, Channel 2
0x00000x51400x517F64MX9 Module, Channel 2
0x00000x58000x5800128I2C eXtender, Differentiation see SubCmd
0x00000x5A000x5AFF256Block locations

ZIMO System Database

UID Word2 Min.UID Word2 MaxAvailable Addresses
0x60000x60FF Panels / GBS / Signal boxes
0x61000x63FF768Routes
0x64000x65FF
0x66000x66FF256Sound Projects
0x67000x7FFFReserved

Mfx Addresses

UID Word1UID Word2 Min.UID Word2 MaxAvailable Addresses
0x00000x80000xBFFF16384Mfx Locomotives

ZIMO CAN 2.xx devices (Also from non ZIMO manufacturers)

UID Word2 Min.UID Word2 MaxAvailable Addresses
0xC0000xC0FF256MX10 Central
0xC1000xC1FF256MX10 Booster
0xC2000xC2FF256Special equipment (IF, ....)
0xC3000xC3FF256Driving consoles
0xC4000xC4FF256MX32 Radio modules
0xD0000xDFFF4096Module
0xE0000xEFFF4096Object
0xF0000xFFFF4096Files