Engine Start/Stop Strategy details

Where can I find details of the engine start/stop strategy? A comprehensive review of the process flow would be ideal but questions I have include:

When, and based on what, is the Main Relay output set high?

Same question for the Fuel Pump. I notice the Fuel pump can be output to CAN but the Mail Relay cannot; is there ever a time when they would not be in sync?

Is the “Start Lock” purely a OR of the “require clutch” and “require brake” check boxes under cranking strategy or is there means by which to include a custom channel requirement? (eg min Fuel Pressure achieved)

Regarding the stop strategy, if I let the ECU stop the system using fuel cut at what point is the Fuel Pump and/or Main Relay set to low?

When stopping the engine via ECU fuel-cut strategy and controlling Injectors and Ignitors power source via a PDM, is it advisable to wait until the engine is stopped (RPM 0) before turning off the power or can I have the PDM kill power to those systems as soon as it sees a CAN bus Stop Engine message (either from the kill switch or the stop engine switch in the ECU) simultaneous with the ECU stopping the engine?

Pending a better understanding of these questions my overall logic strategy is intended to be a 4-stage CAN switch with the following states:

Press 1: Turn on power circuits to Ignitors, Injectors, WBO, VVT Solenoids; enable Fuel Pump long enough to pre-charge system. Set custom Start-Ready latch High.

Press 2: Turn on Fuel Pump, Open Accusump valve to pre-lube, ECU Start switch Enable. Engine achieving “Running” state clears Start-Ready latch.

Press 3: Close Accusump valve, ECU Stop Engine switch Enable, Turn off Injectors, Ignitors, VVT and Fuel Pump.
Engine RPM=0 plus Start-Ready flag=0 resets switch to initial state and turns off WBO heater circuit

Does this seem a reasonable plan, am I re-inventing a wheel somewhere along the line, or have I missed (or gotten wrong) something completely? It would be nice if I could utilize the built-in “Start Lock” output to be my latching Start-Ready control (apart from being cleaner, it would save me a custom CAN Bus output to the PDM) but it doesn’t look like that is an option unless I have missed a screen somewhere.

It is either turned on at cranking or turned on with the ECU.
Depending on the checkbox in the Main Relay section.

The main relay’s usual function is to provide a positive side of power to the actuators around the engine. The fuel pump output turns the fuel pump on. It has a priming feature that turns on the fuel pump for a few seconds after switching the ECU on.

Are you talking about the “Start lock” in the outputs section?
If yes, this is a completely independent strategy that uses an output to physically disable the possibility of cranking the engine. It is used in our Focus ST, which has a start/stop button controlled by the OEM PDM, but ECU can block the starter motor from turning on with a dedicated output.

The fuel pump is turned off when the engine state is inactive.
The main relay behavior depends on the configuration. It will either turn off when the engine state is inactive or won’t turn off at all.

Killing power to the injectors/coils by the PDM is the common way of stoping the engine.

It seems way too complicated, with too many things depending on one another. But I need more information about your setup first. Tell me what devices you are using and what is connected to what. Describe how your ideal start/stop procedure should look from a user’s perspective. How many switches do you want to use? CAN keypad or direct switches?

Thank you for the clarifications. My setup will use an ECUMaster battery isolator with the 12v Enable circuit turning on the EMU Pro, an ADU, and (2) Hardwire Electronics PDMs. There will be a mechanical master power switch for the battery isolator and a blink keypad used for startup.

From the driver’s perspective, they should get in the car and activate the master power switch (all our race series requires re-fueling to be done with master power switch de-energized). This will turn on the ADU, keypads, PDMs, and ECU. I consider this a pre-ignition state. It allows the electronics to be safely enabled and controlled without anything that might blow the engine up or set the car on fire being energized; at this point the light on the Blink Button is Red.

The driver would press the START/STOP button on the blink keypad once, which will cause the PDMs to energize the Ignitors, Injectors, VVT, and WBO heater circuits; as well as have the primary pressure fuel pump prime the fuel system. The fuel pump should shut down when it successfully achieves and holds 42 PSI for 1 second. If the fuel pump has a runaway condition (either running up significantly over the 42 psi, indicating a failure of the fuel regulator or a disconnected dry-break, or failing to produce 42 psi in a reasonable time, indicating a leak or other failure) then the PDM will shut down the fuel pump and the ignition circuits above then display an alarm on the ADU and the system returns to pre-ignition state. There are fuel pressure sensors at both the regulator (last stop before returning to tank) and at the pump source (first stop as it leave the pressure pump). I will use differential data between them to look for any indications of a fuel system failure (leak or disconnected dry break or something else that could be a disaster).

Assuming the fuel pump successfully primes the fuel system (and none of the ignition circuits trip) then the light on the Blink START/STOP button changes from red to yellow indicating the engine is ready to start. At this point the driver presses the button again and if the driver has NOT depressed the clutch pedal then the IGN circuits are switched off and the system returns to the pre-ignition state. If the clutch was depressed then:

The PDM turns on the primary and lift fuel pumps. The pumps will run off a PWM coefficient scaled by consumption to not overload the regulator/return line’s ability to return fuel while still ensuring the fuel rails have a net-positive supply throughout trips up and down the power band. Apart from maintaining stable pressures, this is intended to reduce fuel pump wear/failures as well as reduces unnecessary fuel heating. Simultaneously, the PDM will open the AccuSump valve to begin pre-oiling. The PDMs will also disable any high-current accessories such as the electric power steering pump, radiator fans, and/or electric AC compressor/blower that might happen to have been enabled even though the engine was off. Once stable fuel pressure and a minimum of 15psi oil pressure OR 2 seconds have elapsed (in case the Accusump happens to have already been emptied) then the PDM will enable the starter solenoid and begin cranking the engine.

If after some period of time (TBD) the engine does not fire up, then the startup is aborted, the IGN, accusump, and Fuel Pump circuits are switched off, and the system returns to the pre-ignition state, the light on the button returns to red, and there is an alarm on the ADU (hopefully joined by some alarm information generated by the EMU indicating why startup failed such as timing sync failure)

At some point, either based on engine RPM or the EMU’s own logic, the engine is deemed to have started then the PDM will switch off the starter solenoid and the button light turns green. The power steering, AC, and cooling fan circuits are re-enabled on the PDM. The driver is free to race.

When it is time to stop the engine, the preferred method would be for the driver to push the START/STOP button for 2 seconds; however turning off the Master Power switch would be an option. Pressing the button would turn off the Accusump, IGN circuits, and both fuel pumps via the PDM. I still need to research if leaving the WBO heaters running for a moment after the engine is stopped is best for sensor longevity or if they can also be immediately de-energized without concern. The system returns to a pre-ignition state and the button light turns red.

If the master kill switch is pressed, all circuits are turned off immediately with the isolator timer set to give the ADU and EMU time to save information before shutdown.

If you are not familiar, the hardwire electronics PDMs have custom logic and canbus controls on par (or in the case of the EMU slightly better) than the ECU Master ADU/EMU. This effectively gives me 4 brains to leverage, but like the ADU/EMU each has a limitation on the total number of custom objects that can be created. I come from a software engineering and controls background, I know how I can make all of this logic work (I am NOT an engine tuner and so while I can work out the best way to implement levers of control, I do not pretend to know what values should be used in pulling those levers.) What I’m trying to do now is sort out is what aspects of this logic align with built in functions of the EMU because 1) every built in function I use is one (or more) custom object that is available for something else and 2) I believe it is always best to utilize something in the way the original engineer intended whenever possible.

Once I’ve sorted out what is already baked in and what I need to invent then I’ll need to sit down and spread out my available resources across the 4 brains to figure out the most efficient place to implement each piece. I know it all sounds overly complicated but I’m a firm believer in building bounds checking and exception handling into control systems so that when something goes wrong I have the greatest possible chance the system will react safely and reliably for the driver.

Ok, that is a lot of information.

The first thing I noticed is that the PDM should handle all of this logic. You have a very specific and unique requirement for the start/stop procedure, which means there is no point in using standard strategies. The start/stop strategy in the ECU is very basic and currently doesn’t allow for customization.

I don’t know the limitations of the Hardwire PDM, but our PMU can handle all that logic with ease. Splitting logic between multiple devices makes it a lot more complicated. I would send the needed information (rpm, switches, pressures, temperatures) to the PDM, have the keypad configured in the PDM, and make all the logic there.

Regarding the master kill switch, remember that the battery isolator cannot kill the engine just by disconnecting the battery. You have to send a kill signal to either the PDM or the ECU.

Ok, thank you for your advice, I will start with the principle of using one of the hardwire PDMs as the primary logic control of the start/stop process. When it comes time to stop the engine, would it be best to still set the “Stop Engine” switch channel to high to inform the ECU what is going on or (given that it won’t actually shut anything off in response) will it not really care and just naturally figure it out when engine RPM falls to zero and change the engine state from Running to Inactive as a matter of course?

I will also plan on using a CAN message from the PDU to set the start switch channel high on the EMU when I want to trigger the cranking strategy in the EMU, then use the starter relay CAN output from the EMU as a signal back to the PDM that the EMU is ready for cranking before the PDM actually energizes the starter solenoid.

I will be using the Engine Kill output on the isolator to signal to the ECU, ADU, and PDMs when the kill has been triggered and the engine shutdown initiated (vBat run/ GND kill).

Thank you for all your time reviewing all of this. I hope that perhaps it will answer some questions for others at some point as well.

There is no point in doing that. The ECU doesn’t need any implicit information about starting or stopping the engine. The ECU goes into cranking mode when the RPM goes from zero to >40. For the running state, there is an RPM threshold in the cranking settings. The engine state goes back to inactive when the RPM drops to 0.

As mentioned before, there is zero benefit. The only thing that can delay the start in the ECU is the timer in the cranking settings which is usually used to build oil pressure before starting. Since you build oil pressure even before cranking, ECU doesn’t need to know anything about the start/stop procedure.

Great! Thank you for that clarification; this helped a lot, it will save me creating a bunch of messaging back and forth flipping virtual switches in the EMU that ultimately aren’t doing anything productive.