The CAN analyzer I/O decodes analog data to CAN data. The source of the analyzer can either be the differential CAN signal (preferred) or the CAN-high signal. The decoded fields can be shown in a table sink. When the CAN data contains J1939 messages, these can be decoded using the J1939 decoder I/O.
The following fields are extracted from the CAN data by the analyzer:
|ID||(Unique) identifier for the data|
|RTR||Remote transmission request: if 1, remote data is requested|
|IDE||Identifier extension bit: if 1, the ID consists of 29 instead of 11 bits|
|R1||Reserved bit, only in extended format|
|R0||Reserved bit (it must be set to dominant (0), but accepted as either dominant or recessive)|
|DLC||Data length code: number of data bytes (0-8 bytes)|
|Data||Transmitted data (length dictated by DLC field)|
|CRC||Cyclic redundancy check|
|CRC delimiter||Must be recessive (1)|
|Ack||Indicates whether the message was acknowledged|
|Flags||Indicates errors in the CAN data|
|Priority||J1939 message priority, provides 8 levels, 0 is highest, 7 is lowest|
|PGN||J1939 parameter group number|
|Source address||J1939 source address|
|Reserved||J1939 specific, reserved for future use, must now be set to 0|
|Data page||J1939 data page (DP) selector for protocol data unit (PDU), currently at 0, page 1 for future purposes|
|PDU format||J1939 specific, PDU Format (PF) 0-239 indicates destination address in PS, 240-255 indicates extension to PF|
|PDU specific||J1939 specific, PDU Specific (PS) content interpreted according to information in PDU Format|
An example of analyzed CAN data is shown below.
Figure 1: Measurement on a CAN bus in a car, with decoded CAN data.
To control the behavior of the CAN analyzer I/O, several properties are available. These can be accessed through a popup menu which is shown when the I/O is right clicked.
For correct detection, the Bitrate property must be set to the correct value corresponding to the bus that is under measurement. It can be set to several common values, but also to a user defined value.
For correct detection of the CAN messages, the sample frequency of the oscilloscope must be at least three times as high as the bitrate setting of the CAN bus.
For signal edge detection, the CAN analyzer uses a level to which the signal is compared: all signal parts above this level are considered "high", all signal parts below this level are considered "low". When using the differential CAN signal, the MidLevel must be set to 0.7 V. When using the CAN-high signal, the MidLevel must be set to 3.0 V. The default value for the MidLevel property is 0.7 V.