FR 2573890 A1 19860530 FR 8418043 A 19841127 DISPOSITIFS ELECTRONIQUES D'ACQUISITION DES SIGNAUX PERIODIQUES ASYNCHRONES La présente invention a pour objet des dispositifs électroniques d'acquisition des signaux périodiques asynchrones à l'aide d'un microprocesseur unique. Ces dispositifs sont destinés essentiellement, sur véhicules automobiles ou utilitaires à être intégrés dans des systèmes d'automatisme et/ou de sécurité tels que des systèmes d'antiblocage (ou anti-enrayage); de freinage, de direction assistée, de suspension dite contrôlée ou d'anti-dérapage. Dans ce qui suit et pour fixer les idées, on se référera à l'application aux systèmes d'antiblocage faisant appel à la mesure des vitesses des différentes roues. La transposition à d'autres applications à partir de ces mêmes paramètres et/ou d'autres est du domaine de l'homme de l'art et ne sort pas du cadre de la pré- sente invention. On notera en particulier qu'en ce qui concerne les vitesses des roues, s'il existe dans l'art antérieur des dispositifs électroniques d'acquisition, ils utilisent une chaîne de mesure pour deux vitesses ce qui nécessite deux chaînes pour quatre roues et l'on sort des limites des boîtiers connus si l'on doit équiper un véhicule à-plus de quatre roues, par exemple un véhicule utilitaire à six roues. - Toujours pour fixer les idées, on traitera ici à titre d'exemple du cas de ces véhicules utilitaires à six roUes qui sont de plus en plus courants sur le marché et pour lesquels les exigences de sécurité et/ou d'automatisme sont de plus en plus marquées. On signalera que les informations de vitesse correspondent à des gammes de fréquences allant approximativement de O à 1,2 kHz pour les - utilitaires à plus de quatre roues et de O à 1,8 kHz pour les véhicules à quatre roues. Il faut également noter que l'on se heurte fréquemment à des problèmes qui peuvent de prime abord soulever sinon des incompatibilités, du moins des antagonismes au moins en apparence. Ainsi, dans le cas de l'application aux systèmes anti-blocage, il faut assurer un compromis entre: - d'une part une précision importante de mesure des vitesses, - d'autre part, une réponse rapide, et ceci quelles que soient les périodes des signaux. On se trouve donc amené à mesurer chaque période séparant deux fronts de même nature (croissant ou décroissant) sans omettre aucune information sur ces fronts. Or comme on l'a déjà souligné, en ce qui concerne les systèmes existant sur le marché à la date de dépôt de la présente demande, la capacité maximale d'un boîtier correspond à deux chaînes de mesure de deux vitesses par circuit spécialisé (microprocesseurs ou compteurs spécifiques, essentiellement), d'o la limitation à quatre roues, ce qui est insuffisant sur les véhicules utilitaires à plus de quatre roues. La présente invention a pour but de réaliser l'acquisition de signaux périodiques asynchrones et en particulier en nombre supérieur à quatre, en ne faisant appel qu'à un microprocesseur pouvant être clas- sique et à un faible volume de circuits externes. Selon l'invention, on parvient à acquérir, avec un microprocesseur 8 bits de type classique, jusqu'à 8 signaux périodiques asynchrones ce qui en pratique se traduit par l'acquisition de 1 à 8 signaux de ce type. Dans l'exemple qui en sera donné ci-après, lorsqu'il est appliqué à un système d'anti-blocage à 6 roues, on peut recourir à une surface de circuit imprimé de 150 x 180 mm implanté dans un seul boîtier et avec un seul microprocesseur 8 bits classique. La présente invention a donc essentiellement pour objet des dispositifs d'acquisition et de calcul en temps réel de 1 à 8 signaux de vitesse et en particulier de 4 à 6, présentant une entrée unique de mesure de temps (ou "timer") d'un microprocesseur unique ou d'un circuit spécialisé unique, qui est utilisée pour le traitement de mesure commun de tous les signaux occurents. Ces dispositifs permettent d'acquérir et de calculer en temps réel la fréquence de signaux périodiques quelcon- ques asynchrones, l'utilisation d'une circuiterie externe particulière et de l'entrée de mesure du temps du microprocesseur ce qui entraîne une grande précision de mesure et un court temps de réponse. Ces dispositifs peuvent en particulier s'appliquer à de nombreux systèmes tels que des systèmes d'antiblocage pour véhicules légers ou industriels, des systèmes électroniques d'assistance à la direction, ou des systèmes électroniques d'assistance à la suspension. Dans ces dispositifs, on peut acquérir et traiter de i à 8 signaux asynchrones périodiques de quelque nature que ce soit, les plages de fréquences mesurables étant inversement proportionnelles au nombre de signaux mesurés avec ladite entree unique de mesure de temps. Avec un microprocesseur 8 bits utilisant une horloge de base de 1 MHz, la fréquence maximale pour un signal est ainsi de l'ordre de 7,2 kHz. Ces dispositifs présentent également des moyens de mémorisation externe des signaux occurents faisant appel à un premier étage de synchronisation et à un second étage de mémorisation. La réinitialisa- tion de cet étage de mémorisation est effectuée automatiquement dès la lecture effectuée. Pour ce faire, on utilise la sortie d'échantillonnage du microprocesseur sans perte d'information et dans un temps minimum, un banc de bascule mémorisant l'occurence d'un événement quelconque. Pour mieux faire comprendre les caractéristiques techniques et les avantages de la présente invention, on va en décrire un exemple de réalisation étant bien entendu que celui-ci n'est pas limitatif quant à son mode de mise en oeuvre et aux applications qu'on peut en faire. On se reportera aux figures suivantes qui représentent schéma- tiquement: - la figure 1 un diagramme bloc d'un dispositif conforme à l'invention; - la figure 2 un synoptique de l'ensemble du dispositif conforme à l'invention; - la figure 3 un diagramme dans le temps des signaux d'échantillon- nage et de réinitialisation; - la figure 4 un chronogramme d'ensemble des signaux principaux; - la figure 5 est une courbe de répartition des erreurs maximales en fonction de la fréquence; - la figure 6 est un diagramme bloc du microprocesseur MC 6801 fabriqué par MOTOROLA et utilisé dans l'exemple de réalisation de la figure 1 (microprocesseur MP). Dans ce qui suit et pour simplifier, on considérera que les signaux périodiques ont été mis en forme dans un étage précédent de tout type adéquat et sont donc des signaux compatibles en niveau avec la logique transistor transistor (TTL) ou semiconducteur oxyde métal complémentaire (CMOS). On partira du cas d'un seul signal de vitesse SV1 (figure 1) pour en décrire le traitement puis on se placera dans le cas de huit signaux non simultanés (SV1 à SV8, figure 1). Le signal de vitesse SV1 mis en forme entre en Dll dans un étage de synchronisation (figures 1 et 2) constitué par la bascule B1 échantillonnée en CLK11 à partir de l'horloge E du microprocesseur MP à une fréquence E1 égale à la moitié de celle E de l'horloge. De la sorte à chaque front montant du signal parvenant en CLK11, le signal recueilli en Qll prend la valeur du signal arrivant en Dll. Si l'horloge du microprocesseur fonctionne en 1 MHz, E1 est alors de 500 kHz, de sorte que toutes les 2 microsecondes, Qll est amenée à la même valeur que Dll, ce qui assure la synchronisation. Le signal est ensuite traité dans un étage de mémorisation constitué par la bascule B2 o il accède par l'entrée d'horloge CLK21. Quand SET21 est à l'état O, Q étant à l'état 1 à chaque front montant du signal Qll arrivant en CLK21, Q21 prend la valeur de D21, puis grâce à la connexion Q-D, la valeur Q21. Le front montant est ainsi mémorisé jusqu'à ce que le microprocesseur MP ait traité cette information. La sortie Q21 de la bascule B2 attaque l'une des entrées de la porte logique ET à 8 entrées (ou l'une des entrées de deux portes logiques ET à 4 entrées) et reste normalement à l'état 1. Lorsqu'apparait un front montant, Q21 passe de l'état 1 à l'état O, ce qui fait commuter la porte et crée une interruption par le PORT 2-P20 (saisie d'entrée ou "input-capture" IC) du microprocesseur MP qui enregistre automatiquement en mémoire l'instant d'occurence de l'interruption. Dans le cas du fonctionnement sur 8 vitesses, chaque signal de vitesse SV 1 à 8 attaque chaque bascule de la colonne B1 et le fonction- nement est identique, la description ci-dessus donnée s'appliquant à n'importe quel autre signal en remplaçant le dernier indice 1 par l'indice du signal correspondant: Dll par D12 à D18, CLK21 par CLK22 à 28, etc. Lorsque le microprocesseur a ainsi enregistré automatiquement en mémoire l'instant d'apparition de l'interruption, il entre dans un processus selon la série d'opérations suivantes; on se référera à la figure 6 qui représente la partie du schéma du microprocesseur MC 6801 de MOTOROLA particulièrement adaptée à la présente invention. On y retrouve sous les mêmes références les divers accès, les autres éléments étant désignés par leurs initiales conventionnelles. Ce schéma est classique. 1) Inhibition de l'horloge d'échantillonnage E/E1 Le PORT 1-P10 = O donne l'ordre de réinitialisation (RESET) de la bascule B4, ce qui bloque l'échantillonnage dans la série de - bascule B1 des signaux de vitesse via Q4 et CLKll à 18 de sorte qu'il ne pourra plus y avoir d'interruptions tant que l'échan- tillonnage ne sera pas à nouveau autorisé. 2) Lecture de l'instant d'apparition de l'interruption Cette lecture s'effectue sur le registre de saisie d'entrée P20 (PORT 2) du microprocesseur. 3) Lecture de l'état de sortie des bascules B2 et réinitialisation automatique de leurs étages La lecture sert à détecter sur quel signal (ou sur quels signaux simultanés) a eu lieu une transition (jusqu'à 8 signaux), la réinitialisation automatique étant effectuée simultanément avec ladite lecture. Chaque sortie Qll à Q18 de la série de bascules B1 est reliée à une entrée du microprocesseur MP au PORT 3 qui présente huit entrées disponibles 8E (figure 6); la lecture au PORT 3 s'accom- pagne de l'émission d'un signal d'échantillonnage OS3 (également PORT 3) de sortie (utilisé habituellement pour le dialogue entre microprocesseur MP et périphérique par ledit PORT 3, le signal passant à O lors d'une lecture et à 1 pour une-écriture). Cette émission du signal d'échantillonnage 0S3 (PORT 3) est sequencee avec l'horloge interne comme le montre la figure 3, OS3 passant de l'état O à l'état 1 ou réciproquement à chaque arrivée à l'état 1 du signal E d'horloge (OS3 = OUTPUT STROBE). De manière à ne réinitialiser les bascules qu'après s'être assuré d'avoir bien lu l'état des sorties, le signal OS3 reçu en D3 est décalé d'un cycle par la bascule B3 échantillonnée en CLK3 par l'horloge interne E du microprocesseur MP: le signal SET ne parviendra en SET21 à 28 des bascules B2 en provenance de Q3 que sur le front montant suivant celui de l'horloge (figure 4). 4) Autorisation de transfert automatique du compteur ) Validation de l'horloge d'échantillonnage E1 et autorisation des interruptions "réentrantes" La lecture du registre d'état et de contrôle de la mesure des temps ("timer TR CSR") autorise le transfert automatique en cas d'interruption de la saisie d'entrée ("input capture"). Cette lecture est suivie de la mise à l'état 1 de P10 (PORT 1) qui entraîne la validation de l'horloge El sur l'étage des bascu- les B1. A cet instant, le microprocesseur MP détient dans des registres pouvant être sauvegardés les informations suivantes: 5. index X, X+l: instant Ti d'occurence d'un front montant; accumulateur A: image de l'entrée (ou des entrées) sur laquelle (ou sur lesquelles) s'est produit le front montant. A cet instant, le microprocesseur peut valider de nouvelles interruptions puisque les registres A et X ne sont pas détruits (sauvegarde dans la pile en cas de nouvelle interruption, ce que l'on appelle plus communément systèmes d'interruptions entrant à nouveau ou "réentrantes"). On peut schématiser l'ensemble des opérations en se reportant au chronogramme de la figure 4, soit le signal de vitesse SVi. Il se traduit par la lecture en P20 (PORT 2) d'un signal Q2i qui passe de l'état 1 a l'état O au premier front montant de CLKli suivant l'échelon SVi. Ce signal reviendra à l'état 1 au passage état 1/état O de Q3 (SET). La fréquence CLKli = E1 est la moitié de celle de l'horloge E du microprocesseur. Les signaux CLKli = El sont inhibés lorsque P10 passe de l'état 1 à l'état O et reval-idés quand P10 revient à l'état 1. Il ne peut y avoir d'interruption tant que l'échantillonnage n'est pas auto- risé. Le passage de PO10 de l'état 1 à l'état O est suivi du passage par l'état O du signal d'échantillonnage 6S3 (PORT 3) suivi immédiatement à un cycle E près) du passage par O de Q3 (ET) et donc de la remise à l'état 1 de Qi. On reviendra ci-après sur les deux derniers éléments de ce chronogramme de la figure 4. Si l'on considère l'ensemble de ces opérations, on peut définir les erreurs limites de mesures: elles sont divisées en deux cas selon leur signe. Erreur négative En se reportant au chronogramme de la figure 4 (avant dernier graphe) (en microsecondes), c'est le cas lorsque le front FM apparaît juste avant inhibition IH de l'horloge d'échantillonnage, alors que l'interruption a eu lieu au tout début d'une instruction MUL (la plus longue du programme). On compte 10 ps de retard entre le temps tO de la saisie d'entrée (input capture IC), 12 ps pour le départ en interruption 2 573890 et 5 ps pour le début de programme d'interruption avant inhibition, ce qui donne 27 ps d'erreur négative. Erreur positive En se reportant au chronogramme de la figure 4 (dernier graphe), c'est le cas du front FM apparaissant juste après inhibition IH de l'horloge, et qui sera pris en compte avec un retard dû au programme d'interruption c'est-à-dire jusqu'à revalidation de l'horloge RH soit 13 ps. Ces évaluations données à titre illustratif se basent sur un microprocesseur dont l'horloge fonctionne à 1 MHz soit une période d'1 ps. Le calcul d'une période T entre deux fronts de même sens résulte ainsi de la différence entre l'instant d'arrivée du premier et celui du second: elle s'effectue donc dans le présent exemple à 27 + 13 = 40 ps près. , On peut en déduire le degré de précision de l'évaluation de la vitesse sur la base des fréquences/périodes ainsi déterminées. L'horloge interne du microprocesseur détermine des fenêtres de mesures consécu- tives, soit 10 ms; pendant la durée d'une telle fenêtre, l'instant d'occurence du premier front tl est mémorisé et le nombre de fronts successifs est compté jusqu'au Nième et dernier tN apparaissant dans la fenêtre. La période moyenne est donc: tN - tl tm =N - 1 L'erreur relative maximale commise sur cette période moyenne est donc le rapport entre l'erreur absolue maximale et la durée minimale entre le ler et le dernier front. Dans le pire des cas, c'est-à-dire lorsque la période du signal est légèrement supérieure à 5 ms, ce qui ne donne que deux fronts dans une fenêtre de 10 ms (N = 2, N-1 = 1. E. = 1,4Ps = 0,8% Emax - 5 ms On peut ainsi calculer l'erreur maximale en fonction de la fré- quence (figure 5): elle se tient en pratique entre 0,1 et 0,8%. Cette dernière valeur correspondant au cas le plus défavorable. Le domaine d'erreur est donc compris entre la courbe de la figure 5 et l'axe des abscisses. On constate ainsi, comme le confirme l'expérience que l'on peut, sous un très faible volume avec un microprocesseur unique classique, suivre et traiter huit vitesses différentes et les calculer en temps réel avec de faibles erreurs. On utilisera donc les données emmagasinées dans le microprocesseur et les vitesses calculées en temps réel comme base de calcul pour les diverses applications mentionnées plus haut (antiblocage ou anti-enrayage, freinage, direction assistée, suspension contrôlée, antidérapage et autres). On remarque également en se repor- tant à la figure 1 que l'on peut monter sur une même carte 1 circuit à 8 bascules montage Type D (B1), 5 circuits double bascules montage type D (B2, B3-B4) une porte ET à huit entrées et le microprocesseur MP; comme on l'a mentionné, le MC 6801 de MOTOROLA (figure 6) se révèle particulièrement adapté et simple et vient s'inscrire aisément dans l'ensemble conforme à la présente invention. Il est néanmoins possible de faire appel à d'autres types de microprocesseurs du commerce dès lors qu'ils répondent aux mêmes fonctions dans des conditions au moins équivalentes. Il est évident que l'on peut imaginer de nombreuses variantes (deux portes ET à 4 entrées chacune au lieu d'une à 8 entrées, par exemple) sans sortie du cadre de la présente invention. Enfin, on soulignera que ces ensembles sont de préférence réalisés en logique rapide. REVENDICATIONS 1.- Dispositif d'acquisition et de calcul en temps réel de signaux de vitesses périodiques quelconques et asynchrones, N étant compris entre 1 et 8, caractérisé par le fait qu'il comprend un ensemble de N bascules de synchronisation (B1) suivi d'un ensemble de N bascules de mémorisation (B2) dont la sortie attaque un circuit spécialisé par l'intermédiaire d'un ensemble de type porte ET à N entrées, les N bas- cules de synchronisation étant échantillonnées par un système à bascule (B4) à partir de l'horloge dudit circuit spécialisé et les N bascules étant réinitialisées par un système automatique à bascule (B3) à partir de cette même horloge. 2.- Dispositif selon la revendication 1, caractérisé par le fait que le circuit spécialisé est un microprocesseur. 3.- Dispositif selon l'une des revendications i ou 2, caractérisé par le fait que l'unique entree de mesure du temps à la sortie de la porte ET est utilisée pour la mesure simultanée de toutes les occurences de signaux. 4.- Dispositif selon l'une des revendications 1 à 3, caractérisé par le fait que les bascules sont à montage de type D. 5.- Dispositif selon la revendication 4, caractérisé par le fait que les bascules de synchronisation sont échantillonnées en recevant les signaux d'horloge à l'entrée CLK et les signaux de vitesse à l'entrée D. 6.- Dispositif selon la revendication 5, caractérisé par le fait que les bascules de mémorisation reçoivent en CLK le signal de vitesse issu en Q des bascules correspondantes de synchronisation, leur sortie Q étant reliée à l'entrée D tandis que leur sortie Q est reliées à une entree de porte ET. 7.- Dispositif selon l'une des revendications 1 à 6, caractérisé par le fait que les bascules de synchronisation sont échantillonnées à une fréquence moitié de celle de l'horloge. 8.- Dispositif selon l'une des revendications 1 à 7, caractérisé par le fait que la réinitialisation automatique des bascules de mémori- sation est déclenché dès la lecture effectuée. 9.- Dispositif selon l'une des revendications 2 à 8, caractérisé par le fait que le microprocesseur est du type 6801; le signal 0S3 (OUTPUT STROBE) dudit microprocesseur étant utilisé pour réinitialiser automatiquement l'ensemble de bascule de mémorisation de l'occurence des signaux de vitesse issus de l'ensemble de synchronisation. 10.- Dispositif selon l'une des revendications 1 à 9, caractérisé en ce qu'un élément calcule les vitesses en temps réel à partir des données mises en mémoire dans ledit dispositif. 11.- Dispositif selon l'une des revendications 1 à 10, caractérisé par le fait qu'il est appliqué à un système d'antiblocage ou antienrayage. 12.- Dispositif selon l'une des revendications i à 10, caractérisé par le fait qu'il est appliqué à un système de freinage. 13.- Dispositif selon l'une des revendications 1 à 10, caractérisé par le fait qu'il est appliqué à un système de direction assistée. 14.- Dispositif selon l'une des revendications 1 à 10, caractérisé par le fait qu'il est appliqué à un système de suspension contrôlée. 15.- Dispositif selon l'une des revendications 1 à 10, caractérisé par le fait qu'il est appliqué à un système d'antidérapage.