Page 1
® Intelligent Data Logging Products CANgate ™ User's Manual A guide to: programming wiring communications www.datataker.com...
Page 2
This version of the CANgate User’s Manual (UM-0086-A2) applies to CANgate products running version 1.28 (or later) firmware. WARNING dataTaker products are not authorized for use as critical components in any life support system where failure of the product is likely to affect the system’s safety or effectiveness. CANgate User’s Manual...
Page 4
Terminal Control ......................30 KWP2000/OBD-II/ISO-14230 Requests................. 30 Reading Fault Codes...................... 31 OBD-II..........................31 J1939........................... 31 Using CANgate with a DT8x Data Logger ..............32 Escaping Control Characters ....................32 Serial Sensor Direct Mode ....................33 Using CANgate with DeLogger..................33 Troubleshooting......................33 Error Messages ......................
CAN (Controller Area Network) is a data communication system widely used in the automotive industry. The dataTaker CANgate allows a data logger (such as the dataTaker DT80) or a host computer to be interfaced to a CAN network. CANgate is equipped with two standard CAN interfaces, plus a serial interface for connecting to an NMEA-0183 compatible device such as a GPS unit.
Global Positioning System Identifier International Standards Organisation NMEA National Marine Electronics Association On Board Diagnostics Parameter Group Number Parameter Identifier Society of Automotive Engineers Suspect Parameter Number On Board Diagnostics Diagnostic Trouble Code Protocol Data Unit CANgate User’s Manual Page 6 UM-0086-A2...
Note that the CAN LEDs will only flash on receipt of CAN frames which match CANgate's current hardware filter settings. If CANgate has not yet been programmed to receive CAN data then the LEDs will not flash, even if there is traffic on the connected bus.
Data logger serial connection wiring diagram Note: By default, the CANgate host port operates at a high baud rate (57600 baud). At this speed, the maximum cable length for the host computer or data logger connection is approximately 5 metres, assuming good quality shielded cable is used. If a longer cable is required, the CANgate baud rate should be reduced (see Configuration ), eg.
It is important to note that CANgate only supports the high speed CAN physical layer, as defined in ISO 11898-2 / SAE J2284. This is by far the most widely used physical layer. The important characteristics of this standard are: ...
120 Ω resistors should be placed at each end. This assumes that the ECU is not terminated (or weakly terminated). If the ECU includes its own 120 Ω termination then an external 120 Ω resistor is only required at the CANgate end of the cable.
The Factory Defaults setting can be used to force CANgate to revert to a factory default state, ie. verbose mode off, both CAN ports disabled, GPS baud rate 4800, all memory slots cleared. Set the switches as indicated above (ie. switches 1-7 ON), then cycle the power –...
Memory Slots By default, CANgate will not send or receive any CAN messages. In order to do anything useful, it must first be programmed. CANgate is programmed by sending commands to set up one or more memory slots. Each memory slot can be configured...
If CANgate is directly connected to host computer then these commands can be entered using a terminal program (eg. DeTransfer). If CANgate is connected to the serial sensor port on a DT80/DT800 series data logger then the logger would be programmed to transmit commands and receive data using the 1SERIAL channel type.
(CR-LF) and tab characters may be inserted using respectively. Note: If DeTransfer is used to send commands to CANgate then each backslash must be entered as in the DeTransfer Send window. So if you want the string to contain an actual backslash character you would need to enter \\\\ DeTransfer.
, it is not guaranteed that every CAN message will be returned. Many CAN networks operate at high speed, and some parameters are broadcast at very frequent intervals. The rate at which these messages arrive may exceed the bandwidth of the host RS232 connection, or the processing capabilities of the CANgate. Examples RECV 1 0x220 Receive messages on CAN port 1 with ID 0x220.
When polled, a SEND memory slot transmits a raw CAN message. No data is returned to the host system. Note that it is not possible to set up a RECV slot on the same CAN port to monitor messages sent by CANgate. If this is required, connect the two CAN ports together and set up the RECV slot on the other port.
Page 18
0x10-0x3F are manufacturer extended modes (specified in ISO-14230, although details of data and parameters are manufacturer specific). CANgate will then listen for a response with CAN ID 0x7E8-0x7EF (ECU #0 will reply using ID 0x7E8, ECU #1 with ID 0x7E9, and so on). The response message's mode byte will be either: ...
The J1939 protocol also supports multi-packet broadcast messages. These messages use a fixed PGN value in the CAN identifier (PGN 59904, 60160 or 60416); the actual PGN is embedded in the CAN data field. CANgate will receive multi-packet broadcasts where the embedded PGN value matches PGN.
Note: As is the case with ISO-14230 (RQST slots), the response time will depend upon the particular ECU. J1939 requests are queued in the same way as ISO-14230 requests – CANgate will only send out one request at a time, and will time out after approximately 400ms if there is no response.
Integer or floating point conversion specifiers are ignored for GPS slots. For a GPS slot, all data values are treated as strings. CANgate User’s Manual Page 21 UM-0086-A2...
BEGIN – Begin Program Entry BEGIN This command erases all memory slots and switches CANgate to Program Mode. In Program Mode, the only commands that are accepted are numbered slot definition commands. The CAN and GPS interfaces are disabled in Program Mode and no memory slots are processed.
For an active memory slot (SEND, SENDE, RQST, RQSTJ ), CANgate will transmit the required CAN message. In the case of the request types, CANgate will then wait for a response and return the required data to the host. If no response is received to a request, or if no data at all have been received at the time that a passive slot is polled, then no value will be returned.
Verbose mode can be turned off. When CANgate is being controlled by a DT80/800 data logger, Verbose mode is normally switched off. This avoids any parsing complications which may occur due to unexpected messages returned by CANgate.
For some CAN protocols, each device on the network needs to have a unique address assigned. This command allows you to assign an address to the CANgate. Currently this will only have an effect for the J1939 protocol. Note that in most cases the default address ( ) can be used.
CANgate system errors, including RQST/RQSTJ queue overflows and processing overflows (occasions when the configured slot sample rates could not be met due to excessive processing load) an indication as to whether an exception (serious CANgate error that required a firmware restart) has occurred. If the CLEAR parameter is specified then all statistics values are reset.
if bit 0 = 1 then all CAN messages sent by CANgate will be displayed, eg: CAN2 TX> 18EC00FF 132C0007 FFEBFE00 which shows that a message has been sent on CAN2 with identifier 0x18EC00FF and the indicated data value.
PGN numbers and how they are encoded into CAN identifiers. An example of a J1939 SPN would be “Engine Speed”. In order to capture engine speed using CANgate, it is first necessary to determine the PGN which contains this parameter. This can be found in SAE J1939/71 (Vehicle Application Layer), which...
(which may or may not be a problem). For this reason, CANgate will attempt to reuse requested data where possible, ie. a RQST/RQSTJ slot will use previously received reply data rather than sending a new request. This will, however, only be done if: ...
It is possible for two or more broadcast messages to overlap, in which case some or all of their constituent CAN frames will be interleaved. CANgate can track a certain number of simultaneous multi-packet messages. Be aware of the following limitations: ...
CAN identifier in the range 0x7E8-0x7EF. In this case 4 bytes will be returned: mode byte, PID and a 16-bit data value (MSB first). CANgate knows the format of a mode 0x01 request, and will discard the first two bytes of the response and return all remaining bytes as the data value.
In this case five fault codes are active (spaces have been manually inserted in the hex data for clarity). If CANgate is connected to a data logger then you would typically dispense with the decoding and just return the hex data,...
A confirmation message should be displayed. Everything you send to the logger connection from now on will be ignored by the logger and will instead be forwarded to the serial sensor port, ie. to CANgate. Furthermore, all normal text output from the logger (eg.
Page 34
If you are using a USB to RS232 converter, check whether its Tx and Rx LEDs flash. If the converter's TX LED doesn't flash then either you are talking to the wrong COM port, or CANgate has signalled the host to stop sending. Double check the flow control settings on both devices, and try closing then reopening the connection in DeTransfer.
Error: [ 3 RECVJ<err> 2 61444 ] Here the command name is OK but it is not valid in this context (eg. a slot number has been specified but CANgate is not in Program Mode, ie. BEGIN has not been seen.)
Page 36
Internal Errors If the CANgate firmware detects a serious internal inconsistency it will force a hardware reset and display a message such DATA ABORT EXCEPTION AT 000049F8 INTERNAL ERROR 1 (00000008) Following the reset, CANgate will attempt to resume normal operation.
Note: An alternative method of entering the bootloader is to set DIP switch 8 ON and then cycle the CANgate power. This replaces steps 5-8 above. Note that the "all LEDs on" indication will not occur using this method. Return the switch to the OFF position prior to step 14.
DeLogger supports use of CANgate with dataTaker DT80 range of data loggers. Includes built in parameter databases for J1939, OBD, NMEA-0183 and supports user developed custom parameter databases. DeTransfer or any other ASCII terminal emulator may be used to program CANgate when directly connected to a host PC. CANgate User’s Manual...
2 sensors 4-1 b3..0=bank 1 sensors 4-1 (byte 1) Bank 1 sensor 1, oxygen sensor voltage 0.005 (byte 2) Bank 1 sensor 1, short term fuel trim (0xFF if 0.7812 -100 sensor not used) CANgate User’s Manual Page 40 UM-0086-A2...
Page 41
Accelerator pedal position E 0.3922 Accelerator pedal position F 0.3922 Commanded throttle actuator 0.3922 Run time with MIL on Time since DTCs cleared mins Note: All multi-byte values are returned most significant byte first. CANgate User’s Manual Page 41 UM-0086-A2...
When a DTC is returned it is encoded as a 16-bit value, as follows: b15..14 – first character (00=P, 01=C, 10=B, 11=U) b13..12 – second character (0-3) b11..8 – third character (0-9) b7..4 – fourth character (0-9) b3..0 – fifth character (0-9) CANgate User’s Manual Page 42 UM-0086-A2...