One of the major technologies to advance reduced carbon emissions is gasoline compression ignition (GCI) which has the potential to provide 50% thermal efficiency. GCI requires tight control of the fueling. An effective means to provide tight control is to utilize in-cylinder pressure measurement to analyze the combustion process. This process is used in engine control system development throughout the industry using expensive dedicated equipment such as piezo-electric pressure transducers and combustion analysis equipment. In the test cell this equipment has been shown to enable increases in efficiency, but the expensive lab equipment does not provide a path to field testing, prototyping or pre-production vehicle testing applications, or for that matter use in production.

Detroit Research Center of Aramco Services Company is a leading research facility working to improve Internal Combustion Engine (ICE) efficiency through GCI. “Aramco Services Company is committed to moving the energy industry forward by connecting people and partners in the Americas with our parent company, Saudi Aramco”. To demonstrate GCI in a field vehicle, Aramco Services Company needed complex cylinder pressure-based combustion calculations within the advanced engine control. It also needed to run in an ECU that could be applied to field testing in a production vehicle. Aramco Services Company also needed pressure sensors that could withstand the rigor of in-cylinder measurement. Sensors identified were the Sensata CPOS line used in high feature diesel engines.

Aramco Services Company determined the calculation required for control would include combustion heat release rates, peak pressure and max rate of pressure rise. These measures provide the means to determine efficiency of the combustion. For the control performance Aramco Services Company required these calculations to be completed before the beginning of the next engine cylinder cycle. Hence, the results can be used to adjust the injection and timing of the next engine cycle for that cylinder. This complex calculation requires several calculations to be performed on each 0.1 degree of engine cycle. A search is then done at the end of the engine cylinder cycle to find the crank angle of several points in the combustion process.

Aramco Services Company worked with Dana to determine the feasibility of such an approach. M670 is an off-the-shelf controller with wide adoption as an Engine Control Unit by the engine design and development community. Even with its high-performance capabilities, the M670 could not deliver the performance and processing capability needed to perform in-cylinder pressure monitoring in a multi-cylinder engine. Clearly a boost with a secondary processing unit was required to complete complex calculations in parallel with the M670 processor. Dana proposed implementing the calculations using an FPGA daughter board inside the M670.

M670 with FPGA for in-cylinder pressure measurement

To provide the control performance required for GCI the system must measure the engine combustion characteristics each cycle in order to compensate the outputs used in the next cycle. Aramco Services Company determined that to have enough control for the GCI engine they needed the following in addition to the usual engine control algorithms used in production vehicles:

To perform these calculations fast enough in an FPGA to meet 0.1 degree resolution at high RPM requires an intricate understanding of FPGA operations, and how leverage those to efficiently perform calculations. For maximum pressure rise rate and peak pressure these calculations are relatively easily implemented in a few FPGA clock cycles, however the heat release calculation is much more challenging since it is a function of pressure and crank angle over time.

The heat released to the piston can be approximated by:

The two terms on the right represent the sensible energy change and work transfer to the piston.

The net heat-release profile obtained from integrating the first two terms on the right-hand side of the above equation, normalized to give unity at its maximum value, is often interpreted as the burned mass fraction (or, more correctly, the energy-release fraction) versus crank angle profile.

Use of the above equation, requires a value of Cv/R = [1/γ-1]. The ratio of specific heats γ for both unburned and burned gases decreases with increasing temperature and varies with composition. An approximate approach, modelling γ(T) with a linear function of temperature fitted to the appropriate curves and with γ constant during combustion, has been shown to give adequate results.

The heat release rate can be calculated by:

From the slider crank model, we have a definition for cylinder volume, V:

Taking the derivative w.r.t crank angle θ,

This calculation can be done in an FPGA using multiple steps and look up tables for the SIN and COSINE functions, but if we let

The equation becomes:

Which can be simplified for computation to:

Using this equation, A and B can be pre-computed for a given engine and stored in a table for access on each 0.1 crank degree. The real-time calculation is simplified to provide a few high-speed calculations using quick accesses to the stored data, and the latest sample from an analog to digital converter. To provide the crank angles of combustion (such as CA50) a simple search algorithm is applied at the end of the cylinder cycle. This search algorithm can be completed in few FPGA clock cycles before the next cylinder cycle starts.


Utilizing the internal scalability of the M670, Dana developed a daughter board with analog signal acquisition and a Field Programmable Gate Array (FPGA), to acquire signals such as the internal cylinder pressure to quickly perform the required in-cylinder pressure calculations. An FPGA capable of meeting the requirements had to be selected, and Dana chose the Intel MAX10M50 FPGA. As Intel describes, the MAX 10 FPGAs offer system-level cost savings through increased integration of system component functions:

Additionally, the M670 FPGA daughter board provides these features external to the MAX10M50:

Utilizing the internal ADC of the MAX10M50 provides the ability to acquire cylinder pressure samples synchronized to the engine crank, where an external ADC would result in additional delays between crank angle and ADC data. The one clock access to the UFM memory allows the calculation to be performed quickly, before storing the results in a table in the embedded memory blocks. Since multi-cylinder engines often have overlapping cylinder cycles, the dual ADC structure of the MAX10M50 is utilized to simultaneously process two cylinders including V8 or V6 engines.

The results of the calculation obtained at the end of each cylinder cycle are read by the M670 controller through a high-speed SPI interface. These results are then used by Aramco Services Company’s complex control strategy to modify the fueling and timing for the next cycle for that cylinder.

Results and Impact

Requirements of Aramco Services Company to develop complex combustion driven strategies for efficient engine management was fulfilled through the addition of an FPGA based daughter card to the M670. Aramco Services Company has thus been able to develop their GCI engine technology resulting in improved engine efficiency. Dana’s expertise in custom electronics, engine management and combustion fundamentals allowed the development of this innovative solution.

The speed of the FPGA provides the acquisition and calculation of results for each cylinder angle at a rate of 0.1 degree up to 8,000 RPM. Once a cylinder cycle completes the FPGA determines the location of the configured burn angles in less than 125uS which is less than 6 degrees of crank rotation at 8,000 RPM. This allows the M670 processor to adjust the control strategy to match the current performance of each cylinder before the fuel injection for the next cycle is begun. With this, the customer was able to develop strategies to provide more efficient combustion every cycle, with lower variation between cycles.

By utilizing an FPGA, the calculation required can be tailored to the engine immediately by changing the calculation parameters, or changed completely by downloading new FPGA code. An example of this is the case where the crank angle at which 50% of the fuel is burned is later than the optimum angle. In this case, before the next cycle the ignition time can be moved earlier of the fuel injected to achieve optimum combustion.

Project Features

Custom Electronics

Engine Control Strategy

Control and Application Software

M670 expansion

FPGA flexibility and upgradability