ISO15765-4 HSCAN Network bus communication diagnosis
Part 4 of a 6 part series. Go here to access the full set.
WHO USES IT:
ISO15765-4, dual-wire CAN, is mandatory on ALL North American vehicles sold from Model Year 2008 and forward for Powertrain communications. It was phased in by OEMs starting in MY2004, so refer the specific wiring schematic and the DLC connector. If there are pins in DLC cavities 6 & 14 after MY2003 it is wired up for HSCAN.
HOW IT IS NETWORKED:
DLC Pins 6 & 14 are assigned to HS-CAN. Similar to J1850PWM, it is a differential bus. You have a CAN + and CAN - for the bus to properly communicate. The bus operates at roughly 2.5V DC and is pulled up and down on the respective bus line. The bus is communicating whenever at least one ECU is active, so key ON is not required, nor is scan tool connectivity required to have bus activity.
You will want to use a DSO (Digital Storage Oscilloscope) to properly diagnose any CAN bus issues, but you can start with your DVOM. The CAN bus has two 120 ohm terminating resistors in the circuit. These terminating resistors are in place to dampen bus ringing, which occurs when the communication message ends. Will the bus communicate without them? Perhaps, but you will get data corruption as the bus ECUs will misinterpret the message packets.
With the key OFF and OUT, measure the resistance at DLC pins 6 & 14. The value should always be between 58 and 62 ohms. Period. When one of the resistors is blown, you will have somewhere north of 118 ohms. Stop there, pull a schematic and find the location of both terminating resistors. Sometimes they are internal to an ECU, sometimes they are external in the harness. The schematic will guide you. Examples below for GM, Ford and Nissan.
Note on Nissan: they do not list locations on the schematic, but they normally put them in "bookends", namely the ECM and IPDM.
Channel 1 lead goes to DLC pin 6, channel 2 lead goes to DLC pin 14. Ground lead goes to DLC pin 4 or 5. DLC breakout box is preferred so you don't compromise (read: spread) the DLC pins. Set V/div to 2V DC, time can be set anywhere around 20 ms/div to get you going. This is a high-speed signal, so you'll get lots of activity. You are less concerned about the individual packets and more concerned about the bigger picture. When the bus is behaving badly, you will see it on the scope very quickly!
The HS CAN busses that are being wired to other DLC pins (GM Chassis Expansion 12/13, Ford/FCA IHS, etc) diagnosis is identical, as the bus architecture is the same. Also, many platforms from 2004 to 2009 have HSCAN and legacy protocols (J1850PWM, J1850VPW, ISO9141-2, J2610, etc) wired up simultaneously. Use the schematics!
If the vehicle is equipped with a Central Gateway ECU (like an FCA TIPM) keep in mind the DLC is not on the bus, but wired to the CGW only. To test the bus, you will need to go on the other side of the gateway ECU.
Great writeup Bob,
Some notes on this from a Mercedes perspective. Of course as you stated the location and configuration of terminating resistors will vary by manufacturer and vehicle, in Mercedes terminating resistors are used in both modules and junction blocks, but to my knowledge never hardwired to the harness itself. In general a star topology is used with junctions at the centers of the stars. On older vehicles the "junctions" are simple splices and the terminating resistors are in modules. On newer vehicles the resistors may be in modules but are mainly in the junction blocks which minimizes the distance between modules and the terminating resistors. Sometimes the resistor location is indicated in schematics, but a good way to determine it is to look at the "Diagnosis" values. Resistance values are often given for both component connected and component disconnected states.
Diagnosis tips: Always test the CAN resistance with everything plugged in, the entire network intact. Disconnecting anything will dramatically influence the results in an unpredictable way. Disconnect the battery however, active CAN communication will distort your readings. Start by checking the CAN_H and CAN_L voltages anywhere on the network with a DMM.
Chassis networks (higher speed 500kbps):
Generally 2.4 and 2.6 volts. (202, 210, 208, 164, 203, 209, 211, 215, 219, 220, 240, 463)
High speed CAN readings vary but high speed network voltage measurements should add up to 5.0 or very close as a general rule.
Body networks (Low speed 83kbps):
1,8 and 3.2 volts (202, 208, 210)
.65 and 4.5 (164, 203, 209, 211, 215, 219, 220, 240, 463)
Voltages are not exact measurements, they're subject to the averaging of the DMM as it tries to make a steady interpretation of a rapidly changing signal. Voltage measurements are good for detecting shorts to ground and shorts to voltage. I have seen wires physically damaged and shorting to ground and I have seen modules failing internally and shorting the CAN to voltage.
I think the drivetrain network doesn't sleep it just shuts down when the key is turned to lock as all of the modules lose power for all intents and purposes. Body network voltage between H and L may be 5 or 12, flatline at sleep. Bearing in mind almost any action, e.g. opening the door will wake the CAN. Mercedes doesn't use a dedicated wakeup mechanism, any body module with power has the potential to wake the network but only a specific set of them are programmed to do so. The network is woken when the voltage is driven to a differential (opposites on high and low).
Besides voltage measurements, it's always good to test resistance to ground and resistance to each other for both CAN lines. You may also want to check continuity between different points on the network. You can have a good termination resistance but still have a communication problem with a module, the [ ] indicate a module with a terminating resistor:
Open but with good resistance
[BCM]::::::::::::::::::::[PCM]:: -/ open /- ::Shifter
A scope can also be used to check the CAN signal - 2.4 and 2.6 volts are close enough that you might not notice the lines are shorted together with a DMM. Scopes are useful for checking signal integrity issues which can be caused by bad power/ground supplies to modules, bad CAN transceivers, or internal module faults. They're not my first grab.
Quite a lot more to this topic but hopefully this is a helpful overview.