Field of application
[0001] The present invention relates to an architecture of an electronic device architecture
for determining the angular position of an engine shaft in internal combustion engines.
[0002] More in particular, but not exclusively, the invention relates to a device of the
above type applied on a direct injection, four-stroke engine with automatic determination
of the angular position of the driving shaft and of the operating phase, but the following
description refers to this specific field of application for the only purpose of simplifying
the explanation.
Prior Art
[0003] As well known in this specific technical field, the use of electronic control units
for injection management in modern car engines has become usual. Reference shall be
made, for example, to the European patent application No. 01830645.6 by the same Applicant.
[0004] Their use has become necessary to control some engine parameters in order to decrease
the harmful emissions produced by the engine itself, according to the regulations
in force in many industrialised Countries, which set very restrictive limits to the
maximum emissions allowed.
[0005] To comply with these limits imposed by law, major automotive companies are increasing
the production of direct injection engines that allow the lowering of the level of
pollutants released in the environment and the improving of the engine performance.
However, these engines require a more complex and advanced control system.
[0006] The recent introduction of multi-injection systems, for which the parameters to be
considered for the control phase are characterised by more pressing time specifications,
requires the use of a certain number of sensors of various type, whose signals are
always processed by the current control units.
[0007] As a consequence, nowadays said control units - which are also classified as ECU
(Electronic Control Unit) - are required to execute increasingly complex and elaborated
control functions.
[0008] In the automotive field it is known to use ECU control units provided with a co-processor
of the TPU (Time Processor Unit) type, specifically intended to be used for processing
signals transmitted by a tone wheel sensor of the driving shaft and by a tone wheel
sensor of the camshaft, so as to obtain the angular position of the driving shaft
as well as the engine operating phase.
[0009] The parameters required for a better actuation of the injection process controlled
by the ECU or by the TPU co-processor are several. This implies a large computational
load on both the ECU and the TPU co-processor.
[0010] In fact, both units manage a large number of signals having different priority levels.
These signals must in any case be managed by software routines started by interrupt
signals in the case of ECU, or by the occurrence of certain events in the case of
the TCU co-processor.
[0011] In any case, there occurs a difference between the ideal injection time instant and
the real time in which it is actuated, to the detriment of an accurate combustion,
which shall therefore generate a higher quantity of pollutants than what expected.
[0012] The technical problem at the basis of the present invention is that of devising an
electronic device for determining the angular position of a driving shaft in internal
combustion engines, which should exhibit such structural and functional features as
to allow automatic computing of the driving shaft angular position by directly analysing
the signal transmitted by the tone wheel.
Summary of the invention
[0013] The solution idea at the basis of the present invention is that of providing a hardware
module which may be used as a peripheral device by the ECU in order to reduce its
computational load. Such hardware module has the task of executing the calculation
of the driving shaft angular position by analysing the signal transmitted by the driving
shaft tone wheel sensor.
[0014] In substance, the idea at the basis of the invention is that of releasing the engine
electronic control unit (ECU) from the monitoring of the driving shaft angular position
in order to relieve its computational load and allow to treate the signal transmitted
by a plurality of tone wheels highly widespread in the automotive field, thereby making
the control unit easy to be associated to any engine.
[0015] The features and advantages of the device according to the invention will appear
more clear from the following description of an indicative and non-limiting example
of embodiment, made with reference to the attached drawings.
Brief description of the drawings
[0016]
- Figure 1 shows a schematic view of an endothermic injection engine associated to an
electronic device realised according to the present invention for determining the
angular position of the driving shaft;
- Figure 2 shows a detailed schematic view of a digital signal emitted by a tone wheel
associated to the driving shaft;
- Figure 3 shows a detailed schematic view of the device according to the invention;
- Figure 4 shows the layout of a state machine that describes the operation of the device
of Figure 3;
- Figure 5 shows a diagram with the type of digital signal treated by the device according
to the invention.
Detailed description
[0017] With reference to the above figures, 1 globally and schematically indicates the structure
of an electronic device realised according to the present invention for determining
the angular position of a driving shaft 3 in internal combustion engines 2, in particular
but not exclusively, a direct-injection four-stroke engine with automatic determination
of the driving shaft angular position and of the operating phase.
[0018] Device 1 is associated to an ECU, not shown since it is a conventional one as it
is widely used in automotive applications for controlling the ignition and/or injection
of these types of engines. Device 1 is schematised in figure 1 by the "Tone wheel
manager" block.
[0019] The main task of the electronic device 1 is that of releasing the electronic control
unit from the monitoring of the driving shaft angular position.
[0020] Device 1 has the task of elaborating electric signals to obtain the angular position
of the driving shaft. Such device 1 receives an input signal from a sensor 8 of a
tone wheel 7, which is integral in rotation with the driving shaft 3.
[0021] Tone wheels comprise a predetermined number n of teeth arranged on the circumference
of wheel 7 and equidistant from one another. A small group of adjacent teeth m is
omitted for defining a point of reference on the wheel. Sensor 8 generates a signal
from which device 1 searches the point of reference and emits a signal as the reference
is found, and a further signal indicating how many teeth have passed after the point
of reference.
[0022] More in particular, the teeth counter indicates the position of the driving shaft
with an accuracy of (360/n)°. To obtain a higher accuracy, device 1 generates a further
signal that indicates the intermediate position between two teeth with a default resolution.
[0023] In substance, the hardware module devised with the present invention receives an
input signal from a tone wheel sensor and provides a series of output signals from
which it is possible to trace the angular position of the driving shaft given by a
known point. It was decided to use as tone wheels those that must be used in the automotive
field, practically those having equidistant teeth with the omission of a certain number
of adjacent teeth to generate the known point reference. This type of tone wheels
generate a digital signal as that shown in Figure 2.
[0024] Figure 1 shows a layout of the application of the invention. The absence of pulses
occurs at the tone wheel holes (absence of teeth). Actually, the main task of device
1 "Tone wheel manager" is to detect properly this reference that identifies a particular
position of the driving shaft.
[0025] Device 1 "Tone wheel manager" comprises three modules 4, 5 and 6, also called "decoder_fonica",
"fsm_fonica" and "pend_inter", respectively, each intended to perform a predetermined
function described in detail hereinafter. The entire system 1 is structurally independent
and can be realised as integrated circuit and be housed on a standard bus-interconnection
and support board. This board may also house the engine ECU.
[0026] Of course, nothing prevents system 1, as well the ECU, from being realised on a single
integrated circuit of the "system on chip" type, even maintaining their functional
independence.
[0027] A general diagram of the hardware architecture of device 1 is shown in Figure 3.
[0028] The following table 1 reports the input and output I/O signals of device 1.
Table 1:
Signals |
Description |
Input |
|
Control_bus |
Standard I/O communication interface. |
Address_bus |
Data_bus (I/O) |
The Data bus is bidirectional. |
fonica_signal |
Signal generated by the tone wheel sensor circuit. |
Output |
|
n_tooth_holes |
Total number of teeth and holes |
lock_f |
This indicates that the point without teeth in the tone wheel has been found. |
lock_fon |
This indicates that the programmed number of revolutions of the driving shaft has
been performed from the moment of the activation of the lock signal. |
tooth_num |
This indicates the current number of tooth of the tone wheel. This signal allows tracing
the angular position of the driving shaft after the activation of the "lock" signal. |
i_teeth |
This indicates an intermediate |
|
position between two adjacent teeth of the tone wheel with a predetermined accuracy. |
interruption |
Interrupt signal. |
[0029] The task performed by module 4 "decoder_fonica" consists in providing a standard
interface toward the ECU, in order to allow the controller embedded into the control
unit to manage some registers internal to module 4 "decoder_fonica".
[0030] The following table 2 describes the registers embedded in this module 4 that can
be accessed in reading and writing mode through the standard interface.
Table 2:
Register |
Description |
Output to "fsm_fonica" |
|
start |
Starts the state machine implemented in "fsm_fonica". |
stop |
Stops the state machine implemented in "fsm_fonica" restoring its original status
waiting for a new start-up. |
overflow |
Sets the waiting time limit so that the lack of teeth in this time interval indicates
a system error status. |
num_of_teeth |
This indicates the tone wheel number of teeth. |
num_of_holes |
This indicates the tone wheel number of holes. |
num_of_check |
This indicates the number of revolutions of the driving shaft to be waited after the
lock before passing to the injection phase. |
delta |
This indicates the extent of the interval around the time instant in which the system
expects a tone wheel tooth. |
cfg_filter |
Enables or disables the digital filter to be appled on the signal transmitted by the
tone wheel. |
cfg_check |
This indicates whether it is necessary to reset, in case of error, the count of already
executed checks. |
Output to "pend_inter" |
|
mask_inter |
Interrupt mask |
Input from "fms_fonica" |
|
error_at |
This indicates the number of tooth where the last error occurred. |
tooth_num |
This indicates the number of the current tone wheel tooth. |
i_teeth |
This indicates an intermediate position between two adjacent teeth of the same tone
wheel with a fixed accuracy. |
frt |
Free running timer. |
stato_out |
This indicates the current status of the state machine of the fsm_fonica". |
diffdente_out |
This indicates a value from which it is possible to trace the revolution speed of
the driving shaft with the help of the following expression:
where f is the system clock frequency (clk). |
Input from "pend_inter" |
|
pending |
This indicates the type of error that has occurred. |
[0031] The values of these registers represent the configuration parameters of module 5
"fsm_fonica" which is the core of the entire device 1. Such module 5, in turn, during
normal functioning, forces the values of a second set of registers internal to module
4 "decoder_fonica", from which it is possible to trace the internal status and the
results of module 5 "fsm_fonica".
[0032] The set of signals
lock_f, lock_fon, tooth_num and
i_teeth allows to identify at any time the angular position of the driving shaft.
[0033] The task of the third module 6 "pend_inter" consists of generating an interrupt signal
toward the engine ECU once the error signals generated by module 5 "fsm_fonica" have
been received in input.
[0034] In substance, the task of this third module 6 "pend_inter" consists of generating
an interrupt signal toward the controller of the ECU when a signal indicating the
type of error occurred is received in input from module 5 "fsm_fonica". In turn, module
6 generates a signal for module 4 "decoder_fonica" for properly setting the "pending"
register, from whose reading the controller of the ECU determines the type of error
so as to decide the action to be taken.
[0035] The emission of the interrupt signal, therefore, also sets the related register internal
to module 4 "decoder_fonica", from which it is possible to determine the type of error
generated by module 5 "fsm_fonica".
[0036] Below is a more detailed description of the operation of module 5 "fsm_fonica".
[0037] The task of module 5 "fsm_fonica" consists of detecting the driving shaft reference
and then providing its position moment by moment. The reference search and the subsequent
calculation of the position occur by constantly monitoring the signal transmitted
by the tone wheel
(fonica_signal).
[0038] After that, as the start signal
(start) is received, module 5 "fsm_fonica" waits for the arrival of two teeth in order to
determine a first prediction of the time interval where the next tooth should be expected.
The search for the point in the tone wheel where m teeth are missing starts at this
point. Once such reference has been detected, module 5 emits a corresponding signal
and the position of the driving shaft 3 is indicated by a tooth counter that begins
counting from the point of reference.
[0039] The input signals of module 5 "fsm_fonica" are indicated in Table 2 in the section
'Output toward
"fsm_fonica"'; moreover, the signal
fonica_signal included among the input signals of device 1 in Table 1 should be considered, as
well.
[0040] Output signals are also indicated in Table 2 in section
'Input from
"fsm_fonica"'; moreover, the following signals should also be considered:
ready, lock_f, lock_fon, included among the output signals of device 1 in Table 1.
[0041] Figure 4 schematically shows a state machine 10 that describes the functioning of
module 5 "fsm_fonica".
[0042] The initial status of the state machine 10 is called "idle" and this is the status
upon the system start-up and/or after a reset.
[0043] By activating the
start signal, the state machine 10 passes through the "first_tooth" status (transition
T_1), where the first pulse from the tone wheel sensor is expected.
[0044] In this status, the count of a timer
frt starts and the
ready signal is disabled, simply meaning that device 1 is on.
[0045] Upon the reception of the first pulse of the
fonica_signal signal, the state machine 10 passes through the "second_tooth" status (transition
T_2), where a second pulse is expected. During such transition, the current value
of the timer is stored to the
count1 register, indicating the instant in which the pulse from the
fonica_signal signal has been received.
[0046] When the second pulse of the
fonica_signal signal is received, the current value of the timer is stored to the
count2 register, and the state machine 10 shifts to the "search_lock" status (transition
T_3).
[0047] In this status, the system checks that any subsequent pulse of the
fonica_signal signal occurs within a fixed temporal window or that, within such window, no pulse
occurs, to pass through the tone wheel point of reference search status.
[0048] The temporal window is thus determined: the difference
(count2-count1) is added to the
count 2 value to determine the centre of the interval A when the next pulse is expected;
the extremes of the the interval are given by the delta signal, which indicates the
number of sub-intervals by which to move from the centre rightwards and leftwards;
the extent of the sub-interval is given by the ratio
(count2-count1) /
n, with fixed
n. The whole is schematically shown in Figure 5.
[0049] On the other hand, if in the "search_lock" status for the first time, this status
is maintained until all pulses of tone wheel 7 have been received within the related
temporal window and the transition to the "maybe_hole" status (transition T_4) occurs
when there are no pulses left in the temporal window which is being monitored. The
system returns to the "idle" status (transition T_5) to start the reference search
again if a pulse not falling within the related temporal window is received.
[0050] The search for the remaining "holes" continues in the "maybe_hole" status. Each time
interval that must elapse without receiving pulses is calculated by assuming that
in the previous interval a pulse occurred exactly at the centre of the interval, and
the extent considered is given by the
delta parameter multiplied by the number of missing teeth.
[0051] After checking the last "hole", a pulse is expected within the related temporal window;
in the positive case, the state machine 10 passes through the "check_lock" status
(transition T_6) where the timer is restarted, the tooth counter is reset and the
lock_f signal is activated to indicate that the reference has been found. In the negative
case, the state machine passes through the "idle" status (transition T_7). Transition
from this status depends on the
num_of_check register value; if it has been programmed with a number higher than zero, the system
returns to the "search_lock" status (transition T_9) to execute a further check on
the identification of the point of reference for a number of times equal to the programmed
value.
[0052] In this further case, it is also possible to carry out a cross-check with the tooth
counter, which starts upon the activation of the
lock_f signal. With the activation of the
lock_f signal, further checks are performed, depending on the
cgf_filter and
cfg_check register programming. With the
cfg_check equal to one, in case of error, the return to the "idle" status does not reset the
counter that indicates the number of times the check on the point of reference location
has been already carried out. With the
cfg_filter equal to one, the transition to the "idle" status does not occur, but a signal is
generated to indicate the type of error occurred, so as to generate an interrupt toward
the controller to decide the action to be taken.
[0053] Once the check of the location of the point of reference has been carried out the
desired number of times, the system passes through the "injection" status (transition
T_8), where the
lock_fon signal is activated as well. In the three states of "injection", "maybe_hole_inj",
"check_lock_inj" the state machine operates in a way similar to the three states of
"search_lock", "maybe_hole", "check_lock" after detecting the point of reference (activation
of the
lock_f signal): the check of the proper succession of teeth and their absence is carried
out in the same way. At any time, from any state, by activating the
stop signal, the state machine 10 passes through the "stop_state" status (transition T_16);
when this signal is interrupted, it passes through the "idle" status (transition T_15).
[0054] Thanks to the features described above, device 1 can be applied on any type of engine
provided with tone wheel and is capable of being adapted to the wide variety of tone
wheels for driving shafts used in the automotive field.
[0055] The above thanks to the wide parameter configurability of modules 4, 5 and 6 that
make the device, according to the invention, very flexible and usable in several applications.
1. Architecture of an electronic device for determining the angular position of a driving
shaft (3) in internal combustion engines (2), of the type intended to cooperate with
an engine electronic control unit (ECU) and receiving an input signal emitted by a
sensor (8) of a tone wheel (7) associated to the driving shaft (3),
characterised in that it comprises:
- a first I/O interface module (4) embedding a plurality of registers and receiving
signals from said engine control unit (ECU);
- a second module (5) bi-directionally connected to the first module (4) and receiving
the input signal emitted by said sensor (8) to detect a reference on the driving shaft
(3) and provide its angular position moment by moment;
- a third module (6) capable of emitting an interrupt signal toward said ECU on the
basis of an error signal received from said second module (5).
2. Device according to claim 1, characterised in that the registers of said first module (4) can be accessed in reading and writing mode
by said ECU via a standard interface.
3. Device according to claim 1, characterised in that in said second module (5) the search of the reference and the subsequent calculation
of the driving shaft (3) position occur by constantly monitoring the signal (fonica_signal)
transmitted by the sensor (8) of the tone wheel (7).
4. Device according to claim 1, characterised in that a second set of registers internal to the first module (4) contains data relating
to the internal status and the results of the second module (5).
5. Device according to claim 1, characterised in that the generation of an interrupt signal also updates a related register internal to
the first module (4) from which it is possible to trace the type of error generated
by the second module (5).
6. Device according to claim 1,
characterised in that the registers embedded in said first module (4) are:
start |
Starts the state machine implemented in "fsm_fonica". |
stop |
Stops the state machine implemented in "fsm_fonica" restoring its original status
waiting for a new start-up. |
overflow |
Sets the waiting time limit so that the lack of teeth in this time interval indicates
a system error status. |
num_of_teeth |
This indicates the tone wheel number of teeth. |
num_of_holes |
This indicates the tone wheel number of holes. |
num_of_check |
This indicates the number of revolutions of the driving shaft to be waited after the
lock before passing to the injection phase. |
delta |
This indicates the extent of the interval around the time instant in which the system
expects a tone wheel tooth. |
cfg_filter |
Enables or disables the digital filter to be appled on the signal transmitted by the
tone wheel. |
cfg_check |
This indicates whether it is necessary to reset, in case of error, the count of already
executed checks. |
error_at |
This indicates the number of tooth where the last error occurred. |
Tooth_num |
This indicates the current number of tooth of the tone wheel. |
i_teeth |
This indicates an intermediate position between two adjacent teeth of the same tone
wheel with a fixed accuracy. |
Frt |
Free running timer. |
Stato_out |
This indicates the current status of the state machine of the "fsm_fonica". |
Diffdente_out |
This indicates a value from which it is possible to trace the revolution speed of
the driving shaft with the following expression:
where f is the system clock frequency (clk). |
pending |
This indicates the type of error occurred. |
7. Device according to claim 3, characterised in that said second module (5) checks that every subsequent pulse of the signal (fonica_signal)
occurs within a fixed temporal window or that no pulse is received within said window
to pass through the tone wheel (7) point of reference search status.
8. Device according to claim 7, characterised in that said temporal window is determined as difference (count2 - count1) between the subsequent instants of reception of said signal (fonica_signal), also
determining the centre of an interval in which the next pulse is expected; the extent
of said interval being calculated as ratio (count2-count1) / n, with n equal to the number of teeth of the tone wheel.