The Second CAN high speed network waveform is shown in Figure 4 and is produced when the ignition is turned to the on position or “Active Mode.” This is the normal CAN high speed network waveform. The third CAN high speed network waveform is shown in Figure 7 and is produced when the Ignition is turned to the off position “Sleep Mode.” In this example the waveform does not move in opposite direction from 2.5 volts as shown in Figure 4, but instead moves from 1.4 volts to 3.6 volts with minimal data transmission.
|Want more ? Enjoy a free subscription to Motor Age magazine to get the latest news in service repair. Click here to start you subscription today.|
The third CAN high-speed network waveform is shown in Figure 8 and is produced when the termination resistors are missing. The high-speed CAN Bus must have termination resistance in order to work properly. Without the proper termination resistance, the bits will not be formed correctly and will create a problem with the message bit timing. If no or low resistance is in place the bus will have reflections. Reflection or ringing can create poor to no communication problems. This can be caused by missing resistors, broken wiring or when one disconnects the module connector and breaks the communication lines to the network. If you are unplugging modules while monitoring the oscilloscope display to locate the communication problem and the communication lines go into and out of the module, then you must bridge the CAN-H to CAN-H and CAN-L to CAN-L wiring at the connector. This will keep the communication wiring intact to the other modules in the system.
There are two 120 Ω termination resistors in the bus lines. These are placed between the CAN-H and CAN-L bus lines. The resistors can be in the modules, fuse panels, or in the wiring so check a wiring schematic for their location. To test the resistance of the CAN termination resistors, there must be no power on the network (sleep mode). Ohm the DLC from pin 6 to pin 14, the resistance should be approximately 62 ohms. If the communication lines connect to the gateway (e.g. CEM) and the gateway isolates the DLC from the CAN high-speed bus; then if you were to measure the bus resistance at the DLC you are not measuring the actual CAN high-speed communication lines. In this case, back probe the communication lines at a module on the high-speed network.
The fourth CAN high speed network waveform is shown in Figure 9 and is produced when the In-Frame Response (IFR) or Acknowledgement (ACK) is missing. The ACK is a message that is embedded in the data frame by a module other than the original transmitter. This is to let the transmitter know that some other module on the network received the message. If the ACK is not received, a form error in the data frame is set. This means that the message is resent over and over until an ACK is read by the transmitting module. This is why the CAN message on the oscilloscope display is repeated over and over and usually caused by broken communication wiring. In this condition the module is not on the network but is isolated from the network.
The fifth CAN high-speed network waveform is shown in Figure 10. This is produced by a common problem where a CAN transceiver is failing. This occurs when the voltage on the network is pulled high, as shown in Figure 10, or when the voltage on the network is pulled low, not shown. This can be an intermittent problem when the CAN transceiver first starts to fail or a hard failure where each time the module takes control of the network the signal voltage fails. The faulty module is located by unplugging the modules from the network while monitoring the oscilloscope display. When setting your oscilloscope settings always use strip chart roll mode at a speed where you can watch the bus messages stream across the oscilloscope display. If you use a trigger mode it can hide the problem entirely. When the correct module is unplugged the voltage failure will be gone. When the module is reconnected the voltage failure will return. Be careful here, if the module is failing intermittently it can reset once it is unplugged and loses power and ground, and can begin to work properly. Always be sure you can see the problem first, then disconnect the module from the network. If the problem is gone, this is the problematic module. Always test all of the powers and grounds before ever replacing any electronic device. When you remove the module electrical connector, check for contamination such as oil in the connector. Check all of the connecting pins for any damage. If you question the connecting pins connection use Stabilant 22, this is a liquid that helps with poor electrical connections.
On CAN high-speed systems, the module can be isolated from the network due to faults exceeding 256 error counts. Each node maintains two error counters: 1) Transmit Error Counter 2) Receive Error Counter. A transmitter detecting a fault increments its Transmit Error Counter faster than the listening nodes will increment their Receive Error Counter. This is because it is assumed there is a better chance that the transmitter is at fault. From 0 to 126 error counts the module sets active errors where it can destroy messages on the bus. This is accomplished with 6 dominate bits at the end of frame which violates the 5-bit stuff rule, and will destroy other bus traffic. When the Transmit Error Counter raises above 127 (e.g. after 16 attempts), module A goes Error Passive. The difference is that it will now transmit Passive Error Flags on the bus. A Passive Error Flag comprises 6 recessive bits (violates the 5-bit stuff rule), and will not destroy other bus traffic, so the other modules will not be affected by module A bus errors. However, module A continues to increase its Transmit Error Counter. When it raises above 255 error counts, module A takes itself off of the bus “Bus Off State.” A bus off state will require an extended bus idle period (not likely) or a battery reset to get the module back on the bus. So before replacing any module, first reset the network and test to see if you can communicate with this module. If you can now communicate with this module, realize that this module could be bad or could be in “Bus Off State” not because it is bad, but due to another module’s clock being bad. If one of the modules on the network has a clocking error it may not set any codes for itself but will destroy bus traffic thus setting codes for other modules. If this module with a bad clock destroys another module’s messages and the other module counts enough errors, this good module will take itself off of the network. Yet the module with the bad clock (bad module) will remain active on the bus. When a module with a bad clock is on the bus there will be multiple codes in most of the other modules except for the module with the clock error. The Controller Area Network is a great system and, with an in-depth understanding of how these communication systems operate, will come an understanding of how to diagnose these advanced communication systems.