Nissan Tuning

Disclaimer
Do note that these guides are to be considered as works in progress! So while they're meant to help shed light on functionality, the data provided here has the potential to be incorrect and/or outdated. (Just look at UpRev's tuning guide as of 8/12/21) Also, this guide is based on the 2006 Nissan 350z (SH7058 ECU). While I would assume that the logic would stay fairly consistent across multiple models with a few variants here and there, EXCEPTIONS WILL APPLY!

Ignition Timing
Nissan's ignition timing system is an, at first glance, complex system. It calculates MBT (Minimum Spark Advance for Best Torque) through flame speed, air mass, and so forth. Then it applies compensation values to this calculated MBT value (See the ignition trimming maps) to then go and set the final ignition timing value. But while it appears complex, it's actually extremely simplified. Assuming the stock MBT calculations are still accurate for your vehicle (heavily modified vehicles potentially might not have accurate calculations), there's no dyno required! Nissan's MBT calculations are confirmed to be within +/- 3 degrees of actual MBT. (Confirmed by Nissan's engineers' within their patent) Do note, exceptions will apply. But 99% of the time, these calculations will be accurate enough. Based off the ECU's tables, being 3 degrees off from MBT is still making ~96% of potential torque. (100% being at MBT)

So how do you go about tuning your ignition timing then? To begin with, you'll want to make the decision on what octane fuel you're going to be using and do some heavy research on how your engine handles ignition advance. I'd highly recommend making small increments while datalogging at least four knock strength RAM parameters (not possible until RR Logger supports CAN-logging unfortunately), as these will be the most accurate indicators of knock. No, knock headphones most likely won't pick up knock that the OEM wideband knock sensor doesn't pick up. If anything, the OEM knock sensor will be more likely to pick up false knock. So I personally have full faith in the OEM knock control system. If you must suffer with crappy K-line like I must, I'd recommend datalogging Knock Strength, Knock Count, as well as the knock control value. The main purpose of knock strength is so that you can see if knock is potentially creeping up. If the knock strength value exceeds the knock slice map value for that cylinder, it adds one to knock count.

Ignition Timing Maps Guide
Just an extremely basic guide to tuning the timing maps for anyone who might have a hard time understanding.

The photo below shows the SAME VALUES, except the one on the left has the knock window removed to help visualize the timing adjustment aspect of it. First, we need to understand the timing formula. Given that this is an extremely complex thing, let's just put it simply as Ignition Timing = MBT + Timing Adjustment + X. Where MBT is the calculated MBT value that ALL COMPENSATIONS are based on, Timing Adjustment being the Ignition Timing Map Value, and X being the knock window compensation. The knock window compensation is based off knock sensor feedback and so forth, but this compensation is ONLY active when you're within the knock window. So when you're outside of the knock window, the formula is Ignition Timing = MBT + Timing Adjustment.

So we know how it's calculated, but how do we know how to tune it? So since we're relying on the ECU to calculate MBT accurately, we are now tuning based off the belief that the calculated MBT Value = Actual MBT. So instead of needing to focus on finding MBT, now we shift to preventing knock. Since anywhere outside the knock window is Ignition Timing = MBT + Timing Adjustment, this means that the MAXIMUM VALUE we want is 0. Because then we are running MBT. Anything higher will unnecessarily over-advance us. So if you know you're not knocking, you can raise the values closer and closer to 0 until you either hit 0, or knock starts to occur. Do be aware of what octane you're going to be running, because you don't want to run super close to MBT if you're going to be running on 87 octane.

If you notice that from 6.2%-31.2% ITAC (X-Axis) we are actually using positive values in a few spots. This is because most of the time that we're in those cells, we will be transitioning from deceleration. So the positive values are there to offset some of the initial acceleration retarding that occurs when going from deceleration to acceleration. Same for within the knock window. Since within the knock window the formula is Ignition Timing = MBT + Timing Adjustment + X, we now are fighting the X compensation. This is why you see +3 in some cells. This is because due to the aggressive knock logic, it can potentially pull a decent bit of timing unnecessarily. So by having +3, we're offsetting a lot of the timing retard that is occurring due to knock sensor feedback.

So outside of any areas where compensations are occurring, 0 is the maximum value you want to run for these maps. Within areas where compensations are occurring, you'll need to experiment through trial and error. Especially on any VVEL equipped vehicles. The reason the knock window is so frustrating to deal with is because Nissan's knock logic will retard ignition timing during a knock event, then leave it retarded for a predetermined amount of time to ensure that the engine stops knocking. I don't know the actual time frame, but just know that it will retard timing beyond the knock event to verify that knock stops occurring. When you're outside of the knock window, it doesn't give a crap about knock unless it trips the knock flag, where it'll then run off the high detonation ignition timing map.



Fuel Delivery
Nissan's fuel delivery system is based on calculating a basic injector pulse width (Basic BFS), then applying compensations to this value to correct for various conditions. The main fuel compensation map is an Alpha-N setup, which means it's based on the throttle flow quantity/load. The transient throttle maps are used to compensate for the delay between where the air is read by the MAF sensor and when the air actually enters the combustion chamber. So most of your fueling changes will be made to the fuel compensation map.

Basic Base Fuel Schedule (Basic BFS) = ((vQ4 * K-Value) * MAF Factor) / Engine Speed
 * vQ4 - Compensated MAF Table Value. Represents an unscaled airflow value.
 * K-Value - Fuel injector conversion unit. Represents some ms/kg value used to convert the vQ4 value into an injector pulsewidth. Acts as the fuel injector size value within the ECU. So changes to injector size will require changes to this value directly. Further analysis is required to figure out proper calculations (rather than % changes).
 * MAF Factor - % or kg/hr conversion unit. Just acts as a multiplier for vQ4 * K-Value. You can use this value to compensate for airflow changes rather than using the MAF table. But as this value is just a compensation rather than an actual part of the conversion, it's highly recommended that you don't alter this value to compensate for fueling changes.

While this isn't the exact equation, it's all that you need to know in order to properly understand it.

This basic BFS value is then compensated by the following before setting the Base Fuel Schedule (BFS) parameter;
 * Fuel Compensation Map
 * Transient Throttle Fuel Compensation Map

Cylinder Filling Up Efficiency (ITAC) = (BFS/mTP100)*100
 * mTP100 - Cylinder Filling Up Efficiency Scaler (ROM). The BFS at which 100% volumetric efficiency occurs. Nissan has this setup to hit 100% stock for NA ROM's, even if the engines don't actually hit 100% VE, this is due to the fact that when WOT is detected (APO > 70 degrees), the ECU just uses the last column of the ITAC axis. (Can be changed based off ROM flags, so won't be consistent across all vehicles)

Fuel Injectors
Changes;
 * K-Value
 * Cranking Pulsewidth Table
 * Cranking Pulsewidth Compensation Tables

General Changes to Fueling or Airflow
While not necessarily guaranteed to be required all the time, it's best to check the following whenever you make changes to airflow or fueling;
 * Cylinder Filling Up Efficiency Scaler
 * Idle BFS Limits
 * MAF Idle Voltage Limits

Line Pressure
Line pressure is completely managed by the transmission control module (TCM). As of 8/21/21, the TCM is not able to be reflashed. So the only thing we can do to control line pressure via the ECU is by altering the engine torque calculations.

The Engine Torque Map is used as the starting point for engine torque calculations. This is before compensations occur. So changing this map will directly alter the engine torque value sent to the TCM. The higher the engine torque, the higher the line pressure. If your engine is producing more power than stock (verified via a dyno), then you NEED to change this map to accurately reflect your power levels. If you're wanting to falsify the engine torque values as to make the transmission shift quick, then the accuracy is irrelevant, as you're not at risk of using too little of line pressure and burning your clutch packs.

Engine Torque Compensations;
 * MBT Deviance -PI % Table for DUETTE
 * Target AFR
 * Fuel Cut
 * mKTENG1 - Further analysis required.
 * vTHOKI - Further analysis required.

What Affects Line Pressure;
 * APS Voltage
 * TPS Voltage (Seems to only include Closed TPS and WOT signals)
 * Vehicle Speed
 * Engine Speed
 * A/T Fluid Temperature - Due to varying viscosity