FR2781897A1 - Procede de commande de taches effectuees par un systeme d'exploitation, pour la commande d'un moteur de vehicule - Google Patents
Procede de commande de taches effectuees par un systeme d'exploitation, pour la commande d'un moteur de vehicule Download PDFInfo
- Publication number
- FR2781897A1 FR2781897A1 FR9909660A FR9909660A FR2781897A1 FR 2781897 A1 FR2781897 A1 FR 2781897A1 FR 9909660 A FR9909660 A FR 9909660A FR 9909660 A FR9909660 A FR 9909660A FR 2781897 A1 FR2781897 A1 FR 2781897A1
- Authority
- FR
- France
- Prior art keywords
- task
- region
- stack
- individual
- operating system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D41/00—Electrical control of supply of combustible mixture or its constituents
- F02D41/24—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
- F02D41/26—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
- F02D41/263—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor the program execution being modifiable by physical parameters
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25343—Real time multitasking
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25347—Multitasking machine control
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25411—Priority interrupt
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25416—Interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Mechanical Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
Un procédé pour commander des tâches effectuées par un système d'exploitation multitâche ou en temps réel comprend l'établissement d'une interruption (SPIO) pour interrompre l'une quelconque de tâches individuelles, grâce à une priorité supérieure; l'établissement d'une région de pile (313a) à titre de région active pour traiter les tâches individuelles (SPAO, SPBO, SPCO) et l'interruption dans une mémoire vive (313); l'établissement d'une région (313b) pour l'interruption, séparée de la région de pile; et l'établissement d'une région de gestion de pointeur de pile (313c) dans la mémoire pour chaque tâche individuelle et pour l'interruption.
Description
PROCEDE DE COMMANDE DE TACHES EFFECTUEES PAR UN SYSTEME
D'EXPLOITATION, POUR LA COMMANDE D'UN MOTEUR DE VEHICULE
La présente invention traite d'une méthodologie de commande de tâches, et plus particulièrement d'un procédé de commande de taches
d'organes de véhicule, mis en ceuvre au moyen d'un système d'exploita-
tion multitâche ou en temps reel.
Comme il est bien connu, la commande de moteur d'un véhicule classique est accomplie par une architecture monotâche, réalisée en utilisant un système d'exploitation monotâche, et la commande en temps
réel est effectuée au moyen d'un traitement d'interruptions.
Cependant, en raison de la complexité croissante de la commande des moteurs au cours des dernières années, il est devenu nécessaire de traiter de nombreuses tâches (c'est-à-dire des processus ou des travaux)
et de définir des priorités pour ces nombreuses tâches. Il a ainsi été pro-
posé d'introduire une architecture multitâche, réalisée au moyen d'un
système d'exploitation multitâche ou en temps réel.
La figure 9 est un diagramme explicatif illustrant une routine de traitement dans laquelle trois tâches A - C et une interruption doivent être traitées par une architecture multitâche, réalisée par un système
d'exploitation multitâche ou en temps réel.
Ici, en ce qui concerne les taches individuelles A - C, la tâche B est définie comme ayant la priorité la plus élevée, tandis que la tache C
est définie comme ayant la priorité la plus basse. Le traitement des inter-
ruptions est défini comme ayant une priorité plus élevée que n'importe laquelle des tâches individuelles A - C. Il est également défini que la routine de changement de tâche est appelée pour faire débuter la tâche B après la fin du traitement d'interruption, et pour faire débuter la tâche C après la fin de la tâche B. Ceci est illustré d'une part par la tâche synchronisée avec le temps (par exemple le commande du papillon d'accélérateur) pour la tâche A devant être exécutée en synchronisme avec le temps, d'autre part par la tâche synchronisée avec la rotation (par exemple la commande de débit d'injection de carburant ou des conditions temporelles d'allumage) pour la tâche B devant être executée en synchronisme avec la rotation du vilebrequin, et enfin par la tâche synchronisée avec la rotation (par exemple la commande de la vanne de réglage de la vitesse de ralenti) pour la tâche C devant être exécutée en synchronisme avec la rotation du vilebrequin. Quand le traitement d'interruption a lieu à un instant tl pendant le traitement de la tâche A, le traitement de la tâche A est interrompu de façon que le traitement d'interruption ayant la plus haute priorité soit exécuté. De plus, quand le traitement d'interruption s'achève à un instant t2, une routine de changement de tâche est appelée pour faire démarrer la tâche B, de telle sorte que la tâche B soit traitée à partir de l'instant t3. Après cela, quand le traitement de la tâche B s'achève à l'instant t4, la routine de changement de tâche est appelée pour faire démarrer la
tâche C. Cependant, étant donné que la tâche A a une priorité plus éle-
vée que celle de la tâche C, le traitement restant de la tâche A est ef-
fectué à l'instant t5 quand la tâche B est finie. De plus, quand le traite-
ment de la tâche A est terminé à l'instant t6, le traitement de la tâche C
est exécuté.
Les tâches individuelles A - C et l'interruption sont traitées dans une région de mémoire sous forme de pile, se trouvant dans la mémoire
vive (ou RAM) du micro-ordinateur qui est à l'intérieur de l'unité de com-
mande électronique.
La figure 10 illustre la structure de la région de pile dans le cas o les taches individuelles A - C et les interruptions sont traitées, comme représenté sur la figure 9. La mémoire vive contient à la fois une région de pile, et une région de gestion de pointeur de pile. La région de pile est une région de travail pour le traitement des tâches individuelles A C
et des interruptions, et est incorporée pour chacune des tâches indivi-
duelles. La région de gestion de pointeur de pile a pour rôle de mémoriser
et gérer un pointeur de pile qui indique l'adresse d'une région de mé-
moire utilisée pour traiter les tâches individuelles A - C dans la région de pile, et est incorporée pour chacune de ces tâches individuelles. Ici, le pourcentage d'occupation de la région de gestion de pointeur de pile est
tellement faible qu'on peut dire que la mémoire vive est quasiment entiè-
rement occupée par la région de pile.
Dans un état initial, la valeur du pointeur de pile de la tâche A, qui est mémorisée dans la région de gestion de pointeur de pile, est fixée à "SPAO"; la valeur du pointeur de pile de la tâche B, mémorisée dans la région de gestion de pointeur de pile, est fixée à SPBO"; et la valeur du pointeur de pile de la tâche B, mémorisée dans la région de gestion du
pointeur de pile, est fixée à "SPC0".
Ainsi, la traitement de la tâche A débute à partir de la position SPA0 de la région de pile. De plus, on suppose que la valeur du pointeur de pile passe à "SPA1" à l'instant (c'est-à-dire à l'instant tl sur la figure 9) o le traitement d'interruption commence pendant le traitement de la tache A. Ensuite, le traitement d'interruption commence à la position
SPA1 de la région de pile.
De plus, on suppose que la valeur du pointeur de pile passe à
"SPA2" à l'instant (c'est à dire à l'instant t2 sur la figure 9) o le traite-
ment d'interruption est achevé. Quand le traitement d'interruption est achevé, le pointeur de pile retourne à SPA1 ou la valeur qu'il avait à l'instant o le traitement de la tâche A a été interrompu, et la routine de
changement de tâche est appelée pour commencer la tâche B. A cet ins-
tant, la valeur du pointeur de pile de la tâche A, mémorisée dans la ré-
gion de gestion de pointeur de pile, passe de la valeur initiale SPA0 à la valeur SPA1 du pointeur de pile au moment o le traitement de la tâche A a été interrompu. Ensuite, le traitement de la tâche B est commencé (à l'instant t3 sur la figure 9) à partir de la position SPB0 de la région de pile.
Quand le traitement de la tâche B est fini, la routine de change-
ment de tâche est appelée afin de commencer la tâche C (à l'instant t4 sur la figure 9). Cependant, étant donné que la tâche A a une priorité plus élevée que celle de la tâche C, le traitement restant de la tâche A interrompue est effectué (à l'instant t5 sur la figure 9). A cet instant, le
pointeur de pile est déplacé vers la position SPA1 de la tâche A, mémori-
sée dans la région de gestion de pointeur de pile, de façon que le traitement restant de la tâche A soit effectué à partir de la position SPA1 de la
région de pile.
Apres ceci, quand le traitement de la tâche A est terminé, le poin-
teur de pile se déplace jusqu'à la position SPCO de façon que le traite-
ment de la tâche C commence à partir de la position SPC0 de la région
de pile (à l'instant t6 sur la figure 9).
Ainsi, quand le traitement d'une interruption survient pendant le traitement de la tâche A, les régions actives (de SPA1 à SPA2) pour le traitement d'interruption sont empilées au dessus des régions actives (de SPA0 à SPA1) pour la tâche A dans la région de pile, qui ont été utilisées à ce moment pour le traitement de la tâche A. Ceci s'applique également au cas ou le traitement d'interruption
survient pendant le traitement de la tâche B ou C. En résumé, le traite-
ment d'interruption peut avoir lieu pendant le traitement de n'importe laquelle des tâches individuelles A - C. Ainsi, quand le traitement d'interruption a lieu pendant le traitement de la tâche B, la région active pour le traitement d'interruption est empilée au-dessus la région active pour le traitement de la tâche B dans la région de pile, qui a été utilisée à ce moment pour le traitement de la tâche B. D'autre part, quand le traitement d'interruption a lieu pendant le traitement de la tâche C, la région active pour le traitement d'interruption est empilée au dessus la région active pour le traitement de la tâche C dans la région de pile, qui a été utilisée à ce moment pour le traitement de la tâche C.
En conséquence, les tailles des régions de pile pour les tâches in-
dividuelles A - C doivent être fixées à la taille totale nécessaire pour
traiter les tâches plus la taille nécessaire pour le traitement d'interrup-
tion. En outre, comme décrit précédemment, la taille de la région de ges-
tion de pointeur de pile est tellement faible que la taille de la mémoire vive est déterminée par le total des tailles des régions de pile des tâches individuelles A - C. En d'autres termes, la taille de la mémoire vive doit être fixée au total des tailles nécessaires au traitement des tâches A - C et de la taille nécessaire pour que le traitement d'interruption puisse être empilé au dessus de chaque région de pile des tâches individuelles A - C. Pour le cas o la taille nécessaire pour le traitement de la tâche A est de 400 octets, la taille nécessaire pour le traitement de la tâche B est de 300 octets, la taille nécessaire pour le traitement de la tâche C est de 500 octets, et la taille nécessaire pour le traitement d'interruption est de octets, la taille de la région de pile pour la tâche A est fixée à 500 (400 + 100) octets, la taille de la région de pile pour la tâche B est fixée à 400 (300 + 100) octets, la taille de la région de pile pour la tâche C est
fixée à 600 (500 + 100) octets. Ceci nécessite de fixer la taille de la mé-
moire vive à une valeur de 1500 (= 500 + 400 + 600) octets.
D'autre part, dans l'architecture monotâche mise en oeuvre en utili-
sant un système d'exploitation monotâche, un passage à une autre tache
ne peut être effectué avant que la tâche en cours de traitement soit ter-
minée. Ainsi, quand les tâches individuelles A - C et l'interruption doi-
vent être traitées comme décrit ci-dessus dans une architecture monotâ-
che, la taille de la mémoire vive peut être fixée à 600 octets correspon-
dant au maximum des tailles des régions de pile des tâches individuelles A - C (c'est à dire la taille de la région de pile de la tâche C) Dans l'architecture multitâche réalisée par l'utilisation du système d'exploitation multitâche ou en temps réel, comme décrit précédemment, la taille de la mémoire vive est augmentée, car la taille de la mémoire vive doit être le total des tailles nécessaires pour le traitement des tâches
individuelles, et de la taille nécessaire au traitement d'interruption et empi-
lée au dessus de chacune des régions de pile des tâches individuelles.
Compte tenu de ce qui précède, un but de la présente invention est de réduire la taille de la mémoire vive dans laquelle une pile ou région active pour le traitement de tâches et d'interruption est implantée, dans
une architecture multitâche réalisée par l'utilisation d'un système d'exploi-
tation multitâche ou en temps réel.
Plus particulièrement, la présente invention procure une commande de tâches réalisée par l'utilisation d'un système d'exploitation multitâche
ou en temps réel. De plus, le traitement d'interruption devant être exé-
cuté en interrompant plusieurs tâches ayant des priorités fixées, est défi-
ni de façon à avoir une priorité plus élevée. Une région de pile est définie comme une région de mémoire active pour traiter les tâches individuelles
et l'interruption, dans une mémoire accessible en lecture et en écriture.
La région de pile est fixée à une taille nécessaire pour traiter les tâches individuelles et conformément au nombre de tâches. Une région d'interruption est également fixée à la taille nécessaire pour le traitement
d'interruption, et est séparée de la région de pile pour les taches indivi-
duelles. Ainsi, conformément à l'invention, quand le traitement d'interruption est activé pendant le traitement d'une tâche, le traitement d'interruption est accompli dans une région de pile prédefinie. De ce fait, la taille de la région de pile pour chaque tâche doit seulement être la taille nécessaire au traitement de la tâche. De plus, la taille de la mémoire est déterminée par le total des tailles des régions de pile pour le traitement des tâches
individuelles et de l'interruption.
Dans une commande multitâche classique, quand le traitement d'interruption est activé pendant le traitement d'une tâche, la zone active pour le traitement d'interruption est empilée au dessus de la région active de la tâche dans la région de pile. Cela impose de fixer la taille de la mémoire au total des tailles nécessaires pour le traitement des tâches individuelles et pour le traitement d'interruption devant être empilé au
dessus des régions de pile des tâches individuelles.
En résumé, conformément à la présente invention, les régions des-
tinées au traitement d'interruption sont regroupées en une seule région,
ce qui fait que la taille de mémoire peut être réduite en conséquence.
D'autres caractéristiques et avantages de l'invention seront mieux
compris à la lecture de la description qui va suivre d'un mode de réalisa-
tion donné à titre d'exemple non limitatif. La suite de la description se
réfère aux dessins annexés, dans lesquels: La figure 1 est un schéma synoptique montrant une structure schématisée d'un mode de réalisation conforme à l'invention; La figure 2 est un schéma synoptique montrant la structure interne d'une unité de commande électronique du mode de réalisation;
Le figure 3 est un organigramme expliquant le traitement d'une tâ-
che A dans le mode de réalisation;
La figure 4 est un organigramme expliquant le traitement d'une tâ-
che B dans le mode de réalisation;
La figure 5 est un organigramme expliquant le traitement d'une tâ-
che C dans le mode de réalisation; La figure 6 est un organigramme expliquant le traitement d'interrup- tion dans le mode de réalisation;
La figure 7 est un schéma explicatif pour l'explication de la struc-
ture d'une pile dans le mode de réalisation; La figure 8 est un organigramme pour l'explication du traitement d'interruption dans le mode de réalisation; La figure 9 est un schéma explicatif pour l'explication d'une routine pour le traitement de plusieurs tâches et d'une interruption;
La figure 10 est un schéma explicatif pour l'explication de la struc-
ture d'une pile dans l'art antérieur La figure 1 est un schéma d'un moteur commandé par une unité de commande électronique conforme à la présente invention, ainsi que d'un
système périphérique.
Un moteur à essence à cinq cylindres du type à allumage par bou-
gies comporte une chambre de combustion 5 définie par un cylindre 2, un piston 3 et une culasse 4. Une bougie d'allumage 6 d'un type à bobine intégrée est également présente dans la chambre 5. Le moteur 1 a un
système d'admission constitué par un collecteur d'admission 8 communi-
quant avec la chambre de combustion 5 par une soupape d'admission 7, un injecteur de carburant 9 pour injecter du carburant dans le collecteur d'admission 8, un tuyau d'admission 10 communiquant avec le collecteur d'admission 8, une chambre d'égalisation de pression 11 pour absorber des pulsations de l'air d'admission, un papillon d'accélérateur 12 pour
réguler un débit d'air d'admission, un filtre à air 13 pour éliminer la pous-
sière de l'air entrant qui doit être fourni à la chambre d'égalisation de pression 11, un conduit de dérivation 31 formant une dérivation sur le papillon 12 et établissant un communication entre l'amont et l'aval du papillon 12, et une vanne de commande de vitesse de ralenti 32 placée
dans le conduit de dérivation 31.
Le système d'échappement du moteur I comprend un collecteur d'échappement 15 qui communique avec la chambre de combustion 5 par
une soupape d'échappement 14.
Le moteur comporte également des capteurs individuels 20 - 27.
Le capteur de température d'eau 20 est placé dans le circuit de refroidis-
sement du moteur 1 pour mesurer la température de l'eau de refroidisse-
ment du moteur. Le capteur de température d'air d'admission 21 est placé dans le filtre à air 13 pour mesurer la température de l'air d'admission. Le capteur de pédale d'accélérateur 22 est connecté à une pédale d'accélérateur 28 pour détecter le niveau d'enfoncement de la pédale d'accélérateur 28. Le capteur de débit d'air d'admission 23 est placé en amont du papillon 12 pour mesurer le débit d'air d'admission. Le capteur
de concentration en oxygène 24 est placé dans le collecteur d'échap-
pement 15 pour mesurer la concentration en oxygène résiduel dans les
gaz d'échappement.
De plus, le capteur d'angle de rotation 25 détecte la saillie d'une (60-2)-ième dent formée sur le volant (non représenté) pour émettre un signal impulsionnel de détection d'angle de rotation à chaque 1/60-ième de tour du vilebrequin (non représenté). Ici, 1/60-ième de tour du vilebrequin correspond à un multiple entier, allant jusqu'à une position angulaire de vilebrequin de 6 degrés, de la position angulaire de 0 degré, à la position o la saillie de la (60-2)-ième dent est présente, et à un multiple entier allant jusqu'à 18 degrés à la position (c'est-a-dire à la position de la dent "cassée") o la saillie de la (60- 2)-ième dent est absente. Le capteur
d'angle de rotation agit aussi comme un capteur de vitesse du moteur 1.
Le capteur de came 26 émet un signal impulsionnel de détection de référence pour la reconnaissance des cylindres à chaque tour de l'arbre à
cames (non représenté) (c'est-a-dire tous les deux tours du vilebrequin).
Le capteur de vitesse du véhicule 27 détecte la vitesse du véhicule en détectant une saillie d'une roue de génération de signal 29 montée
sur un essieu du véhicule (non représenté).
Les signaux de détection des capteurs individuels 20 - 27 sont
envoyés à une unité de commande électronique 30. Cette unité de com-
mande électronique 30 commande le moteur 1 en commandant la bougie d'allumage 6, I'injecteur de carburant 9, le papillon d'accélérateur 12 et
la vanne de commande de vitesse de ralenti 32 en se basant sur les si-
gnaux de détection des capteurs individuels 20 - 27.
Comme représenté sur la figure 2, l'unité de commande électroni-
que 30 comprend un micro-ordinateur 310, une partie de circuit 351 pour effectuer un pré-traitement pour charger dans le micro-ordinateur 310 les signaux de détection des capteurs individuels 20 - 27, et une partie de circuit 352 pour attaquer les organes dont le fonctionnement est commandé (la bougie d'allumage 6, I'injecteur de carburant 9, le papillon d'accélérateur 12 et la vanne de commande de vitesse de ralenti 32)
conformément à des ordres de commande qui sont produits par le micro-
ordinateur. Ici, l'unité de commande électronique 30 est alimentée par de
I'énergie venant d'une batterie du véhicule, quand l'interrupteur d'allu-
mage est fermé.
Le micro-ordinateur 310 comprend un microprocesseur 311, une
mémoire morte (ou ROM) 312, une mémoire vive (ou RAM) 313, une mé-
moire vive de sauvegarde 314, un port d'entrée-sortie 315, un port d'entrée 316, un port de sortie 317, un bus commun 318 et un circuit de
génération d'horloge 319.
Le microprocesseur 311 prélève les signaux de détection des cap-
teurs individuels 20 - 27 à partir du port d'entrée-sortie 315 ou du port d'entrée 316, par l'intermédiaire du bus commun 318, conformément a un
programme de commande (c'est-à-dire un système d'exploitation multitâ-
che ou en temps réel) enregistré dans la mémoire morte 312, génère des ordres de commande pour attaquer les organes dont le fonctionnement est commandé, en exécutant des opération prédéterminées basées sur le programme de commande, et émet les ordres à partir du bus commun 318
par le port de sortie 317.
Le programme de commande peut être enregistré sur un support
d'enregistrement pouvant être lu par l'ordinateur (par exemple une mé-
moire à semiconducteur, un disque dur, une disquette, une carte de don-
nées (une carte à puce, une carte magnétique ou similaire), un disque optique (CD-ROM, DVD ou similaire), un disque magnéto-optique (MD ou similaire), un disque à changement de phase ou une bande magnétique) de façon qu'il puisse être utilisé en faisant démarrer le microprocesseur
311, dans lequel il est chargé, si besoin est.
Le programme mentionné ci-dessus, des données initiales, ou au-
tres, sont préalablement enregistrés dans la mémoire morte 312. Une
région de pile et une région de gestion de pointeur de pile pour les tâ-
ches individuelles A - C décrites ultérieurement et l'interruption, sont
définies dans la mémoire vive 313.
La mémoire vive de sauvegarde 314 enregistre diverses conditions de configuration pour commander le moteur 1. Ici, cette mémoire vive de sauvegarde 314 est alimentée en énergie électrique directement à partir
de la batterie montée sur le véhicule, et non par l'intermédiaire de l'inter-
rupteur d'allumage, ce qui fait que son contenu mémorisé est conservé
même après l'interruption de l'alimentation de l'unité de commande élec-
tronique 30 par la batterie montée sur le véhicule, sous l'effet de l'ou-
verture de l'interrupteur d'allumage.
Le circuit de génération d'horloge 319 génère et fournit une horloge de fonctionnement CK aux éléments individuels 311 - 317 du
micro-ordinateur 310.
La partie de circuit 351 est constituée par des amplificateurs-
séparateurs individuels 321 - 325, un multiplexeur 326, un convertisseur analogique / numérique (A/N) 327, et des circuits de mise en forme de
signal 328 et 329. Le multiplexeur 326 sélectionne les signaux de détec-
tion des capteurs individuels 20 - 24, appliqués par l'intermédiaire des
amplificateurs-séparateurs individuels respectifs 321 - 325, conformé-
ment à l'ordre du micro-ordinateur 310.
Le convertisseur A/N 327 convertit d'analogique en numérique les signaux de détection des capteurs individuels 20 - 24, sélectionnés par le multiplexeur 326 conformément à l'ordre du micro-ordinateur 310. Les signaux de détection des capteurs individuels 20 - 24 après conversion
analogique-numérique sont émis vers le port d'entrée-sortie 315.
Le circuit de mise en forme de signal 328 met en forme individuel-
lement les signaux de détection issus du capteur d'angle de rotation 25 et du capteur de came 26 pour donner des formes d'ondes de signaux consistant en impulsions binaires. Le circuit de mise en forme de signal
329 met en forme le signal de détection du capteur de vitesse de véhi-
cule pour donner une forme d'onde de signal consistant en impulsions binaires. Les signaux de détection des capteurs individuels 25 - 27 ainsi
mis en forme sont dirigés vers le port d'entrée 316.
La partie de circuit 352 précitée est composée de circuits d'attaque
individuels 341 - 344.
Le circuit d'attaque 341 commande l'instant d'allumage de la bou-
gie 6 en commandant l'alimentation de la bobine incorporée dans la bou-
gie d'allumage, conformément à l'ordre de commande du micro-ordinateur
310.
Le circuit d'attaque 342 commande l'injecteur de carburant 9 pour qu'il s'ouvre pendant une durée prédéterminée conformément à l'ordre de commande du micro-ordinateur 310. Ceci fonctionne de façon que le
carburant pompé par la pompe à carburant (non représentée) vers l'in-
jecteur de carburant 9 puisse être injecté par l'injecteur de carburant 9 avec un débit d'injection correspondant à la durée d'ouverture, pour
commander le débit d'injection de carburant.
Le circuit d'attaque 343 commande le débit d'air d'admission en
contrôlant le degré d'ouverture du papillon d'accélérateur 12 conformé-
ment à l'ordre de commande du micro-ordinateur 310.
Le circuit d'attaque 344 régule le débit d'air d'admission devant être fourni au moteur 1 au ralenti pour régler à une valeur prédéterminée la vitesse de ralenti du moteur 1, en commandant l'ouverture de la vanne
de commande de vitesse de ralenti 32 conformément à l'ordre de com-
mande du micro-ordinateur 310.
La figure 3 est un organigramme montrant le traitement de la tâche
A devant être exécutée par l'unité de commande électronique 30.
La tâche synchronisée avec le temps ou la tâche A est lancée de
façon cyclique (par exemple toutes les 8 ms) conformément au pro-
gramme de commande (c'est-à-dire le système d'exploitation multitâche
ou en temps réel) enregistré dans la mémoire morte 312.
Premièrement, les signaux de détection des capteurs individuels 20
- 24, entrant respectivement par les amplificateurs-séparateurs 321 -
325, et sélectionnés par le multiplexeur 326, sont convertis d'analogique en numérique par le convertisseur A/N 327 de façon que les signaux convertis des capteurs individuels 20 - 24 soient transférés du port d'entrée-sortie 315, par le bus commun 318, vers la mémoire vive 313 et le microprocesseur 311 (Etape 101). Ensuite, en utilisant en tant que
région active 313a la région de pile de la tâche A définie dans la mé-
moire vive 313 par le microprocesseur 311, la commande du papillon
d'accélérateur est traitée en se basant sur le signal de détection du cap-
teur de pédale d'accélérateur 22. L'ordre de commande du papillon 12 est généré sur la base du résultat du traitement et est transféré du bus commun 318, par le port de sortie 317, vers le circuit d'attaque 343 de façon que le papillon d'accélérateur 12 soit commandé par le circuit
d'attaque 343, ce qui achève la tâche A (Etape 102).
La figure 4 est un organigramme montrant le traitement de la tâche
B devant être exécutée par l'unité de commande électronique 30.
Le tâche B, ou la tâche synchronisée avec la rotation, est lancée
de façon cyclique à des positions angulaires de vilebrequin prédétermi-
nées (par exemple des positions angulaires de 36 degrés) sur la base du signal de détection du capteur d'angle de rotation 25, conformément au
programme de commande (c'est-à-dire le système d'exploitation multitâ-
che ou temps réel) enregistré dans la mémoire morte 312. Comme la tâche A, la tâche B est traitée en utilisant en tant que région active une région de pile 313a de la tâche B, qui est définie dans la mémoire vive
313 par le microprocesseur 311.
Initialement, le débit d'injection de carburant est traité en se ba-
sant sur les signaux de détection du capteur de débit d'air d'admission 23 et du capteur d'angle de rotation 25 de façon que l'ordre de commande
de l'injecteur de carburant 9 soit généré d'après le résultat du traitement.
Cet ordre de commande est transféré du bus commun 318, par le port de sortie 317, vers le circuit d'attaque 342 de façon que l'injecteur de
carbu-
rant 9 soit commandé par le circuit d'attaque 342 (Etape 111).
Ensuite, sur la base des signaux de détection du capteur de débit d'air d'admission 23 et du capteur d'angle de rotation 25, I'instant d'allumage de la bougie 6 est traité. L'ordre de commande de la bougie d'allumage 6 est généré sur la base du résultat du traitement et est transféré du bus commun 318, par le port de sortie 317, vers le circuit d'attaque 341 de façon que la bougie d'allumage 6 soit commandée par
le circuit d'attaque 341 (Etape 112).
Ensuite, sur la base du signal de détection du capteur d'angle de
rotation 25 (Etape 113), on détermine si la position angulaire du vilebre-
quin est ou non à une valeur prédéterminée (par exemple 0 degré). Le traitement de la tâche B est terminé à moins que la position angulaire prédéterminée ne soit atteinte, et la tâche C commence si la position
prédéterminée est atteinte (Etape 114). Il en résulte que la tâche C com-
mence chaque fois que le vilebrequin passe par une position angulaire prédéterminée. Par exemple, quand la tâche B est commencée à chaque position angulaire de 36 degrés du vilebrequin, la tâche C est commen-
cée à chaque position angulaire de 360 degrés.
La figure 5 est un organigramme montrant le traitement de la tâche
C devant être exécutée par l'unité de commande électronique 30.
La tâche C, ou la tâche synchronisée avec la rotation, est égale-
ment traitée en utilisant en tant que région active la région de pile 313a de la tâche C définie dans la mémoire vive 313 par le microprocesseur 311. Le débit d'air d'admission devant être fourni au moteur I au ralenti est traité en se basant sur les signaux de détection du capteur de débit d'air d'admission 23 et du capteur d'angle de rotation 25. L'ordre de commande de la vanne de commande de vitesse de ralenti 32 est généré sur la base du résultat du traitement et est transféré du bus commun 318, par le port de sortie 317, vers le circuit d'attaque 344 de façon que la
vanne de commande de vitesse de ralenti 32 soit commandée par le cir-
cuit d'attaque 344 (Etape 121).
La figure 6 est un organigramme montrant le traitement d'interruption
devant être exécuté par l'unité de commande électronique 30.
L'interruption est lancée de façon cyclique à des positions angulaires de vilebrequin prédéterminées (par exemple une position angulaire de 6 degrés a l'endroit o il n'y a pas une dent "cassée" et de 18 degrés à l'endroit o il y a une dent "cassée") conformément au programme de commande enregistré dans la mémoire morte 312. D'autre part, l'interruption est traitée est utilisant en tant que région active la région de pile 313b de l'interruption qui est définie dans la mémoire vive 313 par
le microprocesseur 311.
Initialement, la position de la dent "cassée" est détectée en se basant sur le signal de détection du capteur d'angle de rotation 25 (Etape 131). Ensuite, le compteur associé au vilebrequin est incrémenté à des
positions angulaires de vilebrequin prédéterminées (par exemple 36 de-
grés) (Etape 132). Ensuite, on détermine à partir de la routine précédente
(Etape 133) si le compteur associé au vilebrequin est incrémenté.
L'interruption s'achève s'il n'est pas incrémenté, et la tâche B est com-
mencée s'il est incrémenté (Etape 134).
Ces tâches A - C sont bien connues dans la technique. La tache B reçoit la priorité la plus élevée, tandis que la tache C reçoit la priorité la plus basse, et l'interruption reçoit une priorité plus élevée que celles des tâches individuelles A - C. La figure 7 est un schéma explicatif de la structure d'une pile dans
* laquelle les taches individuelles A - C et l'interruption doivent être trai-
tées dans ce mode de réalisation par une architecture multitâche mise en
oeuvre en utilisant le système d'exploitation multitâche ou en temps réel.
Les régions de pile, qui sont définies dans la mémoire vive 313, sont les régions actives pour le traitement des tâches individuelles A - C et d'interruption, et comportent la région de pile de traitement d'interruption 313b indépendamment et en plus des régions de pile pour les taches individuelles A à C (313a). La région de gestion de pointeur de pile 313c, qui est définie dans la mémoire vive 313, est une région pour la mémorisation et la gestion du pointeur de pile indiquant les adresses des régions utilisées pour les taches individuelles A - C et l'interruption dans la région de pile, et est prévue pour traiter non seulement chacune
des tâches individuelles A - C, mais aussi l'interruption. Ici, le pourcen-
tage que la région de gestion de pointeur de pile 313c occupe dans la mémoire vive 313 est tellement faible qu'on peut dire que la mémoire vive
est presque uniquement occupée par la région de pile.
Dans ce mode de réalisation, la routine de traitement pour le trai-
tement des tâches individuelles A - C et d'interruption est identique à
une routine classique, comme représenté sur la figure 9. Dans l'état ini-
tial, la tâche A a une valeur de pointeur de pile "SPA0" enregistrée dans la région de gestion de pointeur de pile, la tache B a une valeur de pointeur de pile "SPB0" enregistrée dans la région de gestion de pointeur de pile, la tâche C a une valeur de pointeur de pile "SPC0" enregistrée
dans la région de gestion de pointeur de pile, et l'interruption a une va-
leur de pointeur de pile "SPI0O enregistrée dans la région de gestion de
pointeur de pile.
On décrira ensuite les opération de commande des tâches par l'unité de commande électronique 30 de ce mode de réalisation en se
référant aux figures 7 et 9.
Comme représenté sur la figure 7, le traitement de la tâche A com-
mence à partir de la position "SPA0" de la région de pile. De plus, on suppose que la valeur du pointeur de pile est déplacée vers la position "SPA1" à l'instant (l'instant tI sur la figure 9) ou le traitement de la tâche
A est interrompu. Ensuite, la valeur du pointeur de pile devant être enre-
gistrée dans la région de gestion de pointeur de pile pour traiter
l'interruption passe de la valeur initiale SPI0 à la valeur SPA1 du poin-
teur de pile à l'instant o le traitement de la tâche A est interrompu. En-
suite, le pointeur de pile se déplace vers SPI0 de façon que l'interruption
commence de la position SPI0.
On suppose alors que la valeur du pointeur de pile passe à "SPI1"
à l'instant (à l'instant t2 sur la figure 9) o l'interruption se termine.
Quand l'interruption est terminée, le pointeur de pile retourne en SPI0.
Ensuite, le pointeur de pile passe à la valeur SPA1 enregistrée dans la
région de gestion de pointeur de pile pour le traitement d'interruption.
La routine de changement de tâche est ensuite appelée de façon que la tâche B commence. A cet instant, la valeur du pointeur de pile devant être enregistrée dans la région de gestion de pointeur de pile pour la tâche A passe de la valeur initiale SPA0 à la valeur SPA1 du
pointeur de pile à l'instant o le traitement de la tâche A est interrompu.
Le traitement de la tâche B commence ensuite à partir de la position
SPB0 (à l'instant t3 sur la figure 9).
Quand le traitement de la tâche B est achevé, la routine de chan-
gement de tâche est appelée de façon que la tâche C commence (à
l'instant t4 sur la figure 9). Cependant, du fait que la tâche A a une prio-
rité plus élevée que la tâche C, le traitement restant de la tâche A inter-
rompue est effectué (à l'instant t5 sur la figure 9) à la suite de la tâche
B. A cet instant, le pointeur de pile passe en SPA1, qui est la valeur en-
registrée dans la région de gestion de pointeur de pile pour la tâche A, de façon que le traitement restant de la tâche A soit effectué à partir de la position SPA1 de la région de pile. Quand le traitement de la tâche A est terminé, le pointeur de pile passe en SPC0 de façon que le traitement de la tâche C commence à la position SPA1 de la région de pile (à
l'instant t6 sur la figure 9).
La figure 8 est un organigramme montrant l'intégralité de la routine
de traitement d'interruption. Quand le traitement d'interruption com-
mence, la valeur du pointeur de pile, enregistrée dans la région de ges-
tion de pointeur de pile pour le traitement d'interruption, passe tout
d'abord à la valeur SPA1 ou la valeur courante du pointeur de pile (c'est-
à-dire la valeur du pointeur de pile à l'instant o le traitement est inter-
rompu) (Etape 141). Ensuite, le pointeur de pile est déplacé vers la posi-
tion SPI0 de la région de pile pour le traitement d'interruption (Etape
142) de façon que le traitement d'interruption soit effectué (Etape 143).
De plus, quand le traitement d'interruption est achevé, le pointeur de pile
passe à la valeur SPA1 ou la valeur du pointeur de pile qui est enregis-
trée dans la région de gestion de pointeur de pile pour le traitement d'interruption (Etape 144). Ensuite, la routine de changement de tâche
est appelée de façon que la tâche B soit lancée (Etape 145).
Sur la figure 8, les étapes de ce mode de réalisation qui sont ajoutées à une architecture de commande classique, sont les étapes 141, 142 et 144. Dans ce mode de réalisation, comme on l'a décrit en détail, l'interruption est traitée, si elle survient pendant que la tâche A est en cours de traitement, par la région de pile réservée qui est établie à
l'avance. Ceci s'applique de façon similaire au cas o l'interruption sur-
vient pendant que la tâche B ou la tâche C est en cours de traitement.
Ainsi, les tailles des régions de pile pour les tâches individuelles
A - C peuvent être fixées aux valeurs nécessaires pour traiter les tâches.
De plus, la taille de la région de gestion de pointeur de pile est tellement petite que la taille de la mémoire vive 313 est déterminée par le total les
tailles des régions de pile pour les tâches individuelles A - C et le traite-
ment d'interruption. En d'autres termes, la taille de la mémoire vive 313 peut être fixée au total des tailles nécessaires pour traiter les tâches
individuelles A - C et de la taille nécessaire au traitement d'interruption.
Dans un cas o la taille nécessaire pour traiter la tâche A est de 400 octets, la taille nécessaire pour traiter la tâche B est de 300 octets, la taille nécessaire pour traiter la tâche C est de 500 octets, et la taille nécessaire pour le traitement d'interruption est de 100 octets, la taille de la mémoire vive peut avoir la valeur totale de 1300 (400 + 300 + 500 +
) octets.
Cependant, dans l'art antérieur représenté sur la figure 10, la taille de la mémoire vive dans des conditions identiques devait être de 1500
octets. Par conséquent, avec ce mode de réalisation, la taille de la mé-
moire vive 313 peut être diminuée de 200 (1500 - 1300) octets par rap-
port à celle de l'art antérieur.
De plus, dans l'unité de commande électronique 30 pour comman-
der le moteur de l'automobile, il y a une limite a la taille de la mémoire
vive 313 qui peut être incorporée. Cependant, avec le mode de réalisa-
tion présent, la taille de la mémoire vive 313 peut être réduite afin de procurer une mémoire vive de petite taille et peu coûteuse pour l'unité de
commande électronique 30.
Il va de soi que de nombreuses modifications peuvent être appor-
tées au procédé et au dispositif décrits à titre d'exemple non limitatif,
sans sortir du cadre de l'invention.
Claims (20)
1. Procédé pour commander des tâches effectuées par un sys-
tème d'exploitation, caractérisé en ce qu'il comprend: l'établissement
d'une interruption (SPIO) pour interrompre l'une quelconque d'une multi-
plicité de taches individuelles, en ayant une priorité supérieure à des priorités établies des tâches individuelles; I'établissement d'une région de pile (313a) à titre de région active pour traiter les taches individuelles
(SPA0, SPB0, SPC0) et l'interruption (SPI0) dans une mémoire accessi-
ble en écriture et en lecture (313), et avec une taille nécessaire pour traiter les taches individuelles et conformément à un nombre de tâches; et l'établissement d'une région (313b) pour l'interruption, séparée de la
région de pile (313a) dans la mémoire accessible en écriture et en lec-
ture.
2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend en outre: I'établissement d'une région de gestion de pointeur
de pile (313c) dans la mémoire (313) pour chacune des tâches indivi-
duelles (SPA0, SPB0, SPC0) et l'interruption (SPI0); la mémorisation d'une valeur d'un pointeur de pile dans la région de gestion de pointeur
de pile pour une tâche qui est en cours de traitement lorsque le traite-
ment est interrompu (141); et le déplacement du pointeur de pile vers la
région de pile pour l'interruption, pour exécuter l'interruption (142).
3. Procédé selon la revendication 2, caractérisé en ce qu'il comprend en outre: le déplacement du pointeur de pile vers la valeur
mémorisée dans la région de gestion de pointeur de pile lorsque l'inter-
ruption est terminée (144); et l'appel d'une routine de changement de tâche établie dans le système d'exploitation, pour commencer une tâche
prédefinie (145).
4. Procédé selon la revendication 3, caractérisé en ce que l'ap-
pel comprend l'appel d'une nouvelle des tâches individuelles à effectuer
(145).
5. Procédé selon la revendication 3, caractérisé en ce que l'ap-
pel comprend l'appel de la tâche qui était en cours de traitement avant
que la mémorisation ne soit effectuée (145).
6. Procédé selon la revendication 1, caractérisé en ce qu'il
comprend en outre la synchronisation de chacune des tâches individuel-
les en employant soit une synchronisation avec le temps, soit une syn-
chronisation avec la rotation d'un vilebrequin.
7. Procédé selon la revendication 1, caractérisé en ce qu'il est
prévu pour un système d'exploitation multitâche.
8. Procédé selon la revendication 1, caractérisé en ce qu'il est
prévu pour un système d'exploitation en temps réel.
9. Procédé selon la revendication 1, caractérisé en ce qu'il est destiné à commander le fonctionnement d'un moteur de véhicule, et les
tâches individuelles consistent en une ou plusieurs des suivantes: com-
mande de papillon d'accélérateur du moteur, commande d'injection de
carburant et commande du débit d'air d'admission du moteur au ralenti.
10. Mémoire de système d'exploitation, caractérisée en ce qu'elle comprend: une première région de pile (313a) pour traiter des tâches individuelles et une interruption, et ayant une taille nécessaire pour traiter les tâches individuelles et en conformité avec un nombre des tâches individuelles; et une seconde région de pile (313b), indépendante
de la première région de pile, pour traiter une interruption pour interrom-
pre les tâches individuelles, I'interruption ayant une priorité supérieure à
des priorités établies des tâches individuelles.
11. Mémoire de système d'exploitation selon la revendication , caractérisée en ce que la première région de pile (313a) comprend une multiplicité de sous-régions, chacune d'elles étant dimensionnée
pour traiter l'une correspondante des tâches individuelles.
12. Mémoire de système d'exploitation selon la revendication , caractérisée en ce qu'elle comprend en outre une région de gestion de pointeur de pile (313c) pour mémoriser et gérer un pointeur de pile indiquant une adresse dans l'une des première et seconde régions, pour
traiter les tâches individuelles et l'interruption.
13. Mémoire de système d'exploitation selon la revendication
, caractérisée en ce que le système d'exploitation est un système d'ex-
ploitation multitâche ou un système d'exploitation en temps réel.
14. Mémoire de système d'exploitation selon la revendication
12, caractérisée en ce que le système d'exploitation est destiné à com-
mander le fonctionnement d'un moteur de véhicule, et les tâches individuelles consistent en une ou plusieurs des suivantes: commande de papillon d'accélérateur du moteur, commande d'injection de carburant et
commande du débit d'air d'admission au ralenti.
15. Mémoire de système d'exploitation selon la revendication 10, caractérisée en ce qu'elle comprend en outre une unité de commande (30) pour exécuter une commande de tâche des tâches individuelles et de l'interruption, et un support d'enregistrement (313) en communication avec l'unité de commande, le support d'enregistrement (313) contenant un programme enregistré pour déclencher l'exécution de la commande de
tâche par l'unité de commande.
16. Procédé pour commander un véhicule à moteur, caractérisé en ce qu'il comprend: I'établissement d'une première région (313a) pour traiter des tâches individuelles (SPA0, SPBO, SPC0) dans une mémoire accessible en écriture et en lecture, et avec une taille nécessaire pour traiter les taches individuelles et conformément à un nombre de tâches,
d'une seconde région (313b) pour une interruption (SPI0) pour interrom-
pre une multiplicité de tâches individuelles (SPA0, SPB0, SPC0) en ayant la priorité la plus élevée, et d'une région de gestion de pointeur de pile (313c) pour chacune des taches individuelles (SPA0, SPB0, SPC0) et pour l'interruption (SPIO); la mémorisation d'une valeur d'un pointeur de pile dans la région de gestion de pointeur de pile, pour une tâche qui est
en cours de traitement lorsque la tâche est interrompue (141); le dépla-
cement du pointeur de pile vers une région de pile de traitement d'inter-
ruption pour effectuer le traitement d'interruption (142); et le déplace-
ment en retour du pointeur de pile à la valeur mémorisée dans la région de gestion de pointeur de pile, lorsque le traitement d'interruption est
terminé (144).
17. Procédé selon la revendication 16, caractérisé en ce qu'il comprend en outre l'appel d'une routine de changement de tâche établie dans le système d'exploitation, pour faire démarrer une tâche préétablie, après le déplacement en retour du pointeur vers la valeur mémorisée
dans la région de gestion de pointeur de pile (145).
18. Procédé selon la revendication 17, caractérisé en ce que
l'appel comprend l'appel d'une nouvelle des tâches individuelles à effec-
tuer (145).
19. Procédé selon la revendication 17, caractérisé en ce que
l'appel comprend l'appel de la tâche qui était traitée avant que la mémo-
risation soit effectuée (145).
20. Procédé selon la revendication 16, caractérisé en ce qu'il
comprend en outre la synchronisation de chacune des taches individuel-
les en employant une synchronisation avec le temps ou une synchronisa-
tion avec la rotation d'un vilebrequin.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10217608A JP2000047883A (ja) | 1998-07-31 | 1998-07-31 | タスク制御方法および記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2781897A1 true FR2781897A1 (fr) | 2000-02-04 |
FR2781897B1 FR2781897B1 (fr) | 2003-02-14 |
Family
ID=16706966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9909660A Expired - Fee Related FR2781897B1 (fr) | 1998-07-31 | 1999-07-26 | Procede de commande de taches effectuees par un systeme d'exploitation, pour la commande d'un moteur de vehicule |
Country Status (4)
Country | Link |
---|---|
US (1) | US6240358B1 (fr) |
JP (1) | JP2000047883A (fr) |
DE (1) | DE19935878A1 (fr) |
FR (1) | FR2781897B1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1281948A1 (fr) * | 2001-08-03 | 2003-02-05 | Drecq Daniel Technologies D 2 T | Programme informatique de contrôle et de commande pour banc d'essai |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3578082B2 (ja) * | 2000-12-20 | 2004-10-20 | 株式会社デンソー | 処理実行装置及び記録媒体 |
WO2003033895A1 (fr) * | 2001-10-12 | 2003-04-24 | Hitachi,Ltd. | Dispositif de commande pour automobile |
KR100434147B1 (ko) * | 2002-03-04 | 2004-06-04 | 엘지산전 주식회사 | 피엘씨의 태스크 제어방법 |
JP3812740B2 (ja) * | 2002-07-15 | 2006-08-23 | 三菱電機株式会社 | 内燃機関の制御量演算装置 |
GB2392515B (en) * | 2002-08-28 | 2005-08-17 | Livedevices Ltd | Improvements relating to stack usage in computer-related operating systems |
US6880047B2 (en) * | 2003-03-28 | 2005-04-12 | Emulex Design & Manufacturing Corporation | Local emulation of data RAM utilizing write-through cache hardware within a CPU module |
US6912610B2 (en) * | 2003-03-28 | 2005-06-28 | Emulex Design & Manufacturing Corporation | Hardware assisted firmware task scheduling and management |
US7152145B2 (en) * | 2003-04-23 | 2006-12-19 | Hoseotelnet Co. Ltd. | Method for optimizing system performance by transferring a stack in a real time operating system |
US7058735B2 (en) * | 2003-06-02 | 2006-06-06 | Emulex Design & Manufacturing Corporation | Method and apparatus for local and distributed data memory access (“DMA”) control |
JP2005050208A (ja) * | 2003-07-30 | 2005-02-24 | Matsushita Electric Ind Co Ltd | マルチタスクシステムにおけるメモリ管理方式およびタスク制御装置 |
JP4066961B2 (ja) * | 2004-02-18 | 2008-03-26 | トヨタ自動車株式会社 | 内燃機関の制御装置 |
FR2869991B1 (fr) * | 2004-05-07 | 2006-06-23 | Inst Francais Du Petrole | Procede et systeme pour le pilotage continu de moteur a combustion interne sur banc d'essais moteur |
FR2869992B1 (fr) * | 2004-05-07 | 2006-06-23 | Inst Francais Du Petrole | Procede et systeme pour le pilotage universel de moteur a combustion interne sur banc d'essais moteur |
KR100777446B1 (ko) * | 2005-05-25 | 2007-11-21 | 삼성전자주식회사 | 전자장치 및 그 부팅방법 |
US9037152B1 (en) * | 2005-11-12 | 2015-05-19 | Alberto Herrera | Small footprint real-time operating system for reactive systems |
JP4770602B2 (ja) | 2006-06-23 | 2011-09-14 | 株式会社デンソー | 電子機器 |
US9726392B2 (en) | 2006-06-29 | 2017-08-08 | Honeywell International Inc. | Generic user interface system |
US8214832B2 (en) * | 2007-09-19 | 2012-07-03 | International Business Machines Corporation | Techniques for implementing separation of duties using prime numbers |
CN108287509A (zh) * | 2018-02-27 | 2018-07-17 | 上海瑞华(集团)有限公司 | 一种无人驾驶纯电动船的功能参数自动修整***装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3665415A (en) * | 1970-04-29 | 1972-05-23 | Honeywell Inf Systems | Data processing system with program interrupt priority apparatus utilizing working store for multiplexing interrupt requests |
US3710324A (en) * | 1970-04-01 | 1973-01-09 | Digital Equipment Corp | Data processing system |
US3740722A (en) * | 1970-07-02 | 1973-06-19 | Modicon Corp | Digital computer |
US3828324A (en) * | 1973-01-02 | 1974-08-06 | Burroughs Corp | Fail-soft interrupt system for a data processing system |
US4575817A (en) * | 1983-06-27 | 1986-03-11 | International Business Machines Corporation | Switching of programming routine supporting storage stacks |
US4636944A (en) * | 1984-01-17 | 1987-01-13 | Concurrent Computer Corporation | Multi-level priority micro-interrupt controller |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5161226A (en) * | 1991-05-10 | 1992-11-03 | Jmi Software Consultants Inc. | Microprocessor inverse processor state usage |
EP0636955B1 (fr) | 1993-07-26 | 1998-11-04 | Hitachi, Ltd. | Unité de contrÔle pour véhicule et son système de contrÔle total |
DE19535546B4 (de) * | 1995-09-25 | 2004-04-08 | Siemens Ag | Verfahren zum Betreiben eines durch ein Realzeit-Betriebssystem gesteuerten Realzeit-Computersystems |
-
1998
- 1998-07-31 JP JP10217608A patent/JP2000047883A/ja active Pending
-
1999
- 1999-07-08 US US09/349,116 patent/US6240358B1/en not_active Expired - Fee Related
- 1999-07-26 FR FR9909660A patent/FR2781897B1/fr not_active Expired - Fee Related
- 1999-07-30 DE DE19935878A patent/DE19935878A1/de not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3710324A (en) * | 1970-04-01 | 1973-01-09 | Digital Equipment Corp | Data processing system |
US3665415A (en) * | 1970-04-29 | 1972-05-23 | Honeywell Inf Systems | Data processing system with program interrupt priority apparatus utilizing working store for multiplexing interrupt requests |
US3740722A (en) * | 1970-07-02 | 1973-06-19 | Modicon Corp | Digital computer |
US3828324A (en) * | 1973-01-02 | 1974-08-06 | Burroughs Corp | Fail-soft interrupt system for a data processing system |
US4575817A (en) * | 1983-06-27 | 1986-03-11 | International Business Machines Corporation | Switching of programming routine supporting storage stacks |
US4636944A (en) * | 1984-01-17 | 1987-01-13 | Concurrent Computer Corporation | Multi-level priority micro-interrupt controller |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1281948A1 (fr) * | 2001-08-03 | 2003-02-05 | Drecq Daniel Technologies D 2 T | Programme informatique de contrôle et de commande pour banc d'essai |
Also Published As
Publication number | Publication date |
---|---|
DE19935878A1 (de) | 2000-03-02 |
JP2000047883A (ja) | 2000-02-18 |
US6240358B1 (en) | 2001-05-29 |
FR2781897B1 (fr) | 2003-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2781897A1 (fr) | Procede de commande de taches effectuees par un systeme d'exploitation, pour la commande d'un moteur de vehicule | |
FR2769048A1 (fr) | Procede pour demarrer un moteur a combustion interne, notamment d'un vehicule automobile et vehicule automobile appliquant ce procede | |
FR2846055A1 (fr) | Systeme de commande de demarrage d'un moteur a combustion interne et son procede de commande de demarrage | |
FR2905987A1 (fr) | Dispositif et procede de gestion d'un moteur a combustion interne | |
FR2835016A1 (fr) | Unite de commande de soupape electromagnetique d'un moteur a combustion interne | |
FR2851303A1 (fr) | Procede et dispositif de demarrage d'un moteur a combustion interne | |
FR2864839A1 (fr) | Procede et dispositif de gestion d'un moteur a combustion interne | |
FR2464373A1 (fr) | Methode de regulation des moteurs | |
FR2841599A1 (fr) | Dispositif de distribution de carburant a haute pression pour un moteur a combustion interne et procede pour commander le dispositif | |
FR2822196A1 (fr) | Procede de demarrage sans demarreur d'un moteur a combustion interne a plusieurs cylindres | |
FR2699604A1 (fr) | Procédé de détection de défaut d'étanchéité des injecteurs d'un moteur thermique. | |
EP0101342B1 (fr) | Procédé d'optimisation de l'avance à l'allumage pour moteur à combustion interne | |
FR2528909A1 (fr) | Procede de commande du fonctionnement d'un moteur a combustion interne au demarrage | |
FR2811714A1 (fr) | Procede et appareil ameliore de transition de forme d'onde pour systeme a injections multiples | |
EP0127510B1 (fr) | Procédé de coupure de l'injection de carburant pendant les phases de décélération d'un moteur à combustion interne | |
EP0102273A1 (fr) | Dispositif de commande de l'allumage et de l'injection de combustible pour un moteur à combustion interne | |
US7027907B2 (en) | Sequence scheduling control for a fuel injected engine | |
FR2548272A1 (fr) | Procede de commande d'injection de combustible a l'acceleration d'un moteur a combustion interne a plusieurs cylindres du type a injection sequentielle | |
FR2778785A1 (fr) | Procede et dispositif pour commander un utilisateur electromagnetique | |
FR2858666A1 (fr) | Procede de demarrage d'un moteur a combustion interne a plusieurs cylindres | |
EP0202136A1 (fr) | Procédé et dispositif de limitation du régime d'un moteur à combustion interne à allumage électronique | |
EP0029374B1 (fr) | Générateur de signal de correction d'angle d'avance à l'allumage sous l'action de cliquetis | |
FR2527691A1 (fr) | Procede permettant de commander les dispositifs de commande de moteurs a combustion interne immediatement apres la fin d'une coupure de carburant | |
FR2861134A1 (fr) | Procede de gestion d'un moteur a combustion interne et appareil de commande pour la mise en oeuvre du procede | |
FR2854925A1 (fr) | Procede de demarrage d'un moteur a combustion interne notamment d'un vehicule automobile |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20060331 |