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.
|Protocol||CAN 2.0 A and CAN 2.0 B (CAN FD not supported)|
|Signals||CAN H or CAN L|
|Max speed||Up to 1 Mb/s|
|Frame parameters||ID, DLC, Data bytes, CRC Sequence, CRC Delimiter, |
ACK Slot, ACK Delimiter
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.
Now you should see the decoded data.
Fields: (all numbers in Hexadecimal format)
|Start-of-frame (gray)||1||Denotes the start of frame transmission|
|Identifier (yellow)||11||A (unique) identifier which also represents the|
|Data length code (DLC) (green)||4||Number of bytes of data (0–8 bytes)|
|Data field (blue)||0–64 |
|Data to be transmitted (length in bytes dictated |
by DLC field)
|CRC (cyan)||15||Cyclic redundancy check|
|CRC delimiter (gray)||1||Must be recessive (1)|
|ACK slot (yellow)||1||Transmitter sends recessive (1) and any receiver|
can assert a dominant (0)
|ACK delimiter (gray)||1||Must be recessive (1)|
|End-of-frame (EOF-pink)||7||Must be recessive (1)|