A New Approach To Functional and Software Structur
A New Approach To Functional and Software Structur
A New Approach To Functional and Software Structur
net/publication/228599005
CITATIONS READS
52 1,685
4 authors, including:
Horst Bischof
Graz University of Technology
792 PUBLICATIONS 29,603 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Horst Bischof on 04 June 2014.
Ignition timing -
• relative cylinder charge (fresh air mass per stroke), In some operating points the optimal spark advance is
• Lambda (A/F ratio related to a stoichiometric ratio) a theoretical value, because of the engine knock limit.
and Both reference values refer to Lambda equal to 1.0 (Å
• ignition timing „sa_opt_l1“ and „tqi_opt_l1“) and are defined by 2-
dimensional look-up tables:
the combustion generates an internal torque „tq_i“,
sa_opt_l1 = fn. (rc, n_eng) (1) In Figure 6 a characteristic line is also shown, as a
result of a least-square-optimization [Ref. 5]. The
tqi_opt_l1 = fn. (rc, n_eng) (2) possibility to reduce the dependency of spark advance
efficiency on „d_sa“ to one single characteristic line is
Relative cylinder air charge „rc“ refers to a 100% value confirmed by applications of this structure on several
defined by the displacement per cylinder and the engines with a wide range of cylinder numbers, engine
standard air density. The second influencing variable is displacements and combustion chamber designs. This
the engine speed „n_eng“. characteristic is related therefore to the engine design
only and not to an operating point.
The actual torque value „tqi“ is the result of a
multiplication with Lambda- and spark advance Identifying the parameters of the model for a certain
efficiencies engine only means measuring „tqi_opt_l1“ and the
dependency of „tqi“ on spark advance and Lambda.
eff_lam = fn. (lam) (3) The numeric optimization combined with a suitable
control of an engine dyno allows for an automatic
eff_sa = fn. (d_sa) (4) identification of the model parameters, which are
shown in Figure 5.
and the reduction factor „eff_red“ caused by a cylinder
individual fuel cut-off: 2.2.1.4 Calculation of the desired values
tqi =
As previously mentioned, the torque model is not only
tqi_opt_l1 * eff_lam * eff_red * eff_sa (5) used to determine the actual value of the internal
torque. The basic equation (equation 5) can also
In equations 3 through 5 „lam“ represents Lambda. For deliver the desired values of the controller outputs:
simplification of the basic equation (equation 5), spark
advance efficiency is defined depending on the tqi_tar = tqi_opt_l1 (rc_tar, n_eng)
difference between actual spark advance „sa“ and the * eff_lam_tar
optimal spark advance: * eff_red_tar
* eff_sa_tar (6)
d_sa = sa_opt - sa (6) Figure 7: Determination of Torque Influencing
Target Values
optimal internal torque and the optimal spark advance. Conversion Desired
waste-gate
opening
Actual charge
Deviation of measured efficiency from the idealized characteristic (used in the model) External wast-gate
cylinder
and Calculation of
Basis: 1000 different operating points of a 4-cyl. engine charge
internal efficiencies and
1.2 torque base torque Efficiency, Lambda
demands data ignition advance
1.0 Cyl.-indiv.
cut-off
Conversion
Ignition advance efficiency
0.4
0.2
The target torque value „tqi_tar“ is calculated by
multiplication of the optimal torque at lamba = 1.0 and
0.0
0 10 20 30 40 50 optimal spark advance by the efficiencies. Solving
Deviation of the ignition advance from the optimal ignition advance in deg. crank
equation (6) for „rc_tar“, „eff_lam_tar“, „eff_red_tar“ or
curve obtained after applying the method of least mean square deviation
Measurement „eff_sa_tar“ delivers the target values for the controller
outputs which influence torque (Figure 7).
Figure 6: Resulting Error of Spark Advance
• Priority handling
Efficiency When determining target values, a priority handling
must be considered. Under normal operating
Figure 6 shows the dependency of the spark advance conditions, torque demands must be realized by
efficiency „eff_sa“ on the difference „d_sa“ between cylinder charge control to guarantee that spark
optimal and actual spark advance measured at 1000 advance and Lambda do not differ from the values
operating points of a 4-cylinder engine, representing determined in the basic calibration.
the total operating range (in engine speed and load).
• Influence of basic calibration data: functions. As a result of modifying the engine
To compute the desired value of the cylinder design only the characteristic lines and look-up
charge „rc_tar“, the target value for „tqi_opt_l1“ has tables have to be actualized.
to be calculated first, taking into account the pilot Due to the fact that external systems have no direct
control values of the mixture and the spark impact on the throttle angle or the ignition timing,
advance chosen in the basic calibration, which may for example torque demands of a traction control or
differ from Lambda 1.0 and the optimal spark drive train control system are independent on the
advance. Then the desired cylinder charge „rc_tar“ current status of ME7 data calibration.
can be computed by using an inverse torque look- Further simplification is a result of the consistent
up table data-base for all controller outputs. If for example
the engine efficiency should be reduced at a given
rc_tar = fn. (tqi_opt_l1, n_eng) (7) driver’s demand, the desired torque value to be
realized via the cylinder charge path can be
• Determination of desired throttle position increased, leading automatically to a decrease of
The resulting value „rc_tar“ represents the target spark advance. Therefore it is not necessary to
cylinder charge which is necessary to realize the calibrate the two paths separately.
demanded torque under consideration of the The system can be expanded easily for future
boundary values (i.e. Lambda and spark advance) system requirements such as a drive train
of the specific calibration. In the next step „rc_tar“ management for conventional gear box or a CVT
is converted into a target throttle opening, using [4], gasoline direct injection, variable valve timing,
state parameters from the intake manifold model and so on.
described in section ‘Functional Structure’. Finally
the throttle is positioned by a closed loop controller. 2.2.2 A/F management
• Crank synchronous controller outputs:
The set of target values for the crank synchronous In addition to the torque management the ME7 system
controller outputs are determined in a similar is also provided with A/F management (Figure 8).
manner. For example the most important target
spark advance is derived from „eff_sa_tar“: The A/F management consists of 3 essential
components:
eff_sa_tar =
• The basic calibration:
tqi_tar / (tqi_bas*eff_lam_act*eff_red_act) Here all mixture variations caused by systematic,
(8) reproducible system tolerances are eliminated. The
target of the basic calibration is a Lambda equal to
• Influence of actual cylinder charge: 1.0 under all operating conditions.
In equation 8 „tqi_tar“ represents the target value
for the internal torque. The value „tqi_bas(rc_act, Basic Calibration (Lambda=1.0)
n_eng)“ is an output value of the torque look-up + Lambda-Variation (Pilot Control)
+ Lambda-Limitation
table with respect to engine speed and the actual
value of the cylinder charge, measured for example
by an air mass flow meter or computed based on a Rich Pilot control
Rich
measured intake manifold pressure. Lambda limit
Taking the real cylinder charge into consideration,
Lambda
The system architecture based on the internal torque Figure 8: Characteristic Lines of Lambda Limits
provides the following advantages: and Lambda Pilot Values
m s
from heuristic functions to physically based functions m s h fm M a s s a ir flo w ( H F M ) ( r l) B a la n c e o f m a s s a ir flo w s fo r in ta k e m a n ifo ld :
m s M a s s a ir flo w in to
requires a sufficient mathematical model of the c o m b u s tio n c h a m b e r
(d p s /d t)* V s = (d m s /d t) * R * T s
r lr o h P r im a r y c y l. c h a rg e
controlled system. A major advantage of this concept is rl
p s
c y lin d e r c h a r g e
In ta k e m a n ifo ld p re s s u re
= (m s h fm -m s ) * R * T s
rl
d p s
Because of the link to physical reality it is easier to r lr o h d t
* * * p s
define platform functions and to reuse them in different
P 0 * (V h /V s ) T s /T 0 n m o t
system configurations or future EMS generations.
Using a set of platform functions also allows to transfer
a calibration data set from one project to another. Figure 10: Basic Equation of Intake Manifold
As an example for the physically based functions used The integration of an intake manifold model allows for
in the ME7 the following determination and control of more the determination of a correct cylinder charge
the cylinder charge is described on the basis of an under steady state and dynamic operating conditions.
intake manifold model. Further motivation to apply this model to the ME7
system is the necessity of a cylinder charge control.
In this model the intake manifold pressure as a central The throttle position has to be calculated according to
state variable is calculated to determine the cylinder the required engine torque (Figure 11).
charge during dynamic and steady state operation.
The model considers the influences of all operating Pedal
position
conditions which modify the manifold pressure, such as
Calcul. Convers.
purge control, external and internal EGR and Driver’s of torque
Desired
charge
Request desired into
resonance flap control. torque charge
m s h fm : M a s s a ir flo w H F M
m s d k :
m s s a u g :
M a
M a
s s
s s
a ir flo w
a ir flo w
th r o ttle b o d
in ta k e m a n
y
ifo ld
Figure 11: Cylinder Charge Control
m s te :
m s a g r: M a
M a s s
s s
a ir flo w
a ir flo w
c a n is te r p u
E G R v a lv e
r g e v a lv e
Structure in ME7
p u ,p ld ,p s ,p a g : B a ro m e tr ic p re s s u re , p re s s u r e o f tu r b o c h a r g e r , in ta k e m a n ifo ld , e x h a u s t g a s
tu ,tld ,ts : T e m p e ra tu re a m b ie n t, tu r b o , in ta k e m a n ifo ld
V ld , V s : T o ta l v o lu m e o f tu rb o c h a r g e r , in ta k e m a n ifo ld
Main input values of this controller are the modeled
intake manifold pressure and two adaptive values
Figure 9: Intake Manifold of an SI-Engine which eliminate the influences of air leakage and
tolerances between the cylinder charge signal and the
The model balances all mass flows into the intake expected throttle position at a given air mass flow and
manifold and all mass flows into the combustion engine speed .
chamber. Important input variables of the model are the
air mass flow into the intake manifold metered for 2.3 SOFTWARE STRUCTURE
example via an air mass flow meter and the modeled
combustion chamber temperature. As shown in Figure 2.3.1 Changes Made
10 the basic equation of the intake manifold model is
generated by differentiation of the gas equation. Requirement analysis or constructing a requirement
model is not a simple sequential step, which is finished
In the first step the intake manifold pressure is before the architecture, design, implementation and
calculated based on the air mass flow measured by the test development activities have started. There is
air mass flow meter. With the assumption of a linear extensive overlap between the phases. The process is
iterative, both within each phase and over multiple integrated. The mechanical design of the ECU is also
phases. This is especially true for a platform new, supporting surface mounting of all electronic
development, supporting a complete product family devices. Furthermore variants in microhybrid
with a broad variance in system and customer specific technology are available, which offer new options in
configurations. mechanical system integration. Yet the partitioning
between hardware and software was not under
Systems evolve in time. Building a new system from consideration in the project. Being aware of the many
scratch is not the typical approach, due to restrictions in changes in the development process, functional
development time and effort. The ME7 was built from structure and software was a conscious decision for
an existing system in an incremental and evolutionary risk management.
manner, thus being able to deliver a running system for
test and calibration purposes right from the beginning. There are various possible system configurations with
more than a hundred input and output flows, however
The maintenance or reengineering phase therefore all have in principle the same topology and a lot of
does not begin with the delivery and it does not end commonalties. Measuring engine speed and load are
with delivery and mass production. The maintenance examples for commonalties on an abstract level
phase is in fact the most important phase to prove between all system variants.
expansion capability, reuse and variants engineering.
Most important for a given system variant a static
Hard facts are the ever increasing complexity, environment can be assumed, therefore a deterministic
changing functional requirements and continuously system approach was chosen.
tightened nonfunctional requirements related to quality,
cost and time to market. 2.3.3 Architecture
Development systems have to handle these real world In the architectural development the question how to
aspects to immediately improve the situation. In the design has to be answered. The functional
ME7 development therefore a selected set of changes requirements at one level must be rigorously allocated
was planned and introduced step by step. This process to a physical structure with nonfunctional requirements
is still ongoing. added.
There are bottom up forced changes. The use of high 2.3.4 Software architecture
level programming languages, ANSI C instead of
Assembler in the ME7, is one example. There is no Following strategies for real time system specification
sensible way to handle Assembler programs of such as described, for example, by Hatley and Pirbhai [Ref.
complexity. The systematic introduction of specification 11] or Goldsmith [Ref. 12] and using the principles of
simulation and code inspection methods are further abstraction and decomposition, the technology
examples for this class of changes, which were independent requirements model has to be
absolutely necessary. transformed in a technology-nonspecific physical
model. Therefore buffers are inserted between the
Changes with "top down character" in the project were essential requirements model core and the
the development of a new functional structure and of a environment. The resulting architecture template
software architecture to support their implementation in embeds the requirements model core into input
a product line. processing and output processing architecture blocks.
Also blocks for interface-processing and self-test are
2.3.2 Context added as shown in Figure 12.
Å
calls
sends
Message Function
A combination of static and dynamic scheduling The system architecture characterized by a torque-
together with a mixed preemptive/cooperative based system structure, an A/F management and the
scheduling strategy is supported. Due to hard efficiency use of physical based functions allows the generation
constraints in the project as a result of hardware cost, of a system family containing
mostly static scheduling is used. Tasks are
• the EMS with integrated throttle control (ME7)
implemented as schedule-sequences that contain a
• the conventional (M7) system with a bypass idle
sequence of processes to be executed in the specified
speed actuator
order and at a given priority level upon occurrence of a
certain activation event (Figure 16). • the system for gasoline direct injection (MED7)
• and the system for a complete drive train
Only a small amount of the application has short management (MEG7).
latency requirements which requires preemptive
scheduling while the large remainder can be scheduled The design of a consecutive system generation, based
cooperatively. This is realized by a hierarchical on the same system architecture but using a different
scheduler concept where the cooperative scheduler is CPU architecture is also possible (Figure 18).
subordinated under the preemptive scheduler. The
cooperative scheduler is treated as a single task at the • M7: System without ETC
lowest priority level of the preemptive scheduler. Both To create this conventional or basic system without
ETC the cylinder charge control has to be limited to electronic throttle control and integrated
the operating range of the idle speed actuator. Due transmission control MEG7, and MED7 for gasoline
to the fact, that there is a fixed mechanical link direct injection engines are all members of this
between the pedal and the throttle position, the family.
throttle position represents the driver’s request. • ERCOS is now the standard operating system for
With the help of these major supplements the M7 BOSCH automotive products. As an open market
system was derived very easily and in a very short product it is available from the company ETAS for
development time. different microcontroller platforms . In the EMS
product line the run time part is reused bit for bit in
all products.
• The encapsulation of sensors/actuators for
ME... x different system configurations and the µC in a
MEG 7 Next generation
Motronic of hardware abstraction layer are the foundation for
with integrated ETC Motronic systems
and reuse and flexibility. Benefits of the new functional
transmission
MED 7 control structure are the improved physical transparency of
ME 7 Motronic the system, and the separation of engine and
Motronic for GDI
with function related calibration data. The introduction of
integrated M7
ETC Motronic the new functional and software structure as a core
with
idle speed
of the product family enables future challenges to
control be met, such as an extended system, for example
today time CARTRONIC.