Introduction

With the exception of boost control, the Ascent ECU generally shares the same logic as the DIT WRX ECU (FA20DIT motor) with only minor differences. Boost control code is entirely new on the Ascent due to the introduction of a fully electronic wastegate valve and air bypass valve on its FA24DIT motor. Subaru advertises the Ascent CVT transmission as a "high torque" unit, but some owners of stock vehicles are reporting transmission failures on the stock tune. Tuning your vehicle voids your powertrain warranty. Tuning products are to be used at your own risk, so consider carefully before proceeding.

Boost Control

The general behavior of the new boost control logic for the FA24DIT motor is similar to the FA20DIT logic. Instead of determining a commanded wastegate duty, the new logic determines a commanded wastegate shaft position. It uses a boost targets table with baro and IAT comps, proportional/integral (PI) loop based on boost error ("turbo dynamics"), and an initial wastegate position table also with baro and IAT comps. Additionally, there are new DTCs pertaining to boost control and new tables for controlling the air bypass valve state.

Boost Targets

This is very similar to the FA20DIT logic. The final boost target is determined via a 3D boost targets table (requested torque vs. RPM) with compensation tables for baro and IAT applied. The main difference here is that the requested torque used for the boost targets table is based on the traditional requested torque value, but also further manipulated by two adders related to A/C and alternator load (see the "Requested Torque (Boost Targets)" section below).

Wastegate Position

The starting commanded wastegate position is determined by the Wastegate Initial Position table (final boost target vs RPM) with compensations for baro, IAT, and initial position (this one is fairly redundant and the factory calibration is set to no comp). Wastegate position is represented in units of length (millimeters). The wastegate is more progressively open with higher values. This initial position is corrected by the turbo dynamics corrections based on boost error (described in next section). This commanded wastegate position ranges from 0 mm (full closed)  to 15 mm (max. open) and is reflected in the Wastegate Position Commanded monitor.

The final commanded wastegate position (represented in the Wastegate Position Commanded Final monitor) is typically different than the initial commanded position described above due to a learning adjustment and ramping behavior:

The following monitors can be used to track the wastegate position elements.

Turbo Dynamics

A PI loop governs the wastegate position correction based on boost error. The integral and proportional tables are 3D tables (boost error vs. RPM). This is fairly similar to the FA20DIT logic overall. The following monitors can be used to track boost error, integral, and proportional corrections:

Boost Control Activation

Boost control activation is determined by a minimum requested torque threshold with compensations for baro and IAT.

Tuning boost control:

While the mechanical system and logic have changed, tuning boost control remains largely the same as other Subarus. Tuning the Wastegate Initial Position table is performed much like tuning a wastegate duty cycle table, except higher values will result in more wastegate flow (less boost), lower values result in less wastegate flow (more boost). The table also uses the final boost target (relative to sea level) rather than requested torque or throttle position, which we feel makes it even easier to work with. In testing, values tuned at low altitude still performed well at high altitude, but this may vary with mechanical configuration. Keep in mind the position required to achieve a given target boost level will also vary with changes in mechanical configuration. We suggest tuning the whole table to achieve consistent mild negative integral values to avoid significant spiking, and achieve a smooth boost curve. Comparing an OTS performance map to stock will illustrate additional changes which made boost control more smooth and predictable compared to stock, but feel free to explore and find a better way.

Air Bypass Valve

On a mechanically stock vehicle, the stock values seem to work well and have not been adjusted in OTS Stage1 maps.

CLOSED TO OPEN STATE

To change the bypass valve from a closed to open commanded state, the following needs to occur:

OPEN TO CLOSED STATE

The bypass valve will move from an open to a closed commanded state when either the bypass valve commanded state is open beyond the max. allowed time or the target throttle exceeds a specific threshold:

The commanded state can be tracked via the following monitor:

Boost Limits - P226B (Fuel Cut and Throttle Cut)

This logic is the same as the FA20DIT and governs the activation of the DTC, fuel cut and throttle cut when boost exceeds the boost limit (with corresponding adder). The only difference is that the 1st gear, baro, and IAT compensations to the boost limit are distinct to this boost limiter and not used for the boost target (as opposed to the FA20DIT where they are shared). The P226B replaces the P0244 code in the 19+ WRX and STi as well as here on the Ascent, however, the Ascent also makes use of the P0244 code (which WRX/STi does not) for another purpose (as described below).

Boost Limits - P0244 (Wastegate Position Error)

The Ascent ECU re-purposes the P0244 code as a means to sanity check operation of the electronic wastegate valve. If the wastegate position error (commanded - actual) is outside a specific range (-6.4mm to 6.4mm) for a certain period of time, P0244 will be thrown.

Boost Limits - P0234 (Boost Error Overboost)

When boost control is active, if boost error is less than the overboost limit value continuously for the specified delay period, the P0234 code will be thrown.

Boost Limits - P0299 (Boost Error Underboost)

When boost control is active and a minimum target boost threshold is met (2d vs. RPM), if boost error is greater than the underboost limit value continuously for the specified delay period, the P0299 code will be thrown.

Requested Torque (Boost Targets)

Requested torque logic generally works about the same as prior DIT but does have some unique properties for Ascent:

Other Logic Differences

MAF Calibration (Frequency)

MAF sensor calibration is based on MAF sensor frequency rather than voltage. The MAF calibration table is scaled from 1.17 kHz to 10 kHz and this axis can be tuned (i.e. unlike the FA20DIT which is a fixed read-only voltage axis). The table is tuned in the same manner as a voltage based MAF calibration, with larger mass airflow values resulting in increased calculated load and fuel delivery.

Ignition Timing Comp (IAT)

The IAT ignition timing comp logic has changed with the Ascent ECU. The MAF-based IAT compensation is determined by adding (Intake Temp) 1 (with activation applied) to (Intake Temp) 2 (with activation also applied). This sum is then limited to a maximum determined by the Ignition Timing Compensation (Intake Temp) Max. Limit (Manifold Temp Calc)... tables as follows: ((Base Temp) - (current Intake Temperature Manifold)) * (Ignition Timing Compensation (Intake Temp) Max. Limit (Manifold Temp Calc) Compensation table. This is then limited to a maximum of 0 degrees (so the limit cannot be greater than 0). 

The #1 and #2 tables are zero'd out in the factory tune so the manifold temp tables entirely govern the final compensation in the factory calibration. This will be a negative value when manifold temp exceeds the Base Temp table (load vs. RPM) value. The result is corrected by the A/B Compensation table (load vs. RPM). The greater the manifold temp exceeds the Base Temp value, the more negative the compensation will be (all else equal).

An example for this calculation is as follows:

manifold temperature = 90 degrees F
Ignition Timing Compensation (Intake Temp) Max. Limit (Manifold Temp Calc) Base Temp table = 60 degrees F
Ignition Timing Compensation (Intake Temp) Max. Limit (Manifold Temp Calc) Compensation table = 0.25

The maximum limit will be (60 - 90) * 0.25 = -7.5 deg. If the Ignition Timing Compensation (Intake Temp) table with Activation table applied was 0 degrees, then the final timing compensation for intake temp would be -7.5 degrees. Increasing the Base Temp table will require a higher manifold temperature before a negative max limit is applied and increase the max limit (i.e. less negative) all else equal. Decreasing this table will have the opposite effect. Note: Because the final max limit cannot be greater than zero, this means that the final ignition timing compensation for intake temperature cannot be greater than 0. Also, because the ECU uses lower precision math for this function, the final actual ignition compensation may be lower than your calculation by up to about 1 degree.