FR 2539820 A1 19840727 FR 8300859 A 19830120 La présente invention est relative à un circuit de commande d'allumage ou d'injection pour monteur à combustion interne. Dans la présente description, le terme "allumage" dési- gne toute opération qui peut déclencher dans les cylindres du moteur à combustion interne, l'inflammation du mélange combustible, l'injection de combustible étant donc expressement comprise dans ce terme 'allumage". Actuellement, les circuits de commande d'allumage sont réalisés en logique conventionnelle, c'est-à-dire avec des portes logiques, des compteurs, des mémoires et éventuellement une unité arithmétique. Chaque compteur et chaque bloc logique correspondent à une fonction bien déterminée, 11 implantation des fonctions sur le circuit intégré étant optimisée afin d'aboutir à une taille de la pastille de ce circuit, la plua petite possible. Un tel circuit de commande présente l'inconvénient de nécessiter une étude eotteusse d'intégration complète, tandis qu'il est impossible de modifier le fonctionnement du circuit sous peine d'une complexité considérable, donc de l'adapter à différents types de moteurs à combustion interne. I1 est donc souhaitable de réaliser le circuit de commande d'allumage à l'aide.d'un micro-processeur dont les instructions du programme réalisent un algorithme de mesure et de calcul équivalent à celui réalisé par les fonctions d'un circuit logique conventionnel. Cependant, jusqu'ici on n'a pas réussi à mettre en oeuvre un micro-processeur dans un circuit de commande allumage de telle façon que les mesures et les calculs soient suffisamment rapides pour une mise à jour constante des paramètres régissant l'allumage et pour la détermination rapide de celui-ci. L'invention a donc pour but de fournir un procédé et un circuit de commande d'allumage pouvant utiliser du matériel standard et capable de suivre quasi-instantanément toute modification des paramètres de fonctionnement du moteur à combustion interne pour déterminer immédiatement un nouvel instant d'allumage en fonction de ces nouveaux paramètres. L'invention a donc pour objet un procédé de commande de l'allumage ou de l'in;ection d'un moteur à combustion interne à l'aide d'un calculateur microprogrammé, caractérisé en ce qugon génère un signal impulsionnel dont la fréquence représente la vitesse de rotation du moteur, on calcule Instant d'allumage d'un cycle d'allumage en cours exprimé en fractions de la période dudit signal impulsionnel, ces fractions étant mesurées avec une échelle évolutive d'un cycle d'allumage à autre, ladite échelle résultant d'un calcul effectué pendant le cycle dsallumage précédent, et on déclenche l'allumage en cours à l'issue d'un comptage desdites fractions de la période du signal impulsionnel réalisé à partir d'un instant de référence marquant le début de ce cycle d'allumage en cours en tenant compte de l'évolution de la vitesse de rotation ayant entrai né une modification de la valeur temporelle desdites fractions de la période du signal impulsionnel. Il résulte de ces caractéristiques que l'allumage est assuré pratiquement en temps réel en tenant compte de toute évolution pouvant nécessiter une modification de l'instant d'allumage. L'invention a également pour objet un circuit de commande d'allumage pour la mise en oeuvre du procédé tel que défini ci-dessus. D'autres caractéristiques ec avantages de l'invention apparaitront au cours de la description qui va suivre, donnée uniquement à titre d'exemple et faite en référence aux dessins annexés, sur lesquels ~ la Fig.l est une représentation très schématique du circuit d'allumage suivant l'invention; - la Fig.2 est un diagramme illustrant la façon dont est commandé le transistor d'allumage par le circuit de commande, suivant l'invention; - la Fig.3 est un schéma de l'unité de calcul du circuit; - la Fig.4 est un schéma du périphérique entrée/sortie du circuit; - la Fig.5 est un schéma illustrant le multiplexage des adresses de la mémoire CROM représentée sur la Fig.l; - la Fig.6 est une représentation des champs des microcodes utilisés dans le circuit de commande;; - la Fig.7 est un schéma plus détaillé de la commande du registre d'état de l'unité de calcul; - la Fig.8 est un diagramme des temps montrant l'apparition des signaux DM (dent de référence) et PMH ( point mort haut) au cours d'un tour du vilebrequin du moteur à combustion interne; - les Fig.9,10,llA et llB sont un organigramme illustrant le programme de micro-codes mis en oeuvre dans le circuit suivant l'invention; - les Fig.12 à 16 montrent le contenu des champs de quelques micro-codes du programme; - les Fig.17 -est un schéma d'un circuit générant le signal d'allumage; - la Fig.18 est un diagramme des temps mis en oeuvre dans le circuit de la Fig.17; - la Fig.19 est un diagramme des temps illustrant l'obtention de la valeur vitesse moteur à combustion interne. La Fig.l représente très schématiquement le circuit de commande d'allumage suivant l'invention. Il comporte une unité de mémoire et d'acquisition de données 1 avec une mémoire morte ROM,2, une mémoire à accès aléatoire RAM,3 et une interface d'entrée/sortie 4. Cette unité de mémoire et d'acquisition est connectée à plusieurs périphériques parmi lesquelles 1) Un capteur de vitesse 5 comprenant un disque denté 5a (avec 44 dents 5b à titre d'exemple). Cependant, la couronne du disque présente dans des positions diamétralement opposées deux dents triples 5c qui remplacent deux dents normales consécutives afin de fournir un repérage angulaire. Le disque Sa est calé sur le vilebrequin du moteur à combustion interne et fournit un signal DENT à chaque passage d'une dent ( simple ou triple) devant un détecteur magnétique 5d. Ce dernier est raccordé à l'unité 1. 2) Un capteur de pression 6 destiné à mesurer la dépression dans la tubulure d'admission en vu du réglage de l'avance à l'allumage. Ce capteur fournit, par un détecteur magnétique 6a par exemple, le signal fP qui est appliqué à l'unité î. 3) Un capteur anti-cliquetis 7 qui peut être constitué par un élément microphonique piézo-électrique placé sur le carter du moteur est associé à un filtre de fréquence. Ce capteur fournit un signal en présence d'une fréquence caractéristique du cliquetis du moteur. 4) Un circuit 8 destiné à fournir un signal caractéris- tique de la période de saturation du transistor d'allumage 9 au -cours de chaque allumage. En se reportant à la Fig.2, on voit que le signal d'allumage 10 qui est appliqué à la base du transistor d'allumage 9 engendre dans le transistor une impulsion de courant d'excitation du primaire 11 de la bobine 12, dont -la dernière partie est un palier d'intensité 13 ( Fig.2). Le circuit suivant l'invention tend à réduire ce palier et de rapprocher le moment de charge complète du primaire 11 de l'instant d'allumage 14 proprement dit qui intervient au flanc descendant du signal d'allumage 10. 5) Des capteurs de température 15 ( eau, air ambiant, etc.). 6) Divers autres capteurs 16 pouvant être prévus en option. L'interface d'entrée/sortie 4 est également reliée au transistor d'allumage 9. L'unité de mémoire et d'acquisition 1 est reliée à une unité de calcuL 17 par un bus MD bidirectionnel de mémoire et de données pour la circulation des données entre les unités 1 et 17, et par un bus d'adresses ADDR unidirectionnel qui permet la circulation des adresses vers les mémoires 2 et 3, adresses qui sont élaborées dans l'unité de calcul 17. Le circuit de commande d'allumage comprend également une mémoire de commande 18- ( CROM) dans laquelle sont mémorisés des microcodes qui sont destinés à assurer le déroulement du programme de travail du circuit de commande d'allumage. Cette mémoire communique en permanence avec les unités 1 et 17 par des bus 19 et 20. Unité de calcul 17 On va maintenant décrire l'unité de calcul 17 en se référant à la Fig.3. Elle comporte une unité arithmétique et logique ALU à laquelle sont raccordés deux bus N et P et un registre à décalage RD, ce -dernier conférant à l'unité ALU une grande puissance de traitement des données qui parviennent à cette unité par les bus N et P. Le contenu de l'ALU peut être transféré dans le registre à décalage par la connexion 21, tandis que ce registre est connecté à un bus de sortie O qui est destiné à contenir le résultat d'un calcul ou d'une opération logique effectué sures valeurs contenues dans les bus P et N. Le bus O communique avec le bus MD ( rig.l et 3) par l'intermédiaire d'une porte de transfert 22, ce bus MD étant relié à l'unité de mémoire et d'acquisition 1. Une autre porte de transfert 23 relie le bus P à un bus d'adresse AL qui communique directement avec les mémoires ROM et RAM 2 et 3. Cette porte est validée par un signal AL > P dont la génération sera décrite ci-sprès. L'unité de calcul comporte en outre des registres affectés chacun à un rêle particulier qui peut toutefois changer au cours du déroulement de l'algorithme de calcul et l'é > cécution des micro-instructions qui mettent en oeuvre cet algorithme. Ces registres sont les suivants : - Registre ST - Registre d'état de l'unité de calcul; il mémorisé se à chaque instant le résultat des calculs; les bits qu'il contient peuvent opérer des change ments de boucle ou sauts au cours du déroulement du programme matérialisé par les micro-codes. - Registre CY - Registre de comptage de cycle qui a comme rôle principal de mémoriser le numéro de dent de la couronne du capteur de vitesse 5 (Fig.l). Ce registre peut également mémoriser des valeurs destinées à être soumises à un calcul dans l'unité ALU. - Registres ACH et ACL - Ces registres sont destinés à réaliser des calculs sur 16 bits (8 bits par registre), ACH mémorisant les 8 bits ayant le poids le plus fort. Ils sont chargés à partir du bus de sortie 0. - Registre T - Registre temporaire destiné à mémoriser temporai rement des valeurs au cours du déroulement du programme de micro-codes. - Registre TRANSFERT - Ce registre fonctionne en tant que porte et permet d'assurer le transfert du contenu du bus MD, soit sur le bus P, soit sur le bus N. - Registre R/P.HEX - Ce registre est destiné à mémoriser un champ particulier ( à décrire ci-après) des micro codes. Tous les registres que l'on vient d'énumérer sont validés par des signaux provenant de l'unité CROM de la Fig.l et leur validation est donc sélectivement engendrée par les micro-codes au cours de l'éxécution de l'algorithme. Ces signaux de validation sont indiqués sur la Fig.3 et seront décrits plus en détail par la suite. Unité de mémoire et d'acquisition 1 ( Fiv.4 ) Le schéma de l'unité de mémoire et d'acquisition 1 apparaît sur la Fig.4. On voit que le bus MD de mémorisation et de données est connecté directement aux entrées de données des mémoires ROM et RAM 2 et 3 et également à une série de registres qui forment notamment la partie d'acquisition ou de calcul de la vitesse du moteur à combustion interne. Cette unité comporte les registres suivants - Registre I/O.ST - Est un registre d'état de l'unité 1. I1 est écrit par des valeurs provenant de l'unité de calcul et il est lu par cette même unité. I1 est à noter que seuls les quatre bits de plus petit poids sont utilisés. - Registre TD - Est utilisé en compteur et Compte le nombre d'im plusions d'horloge H apparaissant entre les flancs avant de deux dents 5 consécutives du dis que du capteur 5 en tenant compte d'un facteur d'échelle F par lequel ce nombre d'impulsions d'horloge est divisé. - Registre CNT - A un ralle de compteur de plusieurs signaux impul sionnels représentant l'horloge du système sous diverses formes. - Registre TPS - Est un compteur d'un intervalle de temps prédé terminé fixé en fonction de certains paramètres de construction du moteur à commander et dtermi- nant par exemple la durée de la mesure de la vitesse ou d'autres paramètres au cours de chaque cycle d'allumage. I1 décompte sous la commande du signal d'horloge de base H. Lorsqu'il est à zéro, il génère le signal TPSZ. - Registre PTD - Précompteur. I1 est également décompté par l'hor loge de base (signal H) et génère un signal HTD lorsqu'il est à zéro, moment auquel il est chargé par la valeur contenue dans.le registre F de fac teur d'échelle. Le signal HTD est compté dans le registre TD. - Registre F - Contient un facteur d'échelle pris en compte notamment pour le calcul de la vitesse et remis à jour à chaque cycle d'allumage. - Registre CTD/4 - Est chargé par le registre TDi4 et fournit un signal 4SD lorsqu'il parvient à zéro sous la commande du signal HTD. - Registre FTD - Contient une valeur correspondant à une fraction de dent calculée en fonction de la dernière va leur TD trouvée par le calcul. - Registre COMP - Constitue un comparateur et fournit un signal d'égalité Eq lorsque les contenus des registres TD et FTD sont égaux. Les registres que l'on vient de décrire sont validés par un champ d'adresse provenant du bus-AL de l'unité de calcul 17, par l'intermédiaire d'un décodeur d'adresse 24, ce décodeur étant également relié par des bus d'adresses AH et AL aux mémoires 2 et 3, la commande d'écriture et de lecture étant fournies sur les lignes MEM et MW. Le champ HEX constitue une commande de registre lorsque le champ R/P du micro-code concerné est à 1. Interface d'entrée/sortie ( Fig.4) Cette interface comporte un premier bloc 25 d'6labora- tion du signal HCNT destiné à être appliqué au registre CNT. Ce bloc reçoit - le signal impulsionnel HP qui représente en fréquence la pression mesurée par le capteur 6; - le signal impulsionnel HAC qui représente la correction d'anticliquetis nécessaire; - les signaux ST1, STO et HTD provenant respectivement du registre d'état ST; de l'unité de calcul 17 et du registre PTD de l'unité de mémoire et d'acquisition 1. I1 est prévu un second bloc 26 élaborant des signaux d'horloge de base H et Hu à partir d'un oscillateur horloge. Le signal d'allumage ALL appliqué au transistor 9 est élaboré dans un bloc 27 auquel sont appliqués les signaux DENT et EQ déjà mentionnés et également les signaux DON et DOF qui seront décrits en détail ultérieuretrient lorsqu'on examinera l'élaboration du signal d'allumage ALL. Le bloc 28 de l'interface 4 est destiné à élaborer un signal SAC représentant la fenêtre temporelle de validation de la commande d'anticliquetis. I1 est engendré à partir des signaux SYD; ST1 et STO. Le bloc 29 est un tampon d'entrée/sortie pour les signaux suivants - Signal SD - Signal de dent provenant de la bobine du capteur 5, il engendre le signal DENT. - Signal TA - Représente la correction de température de l'air ambiant. - Signal TE - Représente la correction de température de l'eau de refroidissement du moteur. - Signal UDAC - Représente le sens de la correction d'anticlique tis nécessaire. - Signal TEST - Utilisé pour des essais. - Signal SU - Signal de correction en option. - Signal SYS - Signal de référence trouvé par le calcul et représentant un ne de dent en vue du réglage et du contre du moteur. - Signal 4SD - Représente 4 x le signal DENT (1,8' de rotation du vilebrequin) en vu de permettre le contraIs sur banc du moteur. La mémoire de micro-codes CROM ( Fiq.S Ce circuit comporte une mémoire ROM 30 contenant le jeu de micro-codes dont l'ensemble des champs apparaît sur la Fig.6 Les adresses de cette mémoire ROM sont élaborées dans un multiplexeur 31 qui est connecté à un bus 32 à 8 bits sur lequel circulent les données de certains champs des micro-codes. Ce busest rebouclé sur un groupe de sorties de données de la mémoire ROM 30. Un autre bus 33 est destiné à contenir des données sur 8 bits pour assurer la commande du multiplexeur 31. Ces données sont obtenues à partir d'un autre champ des micro-codes.Enfin, un troisième bus 34 peut être conditionnellement branché sur le bus 32 en transitant par un registre 35 de sous-programme qui est destiné à mémoriser la dernière adresse du programme en cours pendant le déroulement d'un sous-programme de micro-codes. Ce registre est activé par un signal SUB provenant du champ CMPCNTL. Dans l'exemple représenté ( Fig.6), chaque micro-code est composé de 43 bits qui sont répartis de la façon suivante - bits 1 à 8 Champ de saut d'adresse de micro-instructions JO à J7 ( bus 32; Fig.5). - bits 9 à 11 Champ de commande de sa.ut DMPCNTL appliqué au multiplexeur 31; - bit 12 ACH > P - transférer contenu du registre ACH sur le bus P; - bit 13 0 > ACH - transférer le contenu du bus de sortie O dans le registre ACH; - bit 14 ACL > P - transférer le contenu du registre ACL sur le bus P; - bit 15 0 > ACL - transférer le contenu du bus de sortie O dans le registre ACL; - bit 16 ST > N - transférer le contenu du registre d'état ST sur le bus N; - bit 17 0 > ST - transférer le contenu du bus O dans le registre d'état ST; - bit 18 LST - Charger le registre d'état ST. Pour comprendre cette opération, il y a lieu de se reporter à la Fig.7 sur laquelle on voit que le registre d'état ST est relié à deux bus d'entrée par l'intermédiaire d'un multiplexeur MUX-1 qui peut être validé d'une part par le signal LST (bit 18 du micro-code) et d'autre part- par le signal O > ST ( bit 17). Le signal LST charge dans le registre ST ( 3 bits les plus significatifs ) les signaux COUT, +/- et UEZ ( à décrire ciaprès) provenant de l'unité ALU, et les signaux DENT et TPSZ, en provenance des périphériques (unité 1). Le signal O > ST permet de transférer le contenu du bus O dans le registre ST également par l'intermédiaire du multiplexeur MUX-1. - bit 19 0 > CY - transférer le contenu du bus O dans le registre CV; - bit 20 CY > N - transférer le contenu du registre CV sur le bus N; - bit 21 T > N - transférer le contenu du registre T sur le bus N; - bit 22 MD > T - transférerle contenu du bus MD dans le registre T; - bit 23 MD > P - transférer le contenu du bus MD sur le bus P; - bit 24 MD > N - transférer le contenu du bus MD sur le bus N; - bit 25 AL > P - transférer le contenu du bus AL sur le bus P; - bit 26 AL > AH - transférer le contenu du bus AL sur le bus AH;; - bit 27 R/P - Ce bit déterminé si le contenu des bits 28-31 (HEX) du micro-code doit être transféré dans la mémoire RAM 3 de l'unité de mémoire et d'acquisition I, ou si ce contenu doit valider l'un des registres de cette unité (voir les sorties du-déeodeur 24 sur la Fig.4) En d'au tres termes, si le bit 25 (AL > P ) est zéro, le bit 27 peut déterminer que le champ des bits 28 à 31 est une adresse de la mémoire RAM 3, ou que ce champ désigne l'un parmi 16 registres de L'unité 1. Par contre, si le bit 25 est à un ( AL > - P=l) le bit R/P et les quatre bits 28 à 31 servent à introduire une constante dans l'unité ALU de l'u nité de calcul 17. Ceci peut être illustré par exemple suivant : On cherche à sélectionner la dent nO 11 de la couronne -de dents du capteur de vitesse 5. Le champ des bits 27 à 31 du micro-code considéré sera codé de façon à représenter le nombre 11, le bit AL > P sera 1 et on transférera donc le contenu du champ R/P. et HEX sur le bus P. Comme lé registre CV contient à chaque instant le n de la dent se présentant devant le détecteur 5d du capteur 5, le contenu de ce registre est transféré sur le bus N, puis on effec tue dans l'unité ALU l'opération P-N. Si le résultat est nul (UEZ-O), la dent actuelle est la dent 11.Si le résultat est non nul (UEZ=1), l'opération suivant du programme est un saut sur la condition UEZ. - bits 28 à 31 Champ HEX qui peut être un nombre codé hexadéci mal quelconque suivant l'opération de calcul à effectuer; - bit 32 MEM - validation d'une opération de lecture dans la mémoire; - bit 33 14W - validation d'une opération d'écriture dans la mémoire; - bits 34 à 37 SHIFTCNTL - les bits de ce champ déterminent le décalage à effectuer dans le registre RD et les sorties correspondantes de la mémoire ROM 3 des micro-codes (Fig.5) sont directement reliées à ce registre RD ( voir Fig.3); - bits 38 à 41 ALUCNTL - ces bits déterminent l'opération arith métique ou logique à effectuer dans l'unité ALU. Les sorties correspondantes de la ROM 3G sont di rectement reliées à l'unité ALU ( Fig.3); - bit 42 ABL - ce bit détermine si l'opération de calcul est arithmétique ou booleenne; - bit 43 CLR - c'est un bit de remise à zéro. On voit donc que, selon une caractéristique importante de l'invention, chaque micro-code peut contenir lui-même dans son champ 27 à 31 soit des adresses, soit des constantes ou paramètres sur lesquels des opérations de calcul peuvent être effectuées. Tout se passe alors comme si dans le second cas les constantes et les paramètres sont extraits de la mémoire. Cependant, une lecture en mémoire nécessite plusieurs étapes du programme de micro-instructions et il en résulte une vitesse de traitement moins grande. Cette caractéristique de l'invention permet donc d'opérer plus rapidement et également d'obtenir une souplesse de programmation nettement plus élevée que dans les circuits classiques de ce genre. Adressage des micro-codes. L'adressage du micro-code suivant dans le déroulement du programme de micro-codes est déterminé par les champs 1 à 8 JMPADDR sous la commande du champs 9 à 11 JMPCNTL dans le multiplexeur 30. Les conditions de saut sont indiquées dans le tableau suivant. TABLEAU I JMPCNTL JMPADDR *JUNC 000 J7 J6 J5 J4 J3 J2 J1 J0 *JUZ 001 J7 J6 J5 J4 J3 J2 J1 0 si UEZ = 0 J7 J6 J5 J4 J3 J2 J1 1 si UEZ = 1 *JC 010 J7 J6 J5 J4 J3 J2 J1 O si STC = O J7 J6 J5 J4 J3 J2 J1 1 si STC = 1 *JD 011 J7 J6 J5 J4 J3 J2 J1 0 si DENT = 0 J7 J6 J5 J4 J3 J2 J1 1 si DENT = 1 *JT 100 J7 J6 J5 J4 J3 J2 J1 0 si TPSZ = 0 J7 J6 J5 J4 J3 J2 J1 1 si TPSZ = 1 *JST 101 J7 J6 J5 J4 J3 J2 J0 0 si ST1 = 0 ST0 = 0 J7 J6 J5 J4 J3 J2 J0 1 si ST1 = 0 ST0 = 1 J7 J6 J5 J4 J3 J2 J1 0 si ST1 = 1 ST0 = 0 J7 J6 J5 J4 J3 J2 J1 1 si ST1 = 1 ST0 = 1 *JSUB 110 J7 J6 J5 J4 J3 J2 J1 1 Saut a l'adresse Jn impaire et mémo mJ7 mJ6 mJ5 mJ4 mJ3 mJ2 mJ1 rise adresse de re tour dans mJn *JRT 111 mJ7 mJ6 mJ5 mJ4 mJ3 mJ2 mJ1 0 saut a l'adresse de retour mJn paire La condition JUNC correspond au cas où le champ de com mande JMPCNTL sélectionne la voie d' adressage JUNC moyennant quoi l'adresse du micro-code suivant est déterminée par les 8 bits du champ d'adresse 3MPADDR. Dans la condition JUZ, l'adresse du micro-code suivant est déterminée par les 7 bits de poids le plus fort du champ JMPADDR J7 à J1 et par le signal UEZ provenant du registre d'état ST par le bus 36 (Fig.3,5 et 7). Ce signal UEZ est sélectionné par le multiplexeur 31 sur le bus 36 et peut prendre la valeur un ou zéro en constituant le huitième bit de l'adresse de micro-code suivante. I1 en résulte que ce mode d'adressage permet d'accéder à deux adresses de micro-codes contigus en fonction du résultat du calcul exécuté lors de l'exploitation du micro-code précédent. I1 est à noter que le signal UEZ=1 si le résultat d'une opération de calcul est égal à zéro sur le bus de sortie 0 en sortie de l'unité ALU (Fig.3). La condition JC commande une adresse composée des bits J7 à J1 et de la valeur du signal COUT qui est le retenue stockée dans le registre d'état ST après une opération de calcul dans l'unité ALU lors de l'exécution du micro-code précédent. Cette condition peut donc également permettre 11 accès à deux adresses de micro-code suivant qu'il y a retenue ou non. La condition JD établit un saut d'adresse déterminé comme précédemment,. cependant que le dernier bit d'adresse est donné en fonction du signal DENT. Une condition analogue 3T établit le saut d'adresse en fonction du signal TPSZ. La condition JST est une condition de groupe qui en fonction de l'état des bits ST1 et STO du registre d'état ST permet d'établir une adresse parmi quatre. L'adresse de base de chaque groupe ainsi défini est déterminée par les bits J7 à J2 du champ JMPADDR et les signaux ST1 et ST0 qui remplacent les bits et JO. On peut ainsi sélectionner les adresses JMPADDR + 0, + 1, + 2 et + 3. Lorsque JMPCNTL établit la condition JSUB, le système accède à un sous-programme de micro-codes dont la première adresse est JMPADDR + 1 imposé par le dernier bit qui est forcé à 1 par câblage (connexion 37, Fig.5). Le champ d'adresse JMPADDR est mémorisé par la valeur -110 de JMPCNTL dans le registre 35, cette valeur lui étant appliquée après détection logique dans une porte 38 dont la sortie peut valider ce registre. Après déroulement du sous-programme, la condition JRT permet de revenir sur le programme principal à l'adresse de retour dont le dernier bit est forcé à zéro par câblage. (connexion 39). Le registre d'état ST de unité de calcul contient 8 bits qui sont répartis de la façon suivante. STC S@SB S@EZ libre DENI IPSZ S@@ S@U Le bit STC est forcé par la retenue d'une opération de calcul dans l'unité ALU. Le bit STSB- représente le signe du résultat d'une opération de calcul et est forcé par le bit de poids le plus fort du résultat d'une opération de calcul dans l'unité ALU. Le bit STEZ représente le signal UEZ qui est à " 1 lorsque le bus de sortie est à " O ". Le bit DENT résulte du signal DENT provenant du tampon d'entrée/sortie 29 ( Fig.4). Le bit TPSZ est forcé par le signal issu du registre TPS. Les bits ST1 et STO sont engendrés par des micro-codes particuliers qui se présentent au cours du déroulement du programme pour désigner quatre sous-programmes de mesure. Les valeurs numériques correspondant à ces bits peuvent être contenues dans le champ HEX des micro-codes correspondants. On peut également les stocker à des adresses particulières de la mémoire ROM2 et les lire dans celle-ci au moment opportun par un jeu de micro-codes correspondant. Comme déjà indiqué ci-dessus, les bits ST1 et STO interviennent dans les conditions de saut JST, lorsque le champ JMDCNTL est à la valeur 101. I1 est à noter que les bits ST1 et STO du registre ST déterminent également le signal HCNT commandant le compteur CNT, ce signal constituant ainsi différentes horloges à partir des signaux HP, HAC, HTD qui sont sélectivement transférés au compteur CNT en fonction de la valeur binaire des signaux STI et STO. (voir bloc 25 de la Fig.4). Ces différentes horloges sont spécifiques pour les durées des mesures à effectuer comme on le verra par la suite lors de la description de l'organigramme de fonctionnement. Le registre d'état I/OST de l'unité de mémoire et d'acquisition est à huit bits dont seuls les quatre bits les moins significatifs sont utilisés selon le répartition suivante Lecture Libre Libre Libre Libre Libre UDAC TE TA Ecriture Libre Libre Libre Libre DOF DON SYD SYV La signification de ces signaux apparaîtra par la suite. Principe de fonctionnement. ( Fia. 1 et Chronogramme Fiq.8) Au cours de chaque passage d'une dent devant le détecteur et du crénau qui la suit immédiatement, l'ensemble du programme de micro-codes se déroule en exécutant en fonction des sauts conditionnels, les boucles de programme appropriées. Plus particulièrement, le programme de micro-codes mesure le nombre d'apparitions du signal HTD issu du registre PTD jusqu'au flanc avant de la dent suivante. I1 procède à la recherche de la première dent triple 5c (Fig.l) pour produire le cas échéant, un signal SYD qui sert- ensuite de référence temporelle pendant le demi-tour suivant de la couronne et pour déterminer l'instant d'allumage exact. Le programme commande également,d'une part, un test de recherche de la dent pendant laquelle doit intervenir la mise en conduction du transistor d'allumage par rapport à la référence temporelle établie (DON) et d'autre part, un test de recherche de la dent pendant laquelle le transistor doit être coupé (DOF) pour engendrer le signal d'allumage à l'instant exact déterminé par les calculs effectués précédemment. Les mesures nécessaires au calcul de l'instant d'allumage sont déclenchées à l'apparition du signal SYV qui représente l'instant auquel un piston du moteur est à son point mort haut.Ces mesures sont effectuées également en fonction de tests qui sont exécutés pendant chaque cycle du programme, celui-ci se déroulant, comme déjà indiqué ci-dessus, entièrement pendant chaque passage d'une dent devant le détecteur, les boucles de sous-programme étant exécutées chaque fois suivant les résultats des tests effectués. Le micro-programme ( Orqaniqramme des Fiq.9,10llA et 11B). L'organisation des micro-codes est conforme au tableau II ci-dessous, étant entendu que le sigle DENT constitue la dési- gnation des micro-codes correspondants et ne doit pas être confondu avec le signal DENT qui résulte du signal "synchro-dent" SYD mentionné ci-dessus. On trouvera annexé à la présente description, un listage détaillé des principaux micro-codes figurant sur le tableau Il. TABLEAU Il INIT * * 00 WAIT ** * * ******** * * 01 TRAN1 * 02 TRAN2 * O3 TRAN3 * 04 TRAN4 * OS TRAN5 * 06 TRAN6 * 07 DENT1 * 08 DENT2** > SYD1(0B)** > SYD2(0C)** > Calcul avance > DENT l1 * *@@ SYD1B(0D) * 0A DENT3 * 09 DENT4 * 0E DENT5 * 0F DENT6** > SYV1(11)** > SYV2(1B)** > SYV3(1C)** > SYV4(1D)** > Calcul * * * facteur d'échelle * RTD x RF RF= * 32 * * * DENT ll 10 DENT7 * 12 DENT8** > RDON1(15)** > RDON2 > calcul FTD=RTD*RETD > DENT 11 32 * 14 DENT9 * 1A DENT10** > RDOF1(17)** > RDOF2 > Calcul FTD=RTD*RFTD > DENT 11 32 * 16 DENT11** > EXIT1(18)** > EXIT2(1E)** > EXIT3(1F)** > EXIT4(24)** > * * * * * EXIT5(26)** > * * * * * EXIT6(27) * ************* * * * EXIT7(25) * * * EXIT8(28) * * * WAIT(OO) * 19 MES1 * ******************* * ********** * * * * * * 20 21 22 23 FONCO FONC1 FONC2 FONC3 * * * * DENT11 VIT1 PRES1 ANTI1 * * * * * * * * * * > Calcul /CY-(ll+1)/x32+RCNTx32 RTD * * * * --------------V------------- DENT 11 Le premier micro-code WAIT est une boucle d'attente qui commence à partir des conditions initiales suivantes. TABLEAU III Registre Condition T: RTD/4 mesuré et sauvé dans le cycle précédent CV : Etat du compteur de dent = RF-facteur d'echelle ST : Condition de saut établie précédemment ACH : RFTD - fraction de dent ACL : Zéro CNT : Dépend de la mesure en cours TPS : Dépend de la mesure en cours FTD : Fraction de dent à générer pour le signal d'allumage F : Facteur d'échelle en rapport avec la vitesse TD4 : 1/4 de la valeur du dernier TD mesuré génére 4 SD I/O : Paramètres statiques de l'interface Le micro-code WAIT(00) définit la boucle d'attente et est matérialisé par les cases 1 et 2 de l'organigramme de la Fig.9. Les valeurs des bits qu'il comprend sont indiquées sur la Fig.12.On-voit que le champ JMPADDR est à zéro et que le bit JO peut prendre la valeur "O" ou "1" suivant qu'une dent n'est pas ou est présente devant le détecteur 5d. Le champ JMPCNTL est à la valeur OH (voir tableau I), car il s'agit précisément d'attendre qu'une dent passe devant le détecteur auquel cas le signal DENT devient égal à 1 en remplaçant le bit JO du champ JMPADDR. Le bus N est positionné à zéro par Z > N. Le bit R/P du micro-code WAIT étant à "1", le champ HEX qui est à 0010 est transféré dans le décodeur 24 en y positionnant l'opération TD > MD, le contenu du registre TD étant donc transféré sur le bus MD.Le bus MD est relié au bus P par MD > P. Le champ ALUCNTL est à 0000 en positionnant l'unite ALU pour une opération d'addition (PADDN). Le bit ABL étant à zéro, l'unité ALU effectue donc l'opération arithmétique P+N+O. Le champ SHIFTCNTL est à la valeur 0000 et la retenue est égale à zéro (ZCI). L'opération ainsi effectuée dans l'unité ALU permet de transférer le contenu du registre TD sur le bus 0, lui-même transféré dans le registre ACL par la commande O > ACL. Ainsi, durant la période -d'attente d'une transistion du signal Dent, la valeur de TD est lue à chaque passage du microcode WAIT et transférée dans le registre ACL. 11 adresse du prochain micro-code est conditionnée par la condition de saut JD (tableau I) comme indiqué ci-dessus. Si le signal DENT est "1", l'adresse du micro-code suivant est augmentée d'une unité et le programme quitte alors la boucle d'attente en effectuant le saut vers le micro-code TRANl(O1), figurant à -la case 3 de la Fig.9. fln voit donc que la fonction du premier micro-code WAIT consiste d'une part à tester si une dent de la couronne est-trou- vée par le détecteur 5d et d'autre part à préparer les données pour les micro-codes suivants en accédant au. registre TD, ce qui permet de commencer les calculs. Le bus N est préchargé d'une manière connue à la valeur zéro durant la phase H3 de chaque cycle d'exécution d'un micro-code, chaque cycle nécessitant quatre fronts de l'horloge de base (H1 à H4). Le signal Z > N indique qu'aucun des registres de l'unité de calcul n'est relié à ce bus. Cette valeur zéro est prise par défaut et ne nécessite donc aucune position de bit dans les micro-codes. Les cases 3 à 8 de l'organigramme@ (Fig.9) concernent l'exécution des micro-codes TRAN1 à TRAN6 ayant les adresses 01 à 06. L'éxécution du micro-code TRAN1 est décrite ci-après (Fig.13). Ce micro-code consiste à transférer le contenu du registre ACH qui tontient la valeur FTD (d décrire ci-après) dans le registre FTD. Le registre ACH a reçu cette valeur au cours de la boucle dè micro-codes EXIT située en fin de listage. La valeur contenue dans le registre ACH est placée, sur le bus P (ACH > P=1), le bus N contient la valeur zéro par défaut. L'unité ALU reçoit l'ordre PADDN et le résultat (FTD) -est placé sur le bus MD. Comme le champ R/P commande une écriture dans un registre, la valeur binaire du champ HEX détermine par le décodeur 24, la sélection du registre FTD qui va donc recevoir le contenu du bus MD, c'est-à-dire la valeur FTD parce que 14W est à un. Puis, le programme effectue 3UMP (TRAN2) pour l'exécu- tion du micro-code TRAN2 (case 4 de la Fig.9). Ce micro-code a pour but de transférer le contenu du registre CV (Fig.3) qui est la valeur F dans le registre F (Fig.4). Ce contenu est transféré sur le bus N par CY > N, P est à zéro par défaut, le champ ALUCNTL commande PADDN et le champ R/P commande une opération d'adressage du registre F par HEX=1000 décodé dans le décodeur 24. Il en résulte que le résultat de PADDN transféré sur le bus MD est écrit dans le registre F, MW étant à .1. Le programme effectue ensuite JUNC (TRAN3). Les micro-codes suivants TRAN3 à TRAN6 (03 à 06) sont ensuite éxêcutés d'une façon analogue conformément au listage qui se trouve dans l'appendice à la fin de la présente description, afin de transférer tout les paramètres nécessaires au cours de l'éxécution d'un cycle de programme complet dans les divers registres du dispositif. Le programme passe ensuite à la recherche d'une dent triple 5c de la couronne pour permettre l'établissement d'une référence. Cette recherche est basée sur le résultat d'une opération de calcul destinée à mesurer la durée entre deux transi- tions du signal DENT ou; en d'autres termes, à établir combien de temps s'écoule entre le passage d'une- dent devant le détecteur et le passage de la dent suivante ( cette durée est appelée ci-après durée d'une dent pour plus de commodité ). Cette durée est comptée dans le registre TD (Fig.4) faisant office de compteur qui est piloté par le signal HTD pro- venant du registre PTD constituant un " pré-compteur " qui à chaque passage par zéro est chargé avec le contenu du registre F de facteur d'échelle. Un exemple concret permet d'illustrer le choix que l'on vient d'énoncer. On suppose que le moteur à combustion interne peut tourner à une vitesse maximale de 6400 t/m et que l'horloge de base fournit un cycle d'horloge de 6,6 ps. Dans ces conditions - Durée d'un tour du moteur : 60 = 9,38 ms 6400 - Durée du passage d'une dent et son créneau devant le détecteur 5d : 9,38 = 213 ys 44 Alors, si le facteur d'échelle F=l-- > la valeur TD sera 213/6,6 = 32,3. Bien entendu, toutes choses égales par ailleurs, la valeur TD ne sera pas la même dès l'instant où le régime du moteur diffère de 6400 t/m. Cependant, gracie à l'algorithme défini par un groupe de micro-codes du programme, le circuit objet de l'invention analyse la valeur contenue dans le registre TD afin de calculer un nouveau facteur d'échelle à stocker dans le registre F. Cette opération vise à ce qu'une valeur égale à une puissance de 2 puisse toujours être chargée dans le registre TD, cette valeur étant de préférence égale à 32,-ceci pour que le dispositif soit dans toute la mesure du possible compatible avec une architecture générale conçue pour 8 bits tout en respectant une précision acceptable dans la détermination de l'instant d'allumage. Ceci permet également de déterminer avec une précision fixée au 32ième de la durée d'une dent, l'instant d'allumage dans les pistons du moteur. Par conséquent, le programme est conçu pour qu'après le calcul de mise à jour, une valeur de 32 soit introduite dans le registre TD à une imprécision près durant chaque cycle d'allumage, étant entendu que cette valeur peut changer-au cours de ce cycle et différer de 32 jusqu'à le mise à jour suivante. L'exemple suivant peut illustrer la mise à jour de la valeur TD. Si, à un instant donné, TD = 52 avec un facteur d'échelle F=12, alors le nombre équivalent de transitions de l'horloge de base H est 52 x HTD avec HTD : 12 x H donc 52 x 12 = 624 transitions. La nouvelle valeur du facteur d'échelle F est : 624/32 = 19,5 et la valeur entière 19 est chargée dans le registre F. A vitesse constante, ce nouveau facteur d'échelle donne au cycle suivant 624/19 = 32,8 La valeur entière soit 32 est alors chargée dans le registre TD au cours de ce cycle suivant. D'une façqn générale TD x Fn-l Fn = ----------- 32 I1 en résulte qu'à chaque cycle d'allumage, la valeur TD représente à peu près la durée complète d' une dent avec une imprécision qui peut être exprimée en 32ièmes de la durée d'une dent. La valeur TD étant calculée et stockée à chaque cycle, elle est utilisée notamment pour localiser dans le temps une dent triple de la couronne 5a qui constitue Ia référence mentionnée ci-dessus (signal SYD ou- DM). Ceci permet de générer les signaux de commande et d'effectuer les mesures en synchronisme avec la rotation du moteur.à commander. On sait que la couronne comporte deux dents de durée triple et que ces dents particulières constituent une référence angulaire. Si donc, le circuit constate que la valeur TD actuelle -est au moins deux fois plus grande que la valeur TD antérieure, c'est qu'il s'agit d'une dent de durée triple. Les micro-codes suivants du programme procédent donc à un examen de la variation de la valeur TD par rapport à la valeur TD de la dent précé -dente. Il est à noter que cette méthode permet de définir le sens de rotation du moteur car s'il tournait en sens inverse, les conditions régissant le calcul de dTD ne pourraient alors jamais être remplies. Le calcul de la variation de TD d'une dent à l'autre (valeur dTD; Fig.9) est effectué par l'éxécution des micro-codes DENT1 et DENT2, (adresses 07 et 08,cases 9 et 10; Fig.9). L'algorithme réalisé par ces micro-codes est TDn ~ (TDn-1 + 1 ) = d TD dans laquelle TDn = durée courante de dent TD = durée de le dent précédente dTD = variation de TD d'une dent à l'autre Pendant DENT1 (Fig.15), JMPADDR est à 1000, JMPCNTL est à 000, les bits O > ACH, ACL > P, LST et T > N sont à 1, SHIFTCNTL est à O et ALUCNTL est à PSUBN. Ainsi, TD(n-1) qui constituait le contenu du registre T est chargé sur le bus N, tandis que la va- leur TOn qui a été conservée dans le registre ACL (micro-code WAIT) est chargée sur le bus P. L'unité ALU effectue PSUBN et le résultat dT est chargé dans le registre ACH par le bus de sortie 0. Suivant le résultat arithmétique obtenu, trois cas peuvent alors se produire. Ces cas seront illustrés par les exemples suivants. ler Cas Le résultat trouvé est négatif. On suppose que TDn = 28 et que TDn-1 1 = 32, cette derniè- re valeur résultant du cycle de traitement précédent Durant le micro-code DENT1, l'opération exécutée est 28 - (32+1) = - 5 dT = - 5 Cette valeur implique -une retenue résultant du calcul arithmétique. Le registre d'état reçoit donc par LST = 1 un bit 1 dans la position binaire STC. (STC=1) qui est ainsi mémorisé provisoirement. Le programme passe inconditionnellement à DENT2, micro-code dont les positions et champs ont les valeurs indiquées sur la Fig.16. Durant le micro-code DENT2, le calcul établit la relation - 5 -- (32 + 1) = ~38 dT = - 38 STC = 1 Le programme passe alors de façon conditionnelle au micro-code suivant (case 11; Fig.9), qui, comme STC était égal à 1 au cours de l'éxécution du micro-code DENT, sera le micro-code DENT3 grâce au fait que la position binaire JO est portée à la valeur 1. La réponse au test de la case 11 sera donc "OUI" et le programme saute à la case 12 pour une incrémentetion du n de dent et l'éxécution des micro-codes DENT3 à DENT6. Ce premier cas correspond à une décélération du moteur à combustion interne ou encore à un fonctionnement à vitesse constante. Si la réponse au test de la case 11 est "NON", on est en présence des cas 2 ou 3. 2ième Cas On suppose que TDn = 38 et TDn-1=32. Le premier calcul au cours du micro-code DENT1 donne : 38 - (32+1) = 5 dT = 5 STC = O Durant l'éxécution du micro-code DENT2 par passage inconditionnel de DENT1 à DENT2, on a 5 - (32+1) = - 28 dT = -28 STC = 1 Le programme effectue alors un saut à la case 13 qui représente le premier micro-code SYD1(0B) du sous-programme SYD qui prépare au calcul proprement dit de l'avance à l'allumage. Cependant, puisque dans l'exemple du 2ième cas, la valeur de STC = 1 au cours de l'éxécution de DENT2, le programme n'entre pas dans la boucle SYD, mais effectue un saut sur le micro-code DENT3 après avoir passé par le micro-code SYDlB(OD) à la case 14, qui est destiné à adresser l'emplacement d'adresse -0 dans la RAM 3 pour placer la valeur RD sur le bus MD. I1 est à noter que le 2ième cas correspond à une accélération. 3ième Cas (réponse au test de la case 15 est " NON "). On suppose que TD n = 96 et TDnî = 32 Le micro-code DENT1 établit 96 - (32 + 1) = 63 dT = 63 STC = O Le micro-code DENT2 calcule 63 - (32 + 1 ) = 30 dT = 30 STC = O Du fait que STC = O après exécution du micro-code DENT, le programme saute à la boucle SYD de sous-programme et y reste puisque la valeur de STC trouvée au cours de -l'éxécution du micro-code DENT2 est également égale à zéro. Le second micro-code du sous-programme SYD2(OC) permet de remettre à zéro le numéro de dent. Donc RD=O et CY=O à la case 16 de l'organigramme. Puis, se déroule la suite de la boucle SYD qui détermine. le calcul de l'avance à l'allumage en fonction des paramètres calculés et mesurés auparavant, tels que la vitesse, la pression, l'anti-cliquetis, la température, etc. Ce calcul est réalisé à partir d'une table qui se trouve stockée dans la mémoire ROM 2 dont le contenu comprend pour chaque ensemble de valeurs des paramètres, une certaine valeur binaire représentant l'avance à l'allumage exigé à cet instant.Le résultat de ce calcul se tra- duit par la production de deux valeurs binaires représentant respectivement l'instant de début d'allumage RDON et de fin d'allumage RDOF, ainsi que deux valeurs RFTD et RFTD1, cette dernière valeur étant calculée en fonction du palier de saturation du transistor d'allumage; palier que l'on réduit au minimum pour économiser de l'énergie. Le rible de ces signaux et de ces valeurs apparaîtra par la suite. Les valeurs calculées au. cours de l'éxécution de ce sous-programme sont mémorisées dans les mémoires ROM ou RAM suivant le cas afin de pouvoir en être extraites le moment venu lors de l'éxécution des autres micro-codes. On a déjà précisé que la table qui permet de trouver l'instant d'allumage est mémorisée dans la mémoire morte 2. Dans le cas représenté; cette mémoire est intégrée sur le même pastille semi-conductrice que l'ensemble du circuit. Mais, il est également possible d'utiliser une mémoire indépendante pouvant être branchée sur le circuit suivant l'invention et éventuellement échangée avec une autre mémoire morte contenant une table différente en vue d'adapter le circuit à d'autres conditions de fonctionnement du moteur. Dans ce cas, les bus MD et ADDR (Fig.l) sortent du circuit pour être connectés à cette mémoire morte indépendante. Après le calcul de l'avance à l'allumage que l'on vient de décrire, le programme effectue un saut sur le micro-code DENT 11(16) représenté à la case 32. sur la Fig.lO. L'exécution de tous les micro-codes suivants se déroule d'une façon analogue à celle des micro-codes WAIT, TRAN1, TRAN2, DENT1 et DENT2 et on n'y reviendra donc pas en détail dans la suite de la description. Les opérations effectuées au cours de l'éxécutlon de chaque micro-code sont énoncées dans le listage annexé à la présente description. Si le ler ou le 3ième cas ci-dessus aboutit à l'dxécu- tion du micro-code DENT3, le programme poursuit avec les micro-codes DENT 4 à DENT 6 jusqu'au test SYV qui est destiné à déterminer si le programme doit passer sur le micro-code DENT7 ou entrer sur une boucle de sous-programme SYV. (cases 13 à 16 de l'organigramme, Fig.9). Comme indiqué ci-dessus, si le programme effectue un saut sur le micro-code DENT3(0A), il se produit une incrémentation du numéro de dent à partir de la valeur qui, au cours du micro-code DENT2 ou SYD1B, a été extraite de la mémoire RAM (RD > MD), llopération effectuée étant MD=MDn 1+l. Cette nouvelle valeur est stockée dans la RAM. et également dans le compteur CV (Fig.3). Le micro-code DENT4(09) provoque le transfert de la valeur TD mesurée précédemment au cours du cycle à l' adresse HEX1 de la mémoire RAM,3 (valeur RTD). Le micro-code DENT5 est destiné à provoquer la recher che d'une dent de la couronne 5a qui, par construction, correspond au point mort haut du cylindre du moteur ( production du signal SYV ou PMH). En l'occurrence, on suppose que cette dent est la onzième après la triple dent constituant la référence. I1 convient de ne pas confondre le numéro de cette onzième dent avec le micro-code DENT. En effet, par construction, on peut déterminer que le point mort haut se trouve à une autre position angulaire par rapport à une triple dent. Mais dans l'exemple décrit, le micro-code effectue la soustraction du contenu du compteur CV et du nombre 11 qui est placé dans le champ HEX de ce micro-code.Ce champ est transféré par le bus AL sur le bus P, tandis que le nombre de dents est transféré du compteur CV dans le bus N. Le résultat de la soustraction effectuée dans l'unité ALU est examiné et stocké dans le bit UEZ du registre d'état ST (Fig.3). A la case 15 qui représente l'éxécution du micro-code DENT6(0F), la valeur RDON est placée sur le bus MD, cette valeur étant stockée à l'adresse HEX4 de la RAM,3 et précédemment calculée dans la boucle SVV. Puis, en fonction du résultat de l'opération effectuée à la case 14 (UEZ=O ou UEZ=1) c'est-à-dire en fonction du test de la case 16, le programme saute au micro-code DENT7(10) à la-case 17 ou le micro-code SYVî(1l) à la case 18 (Fig.llA) pour entrer dans la boucle SYV qui assure la préparation de plusieurs paramètres destinés à des calculs ultérieurs et également à celui du facteur d'échelle. Il est à noter que le fait que UEZ soit égal à zéro, signifie qu'au cours du cycle courant d'exécution du programme, la onzième dent n'est pas encore positionnée devant le détecteur 5d et qu'il convient d'effectuer un ou plusieurs autres cycles avant que cette onzième dent soit trouvée. Le premier micro-code de la boucle SYV à la case 18 consiste à introduire dans le registre T la valeur numérique 8 à l'aide du champ HEX de ce micro-code. Pour ce faire, on effectue une opération d'addition dans l'unité ALU par défaut, (contenu de HEX sur bus P). Le micro-code SYV2 (adresse 1B) à la case 19 sert à charger la valeur 255 dans le registre ACH. Cette valeur est nécessaire pour ultérieurement calculer la vitesse de rotation du moteur et elle est liée à un temps de mesure prédéterminé et éga- lement une période de l'horloge H fixée. La valeur 255 est évidemment facile à engendrer dans un système à 8 bits et résulte de l'addition des contenus des bus P et N avec Z > P et Z > N. Dans l'exemple choisi, le temps de mesure de la vitesse est choisi à 1,70 ms soit un passage de 8 dents successives devant le détecteur 5d lorsque la vitesse de rotation du moteur est de 6400 t/mnè Avec une période de l'horloge de base de 6,6 usec, on aurait donc un rapport de 257,5 pour exprimer la durée totale né- cessaire de mesure de la vitesse. Cependant, pour tenir compte du temps d'éxécution des micro-codes précédents, il suffit de ne compter que 255 périodes d'horloge pour déterminer cette durée et de décompter la valeur correspondante dans un registre.Par consé quint, au cours du micro-code SYV2, la valeur 255 est stockée dans le registre ACH comme décrit ci-dessus, tandis qu'ensuite par le micro-code SYD3; le contenu du registre ACH est transféré dans le registre TPS par le bus MD, le champ HEX étant à 0110. Le micro-code suivant SYV4 à l'adresse 1D du CROM sert à démarrer le décompteur (case 21 de l'organigramme). Afin que le circuit puisse effectuer la mesure de la vitesse, les bits STO et ST1 doivent donc prendre respectivement les valeurs 1 et O. Ceci est obtenu en effectuant une opération OU sur les contenus des bus N et P après avoir chargé le bus P avec la valeur 1 (HEX à 1). Le résultat de l'opération logique OU est placé dans le registre ST (bits de poids le plus faible). La boucle SYV est ensuite achevée avec un sous-programme de calcul qui réalise l'algorithme RTD x RFn-1 RF = 32 pour déterminer le nouveau facteur d'échelle en fonction de la nouvelle valeur (s'il y en a une) de TD. Ce nouveau facteur d'échelle est mémorisé à l'adresse 7 de la mémoire RAM, après quoi;-le programme saute sur le micro-code DENT11 (case 22). Si la réponse au test de la case 16 est négative, le programme poursuit avec le micro-code DENT7 à l'adresse 10 (case 17). Ce micro-code permet de tester à son tour si le numéro de dent correspond à la valeur RDON qui a été chargée précédemment sur le bus MD à partir de la RAM au cours de l'éxécution du mi cro-code DENT6. Cette valeur est placée sur le bus P et comparée avec le contenu du registre CY qui est chargé sur le bus N. Si l'opération effectuée donne lieu à une retenue; UEZ sera égal à 1 et le programme saute sur la boucle RDON (Fig.9) après exécution du micro-code DENT8 à l'adresse 12 (case 23) au cours de laquelle RDOF est extraite de-la mémoire RAM pour être placé sur le bus. MD. Si le test UEZ - 1 (case 24) aboutit à une réponse né gative; le programme poursuit avec l'éxécution du miero-code DENT9 à l'adresse 14 ( case 25). La boucle RDON est destinée. à forcer le bit DON du re gistre I/OST à 1. Comme ce bit est le troisième de ce registre; le micro-code RDON1 (case 26) consiste à effectuer PADDN sur le champ HEX à 4 avec le bus N à zéro. La valeur RDON calculée au cours-de l'éxécution dé la boucle de sous-programme SYD a été affectée d'une valeur-RFTD qui représente une fraction de dent exprimée en 32ièmes de dent. Or; au cours des autres micro-codes de la boucle RDON; il convient donc de mettre à jour cette valeur RFTD en fonction de la modification de la valeur TD qui a pu intervenir depuis l'éxécu tion de la boucle SYD. C'est pourquoi; les derniers micro-codes de la boucle RDON effectuent un caclul selon l'algorithme : RTD x RFTD FTDRDON = 32 afin de rapporter cette fraction de dent à la valeur du dernier TD mesuré. Après exécution de la boucle RDON, le programme saute sur le micro-code DENT11 ( case 32). Si le test UEZ=1 (case 24) s'avère négatif, -le programme poursuit avec le micro-code DENT9 (case 25) qui est destiné à comparer la valeur ROOF extraite de la mémoire RAM et calculée au cours de l'éxécution de la boucle SYV, avec le contenu du registre CY qui représente le n de dent actuel pour qu'un nouveau test UEZ=1 puisse être fait (case 28). Le micro-code DENTlO (case 29) est destiné à remettre à zéro le registre d'état ST. Si la réponse au test de la case 28 est " OUI ", le programme entre dans la boucle RDOF pour l'éxécution des micro-codes ROOFS et RDOF2 (case 30) et le calcul (case 31) d'une valeur FTD mise à jour d'une façon analogue à celle décrite pour la boucle RDON. Le bit DON du registre I/OST est porté à 1. Si, par contre, la réponse au test de la case 28 est "NON", le programme passe sur le micro-code 11 (case 32) qui permet d'éxécuter un test pour vérifier si le temps de mesure dont la valeur correspondante est mémorisée dans le registre TPS, s'est écoulé (case 33). Si la réponse au test est " NON ", le programme passe sur une boucle EXIT commençant par le micro-code EXIT 1 à l'adresse 18 ( case 34; Fig.llB). Mais, si la réponse est " OUI ", (TPSZ=1), le programme passe au micro-code MES1 à l'adresse 19 (case 35), qui prépare à ltéxécution de l'une des quatre boucles de calcul des paramètres vitesse, pression, anti-cliquetis et palier de saturation. Au cours de l'éxécution de la boucle SYV et plus précisément grâce au micro-code SYV4, le registre TPS a commencé à décompter le temps de mesure de la vitesse qui est de 1,7 msec. comme précédemment décrit. Par ce même micro-code, les bits ST1 et STO du registre d'état ST ont été forcés respectivement à O et à 1. Par conséquent, lorsqu'après le test à la case 33, le programme passe vers les boucles de calcul lors d'un premier passage, les bits du registre d'état ST sont prépositionnés à ces valeurs de sorte que lors du test ST = ? (case 36), le programme passe directement à la boucle de calcul de la vitesse en commençant par l'éxécution du micro-code FONC1 (case 37). Entretemps; lors de l'éxécution du micro-code MES1, le bit TPSZ a de nouveau été forcé à O par une opération IPANDN sur la valeur HEX=3 et le troisième bit TPSZ du registre d'état ST qui sont respectivement placés sur les bus P et N. Puis, se déroule un sous-programme de calcul (case 38) d'ou résulte la valeur de la vitesse selon l'algorithme. RCNT X 32 RV =/CY-(11+1)/ x 32+ RTD la valeur RV représentant donc la vitesse -exprimée totalement en 32ième de dent. A la fin de cette boucle de sous-programme de la case 38, le registre TPS est chargé d'une valeur correspondant au temps nécessaire pour effectuer la mesure et le calcul de la pression et ce registre est déclenché pour décompter jusqu'à zéro par l'horloge de base H. Le programme passe sur le micro-code DENT11 et le test TPSZ=1 est de nouveau effectué. Entretemps, lors de l'éxécution du micro-code FONCE, les bits sri et STO du registre d'état ST ont été positionnés respectivement à 1 et O par l'opération PXORN sur le champ HEX=3 (bus P) et les valeurs O et 1 des bits STI et STO. Par consêquent, lorsque lors d'un des prochains cycles du programme, le ~test TPSZ=1 ? trouve de nouveau une- réponse positive,- le programme passe sur la boucle de calcul de pression, le bit TPSZ étant de nouveau remis à zéro pendant MES1 et les bits ST1 et STO étant forcés à 1 et 1, respectivement pendant le micro-code FONC2 ( case 39). Ensuite, une boucle de sous-programme permet de procéder au calcul de pression (case 40). A la fin de cette boucle, le registre TPS est de nouveau chargé dlune valeur correspondant à un intervalle de temps, qui cette fois, n'est nécessaire que pour permettre le test TPSZ=1-?, car, strictement parlant, la mesure ni de l'anti-cliquetis, ni d'ailleurs du palier de saturation ne nécessite un intervalle de temps fixé.Par conséquent, lors d'un prochain cycle aboutissant au micro-code DENT11, le programme entre dans la boucle de sous-programme de calcul de l'anti-cliquetis, (case 42), le bit TPSZ étant préalablement forcé à 1 et de nouveau remis à zéro par le micro-code MES1. Durant l'éxécution de FONC3 (case 41), les bits ST1 et STO sont forcés tous deux à O par une opération IPANDN sur le champHEA à 3 et les bits ST1 et STO à 1.Si le bit TPSZ est de nouveau forcé à 1 par le chargement du registre TPS, puis à zéro lors de l'éxécution du micro-code MES1, le programme peut passer sur la boucle de sous-programme du calcul du palier de saturation (case 44) après exécution du micro-code FONCO (case 43) à l'adresse 20, qui réalise la remise à zéro des bits ST1 et STO du registre d'état ST par HEX3 au moyen de l'opération IPANDN. Au-cours de l'un des cycles suivants lorsque le programme entre dans la boucle SYV, le registre TPS peut de nouveau être chargé de la valeur correspondant à l'intervalle de 1,7 msec. et les bits ST1 et STO forcés à O et 1 respectivement. Si au cours du test TPSZ=1 à la case 33 ( Fig.lO), la réponse est négative, le programme passe à une boucle EXIT. Cette boucle a pour but de préparer l'unité de calcul de la Fig.3 pour un nouveau cycle du programme (voir cases 34 à 42). Tout d'abord, en EXIT1 à l'adresse 18, on compare le numéro de dent avec le contenu dù compteur CY et le registre d'état ST est chargé avec le résultat de la comparaison qui est placé sur le bit UEZ. En EXIT2 -(adresse 1E), la valeur RF de facteur d'échelle est extraite de la RAM,3 et placée sur le bus MD et en EXIT3 (adresse 1F), le contenu du bus MD est placé dans le compteur CY. Si le bit UEZ chargé dans le registre d'état ST est 1, le programme passe au micro-code EXIT7 (25) pour que dans ce micro-code et le suivant, la valeur RFTD stockée dans la RAM puisse être placée dans le registre ACH de l'unité de calcul. Si le bit LIEZ est égal à zéro, le programme exécute les micro-codes EXIT4,EXIT5 et EXIT6 pour charger dans le registre T la valeur RTD/4. Cette valeur est nécessaire pour permettre des essais et le réglage sur le dispositif dans son ensemble et on n'y reviendra donc pas dans la présente description. ELABORATION DU SIGNAL D'ALLUMAGE Sur la Fig.8, on a vu qu'au cours de chaque tour de la couronne 5a, le circuit engendre deux fois un signal DM représentant une dent triple et deux fois un signal PMH représentant un point mort haut dans l'un des cylindres du moteur ( à noter qu'il s'agit d'un moteur à quatre cylindres et à quatre temps dans l'exemple décrit ici qui n'est évidemment pas limitatif). On a vu que la mesure et le calcul de la vitesse (1,7ms) de la pression (160 ps) de l'anti-cliquetis (cette mesure suit la fin de la mesure de pression et le début du signal DM suivant), et du palier de saturation (entre les signaux DM et PMH) sont effectués en asynchronisme par rapport au déroulement du programme de micro-codes et que ces mesures ne sont effectuées qu'en réponse au test TPSZ=1 ? mis en oeuvre à le case 33 de la Fig.lO. Par contre, à chaque cycle du programme, on charge dans le compteur TD le nombre d'impulsions HTD survenant entre les passages de deux dents consécutives devant le détecteur 5d.Cette valeur chargée dans le registre TD dépend de la vitesse du moteur et peut donc être va- riable d'une dent à l'autre suivant que le moteur est accéléré; ralenti ou fonctionne à vitesse constante. I1 convient donc à chaque cycle du programme de ramener toutes les valeurs calculées à des fractions de dents constantes et on a vu que pour des raisons de commodité, toutes les valeurs sont recalculées en 32ièmes de dent. En outre, au cours de chaque cycle du programme, plusieurs tests sont effectués pour détecter si une dent triple passe devant le détecteur ou si le transistor d'allumage doit être mis en conduction ou au contraire être coupé, ce dernier test conduisant à la déterminationde l'instant exact d'allumage. Les Fig.17 et 18 représentent respectivement un schéma et un diagramme des temps illustrant l'une des façons de générer le signal d'allumage. Le signal est élaboré dans le circuit logique 27 (Fig.4) qui comporte deux portes d'entrée ET 43 et 44 auxquelles sont ap pliqués respectivement les signaux DON, DOF et DENT, les deux premiers signaux provenant du registre d'état I/OST dont les bits correspondants sont portés au niveau 1, le cas échéant, au cours des boucles respectives RDON et RDOF du programme. La sortie de la porte 43 produit donc une transition (signal DON) sur la coincidence des signaux DON et DENT, tandis que la sortie de la porte 43 génère un signal DOF sur la coincidence des signaux DOF et DENT. Les deux signaux inversés sont appliqués à une bascule 45 et appliqués sélectivement (suivant leur apparition au cours de l'éxécution de cycles de programme distincts) à une bascule 46 à laquelle est également appliqué un signal EQ provenant du comparateur COMP (Fig.4) qui produit un signal lorsqu'il y a égalité entre les contenus du registre TD et du registre FTD. On rappelle ici que le registre TD augmente d'une unité à chaque apparition du signal HTD au cours de chaque période du signal DENT et que l'éga- lité est donc obtenue chaque fois que le contenu du registre TD devient égal à celui du registre FTD. Le signal Eq est donc engendré à chaque période du signal DENT mais il ne sera utile que lorsque le signal DON ou DOF sera haut. La sortie de la bascule ET46 commande directement ou par l'intermédiaire d'un amplificateur approprié le transistor d'allumage 9, l'allumage étant effectivement obtenu au flanc arrière du signal ALL, lorqu'apparaît le signal E9 sur la coincidence des signaux DOF et DENT. L'apparition du signal DON est conditionnée par le calcul du palier de-saturation dont le résultat est comparé à une valeur de consigne exprimée en périodes de l'horloge de base. Le programme tend à se rapprocher autant que faire se peut de cette valeur de consigne au cours des différents cycles - d' éxécution de manière que le transistor d'allumage ne soit, à chaque fois, allumé qu'au dernier moment possible c'est-à-dire juste avant que l'instant d'allumage doit intervenir. Cette méthode permet de réduire l'énergie dissipée dans le transistor et donc d'en augmenter la durée de vie. En effet; surtout à basse vitesse, en l'ab sence d'un calcul optimal du palier de saturation, le transistor pourrait rester conducteur relativement longtemps en attendant la commande d'allumage.Cet inconvénient est donc entièrement évité dans le circuit suivant l'invention. La détermination de l'instant auquel est engendré le signal EQ est régie par un nombre de 32ièmes de dent qui est composé d'un nombre de dents N compté à partir de la dent triple de réfé rence multipliée par la valeur TD, auquel est additionnée la valeur de FTD. En conséquence, la valeur calculée au cours de la boucle SYD est de la forme : Instant d'allumage FTD x 32 ND x 32 + TD La même formule peut s'appliquer aux signaux DOF et DON de sorte que suivant le cas, la valeur FTD calculée au cours drun cycle du programme peut s'appliquer soit au signal EQ, soit au signal DON, soit encore au signal DOF. Calcul de la vitesse La Fig.19 représente un diagramme illustrant comment est réalisé le calcul de la vitesse. On rappelle que ce calcul est effectué sur une période de 1,7 ms déclenchée par le micro-code SYV4 qui déclenche le compteur TPS lorsque le test de recherche de la dent nO 11 s'est révélé positif. On suppose qu'à cet instant, la valeur TD est de 43 et que cette valeur évolue de la onzième à la douzième dent de 43 à 42. Le compteur CNT qui compte sur les impulsions HCNT enregistre la même valeur TD puisqu'il n'est arrêté ni au cours du passage de la onzième dent, ni au cours de celui de la douzième.Par contre, dans l'exemple décrit, ce compteur est arrêté au cours du passage de la treizième dent, car compte tenu de la vitesse de rotation du moteur à ce moment, on suppose que la période de 1,7 ms se termine pendant le cycle de la treizième dent. Par contre, le registre TD enregistre de nouveau une valeur de 43, mais comme le signal TPS descend à un niveau bas, le compteur CNT n'a pu ( dans cet exemple ) compter que jusqu là 12, ce qui représente alors la valeur FiD. Ceci revient à dire que la vitesse est composée de la somme des impulsions d'horloge apparues pendant 2 dents et des 12 impulsions apparues au cours du passage de la treizième dent, le tout devant naturellement être converti pour être exprimé en 32ièmes de dent. I1 en résulte que dans l'exemple de la Fig .19 CNT x 32 V = CYx32 + -------- TD ou 12 x 32 V = 2x32 + ------- = 72 43 Cette valeur est stockée dans la RAM sur 8 bits, dont les trois bits de poids le plus fort contiennent le nombre N et les cinq autres, le contenu du compteur CNT au moment ou le signal TPS passe au niveau bas. Le résultat du calcul de la vitesse est utilisé ultérieurement au cours de la boucle SYD pour le calcul de l'avance à l'allumage qui revient à consulter une table dans la mémoire-ROM et y chercher 11 avance correspondant à la vitesse calculée -et à d'autres- paramètres calculés. Cette procédure de détermination de l'avance à l'allumage est connue en soi et n'est pas décrite en détail ici. Le circuit de commande suivant l'invention permet d'obtenir une mise à jour quasi instantanée des instants d'allumage d'un moteur à combustion interne en fonction de tous les paramètres importants pouvant en influencer -le comportement. La' rapidité d'éxécution des mesures et calculs est obtenue grâce à l'utilisation d'un programme de micro-codes dont le déroulement est basé sur le calcul continu et renouvelé pour chaque période du signal DENT d'une valeur TD représentant la durée de chaque dent et également sur le fait que toutes les valeurs calculées sont ensuite rapportées à un certain nombre de fractions de dent qui est constant quelle que soit la vitesse du moteur; et choisi en fonction de la technologie employée (sur 8 bits dans exemple représenté). On peut noter également que toutes les valeurs calculées antérieurement à une période donnée du signal DENT sont disponibles dans les divers registres du circuit, quasi immédiatement après la transition vers le niveau haut de chaque signal DENT en raison du fait que le transfert de ces valeurs à partir de la RAM est éxécuté par le programme de micro-codes lui-même en renonçant à une méthode d'adressage habituellement employée dans cette technique. Ce transfert se fait en début et en fin de cycle par les micro-codes TRAN et EXIT, respectivement. APPENDICE LISTAGE DES MICRO-CODES 00 WAIT TD > MD Z > N,MD > P PADDN,ZCI,LST O > ACL JD(TRAN1,WAIT) 01 TRAN1 ACH > P,Z > N PADDN,ZCI MD > FTD MW JUNC(TRAN2) 02 TRAN2 CY > N,Z > P PADDN,ZCI MD > F MW JUNC(TRAN3) 03 TRAN3 MD > TD4 T > N, Z)P PADDN,ZCI MW JUNC(TRAN4) 04 TRAN4 CNT > MD JUNC(TRAN5) 05 TRAN5 HEX2 > AL MD > N, Z > P PADDN,ZCI MW JUNC(TRAN6) 06 TRAN6 HEX1 > AL MR MD > T JUNC(DENT1) 07 DENT1 T > N,ACL > P PSUBN,ZCI 0 > ACH,LST JUNC(DENT2) 08 DENT2 HEXO > AL MR T > N,ACH > P PSUBN,ZCI,LST JC(DENT3,SYD1) OA DENT3 MD > N;;Z > P PADDN , ONECI HEXO > AL MW O > CY JUNC(DENT4) 09 DENT4 HEX1 > AL Z > N,ACL > P PADDN,ZCI MW JUNC(DENT5) OE DENT5 HEXB > AL,AL > P CY > N PSUBN,ONECI,LST JUNC(DENT6) OF DENT6 HEX4 > AL MR JUZ(SYV1,DENT7) 10 DENT7 MD > P,CY > N PSUBN,ONECI,LST JUNC(DENT8) 12 DENT8 HEX6 > AL MR JUZ(RDOF1,DENT9) 14 DENT9 MD > P,CY > N PSUBN,ONECI,LST JUNC(DENT10) 1A DENT10 Z > N,Z > P PADDN,ZCI,LST JUZ(RDOF1,DENT11) 16 DENT11 JT(MES1,EXIT1) 19 MES1 HEX4 > AL,AL > P ST > N IPANDN O > ST JST (FONCO) 20 FONCO HEX3 > AL,AL > P ST > N IPANDN O > ST JSUB (calcul palier) 21 FONC1 HEX3 > AL,AL > P ST > N PXORN O > ST JSUB (calcul vitesse) 22 FONC2 HEX1?AL,AL > P ST > N OR, O > ST JSUB (calcul pression) 23 FONC3 HEX3 > AL,AL > P ST > N IPANDN, O > ST JSUB (calcul anticliquetis) Après calcul JRT (DENT 11) 11 SYV1 HEX8 > AL, AL > P PADDN,ZCI MD > T JUNC(SYV2) 18 SYV2 ZP,Z > N INVP,O > ACH JUNC(SYV3) IC SYV3 ACH > P, Z > N PADDN,ZCI MD > TPS MW JUNC(SYV4) ID SYV4 HEX1 > AL, AL > P ST > N, Z > P OR, O > ST JSUB(Calcul facteur échelle) Après calcul 3RT (DENT 11) 15 RDON1 HEX4 > AL, AL > P Z > N PADDN,ZCI JUNC(RDON2) RDON2 MD > I/OST MW JSUB(calcul FTD) 17 RDOF1 HEX8 > AL, AL > P Z > N PADDN,ZCI JUNC (RDOF2) RDOF2 MD > I/OST MW JSUB(calcul FTD) 18 EXIT1 HEXB > AL, AL > P CY > N PSUBN, ONECI, LST JUNC(EXIT2) 1E EXIT2 HEX7 > AL MR JUNC(EXIT3) 1F EXIT3 MD > N, Z > P PADDN,ZCI, O > CY JUZ (EXIT8, EXIT4) 24 EXIT4 HEX1 > AL MR JUNC(EXIT5) 26 EXIT5 MD > N, Z > P PADDN, RRCZ MD > T JUNC(EXIT6) 27 EXIT6 MD > T, Z > P PADDN,RRCZ MD > T JUNC(EXIT7) 25 EXIT7 HEX5 > AL MR JUNC(EXIT9) 28 EXIT8 MD > N, Z > P PADDN, ZCI O > ACH JNNC(WAIT) 0B SYD1 JC(SYD1B,SYD2) OD SYD1B HEX1 > AL MR JUNC(DENT3) 0C SYD2 HEX1 > AL Z > N, Z > P PADDN,ZCI O > CY, MW JSUB(calcul avance) Après calcul JRT (DENT 11) REVENDICATIONS 1. Procédé de commande de l'allumage ou de l'injection d'un moteur à combustion interne à l'aide d'un calculateur microprogrammé, caractérisé en ce qu'on génère un signal impulsionnel dont la fréquence représente la vitesse de rotation du moteur, on calcule l'instant d'allumage d'un cycle d'allumage en cours exprimé en fractions de la période dudit signal impulsionnel, ces fractions étant mesurées avec une échelle évolutive d'un cycle d'allumage à l'autre, ladite échelle résultant d'un calcul effectué pendant le cycle d'allumage précédent, et on déclenche l'allumage en cours à l'issue d'un comptage desdites fractions de la période du signal impulsionnel réalisé à partir d' un instant de référence marquant le début de ce cycle d'allumage en cours en tenant compte de l'évolution de la vitesse de rotation ayant entraîné une modification de la valeur temporelle desdites fractions de la période du signal impulsionnel. 2. Procédé suivant la revendication 1, caractérisé en ce que pendant chaque cycle d'allumage, on effectue un calcul de mise à jour de ladite échelle en vue de rapporter la vitesse de rota- tion à une constante de précision fixée à l'avance. 3. Procédé suivant la revendication 2, caractérisé en ce que ladite constante de précision est une puissance de 2, de pré férence égale à 32. 4. Procédé suivant l'une quelconque desrevendiations 1 à 3, caractérisé en ce que l'évolution de la vitesse de rotation est prise en compte en mesurant à chaque période dudit signal impulsionnel, la vitesse instantanée rapportée à l'échelle calculée au cycle d'allumage précédent et exprimée en fractions de ladite période et en ce que pour la détermination de l'instant d'allumage, on compte lesdites fractions jusqu'à concurrence du nombre correspondant à l'instant d'allumage calculé. 5. Procédé suivant 1' une quelconque des revendications 1 à 4, caractérisé an ce que pour le calcul de l'instant d'allumage exprimé en fractions de la période dudit signal impulsionnel, on calcule durant chaque cycle d'allumage, une valeur exprimée en lesdites fractions du signal impulsionnel; cette valeur représente tant un paramètre de fonctionnement dudit moteur et en ce que cette valeur calculée est confrontée durant le cycle d'allumage suivant à une table mémorisée contenant pour chaque valeur dudit paramètre une valeur représentant l'instant appropriée auquel l'allumage doit être déclenché. 6. Procédé suivant la revendication 5, caractérisé en ce que ledit paramètre est la vitesse du moteur à commander, la pression dans la tubulure d'admission de mélange combustible de ce moteur,et/ou un paramètre représentant une température de ce moteur ou un autre paramètre représentant le fonctionnement de celui-ci. 7. Procédé suivant l'une quelconque des revendications 4 à 6, caractérisé en ce-que la mesure de vitesse instantanée effectuée à chaque période dudit signal impulsionnel est réalisée à l'aide d'un facteur d'échelle par lequel la fréquence d'une horloge de base est divisée, le résultat de cette division étant mémorisée pendant la durée de ladite période concernée, et en ce que pour la mise à jour de ladite échelle, ledit facteur est recalculé au cours du cycle d'allumage suivant pour rapporter le résultat de la mesure à une valeur appropriée, conformément à l'expression:: TDn-1 x Fn-1 Fn = CP dans laquelle fn = facteur d'échelle du cycle d'allumage en cours, Fun 1 = facteur d'échelle du cycle d'allumage antérieur, TDnî = résultat de la mesure de vitesse de 19 période en cours du signal impulsionnel, CP = ladite valeur appropriée. 8. Procédé suivant la revendication 7 lorsque celle-ci dépend de l'une quelconque des revendications 3 à 6, caractérisé en ce que ladite valeur appropriée est la constante de précision choisie. 9. Procédé suivant la revendication 8; caractérisé en ce que l'instant d'allumage est exprimé en un nombre binaire dont un groupe de bits représente- un nombre de périodes entières dudit signal impulsionnel et dont un autre groupe de bits représente le nombre de fractions de la période de ce signal qui additionnées audit nombre de périodes entières déterminent l'instant d'allumage à partir dudit instant de référence selon l'expression TDn 1 x RFTD Instant d'allumage = N ±----------- CP dans laquelle N = nombre de cycles du signal impulsionnel écoulés à partir de l'instant de référence. TDn-1= résultat de la mesure de vitesse de la période en cours du signal impulsionnel. RFTD = ledit nombre de fractions. CP = ladite valeur appropriée. 10. Procédé suivant l'une quelconque des revendications 7 à 9, caractérisé en ce que ledit instant de référence marquant le début d'un cycle d'allumage est détecté par une période du signal impulsionnel dont la durée est triple des autres périodes de ce signal et en ce qu'il consiste, lors de l'apparition de chaque période du signal impulsionnel, à confronter ladite valeur appropriée résultant de la mesure de vitesse instantanée, à la valeur correspondante de la période précédente selon l'expression:: TDn- / TDn-1 + 1 / dans laquelle TO n = résultat de la mesure en cours, TOnî = résultat de la mesure de la période précédente, et en ce que le procédé consiste en outre à examiner le signe du résultat de cette expression pour déclencher le comptage des frac tions de période du signal impulsionnel au bout duquel doit se situer l'instant d'allumage. 11. Procédé suivant la revendication 9, dans lequel l'allumage est assuré par l'intermédiaire d'un composant semiconducteur qui est mis en saturation durant un faible laps de temps avant l'instant d'allumage et qui est rendu non conducteur au moment de l'allumage, caractérisé en ce qu'il consiste en outre à déterminer à chaque cycle d'allumage un instant de mise en conduction et un instant de coupure dudit composant, ledit instant de coupure étant ledit instant d'allumage, ledit instant de mise en conduction étant également exprimé en fractions dudit signal impulsionnel, et en ce qu'il consiste également à ramener ledit laps de temps à une durée fixée à l'avance. 12. Procédé suivant l'une quelconque des revendications précédentes, caractérisé en ce qu'il consiste à exécuter un programme de micro-codes du micro-calculateur au cours de chacune desdites périodes dudit signal impulsionnel, à détecter au cours de l'éxécution de ce programme des périodes particulières dudit signal impulsionnel suivant des numéros qui leur sont affectés et à exécuter un sous-programme de calcul à chacune desdites périodes particulières détectées. 13. Procédé suivant la revendication 12, lorsqu'elle dépend de la revendication 10, caractérisé en ce que l'on exécu -te un sous-programme de calcul de l'instant d'allumage immédia tement après détection de ladite période triple du signal impulsionnel. 14. Procédé suivant l'une quelconque des revendications 12 et 13, lorsqu'elles dépendent de l'une quelconque des revendications 7 à 11, caractérisé en ce qu'il consiste pour la mesure du paramètre de vitesse de rotation du moteur conduisant à la détermination au cours de chaque cycle de l'instant d'allumage, à détecter une période particulière dudit signal impulsionnel, à .déclencher le compte d'un intervalle de temps prédéterminé de mesure, à détecter au cours d'une période suivante la fin dudit intervalle de temps de mesure et à compter les fractions de période qui se sont passées 1' intérieur dudit intervalle en tenant compte du résultat de la division par ledit facteur d'échelle de la fréquence de ladite horloge de base. 15. Procédé suivant la revendication 14, caractérisé en ce que ladite période particulière dudit signal impulsionnel est celle qui coincide avec le point mort haut du cylindre dudit moteur dont l'allumage est commande pendant le cycle d'allumage considéré. 16. Circuit de commande pour la mise en oeuvre du procédé suivant l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend un générateur dudit signal impulsionnel (5), plusieurs capteurs (7,8,15,16) de paramètres de fonctionnement du moteur dont l'allumage doit être commandé, une unité de calcul (17)-, -une unité périphérique d' entrée/sortie à laquelle sont connectés ledit générateur et lesdits capteurs ainsi qu'un semi-conducteur d'allumage (9), ladite unité de calcul (17) étant reliée à ladite unité périplérique par un bus de transfert de données (MD) et un bus de transfert d'adresse (ADDR) sur lequel sont destinés à transiter sélectivement des adresses de mémoire et des adresses de commande des organes de ladite unité périphérique (1), ledit circuit étant associé à une mémoire morte (2) dans laquelle est mémorisée une table contenant.des données relatives aux instants d'allumage en fonction d'un ou de plusieurs paramètres mesurés de fonctionnement du moteur, une mémoire b accès direct pour mémoriser les valeurs calculées dans ladite unité de calcul (17), ainsi qu' une mémoire de microcodes (18) pour commander les opérations réalisées dans lesdites unités de calcul et périphérique (17,1). 17. Circuit suivant la revendication 16, caractérisé en ce que ladite table est mémorisée dans une mémoire morte intégrée sur une pastille comportant le circuit de.commande dans son ensemble. 18. Circuit suivant la revendication 16, caractérisé en ce que ladite table est mémorisée dans une mémoire morte indépendante pouvant être connectée audit circuit de commande en vue d'un remplacement éventuel et d'une adaptation h des conditions de fonctionnement différentes du moteur à commander. 19. Circuit suivant l'une quelconque des revendications 16 à 18, caractérisé en ce que ladite unité de calcul (17) comporte des registres de travail (ST,CV,T,ACH,ACL) destinés à mémoriser temporairement des données soumises aux calculs et/ou des résultats de ces calculs, chacun des registres étant sélectivement activés par un champ des micro-codes (WAIT, TRAN, DENT ...) au cours de l'éxdoution du jeu de micro-codes mémorisés dans ladite mémoire (CROM).. 20. Circuit suivant l'una quelconque des revendications 16 à 19, caractérisé en--ce que ladite unité de calcul (17) comporte des registres de travail (TD,CNT, TPS ...) destinés à mémoriser des valeurs relatives à l'établissement de ladite échelle et à la mesure de la vitesse du moteur, chacun de ces registres pouvant sélectivement être activé à l'aide d'un champ (HEX) des micro-codes, ce champ etant destiné à contenir une valeur binaire à plusieurs bits qui est destinée à être décodée dans un décodeur (24) de l'unité périphérique (1) raccordé à chacun de ces registres. 21. Circuit suivant-la revendication 20, caractérisé en ce que ledit champ (HEX) de désignation des registres est associé à un champ de sélection dans chaque micro-code pour affecter ledit champ soit à la sélection desdits registres, soit à l'adressage de ladite mémoire à accès direct et de ladite mémoire morte selon la valeur dudit champ de sélection. 22. Circuit suivant la revendication 21, caractérisé en ce que ledit champ (HEX) contenant une valeur binaire à plusieurs bits est placé sélectivement dans un registre de ladite unité de calcul (17), ce registre étant connecté d'une part audit décodeur (24) et d'autre part, à un bus de calcul (P) de cette unité de calcul de manière que ce champ (HEX) puisse contenir des valeurs requises pour les calculs dans l'unité correspondante (17). 23. Circuit suivant l'une quelconque des revendications 19 à 22, caractérisé en ce que ladite unité périphérique comporte un premier registre (TO) -destiné à mémoriser une valeur représentant la vitesse instantanée dudit moteur, un second registre (F) destiné à mémoriser un facteur représentant ladite échelle, ainsi qu'un troisième registre (PTD) faisant office de décompteur, qui décompte en fonction de l'application d'impulsions d'une horloge de base (H) et dans lequel est chargé ledit facteur après décomptage complet; et en ce que ledit premier registre est connecté à la sortie dudit troisième registre pour emmagasiner le nombre de fois que ledit troisième registre décompte jusqu' zéro; lesdits. premier et troisième registres (TD et PTD) étant remis à zéro à chaque flanc montant dudit signal impulsionnel. 24. Circuit suivant -l'une quelconque des revendications 19 à 23, caractérisé en ce que pour la mesure de la vitesse-du moteur au cours de chaque cycle d'allumage, ladite unité périphél rique (1) comporte un quatrième registre (TPS) dans lequel est chargé une valeur représentant une période. de mesure prédéterminée de cette vitesse; chaque fois qu'un point mort haut est atteint dans le moteur et en ce que ledit registre est décompté jusqu'd zéro par des impulsions d' une horloge de base (H) pour déclencher le calcul de ladite vitesse dans ladite unité de calcul.