Operation CHARM: Car repair manuals for everyone.

Powertrain Control Software


Powertrain Control Software

Adaptive Airflow

Some vehicles equipped with electronic throttle control (ETC) have an adaptive airflow strategy that allows the powertrain control module (PCM) to correct for changes in the airflow. During idle, the PCM monitors the throttle angle and air flow. If the air flow is determined to be less than expected, the PCM adjusts the throttle angle to compensate.

The PCM only learns the adaptive airflow when the vehicle is at idle and normal operating temperature and the airflow is less than a calibrated limit. Whenever the battery is disconnected or the keep alive memory (KAM) is reset, it is necessary for the PCM to learn the new value and not use the default value. For additional information on a KAM reset, refer to Resetting The Keep Alive Memory (KAM) Resetting The Keep Alive Memory (KAM).

Computer Controlled Shutdown

The PCM controls the PCM power relay when the ignition is turned to the ON or START position, by grounding the PCM relay control (PCMRC) circuit. After the ignition is turned to the OFF, ACC or LOCK position, the PCM stays powered up until the correct engine shutdown occurs.

The ignition switch position run (ISP-R) and the injector power monitor (INJPWRM) circuits provide the ignition state input to the PCM. Based on the ISP-R and INJPWRM signals the PCM determines when to power down the PCM power relay.

Deceleration Fuel Shut-Off (DFSO)

During a DFSO event the PCM disables the fuel injectors. A DFSO event occurs during closed-throttle, deceleration; similar to exiting a freeway. This strategy improves fuel economy, allows for increased rear heated oxygen sensor (HO2S) concern detection, and allows for misfire profile correction learning.

Engine RPM/Vehicle Speed Limiter

The PCM disables some or all of the fuel injectors whenever an engine RPM or vehicle over speed condition is detected. The purpose of the engine RPM or vehicle speed limiter is to prevent damage to the powertrain. The vehicle exhibits a rough running engine condition, and the PCM stores one of the following continuous memory diagnostic trouble codes (DTCs): P0219, P0297, or P1270. Once the driver reduces the excessive speed, the engine returns to the normal operating mode. No repair is required. However, the technician should clear the DTCs and inform the customer of the reason for the DTC.

Excessive wheel slippage may be caused by sand, gravel, rain, mud, snow, ice, or excessive and sudden increase in RPM while in NEUTRAL or while driving.

Fail-Safe Cooling Strategy

Note: Not all vehicles with a cylinder head temperature (CHT) sensor have the fail-safe cooling strategy.

The fail-safe cooling strategy is only activated by the PCM when an overheating condition has been identified. This strategy provides engine temperature control when the cylinder head temperature exceeds certain limits. The cylinder head temperature is measured by the CHT sensor. For additional information about the CHT sensor, refer to Engine Control Components Engine Control Components.

A cooling system failure, such as low coolant or coolant loss, could cause an overheating condition. As a result, damage to major engine components could occur. Along with a CHT sensor, the fail-safe cooling strategy is used to prevent damage by allowing air cooling of the engine. This strategy allows the vehicle to be driven safely for a short time with some loss of performance when a overheat condition exists.

Engine temperature is controlled by alternating the number of disabled fuel injectors. This allows all cylinders to cool. When the fuel injectors are disabled, the respective cylinders work as air pumps, and this air is used to cool the cylinders. The more fuel injectors that are disabled, the cooler the engine runs, but the engine has less power.

A wide open throttle (WOT) delay is incorporated if the CHT temperature is exceeded during WOT operation. At WOT, the injectors function for a limited amount of time allowing the customer to complete a passing maneuver.

Before injectors are disabled, the fail-safe cooling strategy alerts the customer to a cooling system problem by moving the instrument cluster temperature gauge to the hot zone and setting DTC P1285. Depending on the vehicle other indicators, such as an audible chime or warning lamp, can be used to alert the customer of fail-safe cooling. If overheating continues, the strategy begins to disable the fuel injectors, DTC P1299 is stored in the PCM memory, and a malfunction indicator lamp (MIL) illuminates. If the overheating condition continues and a critical temperature is reached, all fuel injectors are turned off and the engine is disabled.

Failure Mode Effects Management (FMEM)

The FMEM is an alternate system strategy in the PCM designed to maintain engine operation if one or more sensor inputs fail.

When a sensor input is determined to be out-of-limits by the PCM, an alternative strategy is initiated. The PCM substitutes a fixed value for the incorrect input and continues to monitor the suspect sensor input. If the suspect sensor begins to operate within limits, the PCM returns to the normal engine operational strategy.

All FMEM sensors display a sequence error message on the scan tool. The message may or may not be followed by key on engine off (KOEO) or continuous memory DTCs when attempting key on engine running (KOER) self-test mode.

Flash Electrically Erasable Programmable Read Only Memory (EEPROM)

The flash EEPROM is an integrated circuit within the PCM. This integrated circuit contains the software code required by the PCM to control the powertrain. One feature of the EEPROM is that it can be electrically erased and then reprogrammed through the data link connector (DLC) without removing the PCM from the vehicle.

Fuel Trim

Short Term Fuel Trim

If the oxygen sensors are warmed up and the PCM determines that the engine can operate near stoichiometric air/fuel ratio (14.7:1 for gasoline), the PCM enters closed loop fuel control mode. Since an oxygen sensor can only indicate rich or lean, the fuel control strategy continuously adjusts the desired air/fuel ratio between rich and lean causing the oxygen sensor to switch around the stoichiometric point. If the time between rich and lean switches are the same, then the system is actually operating at stoichiometric. The desired air/fuel control parameter is called short term fuel trim (SHRTFT1 and 2) where stoichiometric is represented by 0%. Richer (more fuel) is represented by a positive number and leaner (less fuel) is represented by a negative number. Normal operating range for short term fuel trim is between -25% and 25%. Some calibrations have time between switches and short term fuel trim excursions that are not equal. These unequal excursions are used to run the system slightly lean or rich of stoichiometric. This practice is referred to as using bias. For example, the fuel system can be biased slightly rich during closed loop fuel to help reduce oxides of nitrogen (NOx).

Values for SHRTFT1 and 2 may change significantly on a scan tool as the engine is operated at different RPM and load points. This is because SHRTFT1 and 2 react to fuel delivery variability that changes as a function of engine RPM and load. Short term fuel trim values are not retained after the engine is turned off.

Long Term Fuel Trim

While the engine is operating in closed loop fuel control, the short term fuel trim corrections are learned by the PCM as long term fuel trim (LONGFT1 and 2) corrections. These corrections are stored in the keep alive memory (KAM) fuel trim tables. Fuel trim tables are based on engine speed and load and by bank for engines with two heated oxygen sensor (HO2S) forward of the catalyst. Learning the corrections in KAM improves both open loop and closed loop air/fuel ratio control. Advantages include:

- Short term fuel trim does not have to generate new corrections each time the engine goes into closed loop.

- Long term fuel trim corrections can be used both while in open loop and closed loop modes.

Long term fuel trim is represented as a percentage, similar to the short term fuel trim, however it is not a single parameter. A separate long term fuel trim value is used for each RPM/load point of engine operation. Long term fuel trim corrections may change depending on the operating conditions of the engine (RPM and load), ambient air temperature, and fuel quality (% alcohol, oxygenates). When viewing the LONGFT1/2 PID(s), the values may change a great deal as the engine is operated at different RPM and load points. The LONGFT1/2 PID(s) display the long term fuel trim correction that is currently being used at that RPM/load point.

High Speed Controller Area Network (CAN)

High speed CAN is a serial communication language protocol used to transfer messages (signals) between electronic modules or nodes. Two or more signals can be sent over one CAN communications network circuit allowing 2 or more electronic modules or nodes to communicate with each other. This communication or multiplexing network operates at 500kB/sec (kilobytes per second) and allows the electronic modules to share their information messages.

Included in these messages is diagnostic data that is output over the CAN + and CAN - lines to the DLC. The PCM connection to the DLC is typically done with a 2-wire, twisted pair cable used for the network interconnection. The diagnostic data such as self-test or PIDs can be accessed with a scan tool. For additional information on scan tool equipment, refer to Diagnostic Methods Diagnostic Methods Overview.

Idle Air Trim

Idle air trim is designed to adjust the idle air control (IAC) calibration to correct for wear and aging of components. When the engine conditions meet the learning requirement, the strategy monitors the engine and determines the values required for ideal idle calibration. The idle air trim values are stored in a table for reference. This table is used by the PCM as a correction factor when controlling the idle speed. The table is stored in the KAM and retains the learned values even after the engine is shut off. A DTC is set if the idle air trim has reached its learning limits.

Whenever an IAC component is replaced, or a repair affecting idle is carried out, it is recommended that the KAM be reset. This is necessary so the idle strategy does not use the previously learned idle air trim values.

To reset the KAM, refer to Resetting The Keep Alive Memory (KAM) Resetting The Keep Alive Memory (KAM). It is important to note that erasing DTCs with a scan tool does not reset the idle air trim table.

Once the KAM has been reset, the engine must idle for 15 minutes (actual time varies between strategies) to learn new idle air trim values. Idle quality improves as the strategy adapts. Adaptation occurs in 4 separate modes as shown in the following table.

Idle Air Trim Learning Modes:





Idle Speed Control Closed Throttle Determination - Applications Without Electronic Throttle Control (ETC)

One of the fundamental criteria for entering RPM control is an indication of closed throttle. Throttle mode is always calculated to the lowest learned throttle position (TP) voltage seen since engine start. This lowest learned value is called ratch, since the software acts like a one-way ratch. The ratch value (voltage) is displayed as the TPREL PID. The ratch value is relearned after every engine start. Ratch learns the lowest, steady TP voltage seen after the engine starts. In some cases, ratch can learn higher values of TP. The time to learn the higher values is significantly longer than the time to learn the lower values. The brakes must also be applied to learn the higher values.

All PCM functions are done using this ratch voltage, including idle speed control. The PCM goes into closed throttle mode when the TP voltage is at the ratch (TPREL PID) value. An increase in TP voltage, normally less than 0.05 volts, puts the PCM in part throttle mode. Throttle mode can be viewed by looking at the TP MODE PID. With the throttle closed, the PID must read C/T (closed throttle). Slightly corrupt values of ratch can prevent the PCM from entering closed throttle mode. An incorrect part throttle indication at idle prevents entry into closed throttle RPM control, and could result in a high idle. Ratch can be corrupted by a throttle position sensor or a circuit that drops out or is noisy, or by loose/worn throttle plates that close tight during a deceleration and spring back at a normal engine vacuum.

International Standards Organization (ISO) 14229 Diagnostic Trouble Code (DTC) Descriptions

The ISO 14229 is a global, diagnostic communication standard. The ISO 14229 is a set of standard diagnostic messages that can be used to diagnose any vehicle module in use and at the assembly plant. The ISO 14229 is similar to the Society of Automotive Engineers (SAE) J2190 diagnostic communication standard that was used by all Original Equipment Manufacturers (OEMs) for previous communication protocols, like J1850 standard corporate protocol (SCP).

The ISO 14229 changes the way PIDs, DTCs, and output state control (OSC) is processed internally in the PCM and in the scan tool software. Most of the changes are to make data transfer between electronic modules more efficient, and the amount and type of information that is available for each DTC. This information may be helpful in diagnosing driveability concerns.

DTC Structure

Like all digital signals, DTCs are sent to the scan tool as a series of 1s and 0s. Each DTC is made up of two data bytes which each consist of 8 bits that can be set to 1 or 0. The data is decoded by the scan tool to display each set of 4 bits as a hexadecimal number (0 to F) in order to display the DTCs in the conventional format. For example, P0420 Catalyst System Efficiency Below Threshold (Bank 1).

EXAMPLE: P0420 Catalyst System Efficiency Below Threshold (Bank 1):





The table below shows how to decode the bits into hex digits.

How To Decode The Bits Into Hex Digits Table:





The first 4 bits of a DTC do not convert directly into hex digits. The conversion into different types of DTCs (P, B, C and U) is defined by SAE J2012. This standard contains DTC definitions and formats.

DTC Definitions And Formats:





ISO 14229 sends two additional bytes of information with each DTC, a failure type byte and a status byte.

Failure Type Byte and a Status Byte:





All ISO 14229 DTCs are 4 bytes long instead of 3 or 2 bytes long. Additionally, the status byte for ISO 14229 DTCs is defined differently than the status byte for previous applications with 3 byte DTCs.

Failure Type Byte

The failure type byte is designed to describe the specific failure associated with the basic DTC. For example, an failure type byte of 1C means circuit voltage out of range, 73 means actuator stuck closed. When combined with a basic component DTC, it allows one basic DTC to describe many types of failures.

Failure Type Byte:





For example, P0110:1C-AF means intake air temperature (IAT) sensor circuit voltage out of range. The base DTC, P0110, means intake air temperature sensor circuit, while the failure type byte 1C means circuit voltage out of range. This DTC structure was designed to allow manufacturers to more precisely identify different kinds of faults without always having to define new DTC numbers.

The PCM does not use failure type bytes and always sends a failure type byte of 00 (no sub type information). This is because OBD-II regulations require manufacturers to use 2 byte DTCs for generic scan tool communications. Additionally, the OBD-II regulations require the 2 byte DTCs to be very specific, so there is no additional information that the failure type byte could provide.

A list of failure type bytes is defined by SAE J2012 but is not described here because the PCM does not use the failure type byte.

Status Byte

The status byte is designed to provide additional information about the DTC, such as when the DTC failed, when the DTC was last evaluated, and if any warning indication has been requested. Each of the 8 bits in the status byte has a precise meaning that is defined in ISO 14229.

The protocol is that bit 7 is the most significant and left most bit, while bit 0 is the least significant and right most bit.

Status Byte:





DTC Status Bit Definitions

Refer to the following status bit descriptions:

Bit 7

- 0 - The ECU is not requesting warning indicator to be active

- 1 - The ECU is requesting warning indicator to be active

Bit 6

- 0 - The DTC test completed this monitoring cycle

- 1 - The DTC test has not completed this monitoring cycle

Bit 5

- 0 - The DTC test has not failed since last code clear

- 1 - The DTC test failed at least once since last code clear

Bit 4

- 0 - The DTC test completed since the last code clear

- 1 - The DTC test has not completed since the last code clear

Bit 3

- 0 - The DTC is not confirmed at the time of the request

- 1 - The DTC is confirmed at the time of the request

Bit 2

- 0 - The DTC test completed and was not failed on the current or previous monitoring cycle

- 1 - The DTC test failed on the current or previous monitoring cycle

Bit 1

- 0 - The DTC test has not failed on the current monitoring cycle

- 1 - The DTC test failed on the current monitoring cycle

Bit 0

- 0 - The DTC is not failed at the time of request

- 1 - The DTC is failed at the time of request

For DTCs that illuminate the MIL, a confirmed DTC means the PCM has stored a DTC and has illuminated the MIL. If the fault has corrected itself, the MIL may no longer be illuminated but the DTC still shows a confirmed status for 40 warm up cycles at which time the DTC is erased.

For DTCs that do not illuminate the MIL, a confirmed DTC means the PCM has stored a DTC. If the fault has corrected itself, the DTC still shows a confirmed status for 40 warm up cycles at which time the DTC is erased.

To determine if a test has completed and passed, for example, after a repair, information can be combined from 2 bits as follows:

If bit 6 is 0 (the DTC test completed this monitoring cycle), and bit 1 is 0 (the DTC test has not failed on the current monitoring cycle), then the DTC has been evaluated at least once this drive cycle and was a pass.

If bit 6 is 0 (the DTC test completed this monitoring cycle) and bit 0 is 0 (the DTC test is not failed at the time of request), then the most recent test result for that DTC was a pass.

The status byte bits can be decoded as a 2 digit hexadecimal number, and can be displayed as the last 2 digits of the DTC, for example for DTC P0110:1C-AF, AF represents the status byte info.

EXAMPLE: DTC P0110:1C-AF:





Multiplexing

The increased number of modules on the vehicle necessitates a more efficient method of communication. Multiplexing is a method of sending two or more signals simultaneously over a single circuit. In an automotive application, multiplexing is used to allow two or more electronic modules to communicate simultaneously over a single media. Typically this media is a twisted pair of wires. The information or messages that can be communicated on these wires consists of commands, status or data. The advantage of using multiplexing is to reduce the weight of the vehicle by reducing the number of redundant components and electrical wiring.

Multiplexing Implementation

Currently Ford Motor Company uses CAN communication language protocol to communicate with the PCM.

For additional information about the module communications network, refer to the Module Communications Network for Description and Operation.

Permanent Diagnostic Trouble Code (DTC)

The software stores a permanent DTC in non-volatile random access memory (NVRAM) whenever a DTC is set and the malfunction indicator lamp (MIL) has been illuminated. Permanent DTCs can only be cleared by the module strategy itself. After a permanent DTC is stored, three consecutive test passed monitoring cycles must complete before the permanent DTC can be erased. The PCM clears the permanent DTCs after one monitoring cycle if a request to clear DTCs is sent by the scan tool and the test subsequently runs and passes. A permanent DTC cannot be erased by clearing the keep alive memory (KAM). The intended use of the permanent DTC is to prevent vehicles from passing an in-use inspection simply by disconnecting the battery or clearing the DTCs with a scan tool prior to the inspection. The presence of the permanent DTCs at an inspection without the MIL illuminated is an indication that a correct repair was not verified by the on-board monitoring system.