Brevet FR2513424A1 — publié le 19830325

Procédé et resynchronisation d'un registre à décalage dans le cas où la transmission des informations est affectée par des impulsions aléatoires. Un registre à décalage est constitué, d'une manière générale, d'un nombre n de bascules bistables connectées de façon telle qu'un état logique to" ou "1" présent à l'entrée du registre servant à recevoir le message à enregistrer, se propage de bascule en bascule chaque fois q'une impulsion de niveau logique "1" est appliquée sur une deuxième entrée dudit registre, appelée entrée "Horloge". Dans le cas particulier d'un registre à sorties parallèles, chacune des bascules est reliée à une bascule mémoire conservant ltétat transmis par le message précédent sans être affectée par les modifications d'état, provoquées par la transmission du message en cours, de la bascule de décalage à laquelle elle est liée. Pour enregistrer un message transmis en série, on applique celui-ci sur l'entrée "Donnée" du registre en le faisant précéder d'une impulsion de niveau "1". Simultanément on envoie sur l'entrée "Horloge" un nombre d'impulsions égal au nombre de basculesdu registre à décalage plus une impulsion correspondant à l'impulsion initiale précédant le message. Les signaux du message sont ainsi synchronisés avec ceux envoyés par l'hor- loge. Lorsque l'impulsion initiale, qui s'est-propagée de bascule en bascule, arrive à la sortie du registre elle provoque, d'une part, le transfert immédiat de l'état des différentes bascules de décalage dans les bascules "mémoire1, associées et, d'autre part, la remise à zéro desdites bascules de décalage. Les messages séries se succèdent ainsi régulièrement en synchronisme avec les signaux dthorloge. Il peut arriver, cependant, que des impulsions aléatoires (dues, par exemple, à des parasites) soient introduites dans l'entrée horloge du registre, provoquant des décalages indésirables entre deux décalages normaux du message d'entrée. Le niveau "1" initial arrivera donc plus tôt que prévu à la sortie du registre provoquant une remise à zéro anticipée de celui-ci et le transfert dans les bascules "mémoire" associées d'un message faux.Les impulsions d'horloge restantes provoquent alors l'entrée dans le registre des impulsions constituant la fin du message. Lorsque le message suivant se présentera, la première impulsion de niveau "1" contenue dans la fin du message précédent sera prise pour une impulsion initiale de début de message et le même phénomène décrit précédemment se reproduira, provoquant, de la sorte un désynchronisme permanent. Dans la technique connue, on remédie à ce défaut en initialisant le registre à décalage à chaque début de message, par exemple en comptant le nombre d'impulsons d'horloge. Si ce nombre est différent du nouoere prédéterminé, l'entrée "Horloge" est fermée, le transfert "mémoire" est interdit et le registre à décalage remis à zéro. D'autres méthodes permettent encore de parvenir à ce résultat mais toutes exigent que le registre à décalage possède cette possibilité de resynchronisation avec, par exemple, une entrée de remise à zéro supplémentaire.Ces registres, sophistiqués, sont donc chers et sont ainsi parfois incompatibles avec le prix de revient réduit recherchés pour certains matériels, notamment dans l'industrie automobile, où ces registres sont employés, par exemple, pour afficher les données issues du microprocesseur d'un calculateur de bord. On utilise alors des registres qui ne possèdent pas cette possibilité interne de resynchronisation, alors même que l'environnement que l'on trouve dans un véhicule automobile est générateur de parasite. Il s'avère donc essentiel de remédier à ces inconvénient s par un moyen extérieur au registre lui-meme et d'un prix de revient réduit. C'est ce que se propose de réaliser le dispositif selon l'invention, dans lequel un moyen permet de générer, avant la transmission de chaque message, un nombre n' d'impulsions de niveau "o" transmises sur l'entrée "donnée" d'un registre à décalage à n sorties parallèles, en synchronisme avec n' impulsions d'horloge, n' étant un nombre prédéterminé supérieur à n. La description qui va suivre, en regard de la figure annexée permettra de mieux comprendre l'invention. Un registre à décalage 1 a ses n sorties parallèles reliées aux n entrées d'un registre à mémoire 2. L'entrée "H" dudit registre 1 est reliée à un générateur 3 de signaux d'hologe lequel est relié, également, au générateur 4 de message et à un compteur 5 dont les sorties respectives sont branchées sur une porte 6 elle-même reliée à l'entrée D "Donnée" du registre à décalage. A l'instant initial, la porte 6 est fermée, le message issu du générateur 4 ne peut donc pas être transféré dans le registre 1 alors que les signaux d'horloge issus du générateur 3 sont régulièrement envoyés sur l'entrée H du registre 1 en même temps que sur le compteur 5. Lorsque celuici a compté n' impulsions, n'étant un nombre prédéterminé égal à n + 1, il envoie un signal sur la porte 6 qui s'ouvre pour laisser passer le message issu du générateur 4 jusqu'à l'entrée D du registre 1.Le compteur 5 continu de compter les signaux de l'horloge et lorsqu'il a de nouveau compté n' impulsions il délivre un signal de commande de fermeture de la porte 6 pour interdire le transfert du message suivant dans le registre et le cycle recommence. De cette fanon, durant les n' signaux d'horloge pendant lesquels la porte 6 est fermée, si le message précédent était correct, et s'il n'y a pas eu de signaux parasites pris en compte entre temps, les n bascules du registre 1 sont à zéro et il ne se passe rien. Par contre, si un ou plusieurs t niveaux logiques "1" sont présents dans le registre, ils vont se décaler normalement avec les impulsions d'horloge envoyées, le premier arrivé à la sortie provoquera :un changement transitoire des mémoires du registre 2, non significatif, et une remise à zéro du registre à décalage 1. Les impulsions d'horloge restantes ne pourront décaler que des "o" et le registre à décalage se trouvera ainsi prêt pour l'enregistrement du message suivant. On voit, d'après ce qui précède, qu'il est suffisant que n' soit égal àn + 1 mais pour une plus grande sécurité, n' peut être choisi légérement supérieur à ce nombre. Bien entendu, le circuit qui vient d'être décrit est un exemple, non limitatif, et il est concevable, sans sortir du cadre de la présente invention, d'intégrer, par exemple, ses éléments fonctionnels à l'intérieur d'un même microprocesseur. REVENDICATIONS 1 - Procédé et dispositif de resynchronisation d'un registre à décalage dans le cas où la transmission des informations est affectée par des impulsions aléatoires, Caractérisé en ce qu'il comporte un moyen permettant de générer, avant la transmission de chaque message, un nombre n' d'impulsions de niveau "o" transmises sur l'entrée "Donnée" du registre à décalage à n sorties parallèles, en synchronisme avec n' impulsions d'horloge, n' étant un nombre prédéterminé égal ou supérieur à n + 1. 2 - Dispositif selon la revendication 1, Caractérisé en ce qu'il comporte, un générateur de signaux d'horloge, relié à l'entrée appropriée du registre à décalage, au générateur de message et à un compteur à n' positions dont la sortie commande l'ouverture ou la fermeture d'une porte recevant sur son entrée les signaux issus du générateur de message et dont la sortie est branchée sur l'entrée "Donnée" du registre à décalage. 3 - Dispositif selon la revendication 1, Caractérisé en ce que les éléments permettant de générer et de compter les n' impulsions de niveau#1,sont intégrés dans un microprocesseur.