FR 2465095 A1 19810320 FR 8019473 A 19800909 Il est connu que les moteurs à combustion interne équipant actuellement les véhicules automobiles sont alimentés avec des mélanges assez pauvres et que, pour les moteurs du futur, l'adoption de mélanges de plus en plus pauvres est prévisible en vue de réduire la consommation de carburant et c mihimiser la teneur en polluants imbrOlés dans les gaz d'échappement. Des moteurs alimentés avec des mélanges pauvres fonctionnent cependant dans des conditions plus critiques O10 que des moteurs alimentés avec un mélange stoechiométrique ou même riche, et des erreurs possibles relatives au dosage du carburant peuvent affecter l'inflammabilité du mélange; ces moteurs demandent d'autre part des dispositifs d'allumage capables de faire éclater entre les électrodes des bougies des arcs d'intensité et de durée appropriées, avec une avance à l'allumage précise, pour éviter des combustibns partielles ou même des défauts d'allumage du mélange. Afin de pouvoir satisfaire ces conditions, l'adoption de dispositifs de commande et de régulation du type électronique se développe de plus en plus. Les systèmes électroniques les plus récents destinés à assurer la régulation de l1allmentation ei carbyrait. À s / caoee assoc ee a une ogi que et à gouverner l'allumage sont du type -lgiq7/n'umérique à microprocesseur, ou encore exclusivement à logique numérique à microprocesseur. Dans le premier type, les fonctions de formation des temps relatifs aux grandeurs soumises à régulation (phase d'injection et phase d'allumage) et aux étages de puissance de sortie sont réalisées en logique câblée, tandis que la quantitication des grandeurs soumises à régulation (durée de l'injection ou de l'allumage et avance à l'allumage) est obtenue par la mise en oeuvre de techniques numériques qui exigent le calcul de fonctions et l'analyse de données enregistrées, au moyen d'un microprocesseur programmé à cet effet. Dans les systèmes du second type, seuls les étages de puissance de sortie sont réalisés en logique câblée, tandis que les fonctions de formation ès temps ou de cadcencement (timing) et de quantification des grandeurs soumises à régulation sont toutes exécutées par un microprocesseur convenablement programmé. Dans les systèmes du premier type cité, il est relativement simple de modifier la quantification des grandeurs soumises à régulation pour modifier le fonction- nement de l'installation conformément aux exigences du moteur, si les relations temporelles estent inchangées, car une variation de cellescizdemande en général une révision substantielle de la conception de la logique câblée. Les systèmes entièrement réalisés au moyen d'une unité numérique à microprocesseur offrent une extrtme souplesse, car il est possible d'ajuster à la fois les temps enIa quantification des grandeurs soumise à régulation en modifiant le programme du microprocesseur. Au surplus, du point de vue de la fiabilité et de la sécurité de fonction- nement, les systèmes à microprocesseur offrent le maximum de garantie, car le nombre de composants qu'ils comportent est extrêmement petit. Egalement du point de vue des cots, de tels systèmes se révèlent.tre les moins chers, car l'adoption des technologies à haute intégration dans la fabrication des microprocesseurs réduit considérablement les coûts d'assemblage et de production. La présente invention a tout d'abord pour but de fournir un agencement électronique de commande et de régu- lation de l'angle d'avance à l'allumage d'un moteur à combustion interne, fondé sur l'utilisation d'un microproces- seur programmé pour l'exécution de séquences de fonctionnement prédéterminées qui, à chaque cycle de calcul, permettent de déduire de données d'entrée, composées de paramètres fonc- tionnels du moteur prédétermins les données de sortie qui sont composées des grandeurs soumises à régulation, c'est-à- dire la quantification (durée) et la formation des temps (phase) de l'avance à l'allumage. Un autre but de la présente invention est de fournir un agencement de commande et de régulation offrant une précision, une fiabilité et une rapidité de réponse onvenant aux performances élevées demandées aux moteurs coorresDpondarnt At7/i Icemps d'exécution des processus internes à ceux-ci. Un autre but de la présente invention est de fournir un agencement de commande et de régulation conduisant à des cots de production avantageux pour une fabrication en série. L'agencement de commande et de régulation de l'avance à l'allumage selon l'invention et destiné au dis- positif d'allumage d'un moteur à combustion interne équipé de bougies d'allumage, de moyens de distribution de haute tension auxdites bougies suivant la séquence d'explosion, de moyens de génération de haute tension, et au moins d'un étage de puissance attaquant lesdits moyens de génération. Selon l'invention, cet agencement comprend un premier détec- teur d'un premier paramètre fonctionnel du moteur, capable de délivrer en un nombre discret les valeurs prises par ledit paramètre, chacune desdites valeurs étant composées d'un nom- bre prédéterminé de chiffres binaires (bits), un second détecteur d'un second paramètre fonctionnel du moteurcapablede les vaer ras par eutparanmetrMa/ dhvrer..nunnom Ix drchacune desdites valeurs étant composée d'un nombre prédéterminé de bits, chaque couple de valeurs du premier et du second paramètre définissant des conditions particulières de fonctionnement du moteur, au moins un troisième détecteur d'une température de fonctionnement du moteur, capable de délivrer en un nombre discret les valeurs prises par ladite température, chacune desdites valeurs étant composée d'un nombre prédéterminé de bits, un premier 4nérateur dtimpulsions fonctionnellement relié à l'arbre principal et capable de délivrer à chaque tour du moteur un signal pulsa- toire composé d'un nombre d'impulsions égal au nombre d'allumages devant avoir lieu sur un tour du moteur, chacune desdites impulsions ayant une relation angulaire de phase prédéterminée par rapport au point mort haut, un second générateur d'impulsions relié fonctionnellement à un arbre tournant à une vitesse égale à la moitié de la viteme de l'arbre principal et capable de délivrer une impulsion de base convenable à chaque cycle du moteur, au moins un temporisateur ou compte-temps ayant une capacité de comptage en rapport avec la précision désirée, une unité centrale à microprocesseur (CPU), une mémoire à lecture et écriture (RAM), une mémoire à lecture seulement ou mémoire morte (ROM) contenant les programmes de calcul du microprocesseur, l'ensemble des valeurs de consigne d'avance à l'allumage du moteur en fonction des deux paramètres fonctionnels précités du moteur et l'ensemble des valeurs de correction de l'avance à l'allumage en fonction de la température de fonctionnement du moteur, les cellules de la mémoire (ROM) relatives à l'ensemble des valeursde consigne d'avance à l'allumage contenant chacune un élément d'information composé d'un nombre prédéterminé de bits, dont la valeur est une fonction de l'ane d'avance à l'allumage d'une bougie par rapport au point mort haut dans les conditions de fonctionnement définies par un couple de valeurs desdeux paramètres fonctionnels du moteur précité8,tous les autres paramètres fonctionnels du moteur étant considérés comme constants, le nombre de cellules de mémoire étant égal au nombre des combinaisons possibles des valeurs prises par un nombre prédéterminé des bits de plus fort poids du premier paramètre de fonctionnement du moteur et des valeurs prises par un nombre prédéterminé des bits de plus fort poids du second paramètre de fonctionnement du moteur, les cellules de ladite mémoire (ROM) relative à l'ensemble des valeurs de correction de l'avance à l'allumage contenant chacune un élément d'information dont la valeur est le coefficient de correction d'avance à l'allumage en fonction des valeurs prises par ladite température de fonction- nement du moteur, ledit microprocesseur central étant programmé _n0 - pour engendrer une adresse de la mémoire morte (ROM), consistant en la combinaison dudit nombre prédéterminé des premiers bits de plus fort poids de la valeur numérique prise par ledit premier paramètre de fonctionnement du moteur et du nombre prédéterminé des premiers bits de plus fort poids de la valeur numérique prise par le second paramètre de fonctionnement du moteur; - pour identifier par ladite adresse la cellule de la mémoire morte dans laquelle est contenue une première-infor- mation d'angle d'avance; - pour identifier dans ladite mémoire morte, en plus de ladite première information d'angle d'avance, trois éléments additionnels d'information d'angle d'avance, chacun d'eux correspondant au contenu de cellules de mémoire situées dans un domaine prédéterminé autour de ladite adresse, chacune des trois cellules étant identifiée par addition algébrique de constantes prédéterminées à ladite adresse; - pour obtenir, à partir des quatre éléments d'informa- tion précités d'angle d'avance à l'allumage, une information d'angle d'avance calculée par un processus itératif d'inter- polation, le module fonci onnel élémentaire correspondant utilisant un nombre prédéterminé des bits de plus faible poids de chacun des deux paramètre de fonctionnement du moteur précités; - pour identifier dans ladite mémoire morte la cellule contenant le coefficient de correction correspondant à la- température de fonctionnement du moteur, et pour utiliser ledit coefficicient de correction pour modifier, conformément à une procédure prédéterminée, ladite information calculée d'angle d'avance; - pour calculer, à partir de l'information d'angle d'avance à l'allumage par rapport au point mort haut, après correction de température, l'information de temps de retard par rapport à une première impulsion délivrée par ledit générateur, ladite information de temps de retard étant exprimée sous la forme d'un nombre dtimpulsions de fréquence constante; - pour identifier la bougie sur laquelle l'étincelle doit éclater, par l'intermédiaire du signal pulsatoire délivré par ledit premier générateur d'impulsions; pour dalencher le fonctionnement de l'étage de commande du générateur de haute tension de ladite bougie, de sorte que ce générateur puisse commencer à emmagasiner de l'élec- tricité, l'instant d'activation dudit étage étant déterminé par l'intermédiaire du signal pulsatoire délivré par ledit premier générateur; - pour commander la désactivation dudit étage de commande, de manière à faire éclater l'étincelle sur ladite bougie, en fonction dudit temps de retard, en utilisant ledit compte- temps. Plus particulièrement, le micropresseur peut être programmé: - pour déterminer la durée d'activation dudit étage de commande en chargeant ledit compte-temps du nombre d'impul- sions précité qui représente. le temps de retard; - pour commander, à l'achèvement du comptage dudit compte-temps, la désactivation dudit étage de commande du générateur de haute tension de ladite bougie, de sorte que la bougie délivre son étincelle. Dans le cas o le générateur de haute tension nécessite une commande du temps d'emmagasinage du courant, le microprocesseur est programmé: - pour recevoir, sous la forme d'un nombre d'impulsions de fréquence constante, le temps d'emmagasinage du cycle précédent et pour corriger celui-ci conformément au niveau de puissance atteint par le générateur de haute tension toujours dans le cycle précédent; - pour charger ledit comptetemps d'un nombre d'impulsions égal à celui du temps de retard diminué du nombre d'impulsions correspondant au temps d'emmagasinage de courant, et pour commander ledit compte-temps de manière qu'il exécute un premier comptage par l'intermédiaire du signal pulsatoire délivré par ledit premier générateur; - pour commander, à l'achèvement dudit premier comptage par ledit compte-temps, l'activation de l'étage de commande du générateur de haute tension de ladite bougie, de sorte que ce générateur commence à emmagasiner du courant; - pour charger ledit compte-temps d'un nombre d'impulsions égal à celui du temps d'emmagasinage de courant et pour commander celui-ci de manière qu'il exécute une seconde période de comptage; - pour commander, à l'achèvement de ladite seconde période de comptage du compte-temps, la désactivation de ltétage de commande du générateur de haute tension de ladite bougie, de manière à obtenir l'étincelle sur ladite bougie. De préférence, le microprocesseur est programmé - pour calculer le nombre d'impulsions de fréquence 7, constante qui représente le temps de retard en fonction de l'information d'angle d'avance à l'allumage par rapport au point mort haut, après correction de température, et le nombre d'impulsions de fréquence constante totalisé dans la période de temps qui s'écoule entre ladite première impulsion et l'impulsion immédiatement précédente délivrée par ledit premier générateur; - pour convertir ledit angle d'avance à l'allumage par rapport au point mort haut en un angle de retard par rapport à l'impulsion qui précède immédiatement ledit point mort haut par addition d'une constante prédéterminée audit angle d'avance à l'allumage; - pour diviser ledit angle de retard par l'angle de rotation du moteur compris entre ladite première impulsion et l'impulsion immédiatement précédente, pour obtenir un coefficient sans dimensions; pour multiplier ledit coefficient par ledit nombre d'impulsions de fréquence constante totalisé dans la période de temps qui s'écoule entre la première impulsion et leim- pulsion immédiatement précédente délivrée par le premier générateur. La description qui va suivre, en regard du dessin annexé à titre d'exemple non limitatif, permettra de bien comprendre comment la présente invention peut être mise en pratique. La figure unique représente un diagramme schématique illustrant une forme d'exécution préférée de l'invention. L'agencement de commande et de régulation de l'avance à ltallumage représenté est destiné à un moteur à combustion interne à quatre cylindres et à quatre temps. On a indiqué en 10, 11, 12, 13 les bougies d'allumage et en 14, 15, 16, 17 les moyens de génération de haute tension pour lesdites bougies. On aieprésenté en 18 un détecteur d'un paramètre fonctionnel du moteur, savoir dans le présent exemple la vitesse-de rotation du moteur, lequel peut être par exemple du genre décrit dans les demandes de brevet français no 78/06 119 et 79/20 283 au nom de la demanderesse. Le détecteur 18 est capable - - de délivrer via une interface 19 un signal pulsatoire dont la période varie en proportion de la vitesse de rotation du moteur. L'interface 19, qui est reliée par une connexion 41 à une ligne d'interconnexion multiple 20, permet, à l'instant d'apparition de chaque impulsion en provenance du détecteur 18, d'interrompre le programme principal pour rendre possible le déroulement d'un premier programme auxiliaire qui commande le fonctionnement d'un compteur 21. Le microprocesseur _6, utilisant le compteur 21, détecte une telle période et délivre en un nombre discret les valeurs prises par la vitesse de rotation dans le domaine de fonctionnement du moteur; ces valeurs sont exprimées par huit chiffres binaires (bits). On a indiqué en 22 un détecteur d'un autre paramètre fonctionnel du moteur, dans le présent exemple l'angle du papillon qui règle l'admission d'air dans le moteur. Le détecteur 22 est capable de délivrer en un nombre discret les valeurs prises par l'angle du papillon sur toute la course de celui-ci: ces valeurs sont exprimées par huit bits. Le détecteur 22 est relié via une interface 2_ et une connexion 42 à la ligne d'interconnexion multiple (bus) 20. Chaque condition de fonctionnement du moteur est identifiée par un couple de valeurs de la vitesse de rotation et de l'angle du papillon. On a indiqué en 24 un détecteur de la température de l'air aspiré par le moteur et en 26 un détecteur de la température du fluide de refroidissement du moteur, chaque détecteur étant capable de délivrer, via des interfaces 25 et 27, les valeurs prises par les températures respectives: ces valeurs sont exprimées par cinq bits. Des connexions 43 et 44 relient les interfaces 25 et 27 à la ligne d'interconnexion 20. On a indiqué en 28 un générateur d'impulsions fonc- tionnellement relié à l'arbre principal et capable de délivrer à chaque tour du moteur un signal pulsatoire composé d'un nombre d'impulsions égal au nombre d'allumages qui ont lieu à chaque tour du moteur. Dans le cas d'un moteur à quat e y indres et à quatre temps, deux impulsions pour chaque tour/nécessaires, séparées par la période de temps existant entre les allumages de deux cylindres consécutifs dans l'ordre séquentiel d'allu- mage. On a indiqué en 29 une interface qui relie le générateur 28 par une connexion 45 à la ligne 20. Cette inter- face permet, au moment o apparaTt chaque impulsion en prove- nance du générateur 28, d'interrompre le programme principal pour permettre le déroulement d'un second programme auxiliaire de commande du fonctionnement de temporisateurs ou compte-temps 39 et 40; ces derniers dispositifs déterminent la durée du temps d'attente. On a indiqué en 30 un générateur d'impulsions fonc- tionnellement relié à un arbre qui tourne à vitesse moitié de la vitesse de rotation du moteur, et capable d'émettre une impulsion de phase appropriée à chaque cycle du moteur. Une interface 31 et une connexion 46 relient le générateur 30 à la ligne 20. L'interface 31 permet, au moment o apparaissent les impulsions en provenance du générateur 30,d'interrompre le programme principal en vue de lexécution d'un troisième programme auxiliaire qui contrt1e l'exactitude de la phase de l'allumage. Les générateurs de haute tension 14, 15, 16, 17 associés aux bougies 10, 11, 12, 13 sont reliés à la ligne 20 via des interfaces 32, 33, 34, 35 d'adaptation électrique et d'attaque, ainsi que des connexions 47, 48, 49, 50. On a indiqué en 36 une unité centrale à micro- processeur (CPU) qui est reliée via une connexion 51 à la ligne 20, tandis que la référence 37 dédne une mémoire à lecture seule ou mémoire morte (ROM) reliée via une connexion 52 à la ligne 20. On a indiqué en 38 une mémoire à lecture et à écriture ou mémoire vive (RAM) reliée via une connexion 53 à la ligne 20. Les compte-temps 39 et 40 sont reliés via des connexions 54 et 55 et le compteur 21 via une connexion 56 à la ligne 20. La référence 57 désigne le microoaslculateur pris dans son ensemble. Dans la mémoire vive 38 sont introduites de temps en temps les valeurs délivrées par les détecteurs et les valeurs à envoyer aux éléments de commande des bougies; cette mm(efémoire contient également toutes les valeurs intermédiaires engendrées durant le calcul et nécessaires au déroulement des programmes. Dans la mémoire morte 37 sont enregistrés le programme principal, les sous-programmes annexes et les trois programmes auxiliaires utilisés par le microprocesseur 36, l'ensemble des valeurs de consigne définissant la courbe d'avance à l'allumage en fonction de la vitesse de rotation du moteur et en fonction de l'angle du ou des papillons, l'ensemble des valeurs de consigne définissant la courbe de correction de l'avance à l'allumage en fonction de la température de l'air d'admission et l'ensemble des valeurs de correction de l'avance à l'allumage en fonction de la - température du fluide de refroidissement. Dans la mémoire morte 37 peuvent aussi ûtre introduites d'autres lois de correction de l'avance à l'allumage, par exemple en fonction de la pres- sion de l'air ambiant. Les cellules de mémoire relatives à l'ensemble des valeurs de consigne de l'avance à l'allumage contbnnent chacune une information d'angle d'avance àl'allumage par rapport au point mort haut, composée de huit bits, dans les conditions fonctionnelles définies par un couple de valeurs de la vitesse de rotation du moteur et de l'axgle d'un ou de plusieurs papillons, tous les autres paramètres du moteur étant supposés constants. Le nombre de cellules de mémoire est égal au nombre des combinaisons possibles des valeurs prises par les cinq bits de plus fort poids de la vitesse de rotation du moteur et des valeurs prises par les cinq bits de plus fort poids de l'angle ou des angles de papillon. Dans le présent exemple, les cellules de mémoire sont au nombre de 1024, car le nombre de valeurs de vitesse de rotation et le nombre-de valeurs d'angle de papillon pris en considé- ration sont chacun égaux à 32. Les cellules de mémoire relatives à l'ensemble des valeurs de correction de l'angle d'avance à l'allumage contiennent chacune une information dont la valeur, exprimée il par huit bits, représente le coefficient de correction de l'avance à l'allumage en fonction des valeurs prises par la température de l'air d'admission et, respectivement, de la température du fluide de refroidissement du moteur. Le fonctionnement de l'agencement de commande et de régulation décrit cidessus va maintenant être expliqué. Le microprocesseur reçoit en premier lieu les grandeurs qui identifient l'état fonctionnel du moteur. Plus particulièrement, il reçoit du détecteur 22, via l'interface 23, l'angle de papillon et, des détecteurs 24 et 26, via les interfaces 25 et 27, la température de l'air et la température du fluide de refroidissement. La vitesse de rotation est reçue de manière asynchrone par rapport au programme principal, par utili- sation du signal pulsatoire provenant du détecteur 18. Plus particulièrement, en correspondance avec une première impulsion, le microprocesseur 56 exécute les opérations suivantes: - il interrompt le déroulement du programme principal; - il met Qa %r"oe tc ommande le départ du comptage de celui-ci; - - - il commande la reprise du déroulement du programme principal. En correspondance avec une seconde impulsion, le microprocesseur 36 exécute les opérations suivantes: - il interrompt le déroulement du programme principal; - il détecte le nombre d'impulsions totalisé par le compteur 21, le remet à zéro et commande la reprise du comptage de celui-ci; - il convertit le nombre d'impulsions totalisé en une information à huit bits proportionnelle à la vitesse de rotation, conformément à l'algorithme divulgué dans la demande de brevet français n0 79/20 283 déjà citée; - il commande la reprise du déroulement du programme principal. La procédure suivie à partir de la seconde impulsion est répétée pour toutes les impulsions suivantes, de sorte que l'information de vitesse de rotation est remise à jour tous les 1800 de rotation du moteur. Au début du cycle de càlcul de l'avance à l'allu- mage, le microprocesseur 36 forme l'adresse de mémoire en combinant les cinq premiers bits de plus fort poids de la valeur de l'angle de papillon émise par le détecteur 22, et les cinq bits de plus fort poids de la valeur de la viteme de rotation du moteur émise par le détecteur 18. L'adresse à dix bits ainsi obtenue est utilisée par le microprocesseur 36 pour identifier la cellule de la mémoire 37 qui est relative à l'ensemble des valeurs de consigne d'avance à l'allumage et qui contient l'information de l'angle d'avance à l'allumage, c'est-à-dire une valeur '1 proportionnelle à l'angle d'avance à l'allumage. Le microprocesseur 36 identifie aussi dans la mé- moire 37 trois autres cellules qui contiennent les infor- mations d'angle d'avance à l'allumage 92' q" q4. chacune d'elles étant identifiée par addition algébrique de constantes déterminées à l'adresse relative à la première information fi L'adresse de la cellule 8 2 est obtenue en ajoutant une unité à l'adresse de la cellule j. L'adresse de la cellule ô) est obtenue en ajoutant 32 unités à l'adresse de la cellule ' 1, et l'adresse de la cellule q 4 est obtenue en ajoutant 33 unités à l'adresse de la cellule M1 L'u7sg diquées ci-dessus -est une conséquence de la manière suivant laquelle les éléments d'information sont disposés dans la mémoire contenant l'ensemble des valeurs d'avance à l'allumage. Les éléments d'information relatifs à l'angle d'avance à l'allumage pour un angle de papillon constant sont groupés dans des blocs de 32 cellules consécutives, car on a utilisé les cinq bits de plus fort poids de l'angle de papillon pour former les cinq bits de plus fort poids de l'adresse de mémoire. Chacun desdits blocs contient des éléments d'information d'angle d'avance à l'allumage correspondant à des valeurs croissantes de la vitesse de rotation, car on a utilisé les cinq bits de plus fort poids de la vitesse de rotation pour former les cinq bits de plus faible poids de l'adresse de mémoire. Le microprocesseur 36, durant l'exécution de son programme de calcul, forme, à partir des quatre éléments d'information précités relatifs à l'angle d'avance à l'allu- mage yl' 42' 3ï' 4, une information d'angle d'avance à l'allumage calculée, I, par un processus d'interpolation itérative qui, dans le module fonctionnel élémentaire, utilise les trois derniers bits de plus faible poids de la vitesse de rotation et de l'angle de papillon délivrée par les détecteurs 18 et 22. Le module fonctionnel élémentaire est répété O10 tros fois: la première fois, il est appliqué aux valeurs let 1 T2 et permet de calculer une valeur intermédiaire f12' par utilisation des trois bits de plus faible poids de la.vitesse de rotation; la seconde fois, il est appliqué aux valeurs f et P4 et permet de caleuler une valeur intermédiaire 34 par utilisation des trois bits de plus faible poids de la vitesse de rotation; la troisième fois, il est appliqué aux valeurs '1l2 et A3# et permet de calculer la valeur intermédiaire - par utilisation des trois bits de plus faible poids de l'angle dPapillon. L'un des modules fonetionnels élémentaire utilisé consiste en la multiplication d'une première information d'angle d'avance àl'allumage ('1.'-3 ou 12) par le complément à 8 des trois bits de plus faible poids et en la mul- tiplication de la seconde information d'angle d'avance à l'allumage (Y2', 4 ou 1 34) par la valeur des trois bits de plus faible poids; les deux produits ainsi obtenus sont additionnés ensemble et divisés par 8. L'adoption de la procédure d'interpolation décrite permet d'obtenir des éléments d'information dtavance à l'allumage disponibles en nombre égal au nombre de eombinisons possibles des valeurs prises par le nombre de bits de la vitesse de rotation du moteur et des valeurs prises par le nombre de bits de l'angle de papillon, en utilisant une mémoire morte de moindre capacité, égale à 1/64 de la capacité qui serait nécessaire pour enregistrer toutes les combinaisons. La valeur de la température de l'air (cinq bits) obtenue au moyen du détecteur 24 est utilisée par le microprocesseur pour adremr un tableau de 32 valeurs contenu dans la mémoire morte: les cellules de ce tableau contiennent les coefficientsde correction de l'avance à l'allumage, cal- culée en fonction de la température. Ainsi est déterminé le coefficient de correction relatif à la température de l'air CTA' Par une procédure similaire est déterminé le coefficient relatif à la température du fluide de refroidis- sement (eau) CrM. Le microprocesseur central 36 effectue la correction en multipliant la valeur calculée - par la somme des divers coefficients de correction et en ajoutant l'augmentation de valeur ainsi obtenue à la valeurs; ainsi est obtenue une valeur corrigée 9 c de l'angle d'avance à l'allumage. Pour simplifier la multiplication, les coefficients précités sont exprimés en pourcentage sur une base de 128. Le microprocesseur-36 utilise l'information d'a4e d'avance à l'allumagel c pour calculer une information de temps de retard tr par rapport à une première impulsion délivrée par le générateur 28. Cette information de temps de retard est exprimée sous forme d'un nombre d'impulsions de fréquence constante, puisqu'elle est une fonction du nombre d'impulsions de fréquace constante totalisé dans la période de temps écoulé entre ladite première impulsion et l'impulsion immédiatement précédente. L'une des fonctions du microprocesseur qui peut ûtre mise à profit conste -en la transRrmation de l'angle /en un anE e ae retard/ d'avance à l'allumage par rapport au point mort hat par p rapport à l'impulsion délivrée par le générateur 28 immédia- tement avant le point mort haut. Une telle conversion est effectuée en ajoutant une constante prédéterminée K à l'angle d'avance à l'allumage t c. A partir de l'angle de retard q r ainsi'obtenu, on obtient, en le divisant par l'angle de rotation du moteur compris entre ladite première impulsion et l'impulsion immédiatement précédente, un coefficient sans dimensions qui, multiplié par le nombre d'impulsions de fréquence constante totalisé dans la période de temps qui s'écoule entre ladite première impulsion et l'impulsion immédiatement précédente, constitue le nombre d'impulsions de fréquence constante qui représente ledit temps de retard tr* Le calcul dudit temps de retard est réalisé continuellement par le microprocesseur 36 de manière asynchrone par rapport aux signaux de cadencement délivrée par logénérateurs28 et 30. L'information de temps de retard est de toute façon remise à Jour au moins une fois dans la période de temps s'écoulant entre deux demandes d'allumage consécutives. Le dadencement et la formation des temps de l'avance à l'allumage sont commandés par le microprocesseur 36 par l'exécution de programmes auxiliaires associés aux demandes d'interruption en provenance des générateurs 28 et 30. En correspondance avec chaque impulsion provenant du générateur 28, le microprocesseur exécute les opérations suivantes: - il interrompt le programme principal; - il identifie la bougie dans laquelle doit éclater l'étincelle; ceci est obtenu grâce au fait que le micro- processeur maintient un comptage des impulsions provenant dudit générateur 28 et efface ledit comptage en correspon- dance avec l'impulsion provenant du générateur 30; - il active l'étage de commande du générateur de haute tension associé à la bougie en cause, de sorte que ce générateur peut commencer à emmagasiner de l'électricité; il prérègle un compte-temps 39 ou 40 de sorte que celui-ci compte le nombre d'impulsions définies par le programme principal et représentant le temps de retard; - il commande le compte-temps ainsi preréglé de manière que celui-ci effectue le comptage, et - il commande la reprise du déroulement du programme principal. Dès que le compte-temps présélectionné achève le comptage, le microprocesseur exécute les opérations suivantes il interrompt le déroulement du programme principal; - il désactive l'étage de commande du générateur de haute tension de la bougie en cause de manière à déclencher l'étincelle sur cette bougie, et - il commande la reprise du déroulement du programme principal. Au cas o il est nécessaire de commander le temps d'emmagasinage d'électricité des générateurs de haute tensin de manière à mieux exploiter les caractéristiques de puissance de ceux-ci, l'agencement de commande et de régulation selon l'invention est capable d'effectuer ces fonctions comme suit en correspondance avec chaque impulsion provenant du générateur 28, le microprocesseur effectue les opérations suivantes - il interrompt le programme principal; - il identifie la bougie sur laquelle doit être produite l'étincelle, comme décrit ci-dessus; - il prérègle un compte-temps de telle manière que celui- ci compte le nombre d'impulsiorségal à celui du temps de retard diminué du nombre d'impulsions correspondant audit temps d'emmagasinage d'électricité; - il commande l'exécution par le compte-temps préréglé d'un premier comptage, et 20. - il commande la reprise du déroulement du programme principal. Dès que le compte-temps présélectionné termine le premier comptage, le microprocesseur exécute les opérations suivantes: il interrompt le programme principal; - i2active ltétage de commande du générateur de haute tension de la bougie en cause de manière que ce générateur puisse commencer à emmagasiner de l'électricité; - il charge ledit compte-temps d'un nombre d'impulsions no égal à celui dudit temps d'emmagasinage d'électricité, c'es- à-dire à celui du reste du temps de retard, et - il commande la reprise du programme principal. Dès que le compte-temps achève ce second comptage, le microprocesseur exécute les opérations suivantes - il interrompt le programme principal; il désactive l'étage de commande du générateur de haute tension de la bougie en cause de manière à faire apparattre une étincelle sur cette bougie, et - il commande la reprise du déroulement du programme principal. La durée d'emmagasinage d'électricité dudit généra- teur de haute tension est détecté par le microprocesseur par lecture du nombre d'impulsions de fréquence constante totalisé dans un compteur entre l'instant du début de l'emmagasinage de l'électricité et'achèvement dudit emmagasinage dans le cycle précédent du moteur et en tenant compte du niveau d'énergie atteint par le générateur & haute tension toujours dans le cycle précédent, pour préparer une correction dudit temps d'emmagasinage détecté de manière à obtenir toujours le maximum d'électricité emmagasinée. Le compteur du temps d'emmagasinage d'électricité peut être le compteur 21 précité sur lequel la lecture peut être faite "au vol", ceest-à-dire sans qu'il soit nécessaire d'arrOter le compteur lui-mQme. L'agencement de commande et de régulation que l'on a décrit est largement indépendant du type de microprocesseur utilisé et des caractéristiques de ses organes périphériques telles que mémoires, compte-temps, interfaces, car la programmation a été étudiée en ayant soin de respecter la plus grande généralité. REVENDICATIONS 1.- Agencement de commande et de régulation de l'avance à l'allumage pour le dispositif d'allumage d'un moteur à combustion interne équipé de bougies d'allumage (10-13), de moyens de distribution de haute tension auxdites bougies suivant la séquence d'explosion, de moyens de géné- ration de haute tension (14-17), et au moins d'un étage de puissance attaquant lesdits moyens de génération, caractérisé par le fait qu'il comprend un premier détecteur (18) d'un premier paramètre fonctionnel du moteur, capable de délivrer en un nombre discret les valeurs prises par ledit paramètre, chacune desdites valeurs étant composées d'un nombre prédé- terminé de chiffres binaires (bits), un second détecteur (22) d'un second paramètre fonctionnel du moteur, capable de délivrer en un nombre discret les valeurs prises par ledit paramètre, chacune desdites valeurs étant composée d'un nombre prédéterminé de bits, chaque couple de valeurs du premier et du second paramètre définissant des conditions particulières de fonctionnement du moteur, au moins un troisième détecteur P4, 26)d'une température de fonctionnement du moteur, capable de délivrer en un nombre discret les valeurs prises par ladite température, chacune desdites valeurs étant composée d'un nombre prédéterminé de bits, un premier générateur d'impulsions(28)fonctionnellement relié à l'arbre principal et capable de délivrer à chaque tour du moteur un signal pulsatoire composé d'un nombre d'impulsions égal au nombre d'allumages devant avoir lieu sur un tourdu moteur, chacune desdites impulsions ayant une relation angulaire de phase prédéterminée par rapport au point mort haut, un second générateur d'impulsions (0)relié fonctionnellement à un arbre tournant à une vitesse égale à la moitié de la vitesse de l'arbre principal et capable de délivrer une impulsion de base convenable à chaque eycle du moteur, au moins un temporisateur ou compte-temps (9, 40) ayant une capacité de comptage en rapport avec la précision désirée, une unité centrale à microprocesseur (CPU) (3Fune mémoire à lecture et écriture (RAM) (38), une mémoire à lecture seulement ou mémoire morte (ROM) (37) contenant les programmes de calcul du microprocesseur, l'ensemble des valeurs de consigne d'avance à l'allumage du moteur en fonction des deux paramètres fonctionnels précités du moteur et l'ensemble des valeurs de correction de l'avance à l'allumage en fonction de la température de fonctionnement du moteur, les cellules de la mémoire (ROM) (37) relatives à l'ensemble des valeurs de consigne d'avance à l'allumage contenant chacune un élément d'information composé d'un nombre prédéterminé de bits, dont la valeur est une fonction de l'angle d'avance à l'allumage d'une bougie par rapport au point mort haut dans les conditions de fonctionnement définies par un couple de valeurs de deux paramètres fonctionnels du moteur précite, tous les autres paramètres fonctionnels du moteur étant considérés comme constants, le nombre de cellules de mémoire étant égal au nombre ds combinaisons possibles des valeurs prises par un nombre prédéterminé des bits de plus fort poids du premier paramètre de fonctionnement du moteur et cs valeurs prises par un nombre prédéterminé des bits de plus fort poids du aecond paramètre de fonctionnement du moteur, les cellules de ladite mémoire (ROM) (37) relative à l'ensemble des valeurs de correction de l'avance à l'allumage contenant chacune un élément d'information dont la valeur est le coefficient de correction d'avance à l'allumage en fonction des valeurs prises par ladite température de fonctionnement du moteur, ledit microprocesseur central (36) étant programmé: - pour engendrer une adresse de la mémoire morte (ROM) (37), consistant en la combinaison dudit nombre prédéterminé des premiers bits de plus fort poids de la valeur numérique prise par ledit premier paramètre de fonctionnement du moteur et du nombre prédéterminé des premiers bits de plus fort poids de la valeur numérique prise par le second paramètre de fonctionnement du moteur; - pour identifier par ladite adresse la cellule de la mémoire morte dans laquelle est contenue une première information d'angle d'avance; - pour identifier dans ladite mémoire morte, en plus de ladite première information d'angle d'avance, trois éléments additionnels d'information d'angle d'avance, chacun daux correspondant au contenu de cellules de mémoire situées dans un domaine prédéterminé autour de ladite adresse, chacune des trois cellules étant identifiée par addition algébrique de constantes prédéterminées à ladite adresse; - pour obtenir, à partir des quatre éléments d'information précités d'angle d'avance à l'allumage, une information d'angle d'avance calculée par un processus itératif d'inter- polation, le module fonctionnel élémentaire correspondant utilisant un nombre prédéterminé des bits de plus faible poids de chacun des deux paramètres de fonctionnement du moteur précités: - pour identifier dans ladite mémoire morte la cellule contenant le coefficient de correction correspondant à la température de fonctionnement du moteur, et pour utiliser ledit coefficient de correction pour modifier, conformément à une procédure prédéterminée, ladite information calculée d'angle d'avance; pour calculer, à partir de l'inbrmation d'angle d'avance à l'allumage par rapport au point mort haut, après correction de température, l'information de temps de retard par rapport à une première impulsion délivrée par ledit générateur (28) ladite information de temps de retard étant exprimée sous la forme d'un nombre d'impulsions de fréquence constante; - pour identifier la bougie (10-13) sur laquelle l'étincelle doit éclater,, par l'intermédiaire du signal pulsatoire délivré par ledit premier générateur d'impulsions (28); - pour Mclenmher le fonctionnement de l'étage de commande du générateur de haute tension de ladite bougie, de sorte que ce générateur puisse commencer à emmagasiner de l'électricité, l'instant d'activation dudit étage étant déterminé par l'intermédiaire du signal pulsatoire délivré par ledit premier générateur; - pour commander la désactivation dudit étage de commande, de manière à faire éclater l'étincelle sueladite bougie, en fonction dudit temps de retard, en utilisant ledit compte-temps. 2.- Agencement selon la revendication 1, caractérisé par le fait que le microprocesseur est programmé: - pour déterminer la durée d'activation dudit étage de commande en chargeant ledit compte-temps du nombre d'impul- sions précité qui représentae le temps de retard; - pour commander, à l'achèvement du comptage dudit compte-temps, la désactivation dudit étage de commande du générateur de haute tension de ladite bougie, de sorte que la bougie délivre son étincelle. 3.- Agencement selon la revendication 1, carac- térisé par le fait que le microprocesseur est programmé: - pour recevoir, sous la forme d'un nombre d'impulsions de fréquence constante, le temps d'emmagasinage du cycle précédent et pour corriger celui-ci conformément au niveau de puissance atteint par le générateur de haute tension (14-17) toujours dans le cycle précédent; - pour charger ledit compte-temps d'un nombre d'impulsions égal à celui du temps de retard diminué du nombre dtimpulsions correspondant au temps d'emmagasinage de courant, et pour commander ledit compte-temps de manière qu'il exécute un premier comptage par l'intermédiaire du signal pulsatoire délivré par ledit premier générateur 28; _ pour commander, à l'achèvement dudit premier comptage par ledit compte-temps (39, 40) l'activation de l'étage de commande du générateur de haute tension (14-17) de ladite bougie (10-13), de sorte que ce générateur commence à emmagasiner du courant; - pour charger ledit compte-temps d'un nombre d'impul- sions égal à celui du temps d'emmagasinage de courant et pour commander celui-ci de manière qu'il exécute une seconde période de comptage; - pour commander, à l'achèvement de ladite seconde période de comptage du comptetemps, la désactivation de l'étage de commande du générateur de haute tension de ladite bougie, de manière à obtenir l'étincelle sur ladite bougie. 4.- A.gencement selon la revendication 1, carac- térisé par le fait que le microprocesseur (36) est programmé - pour calculer le nombre d'impulsions de fréquence constante qui représente le temps de retard en fonction de l'information d'angle d'avance à l'allumage par rapport au point mort haut, après correction de température, et le nombre d'impulsions de fréquence constante totalisé dans la période de temps qui s'écoule entre ladite première impul- sion et l'impulsion immédiatement précédente délivrée par ledit premier générateur(2Q; - pour convertir ledit angle d'avance à l'allumage par rapport au point mort haut en un angle de retard par rapport à l'impulsion qui précède immédiatement ledit point mort haut, par addition d'une constante prédéterminée audit angle d'avance à l'allumage; - pour diviser ledit angle de retard par l'angle de rotation du moteur compris entre ladite première impulsion et l'impulsion immédiatement précédente, afind'btenir un coefficient sans dimensions; - pour multiplier ledit coefficient par ledit nombre d'impulsions de fréquence constante totalisé dans la période de temps qui s'écoule entre la première impulsion et l'impulsion immédiatement précédente délivrée par le premier générateur(281