CAN Decoder

CAN (Controller Area Network) Bus is a serial protocol used in automotive and industrial machinery to allow microcontrollers to communicate with each other. It uses differential signalling (with signals named CAN H and CAN L) to increase noise immunity.

HScope can decode either the CAN H or the CAN L signal.

Decoder Specifications

ProtocolCAN 2.0 A and CAN 2.0 B (CAN FD not supported)
SignalsCAN H or CAN L
Max speedUp to 1 Mb/s
Frame parametersID, DLC, Data bytes, CRC Sequence, CRC Delimiter,
ACK Slot, ACK Delimiter

Oscilloscope requirements

The oscilloscope sampling rate must be at least 3 times higher than the CAN speed. In case the CAN speed is 1Mb/s, you need to set the rate at least 3-4MSa/s.

Activating CAN Decoder

  1. Move a bit the Digital Signal
  2. Click on the Settings icon that appear when you select the Digital Signal
  3. Select the Channel where you want to apply the Decoder (L5 for the special channel analog-to-digital converter)
  4. Select the Decoder: CAN

Now you should see the decoded data.

Fields: (all numbers in Hexadecimal format)

Field nameLength
(bits)
Purpose
Start-of-frame (gray)1Denotes the start of frame transmission
Identifier (yellow)11A (unique) identifier which also represents the
message priority
Data length code (DLC) (green)4Number of bytes of data (0–8 bytes)
Data field (blue)0–64
(0-8 bytes)
Data to be transmitted (length in bytes dictated
by DLC field)
CRC (cyan)15Cyclic redundancy check
CRC delimiter (gray)1Must be recessive (1)
ACK slot (yellow)1Transmitter sends recessive (1) and any receiver
can assert a dominant (0)
ACK delimiter (gray)1Must be recessive (1)
End-of-frame (EOF-pink)7Must be recessive (1)