Brevet FR2700027A1 — publié le 19940701

PROCÉDÉ ET CIRCUIT D'IDENTIFICATION DE LA FRÉQUENCE NOMINALE D'UN SIGNAL LOGIQUE La présente invention concerne l'identification de la fréquence nominale d'un signal logique pouvant avoir une fré- quence voisine de l'une ou l'autre d'une pluralité de fréquences nominales discrètes. La présente invention concerne plus particulièrement la détection de la vitesse de transmission d'un appareil relié à une ligne série. Dans des systèmes informatiques modernes comprenant des terminaux reliés à un serveur par des lignes série, les circuits d'interface série du serveur, couramment appelés UART (du terme anglais Universal Asynchronous Receiver Transmitter, signifiant émetteur-récepteur universel asynchrone), sont par- fois adaptés de façon automatique aux différentes vitesses de transmission possibles des terminaux Lorsqu'un terminal est connecté pour la première fois au serveur, un utilisateur doit appuyer une ou plusieurs fois sur une touche spécifique du terminal, généralement la touche "retour-chariot", pour que le serveur détecte la vitesse de transmission et réadapte, ou reprogramme, son circuit UART associé. La figure 1 représente une succession d'états d'une ligne série lors de l'envoi d'un caractère "retour-chariot" codé selon la norme ASCII Initialement, au repos, la ligne série est à 1 Au début de la transmission du caractère, la ligne série passe à O pendant la durée de transmission d'un bit Ce bit initial à O est appelé bit de départ START et marque systémati- quement le début d'une transmission Ensuite surviennent 7 bits du code du caractère par ordre de poids croissant Pour un caractère "retourchariot", ces bits sont 1011000 Le huitième bit P transmis après le bit START est, selon le protocole de transmission, soit un huitième bit de poids fort du caractère transmis (à O pour le "retour-chariot"), soit un bit de parité qui est mis à 1 ou à O de manière que le nombre de bits à 1 transmis soit pair (ce bit est à 1 pour le "retour- chariot) Le15 dernier bit transmis, STOP, est systématiquement à 1 et indique la fin d'une transmission. Les intervalles à 1 ou à O associés à chaque bit transmis sont d'une même longueur qui est fonction de la vitesse de transmission Pour une transmission série classique on uti- lise une vitesse de transmission qui est choisie parmi plusieurs vitesses standard qui sont par exemple de 75 bits/s et des vitesses doubles jusqu'à 38400 bits/s, ou de 57600 bits/s et des vitesses doubles jusqu'à, par exemple, 921600 bits/s Les vites- ses au-dessus de 57600 ou les vitesses en-dessous de 38400 sont25 en progression géométrique (de raison 2) Chacune de ces vites- ses est une vitesse nominale définissant une durée nominale des bits transmis La durée effective d'un bit peut varier dans une plage allant jusqu'à 33 % de la durée nominale, tandis que la vitesse nominale est respectée à environ 2 % près. Un procédé classique de détection de vitesse de trans- mission consiste à mesurer au niveau du serveur la largeur du bit START, à reprogrammer le circuit UART à la vitesse détectée pendant la transmission du deuxième bit, à acquérir les 8 bits suivants ( O l 1000,P,STOP), et à vérifier que ces bits sont bien ceux que l'on attend En cas d'échec lors de oette vérification, ou bien le caractère transmis n'était pas oelui qu'il fallait (le "retour-chariot"), ou bien la mesure du bit START a échoué (par exemple parce que ce bit est entaché de distorsion, ou que l'on a commencé la mesure trop tard) Alors, le système attend l'envoi d'un nouveau caractère "retour-chariot" sur la ligne. Pour déterminer la longueur d'un intervalle de temps (ou d'un bit), il est connu de compter le nombre d'impulsions d'une horloge de fréquence fixe se produisant dans l'intervalle à mesurer Le nombre d'impulsions compté fournit une indication directe de la longueur de l'intervalle Toutefois, dans le cadre de l'identification d'une fréquence nominale parmi plusieurs fréquences nominales possibles, ce nombre compté n'est pas directement exploitable car il faut encore déterminer à quelle fréquence nominale ce nombre correspond Pour cela, une fois que l'on a compté ce nombre, il faut successivement le comparer à une pluralité de valeurs minimales et maximales, o chaque couple de valeurs minimale et maximale correspond à une marge d'erreur autour d'une valeur nominale. Un inconvénient de ce procédé est qu'il faut mémoriser deux valeurs limites par fréquence nominale possible, ce qui nécessite deux fois plus de cases mémoire que de fréquences nominales En outre, si le nombre de fréquences nominales est grand, les valeurs limites associées à la plus faible fréquence nominale sont élevées et nécessitent une case mémoire de grande capacité En effet, par exemple, si l'on compte 16 impulsions d'horloge dans un bit à la vitesse 38400, on en comptera 4096 dans un bit à la vitesse 75 Le nombre 4096 néèssite 12 bits pour le stocker alors que le nombre 16 n'en nécessite que 4.30 La solution classique la plus simple et la moins coûteuse pour mettre en oeuvre le procédé susmentionné est de réaliser ses étapes par un programme, exécuté généralement par un microprocesseur du serveur qui gère les liaisons série Or, la vitesse limitée d'exécution du programme ne permet pas de détecter des vitesses élevées et/ou ne permet pas de déterminer convenablement les vitesses de transmission, si des liaisons série en grand nombre sont utilisées simultanément Si l'on veut avec ce procédé gérer convenablement un grand nombre de liaisons 5 série et/ou augmenter la vitesse de ces liaisons série, il faut multiplier le nombre de microprocesseurs affectés aux liaisons, ce qui est coûteux. Un objet de la présente invention est de prévoir un procédé d'identification de la fréquence nominale d'un signal pouvant avoir une fréquence voisine de l'une ou l'autre de plusieurs fréquences nominales, qui soit particulièrement simple à mettre en oeuvre de manière câblée. Un autre objet de la présente invention est de prévoir un circuit mettant en oeuvre ce procédé et permettant d'identi- fier la fréquence nominale du signal de manière particulièrement rapide. Un autre objet de la présente invention est de prévoir un circuit d'émission/réception auto-adaptatif à la vitesse de transmission d'une ligne série, acceptant des vitesses de trans-20 mission particulièrement élevées. Pour atteindre ces objets, la présente invention prévoit, à partir d'un premier front prédéterminé du signal à mesurer (par exemple descendant), d'émettre successivement, pendant l'intervalle de temps compris entre le premier front et25 un deuxième front prédéterminé du signal à mesurer, des trains d'impulsions d'horloge de durée déterminée, le premier train étant à une fréquence correspondant à la fréquence nominale la plus élevée possible et le dernier à la fréquence nominale la plus basse Les durées de ces trains sont calculées à l'avance pour que, si le signal à mesurer est à la nème fréquence nomi- nale en partant de la fréquence nominale la plus élevée, ce soit le nème train d'impulsions d'horloge qui est émis au moment o le deuxième front survient Bien entendu, pour chaque train d'impulsions d'horloge, la durée est calculée pour tenir compte de la fluctuation possible de la période du signal à mesurer autour de chaque période nominale. La présente invention vise plus particulièrement un procédé d'identification de la fréquence nominale d'un signal logique pouvant avoir une fréquence égale, à une erreur près, à l'une ou l'autre de N fréquences discrètes, la première fré- quence étant la plus élevée et la nhme la plus faible, ce procédé étant mis en oeuvre pendant une durée de mesure définie par deux fronts prédéterminés du signal logique (Rx) Le procédé comprend les étapes suivantes: émettre séquentiellement des trains d'impulsions d'horloge de fréquences décroissantes, chaque fréquence d'horloge étant un multiple constant de l'une desdites fréquences discrètes, la durée du premier train d'im- pulsions d'horloge correspondant à la durée de mesure d'un signal logique à la première fréquence discrète, la durée du iême train d'impulsions (ki durée de mesure d'un signal logique à la ième fréquence dis- crète Lorsque survient le deuxième desdits fronts, on relève la fréquence d'horloge en cours comme indication de la fréquence nominale du signal logique. Selon un mode de réalisation de la présente invention, la durée du premier train d'impulsions d'horloge est sensible- ment égale à la durée de mesure d'un signal logique dont la fréquence serait égale à la première fréquence discrète diminuée de l'erreur maximale possible La durée du ième train d'impul- sions est telle que la somme des durées des premier à iême trains d'impulsions soit sensiblement égale à la durée de mesure d'un signal logique dont la fréquence serait égale à la ième fréquence discrète diminuée de l'erreur maximale possible. Selon un mode de réalisation de la présente invention, le procédé comprend en outre l'étape consistant à indiquer que la fréquence nominale du signal logique est inconnue si, lorsque survient le deuxième desdits fronts au cours du i 4 me train d'impulsions, la durée de mesure du signal logique n'est pas au moins égale à la durée de mesure d'un signal logique dont la fréquence serait égale à la ième fréquence discrète augmentée de l'erreur maximale possible, ou si le deuxième desdits fronts ne survient pas avant la fin de l'émission du nème train d'im- pulsions. La présente invention prévoit également un circuit d'identification de la fréquence nominale d'un signal logique pouvant avoir une fréquence égale, à une erreur près, à l'une ou l'autre d'une pluralité de fréquences nominales discrètes Le circuit comprend: un générateur d'horloge fournissant une plu- ralité de signaux d'horloge, chaque signal d'horloge ayant une fréquence qui est un multiple constant d'une fréquence discrète associée; un séquenceur fournissant un signal de départ à l'arrivée d'un premier front prédéterminé du signal logique, et un signal d'arrêt à l'arrivée d'un deuxième front prédéterminé du signal logique; un premier compteur contenant une donnée de sélection dont les valeurs successives sont associées à des signaux d'horloge de fréquences décroissantes; un multiplexeur piloté par la donnée de sélection pour fournir le signal d'hor- loge associé; un deuxième compteur recevant sur une entrée de comptage la sortie du multiplexeur; un comparateur fournissant un signal de validation lorsque le contenu du deuxième compteur atteint une valeur déterminée par la donnée de sélection; un circuit de commande fournissant des signaux d'initialisation des premier et deuxième compteurs dès qu'il reçoit un signal de départ, fournissant un signal de comptage au premier compteur et un signal d'initialisation du deuxième compteur lorsque ledit signal de validation est fourni par le comparateur, et se mettant en attente lorsqu'il reçoit un signal d'arrêt. Selon un mode de réalisation de la présente invention, ladite valeur déterminée par la donnée de sélection est une valeur maximale égale à la valeur atteinte par le deuxième comp- teur à l'instant o se produit le deuxième front d'un signal logique à la fréquence discrète associée à la donnée de sélec- tion en cours, diminuée de l'erreur maximale possible. Selon un mode de réalisation de la présente invention, le comparateur fournit un signal d'erreur lorsque la donnée de sélection atteint une valeur limite associée à une fréquence trop basse ou lorsque le contenu du deuxième compteur est infé- rieur à une valeur minimale égale à la valeur atteinte par le deuxième compteur lors de la survenue du deuxième front d'un signal logique à la fréquence discrète associée à la donnée de sélection en cours, augmentée de l'erreur maximale possible. Selon un mode de réalisation de la présente invention, les valeurs maximales et minimales correspondant aux valeurs de la donnée de sélection sont stockées dans des mémoires respec- tives adressées par la donnée de sélection, la valeur fournie par chaque mémoire étant comparée à la sortie du deuxième comp- teur par un comparateur respectif. La présente invention prévoit également un circuit auto-adaptatif à la vitesse de transmission d'un appareil relié à une ligne série sur laquelle l'appareil transmet un caractère prédéterminé afin que la vitesse de transmission puisse être détectée Le circuit comprend: le circuit d'identification de fréquence susmentionné; un récepteur-émetteur-asynchrone-uni- versel (UART) relié à ladite ligne série et cadencé par le sig- nal d'horloge fourni par le multiplexeur du circuit d'identifi- cation; un circuit vérificateur fournissant un signal de carac- tère bon si le caractère reçu par le circuit UART est égal au caractère prédéterminé; un séquenceur relié à la liaison série, fournissant le signal de départ au circuit d'identification lors d'un premier front sur la ligne série, correspondant au premier bit du signal de transmission du caractère prédéterminé, four- nissant le signal d'arrêt au circuit d'identification lors d'un deuxième front sur la ligne série, correspondant à un bit ulté- rieur prédéterminé du signal de transmission du caractère, fournissant un signal de démarrage au circuit UART lorsque ledit signal d'erreur n'est pas fourni par le circuit d'identification après la fourniture du signal d'arrêt, et maintenant le signal d'horloge courant lorsque le signal de caractère bon est fourni 5 à la fin de transmission du caractère. Un avantage de la présente invention, inhérent au procédé selon l'invention, est qu'elle est particulièrement simple à mettre en oeuvre par des circuits logiques. Un autre avantage de l'invention est que les valeurs minimale et maximale associées à chaque fréquence nominale sont voisines les unes des autres et nécessitent une case mémoire de taille constante et faible pour les stocker Si en outre les fréquences nominales successives sont en progression géomé- trique, les valeurs minimales ou maximales sont égales à partir15 du deuxième train d'impulsions d'horloge. Un autre avantage de l'invention est que la fréquence d'horloge peut directement être exploitée par un circuit (UART) qui doit être synchronisé sur la fréquence nominale du signal à mesurer Alors, ce circuit est synchronisé dès l'arrivée du deu- xième front du signal à mesurer Il est ainsi inutile d'effec- tuer par exemple une reprogrammation ultérieure d'un circuit UART. Un autre avantage de l'invention est que l'identifi- cation de la fréquence nominale recherchée est réalisée au moment même de la survenue du deuxième front, et non par suite d'opérations de comparaison ultérieures comme dans un système classique, ce qui permet de diminuer le temps nécessaire à une identification de fréquence. Ces objets, caractéristiques et avantages ainsi que d'autres de la présente invention seront exposés en détail dans la description suivante de modes de réalisation particuliers faite en relation avec les figures jointes parmi lesquelles: la figure 1, précédemment décrite, représente l'allure d'un signal de transmission série d'un caractère spécifique que l'on envoie classiquement pour qu'un circuit récepteur puisse déterminer la vitesse de transmission; la figure 2 représente un exemple d'évolution d'une fréquence d'horloge au cours du déroulement d'un procédé selon l'invention d'identification de fréquence nominale d'un signal logique; la figure 3 représente sous forme de blocs un mode de réalisation d'un circuit d'identification selon l'invention; la figure 4 représente un organigramme des opérations effectuées par un circuit de commande du circuit de la figure 3; la figure 5 représente plus en détail des éléments de l'un des blocs du circuit de la figure 3; la figure 6 représente sous forme de blocs un circuit émetteur/récepteur auto-adaptatif à la vitesse de transmission d'une ligne série selon l'invention; et la figure 7 représente un organigramme des opérations effectuées par un séquenceur du circuit de la figure 6. La figure 2 est destinée à illustrer à l'aide d'un exemple, les étapes du procédé selon l'invention d'identifica- tion de la fréquence nominale d'un signal logique Rx pouvant avoir l'une ou l'autre de plusieurs fréquences nominales dis- crètes Dans la figure 2, on se place dans le cas o ces fré- quences discrètes correspondent aux vitesses standard de trans- mission sur une ligne série allant jusqu'à 921600 bits par seconde. Dans la suite de la description, on utilisera indiffé- remment les termes "vitesse nominale" ou "standard" et "fré- quence nominale" Comme le procédé selon l'invention s'applique seulement à une ou plusieurs demi-périodes d'un signal, le terme "fréquence" désigne plus précisément une fréquence instantanée calculée à partir des demi-périodes considérées. Le procédé d'identification selon l'invention est initialisé à un instant to correspondant au début d'un inter- valle de mesure spécifique d'un signal Rx dont on veut iden- tifier la fréquence Cet intervalle de mesure est défini par deux fronts prédéterminés correspondant à une ou plusieurs alternances du signal Rx Dans la figure 2, on suppose que l'intervalle de mesure correspond aux deux premiers bits (START et 1) du signal de transmission d'un caractère d'identification tel que le caractère "retour-chariot". Entre l'instant to et des instants successifs tl, t 2 ti tn ultérieurs, on émet des trains d'impulsions d'hor- loge CK 1, CK 2 C Ki C Kn Les impulsions d'horloge CK sont indiquées sur la figure 2 par des traits verticaux Chaque train d'impulsions est associé à l'une des vitesses nominales Le premier train d'impulsions, CK 1, est associé à la vitesse la plus élevée choisie ( 921600 bits/s) et le dernier, C Kn, à la vitesse la plus faible, par exemple 75 bits/s. Les rapports entre chaque fréquence nominale et la fréquenca du train d'impulsions associé sont égaux Ainsi, comme le montre la figure 2, les fréquences des trains d'impulsions sucèssifs diminuent du même rapport que les vitesses standard sucèssives. Les instants tl, t 2 sont choisis de manière que la fin de l'intervalle de mesure d'un signal Rxi à la ième fréquence nominale (i=l, 2) arrive tandis que le iême train d'impulsions est émis Dès la fin de l'intervalle de mesure, on relève le rang du train d'impulsions en cours d'émission comme indication de la fréquence nominale recherchée. A la figure 2, on a représenté à titre d'exemple des signaux à mesurer Rxl, Rx 4 et Rx 7 Les intervalles de mesure des signaux Rxl, Rx 4, Rx 7, aux vitesses respectives de 921600, 115200 et 19200, se terminent avant les instants ti, t 4 et t 7, respectivement Les trains d'impulsions en cours d'émission sont respectivement le premier, le quatrième et le septième, ce qui indique que les vitesses nominales cherchées sont respectivement la première ( 921600), la quatrième ( 115200) et la septième35 ( 19200). il La durée réelle d 'un bit transmis par un signal Rxi peut fluctuer autour de sa valeur nominale, en conséquence on autorise l'intervalle de mesure à se prolonger au-delà de sa valeur nominale jusqu'à une valeur maximale tolérée avant d'émettre le train d'impulsions suivant Les instants ti corres- pondent justement à ces valeurs maximales Ainsi, si un inter- valle de mesure se prolonge au-delà d'un instant ti, on est sûr que la vitesse du signal à mesurer est l'une des vitesses de rang supérieur à i ou que le signal considéré est un signal erroné. Le cas d'un tel signal erroné est illustré par le signal Rxe L'intervalle de mesure du signal Rxe se termine entre les instants t 4 et t 5 Sa vitesse nominale serait indiquée comme étant la cinquième ( 57600) Toutefois, comme cela est visible à la figure 2, la vitesse du signal Rxe est loin de 57600, et en tout cas en dehors d'une plage d'erreur tolérée autour de 57600 On a représenté par des zones hachurées des plages d'erreur tolérée autour de chacune des vitesses nomi- nales La plage associée à la ieme vitesse nominale se termine à l'instant ti et commence à un instant ti' Par souci de clarté de la figure 2, on n'y a pas reporté les références tl' et t 2 '. La plage d'erreur associée à la ieme vitesse correspond sensi- blement à une fluctuation autour de la ième vitesse de 25 % de l'écart séparant la iême vitesse de la i-lème vitesse. Une autre étape du procédé selon l'invention consiste à détecter, à l'instant o se termine un intervalle de mesure, si l'on se trouve bien dans l'une des plages d'erreur tolérée. C'est bien le cas pour les signaux Rxl, Rx 2 et Rx 7 Ce n'est pas le cas pour le signal Rxe dont l'intervalle de mesure se termine entre les instants t 4 et ts' On verra ci-après plus en détail comment détecter si l'on tombe ou non dans une plage d'erreur. En outre, on indique que la vitesse du signal mesuré est inconnue si l'intervalle de mesure ne se termine pas avant l'instant tn associé à la vitesse nominale la plus basse35 possible. Le procédé selon 1 r invention peut être mis en oeuvre simplement grâce à un compteur qui, pour chaque train d'impul- sions d'horloge, compte les impulsions d'horloge C Ki; c'est-à- dire un compteur qui est remis à zéro à chacun des instants ti-1 Les valeurs atteintes par le compteur sont indiquées sur la figure 2 sous la référence L. Dans l'exemple de la figure 2, on a supposé que la fréquence d'horloge associée à la ième vitesse nominale est telle que l'intervalle de mesure d'un signal à la ième vitesse nominale est égal à 16 fois la période d'horloge Dans ce cas, pour les trains d'impulsions d'horloge CK 2 à CK 5 et CK 7 et au- delà, dont la fréquence est le double de la fréquence immédiate- ment inférieure, une durée de mesure nominale, c'est-à-dire la durée de mesure d'un signal logique à l'une des fréquences nomi- nales, correspond à un comptage de 7 impulsions d'horloge; la durée de mesure minimale, c'est-à-dire la durée nominale affec- tée d'une erreur négative maximale, correspond à un comptage de impulsions d'horloge; et la durée de mesure maximale, c'est- à-dire la durée nominale affectée d'une erreur positive maxi- male, correspond à un comptage de 9 impulsions d'horloge. Pour le premier train d'impulsions d'horloge CK 1, la durée de mesure nominale correspond à un comptage de 16 impul- sions d'horloge, la durée de mesure minimale à un comptage de 14 impulsions d'horloge, et la durée maximale à un comptage de 18 impulsions d'horloge. Pour le sixième train d'impulsion d'horloge CK 6, dont la fréquence n'est pas la moitié de celle du train d'impulsions précédent CK 5, la durée de mesure nominale correspond à un comp- tage de 4 impulsions d'horloge, la durée de mesure maximale à un comptage de 6 impulsions d'horloge, et la durée de mesure mini- male à un comptage de 3 impulsions d'horloge. Pour s'assurer de la validité de la vitesse nominale trouvée lorsqu'arrive la fin d'un intervalle de mesure, on relève l'état du compteur et on vérifie que celui-ci est supé- rieur à la valeur minimale associée à la vitesse nominale trou- vée En ce qui concerne le signal Rxe, l'état du compteur est à 4 à la fin de l'intervalle de mesure alors qu'il devrait être supérieur à 5; ceci indique que la vitesse du signal Rxe est inconnue, et donc que la vitesse trouvée n'est pas valide. La figure 3 montre sous forme de blocs un circuit exploitant un compteur utilisé de la manière susmentionnée pour mettre en oeuvre le procédé de 1 ' invention Un séquenceur 10 reçoit le signal Rx dont on veut identifier la fréquence nomi- nale Il envoie une impulsion de démarrage STARTC et une impul- sion d' arrêt STOPC à un circuit de commande 12 lors de la sur- venue, respectivement, d'un premier front et d'un deuxième front du signal Rx Ces premier et deuxième fronts sont par exemple deux fronts successifs de même sens déterminant une période du signal Rx ou un intervalle de mesure Ces deux fronts pourraient aussi être deux fronts successifs de sens opposé déterminant une demi-période ou deux fronts de même sens distants 1 ' un de l'autre de plusieurs périodes Un exemple de séquenceur plus élaboré sera décrit plus en détail ultérieurement. Le circuit de commande 12 fournit un signal d'initia- lisation INITBR et un signal de décrémentation DECBR à un comp- teur 14 dont le contenu, ci-après appelé donnée de sélection BR, sélectionne un canal associé d'un multiplexeur 16. Un générateur d'horloge 18 fournit au multiplexeur 16 une pluralité de signaux d'horloge de fréquences différentes. Chaque signal d'horloge correspond à l'un des trains d'impul- sions mentionnés en relation avec la figure 2 et est donc asso- cié à une des fréquences nominales possibles du signal Rx. Ainsi, la donnée BR indique la fréquence nominale associée au signal d'horloge sélectionné par le multiplexeur 16 La donnée de sélection BR est initialisée à sa plus grande valeur lorsque le signal INITBR est activé Les valeurs décroissantes de la donnée BR sélectionnent, dans le multiplexeur 16, des signaux d'horloge de fréquences décroissantes du générateur d'horloge 18 Le signal d'horloge sélectionné CK est fourni à l'entrée de comptage d'un compteur 20 recevant du circuit de commande 12 un signal de remise à zéro RSTL et un signal de validation ENL de son contenu (lorsque le signal ENL est activé, le contenu du 5 compteur 20 est transféré sur sa sortie L) Le compteur 20 correspond au compteur mentionné en relation avec la figure 2. Un circuit de vérification 22 reçoit la sortie L du compteur 20 et la donnée de sélection BR Ce circuit, dont un exemple détaillé sera décrit ultérieurement, est prévu pour10 fournir un signal L=MAX au circuit de cammande 12 lorsque la sortie L du compteur 20 est égale à une valeur maximale qui est une fonction de la donnée BR (donc de la fréquence nominale associée) Les valeurs maximales correspondent aux états du compteur 20 aux instants tl, t 2 de la figure 2 Le circuit 22 fournit au circuit de commande 12 un signal BR= O lorsque la donnée BR atteint une valeur, par exemple 0, qui correspond à un signal d'horloge non disponible de fréquence trop basse Enfin, le circuit 22 fournit un signal de réjection REJ lorsque la sortie L du compteur 20 est inférieure à une valeur minimale qui est aussi une fonction de la donnée BR (donc de la fréquence nominale associée) Les valeurs minimales correspondent aux états du compteur 20 aux instants tl', t 2 ' de la figure 2. Si l'on se réfère de nouveau à la figure 2, le fonc- tionnement du circuit de la figure 3 est en résumé le suivant A l'instant ta, le séquenceur 10 envoie une impulsion STARTC au circuit de commande 12 qui initialise le compteur 14 (la donnée BR) à sa plus grande valeur et met à zéro le compteur 20 La donnée BR de valeur maximale sélectionne le signal d'horloge CK de plus grande fréquence Le compteur 20 compte les impulsions d'horloge CK depuis zéro Lorsque l'état L du compteur 20 atteint une valeur maximale sélectionnée par la donnée BR (l'une des valeurs aux instants ti, t 2) le circuit de vérification 22 envoie une impulsion L=MAX au circuit de commande 12 qui décrémente la donnée BR et remet le compteur 20 à zéro La nou- velle donnée BR sélectionne une nouvelle valeur maximale dans le circuit de vérification 22 qui attend de nouveau que l'état du compteur 20 atteigne cette nouvelle valeur maximale Lors- qu'arrive le deuxième front descendant du signal Rx (la fin de 5 l'intervalle de mesure) le séquenceur 10 envoie une impulsion STOPC au circuit de commande 12 qui fige l'état du compteur 20. Cet état L est comparé à une valeur minimale (l'une des valeurs aux instants t'1 l, t'2) sélectionnée par la donnée BR dans le circuit de vérification 22 Ce dernier active le signal de ré- jection REJ si la valeur L est inférieure à cette valeur mini- male. La figure 4 représente un organigramme des opérations effectuées par le circuit de commande 12, permettant de com- prendre le fonctionnement détaillé du circuit de la figure 3. Ci-après, un paragraphe décrivant un bloc d'organigramme est précédé du numéro du bloc. Le circuit de commande 12 exécute une boucle d'attente d'activation du signal STARTC. 102 Le signal STARTC est activé (par exemple à l'ins- tant to) Les signaux INITBR, RSTL et ENL sont activés simulta- nément pour respectivement initialiser la donnée de sélection BR à sa valeur maximale, remettre à zéro le contenu du compteur 20, et transférer ce contenu L sur l'entrée du circuit vérificateur 22 L'initialisation de la donnée BR à sa valeur maximale en- traîne la sélection du signal d'horloge CK de fréquenoe maxi- male. 104 Il est vérifié si le signal STOPC est activé Si oui, l'exécution est terminée et l'on retourne à l'état d'at- tente du bloc 100. 106 Le signal STOPC n'est pas activé On vérifie si le signal L=MAX est activé Il s'agit de savoir si l'on a at- teint l'un des instants ti, t 2, par exemple. 108 Le signal L=MAX n'est pas activé On active le signal ENL pour valider une éventuelle nouvelle valeur L du compteur 20 L'exécution reprend au bloc 104. La boucle 104-106-108 est répétée tandis que le comp- teur 20 est incrémenté parallèlement, au rythme du signal d'horloge sélectionné CK. 110 La boucle 104-106-108 est quittée quand le signal L=MAX est activé par le circuit de vérification 22 On a atteint l'un des instants tl, t 2, Les signaux RSTL et DECBR sont activés pour respectivement remettre le compteur 20 à zéro et décrémenter la donnée de sélection BR dans le compteur 14 Le multiplexeur 16 sélectionne alors une nouvelle fréquence, infé-10 rieure à la précédente, du signal d'horloge CK et le compteur 20 est incrémenté au rythme de cette nouvelle fréquence. 112 Il est vérifié si le signal BR=O est activé Ce signal est activé lorsque la donnée de sélection BR atteint une valeur limite inférieure, 0, indiquant que la fréquence du sig- nal Rx est trop faible pour être déterminée Si oui, le circuit de commande 12 se met en mode d'attente au bloc 100 Sinon, l'exécution reprend par la boucle 104-106-108 o le contenu L du compteur 20 est de nouveau incrémenté. Une fois que l'activation du signal STOPC est détectée au bloc 104, le circuit passe dans un mode inactif d'attente au bloc 100 La sortie L du compteur 20 est figée La donnée BR est également figée et indique la fréquence nominale du signal Rx. Le signal de réjection REJ fourni par le circuit vérificateur 22 indique que la fréquence nominale est inconnue si la valeur L25 fournie par le compteur 20 n'a pas atteint la valeur minimale associée à la donnée BR courante, ou bien si la donnée BR a atteint sa limite inférieure (au bloc 112). La figure 5 représente un mode de réalisation du circuit vérificateur 22 adapté à un cas général quelconque La donnée de sélection BR est fournie aux entrées d'adresses de deux mémoires ROM 30 et 31 La mémoire 30 fournit à un compara- teur 34, pour chaque valeur de BR, une valeur minimale MIN associée La mémoire 31 fournit à un comparateur 35, pour chaque valeur de la donnée BR, une valeur maximale MAX associée Les comparateurs 34 et 35 reçoivent en outre chacun la valeur L fournie par le compteur 20 Le comparateur 34 fournit un signal actif lorsque la valeur L est inférieure à la valeur MIN fournie par la mémoire ROM 30 Le comparateur 35 fournit le signal L=MAX lorsque la valeur L est égale à la valeur MAX fournie par la mémoire ROM 31 La sortie du comparateur 34 est reliée à une entrée d'une porte OU 37 fournissant le signal d'erreur REJ. Chaque bit de la donnée BR est en outre fourni à une entrée d'une porte NON OU 39 dont la sortie, fournissant le signal10 BR=O, est reliée à l'autre entrée de la porte 37. Avec cette configuration, on peut associer à chaque valeur de la donnée BR, donc à chaque vitesse nominale, des limites minimale et maximale d'une plage d'erreur tolérée pour l'intervalle de mesure.15 En tout cas, on choisit les fréquences d'horloge telles que les rapports entre chaque fréquence nominale et la fréquence d'horloge associée soient égaux Un avantage de ce choix des fréquences d'horloge est que la fréquence d'horloge trouvée à la fin du procédé peut, comme on le verra ultérieure- ment, servir directement à synchroniser un circuit qui doit être synchronisé à la fréquence nominale cherchée Un autre avantage de ce choix est que toutes les valeurs limites sont du même ordre de grandeur Si la progression des vitesses nominales est géométrique, les valeurs limites sont même toutes égales pour les vitesses nominales inférieures à la plus élevée, comme on peut le constater à la figure 2 pour les vitesses de 460800 à 57600 et pour les vitesses inférieures à 38400. Dans l'exemple de la figure 2, il y a seulement trois valeurs minimales, 14, 5 et 3, et trois valeurs maximales cor- respondantes 18, 9 et 6, à stocker Pour si peu de valeurs, on peut remplacer les mémoires ROM 30 et 31 par un circuit logique fournissant les valeurs souhaitées par un décodage de la donnée BR On fait alors une importante économie de complexité. La figure 6 représente une application du circuit de la figure 3 à un circuit émetteur/récepteur auto-adaptatif à la vitesse de transmission sur une ligne série Tous les éléments de la figure 3 sont présents, désignés par des mêmes réfé- renoes Le circuit d'identification de la figure 3 est associé à un circuit émetteur-récepteur asynchrone universel (UART) 60 recevant le signal Rx et cadencé par le signal d'horloge CK fourni par le multiplexeur 16 Le séquenceur 10 effectue des opérations supplémentaires, décrites ci-après, par rapport au10 séquenceur de la figure 3 Le séquenceur 10 reçoit le signal de réj ection REJ du circuit de vérification 22 et est associé à un registre 62 accessible par un bus de microprocesseur non-repre- senté La validation d'un bit START de oe registre indique au séquenceur 10 le départ d'une séquence d'auto-adaptation Le15 séquenceur fournit au registre 62 un signal STORE entraînant la mémorisation dans le registre de la donnée de sélection BR, et valide un bit d'interruption IRQ du registre à la fin d'une séquence d'auto-adaptation pour que le microprocesseur vienne lire les résultats et sauvegarder les caractéristiques trouvées20 de la ligne Rx. Le circuit UART 60 reçoit du séquenceur 10 un signal GO de départ d'acquisition d'un caractère sur la ligne Rx Lors- qu'un caractère est acquis, le circuit UART valide un signal CAVAIL et fournit le caractère sur des lignes CHAR Les lignes25 CHAR et le signal CAVAIL sont fournies à un circuit vérificateur de caractère 64 qui fournit au séquenceur 10 un signal OK si le caractère présent sur les lignes CHAR correspond à un caractère prémémorisé Le circuit 64 fournit simultanément, sur une ligne FORMAT dont l'état est stocké dans le registre 62 en même temps30 que la donnée de sélection BR, un état indiquant la parité de la transmission sur la ligne Rx, c'est-à- dire (voir figure 1) si l'on transmet 8 bits des caractères, ou bien si l'on transmet seulement 7 bits et un bit de parité P. La figure 7 représente un organigramme des opérations effectuées par le séquenceur 10 du circuit de la figure 6, permettant de mieux comprendre le fonctionnement de ce circuit. 200 Le séquenceur attend l'activation du bit START, ce bit est activé par le microprocesseur, par exemple lorsqu'un utilisateur indique qu'un nouveau terminal est connecté sur la ligne Rx. 202 Le bit START est activé Le séquenceur attend un front descendant sur la ligne Rx, correspondant à l'arrivée d'un bit de départ de transmission d'un caractère (par exemple à l'instant to de la figure 2). 204 Une impulsion est fournie sur la ligne de départ STARTC indiquant au circuit de commande 12 de commencer une séquence d'identification de fréquence.15 206 Le séquenceur attend la survenue d'un front montant du signal Rx. 208 Lorsque le front montant survient, le séquenceur attend le prochain front descendant du signal Rx. 210 Lorsque ce front descendant survient, le séquen- ceur fournit une impulsion STOPC au circuit de commande 12 pour arrêter la séquence d'identification de fréquence. A cet instant, le circuit d'identification de fréquen- ce a effectué les étapes décrites en relation avec la figure 4. La fréquence du signal CK, pilotant le circuit UART, est, sauf erreur indiquée par le signal REJ, celle associée à la vitesse nominale cherchée. 212 Il est vérifié si le signal de réjection REJ est actif Il s'agit de savoir si le deuxième front descendant est bien arrivé dans une plage d'erreur tolérée, c'est-à-dire si la fréquence courante du signal d'horloge CK est bonne. * 214 Le signal REJ n'est pas activé On a trouvé une vitesse de transmission a priori valable Le signal GO de démar- rage du circuit UART est mis à un état actif ( 1) Un circuit UART ainsi validé attend en principe un bit de départ transmis- sion (START) et acquiert les huit bits suivants à la vitesse déterminée par son signal d'horloge, en l'occurence par le signal CK courant Si le caractère transmis sur la ligne Rx est le "retour-chariot" usuel envoyé pour identifier la vitesse (figure 1), le circuit UART reconnaît le deuxième bit de ce caractère comme bit de départ et se met à acquérir les huit bits suivants 11000,P,STOP et 1. 216 Le séquenceur attend l'activation de la ligne CAVAIL indiquant que huit bits d'un caractère ont été acquis par le circuit UART. 218 Les huit bits du caractère ont été acquis par le circuit UART Ils sont présentés à l'entrée du circuit vérifi- cateur 64 validé par le signal CAVAIL Ce circuit vérificateur compare les huits bits à deux valeurs possibles attendues, l'une15 sans bit de parité 11000011 et l'autre avec bit de parité 11000111 Si les bits acquis correspondent bien à l'une ou l'autre de ces valeurs, le signal OK est activé et la ligne FORMAT est mise à un état, par exemple celui du bit de parité, indiquant que la transmission est effectuée avec ou sans bit de parité. 220 Le signal OK est activé Le circuit UART est réglé à la bonne vitesse de transmission Les résultats trouvés (la vitesse donnée par la donnée BR, la parité donnée par la ligne FORMAT) sont stockés dans le registre 62 par l'activation de la ligne STORE Un bit d'interruption IRQ est validé pour que le microprocesseur vienne sauvegarder les résultats trouvés Le séquenceur revient alors en mode d'attente d'une nouvelle mise à 1 du bit START au bloc 200. 222 Le caractère acquis par le circuit UART ne cor- respond pas à l'un de ceux que l'on attend Il est alors possi- ble qu'un mauvais caractère d'identification ait été transmis mais il est aussi possible que l'on ait trouvé une mauvaise vitesse de transmission. 224 On attend que la ligne Rx revienne à son état de repos, c'est-à-dire l'état 1, et on attend la prochaine trans- mission d'un caractère au bloc 202 On opère de même si au bloc 212 le signal d'erreur REJ est activé, c'est-à-dire si la fréquenoe de transmission est inconnue. Si le signal BR=O est activé entre les blocs 204 et 210, entraînant une activation du signal REJ, on se trouve dans une situation o la vitesse de transmission est trop basse, ou bien o le signal Rx est constamment à un état inattendu Lors- qu'un état adéquat du signal Rx est rétabli, l'exécution conti- nue par la vérification du signal REJ au bloc 212, et l'attente au bloc 224 du prochain front montant de la ligne Rx. Avec un circuit auto-adaptatif tel que èlui de la figure 6, on peut détecter des vitesses de transmission aussi élevées que 921600 bits/s, ou même plus si la technologie des circuits le permet; alors que classiquement, par logiciel, on ne pouvait guère détecter des vitesses plus élevées que 19200 bits/s sans risquer de ne pas gérer convenablement toutes les liaisons série présentes. Le séquenoeur 10 et le circuit de commande 12 peuvent facilement être réalisés par l'homme du métier à l'aide des organigrammes correspondants Notamment, les organigrammes peu- vent être directement transcrits dans un langage évolué de description de circuit logique, tel que le VHDL, permettant de directement programmer des circuits logiques tels que des PAL. De nombreuses variantes et modifications de la pré- sente invention apparaîtront à lrhomme du métier, notamment en ce qui concerne les organigrammes qui peuvent être construits différemment tout en réalisant les mêmes fonctions. Bien que l'on ait décrit essentiellement une applica- tion de la présente invention à des transmissions sur des lignes série, elle s'applique partout o il faut identifier une fré- quence parmi plusieurs fréquences discrètes possibles, quels que soient les écarts des fréquences discrètes les unes par rapport aux autres. Dans la présente description, on a supposé que l'émis- sion du i+lême train d'impulsions débutait à l'instant maximal ti (i= 0, 1,2) On peut aussi envisager que l'émission du i+lème train débute à l'instant minimal ti' Alors, si la fin de l'intervalle de mesure arrive au cours de l'émission du j eme train d'impulsions (j= 1,2,), la fréquence nominale cherchée est la j-è 1 me au lieu de la jeme On vérifie alors que la fin de 1 'intervalle de mesure est arrivée avant l'instant tj et non après l'instant tj'. REVENDICATIONS 1 Procédé d' identification de la fréquence nominale instantanée d'un signal logique (Rx) pouvant avoir une fréquence instantanée égale, à une erreur près, à 1 ' une ou 1 'autre de n fréquences discrètes, la première fréquence étant la plus élevée et la neme la plus faible, ce procédé étant mis en oeuvre pendant une durée de mesure définie par deux fronts prédéter- minés du signal logique (Rx), caractérisé en ce qu'il comprend les étapes suivantes: émettre séquentiellement des trains d'impulsions d'horloge de fréquences décroissantes, chaque fréquence d'hor- loge étant un multiple constant de l'une desdites fréquences discrètes, la durée du premier train d'impulsions d'horloge correspondant à la durée de mesure d'un signal logique à la première fréquence discrète, la durée du ième train d'impul- sions (ki nominale du signal logique. 2 Procédé selon la revendication 1, caractérisé en ce que la durée du premier train d'impulsions d'horloge est sensi- blement égale à la durée de mesure d'un signal logique dont la fréquence serait égale à la première fréquence discrète diminuée de l'erreur maximale possible, et en ce que la durée du iême train d'impulsions est telle que la somme des durées des premier à ième trains d'impulsions soit sensiblement égale à la durée de mesure d'un signal logique dont la fréquence serait égale à la ième fréquence discrète diminuée de l'erreur maximale possible. 3 Procédé selon la revendication 2, caractérisé en ce qu'il comprend en outre l'étape consistant à indiquer que la fréquence du signal logique est inconnue si, lorsque survient le deuxième desdits fronts au cours du ième train d'impulsions, la durée de mesure du signal logique n'est pas au moins égale à la durée de mesure d'un signal logique dont la fréquence serait 5 égale à la iême fréquence discrète augmentée de l'erreur maximale possible, ou si le deuxième desdits fronts ne survient pas avant la fin de l'émission du neme train d'impulsions. 4 Circuit d'identification de la fréquence nominale instantanée d'un signal logique (Rx) pouvant avoir une fréquence instantanée égale, à une erreur près, à l'une ou l'autre d'une pluralité de fréquences nominales discrètes, caractérisé en ce qu'il comprend: un générateur d'horloge ( 18) fournissant une plura- lité de signaux d'horloge, chaque signal d'horloge ayant une fréquence qui est un multiple constant d'une fréquence discrète associée; un séquenceur ( 10) fournissant un signal de départ (STARTC) à l'arrivée d'un premier front prédéterminé du signal logique, et un signal d'arrêt (STOPC) à l'arrivée d'un deuxième front prédéterminé du signal logique; un premier compteur ( 14) contenant une donnée de sélection (BR) dont les valeurs successives sont associées à des signaux d'horloge de fréquences décroissantes; un multiplexeur ( 16) piloté par la donnée de sélec- tion pour fournir le signal d'horloge (CK) associé; un deuxième compteur ( 20) recevant sur une entrée de comptage la sortie (CK) du multiplexeur; un comparateur ( 22) fournissant un signal de valida- tion (L=MAX) lorsque le contenu (L) du deuxième compteur atteint une valeur déterminée par la donnée de sélection (BR); un circuit de commande ( 12) fournissant des signaux d'initialisation (INITBR, RSTL) des premier et deuxième comp- teurs dès qu'il reçoit un signal de départ (STARTC), fournissant un signal de comptage (DECBR) au premier compteur et un signal d'initialisation (RSTL) du deuxième compteur lorsque ledit signal de validation (L=MAX) est fourni par le comparateur, et se mettant en attente lorsqu'il reçoit un signal d'arrêt (STOPC). Circuit selon la revendication 4, caractérisé en ce que ladite valeur déterminée par la donnée de sélection (BR) est une valeur maximale égale à la valeur atteinte par le deuxième compteur ( 20) à l'instant o se produit le deuxième front d'un signal logique à la fréquence discrète associée à la donnée de sélection (BR) en cours, diminuée de l'erreur maximale possible.10 6 Circuit selon la revendication 4, caractérisé en ce que le comparateur ( 22) fournit un signal d'erreur (REJ) lorsque la donnée de sélection (BR) atteint une valeur limite associée à une fréquence trop basse ou lorsque le contenu (L) du deuxième compteur est inférieur à une valeur minimale égale à la valeur15 atteinte par le deuxième compteur lors de la survenue du deu- xième front d'un signal logique à la fréquence discrète associée à la donnée de sélection (BR) en cours, augmentée de l'erreur maximale possible. 7 Circuit selon la revendication 4 ou 6, caractérisé en ce que les valeurs maximales et minimales correspondant aux valeurs de la donnée de sélection (BR) sont stockées dans des mémoires respectives ( 30, 31) adressées par la donnée de sélec- tion, la valeur fournie par chaque mémoire étant comparée à la sortie (L) du deuxième compteur ( 20) par un comparateur respec-25 tif ( 34, 35). 8 Circuit auto-adaptatif à la vitesse de transmission d'un appareil relié à une ligne série (Rx) sur laquelle l'appa- reil transmet un caractère prédéterminé afin que la vitesse de tranmission puisse être détectée, caractérisé en ce qu'il com-30 prend: un circuit d'identification de fréquence instantanée selon la revendication 4; un réoepteur-émetteur-asynchrone-universel (UART) ( 60) relié à ladite ligne série et cadencé par le signal d'hor- loge (CK) fourni par le multiplexeur du circuit d'identifica- tion; un circuit vérificateur ( 64) fournissant un signal de caractère bon (OK) si le caractère reçu par le circuit UART est égal au caractère prédéterminé; un séquenceur ( 10) relié à la liaison série (Rx), fournissant le signal de départ (STARTC) au circuit d'identifi- cation lors d'un premier front sur la ligne série, correspondant au premier bit du signal de transmission du caractère prédéter- miné, fournissant le signal d'arrêt (STOPC) au circuit d'identi- fication lors d'un deuxième front sur la ligne série, correspon-10 dant à un bit ultérieur prédéterminé du signal de transmission du caractère, fournissant un signal de démarrage (GO) au circuit UART lorsque ledit signal d'erreur (REJ) n'est pas fourni par le circuit d'identification après la fourniture du signal d'arrêt (STOPC), et maintenant le signal d'horloge courant lorsque le signal de caractère bon (OK) est fourni à la fin de transmission du caractère.