Documentation of CAN messages
CMM-2CH and CMM-3CH can be controlled via CAN-FD. Each measurement channel has its own microcontroller. The nominal baudrate is 1 MBit/s, the data baudrate is 4 MBit/s. A DBC file is available on the download page.
Structure of CAN-IDs
The CAN IDs are build with the following scheme.
28
0x10000000
Direction
0: PC to uC, 1: uC to PC
19-12
0x000FF000
Module-ID
"M" = 0x4D
11-4
0x00000FF0
Board-ID
0...31 (Can be set via DIP switch on CMM-2CH), 255 = 0xFF = broadcast to all boards
3-0
0x0000000F
Channel-ID
0...2 (Is hardwired on CMM-xCH), 15 = 0xF = broadcast to all channels
The highest value of board (0xFF) and channel (0xF) is used as broadcast. For example the ID 0x 0 00 4D 01 F is the command "SetOnOff" (= 0x01) for all channels on board 1.
List of CAN-Commands
Physical values are always transmitted as float (32 Bit / Single Precision / LSB first) and in the base unit (V / A / sec / °C / ... ).
CAN-IDs to set and get register style values
Get-ID and Response-ID are the same, because the already differ in the direction bit 28. The command values in the following table include the direction bit, to make this clear.
-
-
0x140
CommandResponse
2
StatusCode (U8), Command (U8)
0x001
0x041
0x141
OnOff
1
OnOff [0/1] (U1)
0x002
-
-
OnOffSelected
1
EnableMask_Board (U8)
0x003
0x043
0x143
MinRange
1
MinRange (U8)
0x004
0x044
0x144
MinMaxAvg
24
CurrentMin [A] (float), CurrentAvg [A] (float), CurrentMax [A] (float),
VoltageDropMax [V] (float), NoOfSamples (U32), RangeMin (U8), RangeMax (U8)
0x005
0x045
0x145
ChannelConfig
5
OnOffDefaultValue [0/1] (U1), MeasuredValuesInterval [sec] (float)
0x006
0x046
0x146
CanConfig
3
TxFrameFormat [Enum] (U8), NominalBaudrate [Enum] (U8), DataBaudrate [Enum] (U8)
0x007
0x047
0x147
LegacyConfig
16
LocalId (U32), LocalIdIsExt (U1),RemoteId (U32), RemoteIdIsExt (U1)
LegacyCyclicId (U32), LegacyCyclicIdIsExt (U1), LegacyCyclicMessageEnable (U1)
-
0x048
0x148
Version
12
HardwareType (U8), FirmwareVersion (U16), CompileTimestamp (U32),
WarningRegister (U16), HardwareVersion (U8)
-
0x049
0x149
SerialNumber
12
SerialNumber (String 12 Bytes)
0x00A
-
-
RestoreDefault
0
-
0x00D
0x04D
0x14D
DisableCalibration
1
DisableCalibration [0/1] (U1)
Status codes
0xA0
Success
0xE0
Unknown command
0xE1
Invalid DLC
0xE2
Parameter out of range
0xE3
Flash error
0xE4
Flash verify error
0xE5
Command not allowed
0xE6
Firmware hardware mismatch
0xE7
File not found
Values in WarningRegister
WARNING_CANRXFIFOFULL
0x0001
WARNING_CANTXFIFOFULL
0x0002
WARNING_CANBUSOFF
0x0004
WARNING_INVALIDCALIBRATION
0x0008
WARNING_DISABLEDCALIBRATION
0x0010
WARNING_ISOTPRXFIFOFULL
0x0020
Cyclic CAN-IDs uC -> PC
Physical values are always transmitted as float (32 Bit / Single Precision / LSB first) and in the base unit (V / A / sec / °C / ... ).
0x180
MeasuredValues
12
Current [A] (float), Range (U8), VoltageDrop [V] (float), OnOff [0/1] (U1)
0x18E
ErrorHandler
48
ErrorType (U8), FileNumber (U8), LineNumber (U16), more info
Last updated
Was this helpful?