Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI

Development of a Rapid Control Prototyping platform targeted at the implementation of advanced engine control systems.

  Print

Time vs Signals

Author(s):
E. Corti - ALMA AUTOMOTIVE
L. Solieri - UNIVERSITY OF BOLOGNA

Industry:
Automotive

Products:
Data Acquisition, Controllers, LabVIEW, Chassis, FPGA Module, Real-Time Module

The Challenge:
Develop a rapid prototyping platform aimed at the implementation of a real time control system for an IC engine. The system should be capable of handling all the tasks commonly managed by a ECU, such as engine position sensing, injection and ignition actuations and interface with sensors. The goal is the implementation of standard control and diagnostic strategies and the development of new advanced control algorithms.

The Solution:
The main constraints are relative to the angular and timing requirements for engine position monitoring and the generation of precise actuations, in terms of both injection duration and phase and SA (Spark Advance) position. To handle these time critical tasks, the PXI-7831 FPGA board has been chosen. All other cycle based tasks are well managed by the RT controller PXI-8186 running LV RT 8. The system interfaces with the engine sensors by means of the several I/O boards that complete the PXI chassis.

"The LabVIEW development system, together with NI DAQ hardware, supplied all the tools needed to quickly design and realize a working system. The flexibility and portability of the written code facilitate the implementation on different platforms, like CompactRIO."

Short Summary

The RCP system developed, demonstrates the good capability of NI hardware and software when used as the basis for the implementation of a Virtual-ECU.
In particular it shows the versatility of the FPGA board in the handling of high resolution and time critical tasks, such as the engine position sensing and ignition and injection management. The use of the FPGA board allows the elimination of several external electronic circuits (mainly signal conditioning), hence the simplification of the system layout.
The LabVIEW development system, together with NI DAQ hardware, supplied all the tools needed to quickly design and realize a working system. The flexibility and portability of the written code facilitate the implementation on different platforms, like CompactRIO.

Article

The project is aimed to the implementation of a Virtual-ECU (VECU) for an IC engine that will serve as a flexible platform for the development of new engine control strategies. All the functionalities of a stock ECU have to be replicated and new capabilities have to be introduced (malfunction generation, advanced combustion diagnosis, experimental algorithms, etc). Furthermore, most of the parameters have to be adjustable in real time, during execution.
The implementation of the system required a modern approach, using Rapid Control Prototyping techniques. To shorten as much as possible the development time, the NI platform was used: LabVIEW, LabVIEW FPGA Module and LabVIEW RT ETS. The latter two additional modules allow the generation of FPGA code from within LabVIEW and the deployment to Real Time target.
The driving requirements that determined the system architecture were the following:
• Must be able to work on different types of engine, either SI or CI;
• The engine position sensing must guarantee an accuracy in excess of 0.1°;
• The injection timing accuracy has to be better than 1us;
• The spark advance position must be accurate within 0.1°;
• The injection pattern mast not be constrained in any way (single-point, multi-point, multijet, full-group injection must be allowed);
• The controller computational power should allow the development of advanced control algorithms.
The crank angular position monitoring is handled completely by the FPGA board PXI-7831R. The accurate position is determined by processing the angular reference signals coming from the most commonly used position sensors (either VRS or Hall effect), in any combination, including the widely used 60-2 sensor wheel. The speed of the FPGA makes possible the recognition of the tooth-crossing within 125ns from the physical transition.
The main outputs of the system are the injection and ignition actuation signals (low power, to be amplified by external power drivers). All the actuators are driven independently from each other; actuations for an 8-cylinder engine where tested and successfully handled. The actuation parameters, such as injection duration and SA, are evaluated by the RT side of the application, on the PXI-8186 controller, on a combustion basis, that means once every cylinder, every cycle. These calculations are then enqueued to the FPGA for the execution with the requested angular and timing accuracy. The FPGA code also handles several protection procedures, targeted to the safeguard of the engine components, ignition coils and injectors. An extensive use of the single-cycle timed loop structure has been used, to ensure that the deadlines are deterministically met.
The availability of high speed analog input and outputs on the FPGA board gives the possibility to implement a high speed processing of the in-cylinder pressure signal (200KHz max). From this kind of analysis a number of information are obtainable, such as knock evaluation indexes, heat release rate, MFB trend. Hence, advanced control strategies are possible, like those aimed at the maximization of the IMEP, 50% MFB position control, aggressive SA strategy without exceeding the knock limit, etc.
The system layout is divided into three layers: FPGA level, RT level and GUI level. The highest priority and time-critical tasks are those on the lowest level, the FPGA level, while the lowest priority functions are those on the user interface. The GUI does not run on the RT system, instead, is remotely connected via Ethernet and is not necessary for the operation of the VECU. The GUI tasks are mainly low frequency data logging and system management (interactions with the RT side for parameters changes, such as AFR target, SA, malfunction induction, etc.). A malfunction of the host does not interfere with the engine control system. While the low level application runs on Pharlap RTOS and the FPGA, the host GUI can be deployed virtually on any device: Windows PCs, Linux PCs or even palmtops.
To evaluate the effectiveness of the system, an extensive set of tests have been carried out on a Maserati V8 3.2 liters gasoline, turbocharged engine (AM585).
The results of the tests are briefly listed:
• The engine phase and position is correctly determined with a delay of 125ns;
• Multiple independent injections are possible, with duration of 65ms max and accuracy of 1us. The SOI is also selectable with an accuracy exceeding 0.1°;
• The spark advance angular position has an accuracy better than 0.1°;
• High speed, real time, analog signal processing is feasible;
• The computational power of the controller used, NI PXI-8186, allows the implementation of advanced control strategies and new algorithms. With open-loop and map based control strategies the CPU load is below 20% at 6000 RPM.
• The FPGA occupation, in terms of gates used, is at 90% (on the 1Mgate board). If the analog capabilities of the board are not necessary the all digital NI PXI-7811/7813 can be a cost effective alternative.
One last note regards the possibility to implement a system similar to the described one in a more compact and affordable platform, the CompactRIO, with little modifications. The performances will not be at the same levels, but in most applications it could provide the necessary computational power with the same flexibility and the added portability. This opens the previously unavailable scenario of on board development and tuning of V-ECU algorithms.

Author Information:
For more information on this Case Study, contact:
E. Corti
ALMA AUTOMOTIVE
Tel: +39 051 6447130
ecorti@alma-automotive.it

Browse All Case Studies »

  Print