GM Fuel Pump Control Strategy
GM has advanced their fuel pump control over the years for the better, moving away from relying on a traditional mechanical regulator to control pressure and making environmental assumptions about operating conditions. Lucky for us, newer vehicles all use an actual fuel pressure sensor now so the ECM can calculate effective injector pressure in real time. If you're already lost, I'd suggest heading back to the archive and finding the "Fuel Pressure Explained" entry.
Unfortunately, there's no shortage of misinformation/assumptions/confusion about how GM handles this control. This article aims to de-mystify the process in the hopes that tuners out there (yes, you, even though you don't want to admit you didn't know this) can properly get everything working.
We will start with the basics which begins with the communication between the ECM and the FSCM (newer vehicles don't even have a FSCM anymore but rather a slave pump driver, and the FSCM logic has been moved into the ECM itself). These modules communicate over CAN (a whole other topic) to transmit data back and forth. For what we are concerned with, only a few parameters really matter. The ECM transmits to the FSCM two important values which are fuel flow rate and requested pressure. The FSCM, in response, sends back gauge fuel pressure (there's a catch to this... the FSCM measures absolute pressure, not gauge, and uses barometric pressure received over CAN to convert to gauge pressure). The ECM consequently uses this to then calculate injector delta pressure, and the rest is history.
Now let's break down the information sent from the ECM. We will start with fuel flow rate. This is a calculation based on the ECM's air flow measurement/calculation as well as commanded air/fuel ratio. This value is important because the ECM uses it to determine which fuel mode to operate in (Low Flow, Normal Flow, or High Flow). It also serves as a starting point for the FSCM's feed forward control of pump duty cycle, aka how hard to drive the pump before the trimming loop fine tunes it. For reference, this is table [FSCM] 6997 in the FSCM calibration.
The next important piece of information that the ECM sends to the FSCM is the requested fuel pressure. These values are completely based on the current operating mode for fuel flow, so it would be wise to educate yourself on how low/normal/high are triggered based on fuel flow rate! This value also happens to be the other base component of the feed forward table for the base pump duty cycle. For those with a DSX C7 aux pump, special attention should be paid here because this is how the CAN controller determines when to activate the aux pump. If you're savvy enough to play with flow modes, you can activate the aux pump at the perfect point when the stock in-tank pump begins to fall off.
The FSCM now has all the information it needs, and all it has to do is run the pump and send back pressure, right? Close. Reading and reporting pressure is pretty basic, so we won't dwell on that too much. Instead, we are going to consider a couple of specific tables that the FSCM uses for its own sanity check before it really decides what to do with the fuel pump.
The most important table that is almost always neglected by the less informed is [FSCM] 6994 - Maximum Desired Pressure. For a few vehicles (namely fifth gen Camaros and the SS Sedans), this table is crippling when trying to use an aux pump if it is not addressed. No matter what you do, the FSCM is going to fight to drop fuel pressure even if you're asking for 500kPa... unless you raise this table. When the FSCM gets a request for the ECM, the first thing it does is check against this table, and if this table has a lower value, it will trump the ECM request. As a followup to this table, [FSCM] 6995 - Regulation Pressure should be raised as well for good measure. Once you fix these, you'll notice that suddenly you can actually reach the pressure you're asking for. As a rule of thumb, DSX Tuning does not recommend raising these tables beyond 600kPa (and we don't recommend requesting more than 500kPa of pressure as the pumps just don't like to operate there except for C6 ZR1 brushless pumps).
There's a lesser known table that can also impact how the fuel pressure responds to an aux pump kicking on. A lot of people will notice a huge over correction as the FSCM tries to bring fuel pressure down to where it should be. It will undershoot, then come back up. You can compensate for this with [FSCM] 6999 - Minimum Fuel Pump DC. This table takes some playing with, and we don't have a set recommendation for where to end up. Sometimes you need to do the heavy lifting yourself.
As far as DTCs are concerned, the big one to disable is P2635. This is considered a nuisance code, though there is a common misconception about what triggers it. It is not based on actual pressure vs expected pressure but rather actual pump duty cycle vs expected pump duty cycle. With an aux pump, the FSCM has no idea that some extra source of fuel supply exists, so this code can trigger. We recommend simply setting it to No Error Reported.
If you made it this far, congratulations... you should now be equipped to properly make a GM active fuel system comply with your expectations.