11.8 PCM Programming and Network Diagnosis

Key Takeaways

  • Use the OEM programming supply voltage, current capacity and recovery procedure.

  • Two directly connected 120-ohm terminations measure 60 ohms in parallel; three measure 40 ohms.

  • A normal termination reading does not prove every branch, module or signal is healthy.

Last updated: October 2026

Note

PCM Programming and Network Diagnosis uses stated teaching examples. Actual pin assignments, dimensions, thresholds and procedures must come from the identified engine, component and diagnostic tool.

PCM Replacement, SAE J2534 Pass-Thru Reprogramming & Relearns (Task H.9)

Whenever a PCM is replaced or reprogrammed via SAE J2534 Pass-Thru Flashing to resolve an OEM Technical Service Bulletin (TSB), emissions recall, or false-DTC software bug, technicians must follow a strict pre-flashing protocol:

  1. Connect a Dedicated Programming Power Supply (PPS / Battery Maintainer): Never connect a standard shop battery charger, jump-starter, or roll-around booster pack during module flashing! Standard chargers output unfiltered AC ripple (>300–800 mV AC) and uncontrolled voltage spikes (>15.5 V) that corrupt flash data. Instead, connect a clean, regulated Programming Power Supply (PPS) with <100 mV AC ripple set to the OEM-prescribed voltage and current capacity; 13.2–13.8 V is only an example. If battery voltage sags below 12.0 V while the PCM is erasing and writing its flash memory blocks, the bootloader can be corrupted, potentially requiring OEM recovery ("bricking" the PCM).
  2. Eliminate Parasitic Loads & Network Interruptions: Turn off headlamps, HVAC blowers, interior lights, and radios; pull the electric cooling fan fuse/relay if specified by the OEM (since fans often cycle on at 100% when PCM communication pauses during flashing); plug the laptop into AC wall power with sleep/screensaver modes disabled; and use a hardwired USB or Ethernet cable to the J2534 pass-thru interface.

Mandatory Post-Reprogramming / Post-Replacement Initialization & Relearns

Check which of the following initializations the identified replacement or programming operation requires:

  • VIN & Vehicle Identification (VID) Block Configuration: Writing the 17-character VIN, tire size (revolutions per mile), rear axle gear ratio, transmission type, and fuel tank capacity.
  • Security / Immobilizer Parameter Reset & Key Handshake: Synchronizing the PCM encrypted security code with the BCM/immobilizer so the engine is permitted to crank and inject fuel.
  • Crankshaft Position (CKP) System Variation / Tooth Profile Relearn (CASE Learn): When required, use the exact scan-tool or road profile-learning procedure. Some GM-style procedures use a controlled fuel-cutoff event; Ford procedures can use specified decelerations. Do not substitute a generic 4,000-RPM maneuver. If the specific application requires profile learning and it is incomplete, P0315 or unreliable misfire monitoring can result.
  • Electronic Throttle Control (ETC) Closed-Throttle & Idle Air Volume Relearn: Teaches the PCM the mechanical lower stop of the throttle blade and compensates for throttle bore airflow.

Caution

Never Unplug the DLC Cable or Turn Off the Key If a J2534 Flash Stalls: Interrupting power or data during an active EEPROM erase/write cycle destroys the module's primary operating system. Always follow the OEM J2534 recovery procedure while keeping the regulated 13.5 V Programming Power Supply connected.


High-Speed CAN (ISO 15765) & Heavy-Duty SAE J1939 Data Bus Diagnostics (Task H.10)

Medium- and heavy-duty gasoline trucks communicate across a twisted-pair differential serial data backbone—either High-Speed CAN (ISO 15765 / SAE J2284 at 500 kbps on Pins 6 and 14 of the 16-pin OBD-II DLC) or Heavy-Duty SAE J1939 (250 kbps or 500 kbps on Pin C [Yellow, J1939+] and Pin D [Green, J1939-] of the 9-pin Deutsch diagnostic connector). Twisting the two wires at approximately the specified twist rate; 1 turn per inch is approximately 39.4 turns per meter helps ensure that external electromagnetic noise induces an identical voltage spike on both wires (common-mode rejection), leaving the voltage difference (CAN High minus CAN Low) uncorrupted.

The 60-Ohm Terminating Resistor Law & Voltage Signatures

A conventional directly connected two-termination high-speed CAN or SAE J1939 backbone has two 120-ohm terminating resistors located at the two physical ends of the main trunk cable (for example, one 120-ohm resistor inside the PCM at the front of the truck and a second 120-ohm resistor at the rear chassis frame or BCM/ABS module) to absorb high-frequency signal reflections. Because the two 120-ohm resistors are wired in parallel across CAN High and CAN Low (1 / R_total = 1 / 120 + 1 / 120), total loop resistance with the battery disconnected is approximately 60 ohms for this conventional directly accessible bus; a gateway or disconnected segment changes what the meter can see!

Test Mode & ParameterNormal SpecificationFault Readings & Exact Diagnostic Root Cause
Total Bus Resistance (CAN High to CAN Low, Battery Disconnected!)60 ohms (55 to 65 ohms)120 ohms: One of the two 120-ohm terminating resistors is open/unplugged, OR one of the main trunk wires (CAN High or CAN Low) is open between the two ends of the bus. 0 to <5 ohms: CAN High and CAN Low are shorted together (or an internal transceiver is shorted). OL (Infinity): Both trunk lines are cut or both terminating resistors are disconnected.
Recessive (Idle / Bit 1) Bus Voltage (KOEO)CAN High = 2.5 V, CAN Low = 2.5 V (0.0 V differential)Both wires rest at a 2.5 V bias when no node is transmitting a dominant bit.
Dominant (Active / Bit 0) Peak Voltage on DSO (KOEO)CAN High = ~3.5 V, CAN Low = ~1.5 V (2.0 V differential)Differential Signal Example: In the idealized example of a high-speed CAN / J1939 bus, CAN High and CAN Low are nominally complementary; common-mode voltage can shift, so inspect their difference as well (2.5 V + 2.5 V = 5.0 V idle; 3.5 V + 1.5 V = 5.0 V active). DMM average voltage reads ~2.6–2.8 V on CAN High and ~2.2–2.4 V on CAN Low.
Aftermarket ELD / Telematics / PTO Upfitter IntrusionShort drop stubs (<1 m) with zero extra terminating resistorsPoorly spliced Electronic Logging Devices (ELDs), GPS fleet trackers, or PTO controllers that add an unauthorized third 120-ohm resistor drop bus resistance to 40 ohms, or long un-terminated drop stubs cause signal ringing and U0100 (Lost Communication with ECM/PCM) / U0001 (High Speed CAN Communication Bus) codes.

Tip

Worked Diagnostic Scenario — Intermittent No-Crank and U0100 / U0101 Network Codes: A Class 6 gasoline rack truck exhibits an intermittent no-crank, wildly bouncing instrument cluster gauges, and U0100 (Lost Communication with ECM/PCM) and U0101 (Lost Communication with TCM) stored in the ABS and Body Control modules. The technician disconnects the negative battery cables, waits 2 minutes for all module capacitors to discharge, and measures resistance across Pin 6 (CAN High) and Pin 14 (CAN Low) at the 16-pin DLC. Instead of 60 ohms, the DMM reads 120.4 ohms! Knowing that 120 ohms means the ohmmeter is seeing only one of the two parallel 120-ohm terminating resistors, the technician inspects the rear frame harness near the rear 120-ohm terminating resistor plug and finds the yellow CAN High trunk wire rubbed through and broken open against an aftermarket hydraulic liftgate bracket. Repairing the broken CAN High wire and restoring the 1 turn per inch twist brings the Pin 6-to-14 resistance right back to 60.1 ohms and permanently resolves all U-codes.

Loading diagram...
High-Speed CAN / SAE J1939 Data Bus & Terminating Resistor Diagnostic Flowchart
Test Your Knowledge

A technician replaces a failed Powertrain Control Module (PCM) on a medium-duty gasoline truck, performs SAE J2534 pass-thru programming, and resets the immobilizer security parameters. When the truck is started and road-tested, the engine runs well, but the MIL illuminates immediately with DTC P0315 (Crankshaft Position System Variation Not Learned). Why did P0315 set, and what is the effect on engine operation until the procedure is completed?

A

The new PCM was programmed with the wrong rear axle ratio, causing the transmission to inhibit overdrive shifts

B

The camshaft and crankshaft timing chains are out of phase by one tooth, requiring mechanical timing gear re-indexing

C

The new PCM has not yet learned the machining tolerances of the crankshaft reluctor wheel teeth, which disables accurate misfire detection

D

The Electronic Throttle Control (ETC) closed-throttle stop position has not been initialized, causing a high curb idle

Test Your Knowledge

While diagnosing a 'No Communication with ECM/PCM' complaint and multiple U0100 codes on a medium-duty truck equipped with a high-speed CAN bus (ISO 15765), a technician disconnects the negative battery cables and measures resistance across Pin 6 (CAN High) and Pin 14 (CAN Low) at the 16-pin OBD-II Data Link Connector (DLC). The digital multimeter reads 120.2 ohms. Which fault causes a 120-ohm reading across CAN High and CAN Low?

A

CAN High and CAN Low are shorted together inside the twisted-pair engine harness

B

Both 120-ohm terminating resistors and the entire CAN bus trunk harness are completely intact

C

An aftermarket Electronic Logging Device (ELD) with its own 120-ohm terminating resistor has been spliced into the bus in parallel

D

One of the two 120-ohm terminating resistors is open/unplugged, or one of the main CAN trunk wires is open between the two ends of the bus

Sections you finish are checked off in the contents.