Brevet FR2373819A1 — publié le 19780707

La présente invention concerne une installation et un procédé de positionnement précis par rapport à un moyen de repère d'un élément et notamment une installation de positionnement d'un transducteur tel qu'une tête magnétique par rapport à un support d'enregistrement tel qu'un disque à pistes multiples ; la description faite ci-après concerne un tel cas particulier. La présente invention applique notamment dans des installations d'entraînement bon marché de disques souples (encore appelés disques "floppy") dispositifs dans lesquels la technique actuelle ne permet que des densités de piste relativement faibles de l'ordre de 19 à 25 pistes par centimètre étant donné les variations de dimension, importantes résultant des variations de température et de degré d'humidité. Il est évident que plus le positionnement de la tête est précis et plus la densité des pistes peut être grande, avant que des erreurs inacceptables n'apparaissent par suite d'erreur de positionnement. Un certain nombre de solutions a déjà été proposé pour permettre d'augmenter la densité des pistes et pour arriver à une densité voisine des disques rigides qui est de l'ordre de 40 à 80 pistes par centimètre et parfois au-delà. L'une des solutions consiste à prévoir des pistes précodées sur une surface, ces pistes comportant des données d'asservissement permettant d'asservir le positionnement de la tête par rapport au centre de la piste de façon à positionner la tête du transducteur, de façon précise par rapport au centre de la piste codée sur une autre surface. Cependant, cette solution est peu rentable et trop coûteuse à réaliser sur des moyens d'entraînement de disques souples, qui sont eux-mêmes peu coûteux. D'autres solutions proposées n'assurent qu'une compens#ation approximative des variations de dimensions de l'entraînement et non des disques eux-mêmes. La présente invention a pour but de créer une installation de positionnement ainsi qu'un procédé, peu coûteux pour positionner de façon précise un dispositif par rapport à un élément quelles que soient les variations de température ou de degré d'humidité, et qui s'appliquent en particulier à des entraînements de disques pour arriver à des plus grandes densités de pistes sur les disques. A cet effet, l'invention concerne une installation de positionnement précis d'un dispositif par rapport à un moyen de repère prévu sur un élément, en fonction d'un signal d'ordre de positionnement quelles que soient les variations de température et de degré d'humidité, installation caractérisée en ce qu'elle comporte un moyen de mesure pour mesurer la différence de dimension réelle de l'élément par rapport à sa dimension normale, sur une distance prédéterminée et pour créer un signal de décalage cumulé correspondant à la différence cumulée sur cette distance prédéterminée, un moyen de calcul qui, à la réception du signal d'ordre de position correspondant à un déplacement du dispositif suivant une instruction, crée un signal de position, corrigé indiquant que le déplacement demandé a été corrigé pour tenir compte de la différence résultant du signal de décalage cumulé, proportionnellement à la distance du déplacement commandé, et un-moyen de positionnement pour positionner le dispositif en fonction du signal de position, corrigé. De façon plus particulière, le moyen de calcul comporte un moyen pour calculer le signal de décalage cumulé et fournir un signal de gradient de décalage correspondant à la variation linéaire du signal de décalage cumulé par rapport à la distance prédéterminée et pour utiliser ce signal de gradient de décalage pour donner le signal de position correct. Suivant un mode de réalisation préférentiel de l'invention, le moyen de mesure assure la mesure périodique de la déviation de dimension réelle de l'élément par rapport à sa dimension normale, sur une distance prédéterminée; définie par deux moyens de repère, fixes, prévus sur l'élément, et enregistrant cette valeur correspondant à la mesure pour l'utiliser et créer un signal de position, corrigé à la réception du signal d'ordre de position. L'invention concerne également un procédé de positionnement précis d'un dispositif par rapport à un repère sur un élément en fonction d'un signal d'ordre de position, quelles que soient les variations de température et d'humidité, procédé caractérisé en ce qu'on mesure la variation de dimension réelle de l'élément par rapport à sa dimension normale sur une distance prédéterminée le long de l'élément, et on crée un signal de décalage cumulé indiquant la déviation pour la distance prédéterminée, et à la réception du signal d'ordre de position correspondant au déplacement commandé du dispositif, on crée un signal de position, corrigé correspondant au déplacement commandé, corrigé par le signal de décalage cumulé, proportionnel à la distance du déplacement commandé et on positionne le dispositif en fonction du signal de position corrigé. La présente invention s'applique en particulier à une installation dans laquelle le dispositif à positionner est une tete magnétique et l'élément par rapport auquel on positionne la tête est un disque d'enregistrement à pistes multiples. L'invention peut se réaliser à l'aide d'un circuit logique classique, mais il est préférable de réaliser l'invention à l'aide d'un microprocesseur comme décrit dans la description. La présente invention sera décrite plus en détail à l'aide des dessins annexés, dans lesquels - la figure 1 est un schéma-bloc fonctionnel d'une installation de positionnement de tête magnétique selon la présente invention. - la figure 2 est un schéma destiné à faciliter la compréhension de l'invention. - la figure 3 est un schéma-bloc d'un circuit logique pour la mise en oeuvre de l'invention. - la figure 4 est un schéma d'une machine d'états de l'installation de la figure 3. - la figure 5 est un schéma d'états de la machine de la figure 4. - la figure 6 est un schéma-bloc d'un microprocesseur pour la mise en oeuvre de l'invention. - la figure 7 est un schéma opératoire montrant le fonctionnement du microprocesseur dans l'installation de la figure 6. - la figure 8 est un schéma-bloc montrant l'organisation d'un microprocesseur utilisable dans le système de la figure 6. - la figure 9 est un schéma-bloc montrant les éléments fonctionnels du microprocesseur de la figure 8. - la figure 10 est un schéma-bloc analogue à celui de la figure 7 correspondant à un autre mode de fonctionnement du microprocesseur. On a constaté que les variations de dimension d'un disque d'enregistrement, résultant des variations de température et du degré d'humidité, est une fonction essentiellement linéaire suivant le rayon du disque. Les disques souples (encore appelés "disques Floppy" utilisés actuellement et qui sont des disques en matière synthétique d'un diamètre de 194 mm, revêtus d'oxyde magnétique,) présentent une dilatation qui augmente de façon linéaire en fonction du rayon, dans la surface du disque, suivant un coefficient d'environ 17 microns/mm/0C La dilatation est au maximum égale à 0,01 mm sur la piste intérieure et de 0,03 mm au maximum sur la piste extérieure, dans la plage des températures de fonctionnement et dans la plage des degrés d'humidité convenables pour le support. Ainsi en mesurant périodiquement la déviation dimensionnelle totale du disque d'enregistrement par rapport à sa dimension réelle à une distance prédéterminée, la différence mesurée doit être interpolée et rapportée à une partie caractéristique de la distance ou encore il peut s'utiliser pour positionner de façon précise la tête à un endroit précis quelles que soient les variations de dimension du disque par suite des variations de température ou de degré d'humidité. La figure 1 représente de façon générale, une installation de positionnement de tête magnétique selon la présente invention ; dans cette figure, le disque magnétique comporte deux pistes d'asservissement servant de référence pour mesurer la variation dimensionnelle réelle du disque par rapport à une dimension normale. Ainsi, la figure 1 montre le disque magnétique 2- comme comportant une piste d'asservissement XO interne, appelée piste "O", ainsi qu'une piste d'asservissement externe X1, appelée piste "256". Grâce à deux telles pistes, on peut calculer de façon précise le gradient de décalage pour n'importe quel disque particulier et cela simplifie le calcul pour fournir le signal de position correct comme cela sera décrit plus en détail ci-après. La tête magnétique 4 est portée par unrchariot 6 entraîné par un moteur 8 commandé par une installation de positionnement 10, qui déplace la tête sur une adresse de piste comme indiqué dans la partie d'adresse du signal d'ordre de position reçu par le circuit de soulèvement 12 par l'intermédiaire d'un processeur 14.Pour assurer les corrections en fonction des variations de dimension du disque d'enregistrement et qui résultent des variations de tempéra-- ture et de degré d'humidité, un signal d'ordre de calibrage est fourni périodiquement par le processeur 14 au circuit de positionnement 10 de façon que ce dernier déplace la tête 4 d'abord sur la piste d'asservissement interne XO pendant qu'un circuit de mesure de décalage 16 mesure la variation (YO) du disque d'enregistrement par rapport à sa dimension normale sur cette piste (figure 2), puis la tête est amenée sur la piste d'asserviseement externe X1 pendant que le circuit de mesure de décalage 16 mesure la variation (Y1) du disque d'enregistrement par rapport à la dimension normale de ce disque au niveau de cette piste.Les grandeurs Y o et Y1 sont appliquées au processeur 14 qui crée un signal de décalage cumulé, correspondant à la variation mesurée (Yl-YoJ sur la distance entre les pistes d'asservissement X1 et XO. Le gradient du décalage (Y1-Y ) / (Xl-XO), e'est-à-dire la variation linéaire du décalage cumulé sur la distance entre les pistes d'asservissement peut alors se calculer, être enregistrée et servir à corriger le circuit de positionnement pour tenir compte des variations de température et de degré d'humidité.Ainsi chaque fois qu'un signal d'ordre de position est reçu, indiquant une adresse de piste, le décalage Y, nécessaire, rapporté à la distance définie par le signal d'ordre de position et ajoutée au signal d'ordre de position, est calculé comme suit dans cette formule N est l'adresse de la piste donnée par le signal de çommande de position. Les figures 3 à 5 représentent un circuit logique classique d'une installation de positionnement de tête ; les figures 6 à 10 représentent un microprocesseur pour la réalisation d'une telle installation. La figure 3 montre un circuit d'entraînement portant la référence 22 et comprenant un moyeu 24 pour recevoir un disque d'enregistrement 26 à pistes multiples, tel qu'un disque souple indiqué ci-dessus ; ce disque subit des variations de dimension résultant des changements de température ou de degré d'humidité. Une tête magnétique 28 peut venir sur n importe quelle piste choisie du disque d'enregistrement ; cette tête est portée par un chariot 30 entraîné par un moteur d'asservissement 32 alimenté par un amplificateur d'asservissement 34. L'adresse de la piste est spécifiée dans les lignes d'adresse 36 à l'émission d'un ordre de position (SEEK) fourni par le circuit 38. Pour permettre le calcul d'un gradient de décalage, précis, quel que soit le disque, aux conditions de température et d'humidité, correspondantes, le disque 26 comporte deux pistes d'asservissement décrites ci-dessus à savoir une piste interne XO ou encore piste numéro "O" et une piste externe X1 ou encore piste numéro "256". Pendant que le circuit fonctionne à vide, une séquence de calibrage est émise périodiquement (toutes les cinq minutes).; le fonctionnement à vide correspond à une situation dans laquelle il n'y a ni lecture, ni inscription, ni recherche de piste. L'état de lecture ou d'inscription est repéré par un signal de sortie faible sur la ligne référencée POSSET (mise en place) par un comparateur C1, la ligne passant au niveau supérieur lorsque l'amplificateur 34 ne crée aucun signal de sortie ; l'état de recherche est répéré par un signal de sortie élevé sur la ligne référencée SEEK par le circuit pour la bascule bistable (flip-flop) FF qui crée un signal de niveau supérieur sur sa ligne de sortie référencée BUSY.Pendant cette séquence de calibrage, un circuit de séquence de commande 40 (figure 4) crée un signal de niveau supérieur dans la ligne ZO autorisant un commutateur analogique ASO de fournir comme signal de sortie un signal de 0 volt pour l'amplificateur d'asservissement 34 qui commande le moteur 32 pour amener la tête 28 sur la piste d'asservissement interne X (piste o "O"). Lorsque la position de la tête s'est stabiliséê, on lit le décalage YO sur la piste XO par l'intermédiaire de l'amplificateur 42 et un circuit de mesure de décalage 44, crée un signal de sortie analogique correspondant à la déviation ou au décalage de la position de la tête par rapport au centre réel de la piste d'asservissement.Ce décalage analogique est transformé en un signal numérique par un convertisseur analogique/numérique (ADC) 46 qui charge le décalage ainsi mesuré dans un circuit de verrouillage 48. Le circuit de verrouillage 48 est autorisé à recevoir cette mesure par un signal de niveau supérieur sur la ligne "A"; ce signal remet également à l'état un compteur additionneur 50. Le circuit de séquence de commande 40 commande alors la ligne Zo pour l'amener au niveau inférieur et la ligne Z1 pour l'amener au niveau supérieur, autorisant le commutateur analogique AS1 d'appliquer une tension "plus" à l'amplificateur 34 pour que le moteur 32 entraîne la tête magnétique 28 sur la piste X1 (piste numéro "256"). Lorsque la tête s'est stabilisée en position, on mesure le décalage sur cette piste à l'aide de l'amplificateur 42 et du circuit de mesure de décalage 44 et on cha#rge la mesure par l'intermédiaire du convertisseur analogique/numérique (ADC) 46 dans le compteur soustracteur (décompteur) 52. Ce décompteur est autorisé par un signal de niveau supérieur appliqué par le circuit de séquence de commande 40 à la ligne "B" qui applique également un signal faible à la ligne "A" pour interdire le circuit de verrouillage 48. On voit qu'à ce moment le décalage mesuré Y par rapport à la piste interne XO est stocké dans le circuit de verrouillage 48 et le décalage mesuré Y1 par rapport à la piste extérieure X1 est stocké dans le décompteur 52. Le contenu du circuit de verrouillage 48 est alors retranché du contenu du décompteur 52 par l'intermédiaire d'un circuit qui comprend une porte ET, G1 autorisée par un signal dans la ligne "C" par un circuit de séquence de commande 40, pour faire passer des impulsions d'horloge afin d'incrémenter le compteur additionneur 50 et à décrémenter le compteur-soustracteur (décompteur) 52 jusqu a ce que l'état de comptage du décompteur soit égal à celui du circuit de verrouillage 48 tel qu'il a été détecté par le comparateur C2. L'égalité entre les deux grandeurs est détectée par un signal de niveau supérieur sur la ligne "D" ; à ce moment, l'état du décompteur 52 est égal au décalage cumulé (Yl-Yo) mesuré entre les pistes XO et X1. Ce décalage cumulé peut alors être divisé par 256 (c'est-à-dire le nombre de pistes comprises entre la piste Xo et la piste X1) de façon à calculer le gradient de décalage correspondant à la variation linéaire du décalage cumulé sur la distance entre les pistes XO et X1 ; chaque fois qu'il est nécessaire de faire un calcul proportionnel ou interpolation du décalage cumulé pour la distance d'un déplacement commandé Le montage de la figure 3 utilise un multiplicateur 54 à 8 bits pour effectuer cette dernière multiplication. La multiplication de deux nombres à 8 bits crée un produit à 16 bits qui peut être facilement divisé par "256'l essentiellement en supprimant les huit derniers bits significatifs. Ainsi, en supprimant les huit derniers bits significatifs du signal de sortie du multiplicateur 54 et en utilisant seulement les huit bits les plus significatifs, on effectue une division par "256" pour transformer le décalage cumulé, mesuré entre les pistes X et X1 en un gradient de décalage. o On voit ainsi que le signal de sortie du multiplicateur 54 à huit bits, créé par multiplication du décalage cumulé, mesuré (Yl-Yo) entre les pistes XO et X1 et l'adresse particulière de la piste (N)et en divisant ce produit par "256" (distance entre les pistes X1 et XO) se fait en supprimant les huit bits les moins significatifs du produit et constitue le décalage mesuré, proportionnel à la distance de l'adresse donnée. L'adresse donnée ou adresse caractéristique (N) sur la ligne 36 du circuit 38, est appliquée par un circuit de verrouillage 56 au multiplicateur 54 et son signal de sortie qui représente le décalage proportionnel pour l'adresse caractéristique, est appliqué à un convertisseur numérique/analogique (DAC) 58. L'adresse caractéristique (N) est également appliquée par l'interne médiaire d'un circuit de verrouillage 58 à un second convertisseur numérique/analogique (DAC) 60 Les signaux de sortie des deux convertisseurs DAC 58, 60 sont additionnés dans l'amplificateur d'asservissement 34 et servent à positionner la tête magnétique 28 à un endroit précis défini par l'adresse (N), corrigée par le décalage mesuré, proportionnel correspondant à cette adresse caractéristique. La figure 5 est un diagramme d'états montrant plus particulièrement le fonctionnement du circuit de la figure 3 commandé par la machine d'états de la figure 4. La machine d'états de la figure 4 comporte un circuit de séquence de commande 40 ayant trois entrées d'états à savoir l'état occupé référencé "BUSY", indiquant Si la tête magnétique est en cours de recherche d'une piste sous l'effet d'un signal de recherche référencé SEEK, du circuit 38, un état de positionnement référencé POSSET indiquant que la tête magnétique s'est stabilisée en position après avoir été entraînée jusqu'à la piste caractéristique, et un état "D" fourni par le comparateur C2 et indiquant que l'égalité a été obtenue entre le contenu du circuit de verrouillage 48 et le compteur 50 comme décrit ci-dessus.Le circuit de séquence de commande 40 comporte cinq sorties à savoir : Z ordonnant à la o tête de se déplacer sur la piste XOB Z1 ordonnant à la tête de se déplacer sur la piste X1 ; "A" autorisant le circuit de verrouillage 48 et remettant à l'état initial le compteur 50 ; "B" autorisant le décompteur 52 ; "C" autorisant lesimpulsions d'horloge à traverser la porte G1 pour aller vers le compteur 50 et le décompteur 52. Une horloge 62 commence périodiquement une séquence de calibrage par exemple toutes les cinq minutes ou à tout autre intervalle de temps adéquat. Lorsque la séquence de calibrage est commencée par l'horloge 62, le circuit parcourt les états suivants : Etat 80 qui est l'état libre ; à ce moment, toutes les sorties du circuit de séquence de commande 40 sont remises à l'état initial Le circuit passe à la état S1 chaque fois que l'horloge 62 fournit un signal de sortie à condition que le circuit 38 ne soit pas en état dboccupation 'BUSY" c'est-à-dire que la tête n'effectue aucune opération de lecture dainscription ou de recherche de piste A l'état S1 t le circuit de commande de séquence établit Zo, de sorte que l#amplificateur d'asservissement 34 commande le moteur 32 pour amener la tête 28 sur la piste d'asservissement interne Xo les autres sorties du circuit de séquence restant à l'état initial Lorsque la tete s est stabilisée en position, comme cela est déterminé par le mode d'état POSSET, le circuit passe à l'état 82. Dans cet état, le circuit de séquence de commande 40 revient à Z et applique le signal A pendant un court instant (en général o pour pour remettre à l'état initial le compteur 50 et autoriser le circuit de verrouillage 48 à recevoir le décalage mesuré sur la piste Xo par le circuit de mesure de décalage 44 et le convertisseur analogique/numérique ADC 46.A la fin de ce court intervalle, le signal "A' est remis à l'état initial et le circuit passe à l'état S3. A l'état S3, le circuit de séquence de commande 40 applique le signal Zl et remet ses autres sorties à l'état initial; la tête magnétique est alors entraînée sur la piste X1. Après stabilisation en position de la tête (état POSSET) le circuit passe à l'état S4, puis "B-' est mis à l'état pendant un court intervalle (en général d'une durée de 1 s) qui autorise le décompteur 52 à recevoir le décalage mesuré par rapport à la piste X1 Après ce court intervalle, le signal "B" est remis à l'état initial et le circuit passe à l'état S5, puis le signal "C est mis à l'état et autorise la porte G1 à laisser passer les impulsions d'horloge pour augmenter l'état de comptage du compteur 50 et à diminuer ou décrémenter l'état de comptage du décompteur 52 , jusqu a ce que le contenu du décompteur soit égal à celui du circuit de verrouillage 48 Cet état est détecté par le comparateur C2 qui fournit alors comme signal de sortie le signal "D" indiquant l'égalité pour le circuit de séquence de commande 40 qui déplace le circuit à l'état initial libre S o On voit que pendant cette séquence, le circuit a mesuré le décalage total (Y1-y0) entre les pistes X0 et X1 et a enregistré cette valeur dans le décompteur 52 Comme décrit précédemment, lorsqu'une adresse (N) est déterminée sur le bus d'entrée 36 par le circuit 38, cette adresse est appliquée par le circuit de verrouillage 56 au convertisseur numérique/analogique DAC 60 et en outre ce signal est appliqué au multiplicateur 54 à huit bits. Ce multiplicateur 54 multiplie l'adresse (N) par la grandeur du décalage (Yl-Yo) mesuré et enregistré ; en même temps, on effectue une division de cette valeur (en supprimant les huits bits les moins significatifs du produit) par le nombre de pistes ("256") qu'il y a entre les pistes d'asservissement X et X1 On obtient o ainsi une grandeur correspondant au gradient du décalage multiplié par le nombre de pistes caractéristiques de l'adresse pour obtenir le signal de sortie correspondant au décalage mesuré, rapporté au nombre de pistes caractéristiques contenues dans l'adresse du bus d'entrée 38.Ce décalage proportionnel est appliqué à un convertisseur numérique/analogique DAC 58 et est additionné dans l'amplificateur d'asservissement 34 à la grandeur correspondant à l'adresse caractéristique du convertisseur numérique/analogique DAC 60. Le signal de sortie de l'amplificateur d'asservissement 34 servant à commander le moteur d'asservissement 32, déplace la tête magnétique 28 jusqu t à adresse caractéristique qui correspondra alors à la position précise pour la tête à l'adresse caractéristique, telle que corrigée par la déviation mesurée du disque par rapport à sa dimension normale, et qui résulte des conditions de température et d'humidité. La figure 6 est un schéma montrant la réalisation d'un microprocesseur pour l'installation décrite ci-dessus. L'installation représentée à la figure 6 comporte une unité d'entraînement de disque portant globalement la référence 122 et ayant un moyeu central 124 pour le disque 126, avec deux pistes d'asservissement XO et X1 comme décrit ci-dessus. La tête magnétique 128 est portée par un chariot 130 entraîné par un moteur 132 qui est alimenté par un circuit dlasservissement 134 par l'intermédiaire d'un amplificateur 136.L'information peut se lire sur les pistes du disque par l'intermédiaire d'un amplificateur de lecture 138 ou être inscrite dans les pistes d'enregistrement par l'intermédiaire d'un amplificateur d'inscription 140 par le circuit 142 par l'intermédiaire d'un interface 144 Un microprocesseur MP envoie périodi quement la tête magnétique d'abord sur la piste X pour mesurer o le decalage par rapport à cette piste à l'aide dzun circuit de mesure de décalage 146 et d'un amplificateur de lecture 138, puis sur la piste X1 pour mesurer le décalage par rapport à cette seconde piste.Le décalage mesuré, est transformé en un signal numérique par le convertisseur analogique/numérique ADC 148 avant d'être introduit dans le microprocesseur NP Le microprocesseur MP enregistre le décalage cumulé (Yl-Yo), mesuré ou le gradient de décalage calculé par division du décalage cumulé, mesuré par la distance entre les pistes d'asservissement X0 et X1, c'est-à-dire (Y1-Y0) / (x1-x0). A la réception de l'ordre de recherche référencé SEEK, du circuit 142 par l'intermédiaire de l'interface 144, ordre qui correspond à une adresse particulière (N) pour la tête magnétique, le microprocesseur calcule la position correcte pour compenser les variations d'humidité et de température et applique ces informations comme signaux de sortie au convertisseur numérique/analogique 150. L'adresse originale (N) du circuit 142 est fournie comme signal de sortie pour le convertisseur numérique/analogique DAC 152 et est additionnée à la sortie du convertisseur numérique/analogique DAC 150 dans le circuit d'aseervissement 134 dans lequel il est appliqué par l'intermédiaire de l#amp1ificateur 136 au moteur d'entraînement 132 pour commander la tête magnétique 128 et l'amener à l'adresse déterminée. La figure 7 est un tableau d'opérations montrant la séquence des opérations du système programmé décrit ci-dessus. Ainsi à l'état initial SA, les registres du microprocesseur sont remis à l'état initial. Le circuit passe à l'état SB à la réception d'un ordre d'entrée de recherche référencé SEEK fourni par le circuit 142 et indiquant l'adresse de piste (N) ; pendant cet état, les signaux du système sont à l'état référencé "BUSY", interdisant l'entrée de la séquence de calibrage décrite cidessus, avec mesure et calcul du décalage cumulé Y1-Y0 entre les pistes d'asservissement X1 et X0 A l'état Sc, l'installation compare l'adresse voulue ou adresse caractéristique (N) et l'adresse réelle (c'est-à-dire la position de la tete à cet instant).Si l'adresse voulue est inférieure à ltadresse réelle, cette adresse réelle est diminuée d'un état "1" (état SD) et est ramenée à l'état SC B s'il y a dépassement, l'adresse réelle est augmentée d'un état "1" (état SE) et est ramenée à 1 état SC. En cas d'égalité, le circuit passe à l'état SF pour mesurer les décalages Y1 et Y0 pour les pistes d'asservissement X1 et X0 ; ces grandeurs sont envoyées comme signaux d'entrée dans les registres du microprocesseur ; il est à remarquer que ces décalages sont calculés périodiquement pendant que l'installation fonctionne à vide.L'installation passe alors à l'état SG pour calculer le gradient de décalage (OG) en divisant le décalage cumulé (Yl-Yo) par le nombre de pistes (256) entre les pistes d'asservissement X1 et XO. Puis, le circuit passe à l'état SH dans lequel le gradient de décalage (0G) est multiplié par l'adresse caractéristique (N) de la piste pour créer le décalage proportionnel pour l'adresse de piste (par l'intermédiaire du convertisseur numérique/analogique TAC 150, figure 6) pour-le circuit d'asservissement 134 pendant l'état suivant SI. Lorsque la position de la tête s'est stabilisée (état S), le circuit revient à l'état de départ référencé START et attend la réception de l'ordre SEEK suivant fourni par le circuit ; le circuit introduit périodiquement la séquence de calibrage pendant les périodes de fonctionnement à vide, pour assurer en permanence La mise à jour des grandeurs de décalage YO et Y1. Les figures 8 et 9 montrent l'organisation et les détails de fonctionnement respectifs d'un microprocesseur du commerce pour la réalisation de l'installation des figures 6 et 7. Le microprocesseur représenté, est réalisé sur une seule plaquette en technologie MOS à canal P, suivant un composant DIP à 16 broches, avec une vitesse d'instruction de 9 microsecondes et un interface compatible pour la technique TTL. Comme représenté à la figure 8, le circuit comporte deux bornes de signaux, d'interface caractéristique, pour les données extérieures à savoir la borne d'entrée référencée DATAIN, pour un signal bit-série-par byte et une borne de sortie référencée DATAOUT, bit-série-parbyte. L'information est normalement placée dans le microprocesseur à partir d'un registre à décalage externe. Le microprocesseur peut choisir l'un des quatre registres d'entrée dans une instruction; inversement, il peut charger l'un des cinq registres de sortie dans une autre instruction En conséquence, le microprocesseur peut manipuler n'importe lequel des neuf registres, et chaque registre peut avoir une longueur quelconque. Le microprocesseur se compose de cinq parties fonctionnelles à savoir LU Unité logique Registre de données, additionneur série MPM Mémoire de micropro- Séquences de micro-instruction gramme créées par les microprogrammes MCU Unité de commande Registres pour l'adressage de la de mémoire mémoire à microprogramme CU unité de commande Commande en cadence et commande condi tionnelle de la détermination successive et décodage des instructions EXI Interface externe Interface à 16 broches pour le branche ment avec des circuits externes. La machine quoique réalisée sous forme de série, apparaît pour le programmeur comme une machine parallèle à 8 bits, pour toutes les fonctions de données L'unité logique LU se compose de trois registres à 8 bits (Al, A2, A3) d'un registre B à 8 bits, d'un additionneur série SA et de sélecteurs Les registres sont des registres à décalage statique à recirculation, de sorte que l'information peut être transférée dans l'additionneur sans modification du contenu des registres Les entrées de l'additionneur sur le X choisi sont constituées par n'importe lequel des registres A ou la valeur nulle et sur la sélection Yt il s'agit des registres B ou du complément, du registre de comptage de microprogramme alterné (AMPCR) ou de la valeur nulle.La sortie de l'additionneur peut être appliquée au circuit Al, A2, A3 AMPCR et#à des registres externes (par la ligne de sortie de données référencée ligne DATAOUT). L'additionneur lui-même peut effectuer huit opérations (X+Y, X+Y+1, XOU (référencé XOR), EQVa ET (référencé AND), OU (référencé OR), NON-ET (référencé NAND), NON-OU (référencé NOR) L'additionneur applique ainsi quatre conditions au registre de conditions à savoir "dernier bit vrai (LST)1 "bit le plus vrai" (MST) "dépassement" (AOV) et "tous les bits vrais (ABT).Ces conditions sont établies lorsque le bit correspondant est vrai et ces conditions sont remises à l'état initial lorsqu'il est faux Les conditions de l'unité logique ne changent pas jusqu'à l'opération de l'unité logique suivante et peuvent se tester en utilisant les instructions de test de conditions L'unité de commande de mémoire MCU se compose essentiellement de deux registres à 8 bits : le registre de comptage de microprogramme MPCR et le registre de comptage de microprogramme alterné AMPCR. Le registre MPCR est un compteur à 8 bits qui peut être incrémenté par une unité ou par deux unités Le registre AMPCR emmagasine les adresses de sauts pour modifier la séquence des instructions. Le registre MPCR choisit l'instruction suivante (instruction successive) dans la mémoire à microprogramme. La mémoire à microprogramme PMP peut contenir jusqu'à 256 mots, chacun d'une longueur de 12 bits La mémoire contient seulement des instructions d'exécution et ne peut pas être modifiée par commande de programme Les instructions à 12 bits sont décodées suivant l'un des trois types : type littéral, type conditionnel et type logique. Huit des 12 bits peuvent être transférés directement dans le registre AMPCR dans le registre B ou dans le registre de commande du dispositif externe (DEV). L'unité de commande CU fournit huit conditions de test, une condition de sélection logique, une détermination d'opérations successives, une instruction de décodage logique et la cadence du processeur. Les huit conditions qui peuvent être testées, sont AOV, MST, LST, ABT (indiquées ci-dessus) ainsi que trois conditions locales de mise à l'état ou-de remise à lsétat initial par le programme, LCl, LC2 LC38 ainsi qu'une condition asynchrone externe EXT. La sélection de l'opération suivante est soit : MPCR+1, MPCR+2, AMPCR r MPCR+1 (qui passe ainsi à AMPCR) Ces opérations successives sont appelées par référence STEP, SKIP, JUMP et SAVE. Le microprocesseur utilise une entrée d'horloge externe (CI) pour la commande en cadence interne Pendant chaque instruction, on utilise neuf signaux d'horloge, l'un pour la mise à l'état et huit pour les données. Après le dernier signal d'horloge, le microprocesseur vérifie le niveau de la poursuite du cycle mémoire (MCC) avant de démarrer l'instruction suivante. En fonctionnement continu, ce signal est vrai L'unité de commande fournit également deux signaux de cadence, de sortie : sortie d'horloge (CO) portant les huit impulsions de décalage de données pour la commande de cadence externe ; la dernière impulsion (LP) qui indique la fin de chaque instruction et le début d'une nouvelle opération. L'interface externe à 16 broches correspond à quatre types de signaux : 10) données ; 20) ordres ; 30) cadence; 40) alimentation (+5 volts, -12 volts, masse). Signaux de données : L'entrée est référencée DATAIN est l'entrée principale des données dans le microprocesseur. La donnée est commandée par l'ordre BEX de l'instruction de l'unité logique ; cet ordre autorise le passage en série de l'information dans le registre B Le niveau de la condition d'entrée EXT est commandé de façon interne et est vérifié par liinstruction de vérification de condition ; il peut par exemple servir à :(1) recevoir des données d'entrée ; (2) indiquer qu'une coupure existe dans un registre d'interruption externe ; (3) avoir une signification de sélection externe pour divers dispositifs externes. La ligne de sortie de données référencée DATAOUT est ltinterface de sortie de données du microprocesseur. L'information est toujours envoyée comme signal de sortie sous forme de 8 bits et peut autre commandée en synchronisme dans un registre à décalage externe en utilisant des impulsions a d'horloge CO. Signaux de commande : Les quatre signaux de commande externes du microprocesseur commandent le passage des informations en sortie et en entrée du microprocesseur et indiquent également comment l'information doit être utilisée par l'interface. Deux lignes A et B, lorsqu'elles sont décodées, désignent le type de l'opération qui se fait de façon interne et externe par rapport au microprocesseur.Les combinaisons sont les suivantes : BEX (A=l, B=O) indique une instruction d'unité logique (voir tableau 2 cidessous) qui progresse avec l'une des quatre destinations BEX et la donnée externe est commandée dans le registre B ; le signal OUT (A=o, B=1) indique que l'instruction de l'unité logique progresse avec l'une des quatre destinations OUT choisies ; le signal DEV (A=L, B=l) indique qu une instruction littérale externe (progresse de façon interne) et une instruction littérale à 8 bits du circuit MPM est transférée au microprocesseur sur la ligne DATAOUT vers le registre de commandedu dispositif externe ; le signal (A=O, B=O) est le code de défaut pour toute autre instruction externe différente de celle indiquée ci-dessus (c'est-à-dire BEX, OUT et DEV). Les autres deux broches pour les quatre lignes de commande externes sont les bits 9 et 10 respectifs, pour l'instruction de microprogramme. Ces lignes sortent sans passer par une porte et peuvent etre combinées aux signaux décodés BEX et OUT pour déterminer celui des quatre registres externes qui a été choisi de façon interne. Le signal d'effacement MPCR efface le registre MPCR pour que l'instruction suivante à exécuter se trouve en position zéro. Le signal d'avance forcéeest utilisé pour l'essai seulement si le contenu de la mémoire du microprogramme MPM passe sur l'interface externe. Signaux de cadence : Le niveau continu de cycle de mémoire (MCC) assure le début d'une instruction en autorisant le générateur de cadence interne. Ce générateur de cadence crée des impulsions de décalage internes à partir de l'entrée d'horloge. Ce niveau peut s'utiliser pour ralentir l'exécution d'une instruction MPM à n'importe quelle fréquence y compris un seul pas. Les impulsions de cadence d'entrée (CI) alimentent le générateur de cadence en commandant la fréquence des bits ; les impulsions créées par le générateur de cadence servent à commander toutes les impulsions de décalage de la sortie horloge (CO) du générateur de temps et servent à synchroniser les registres externes. La dernière impulsion (LP) indique qu'il y a eu huit impulsion de décalage de données C'est pourquoi, les registres externes sont (1) chargés ou (2) qu'une information a été reçue par le microprocesseur. Ensemble d'instructions : L'ensemble d'instructions comprend essentiellement trois types d'instructions comme indiqué dans les tableaux 1 à 3 ci-dessous, à savoir : (1) une instruction littérale, (2) des instructions de condition d'essai ; (3) des instructions d'unité logique 1) Instructions littérales : Il y a quatre instructions littérales types utilisant chacune une constante de 8 bits de la mémoire à microprogramme : instruction littérale pour B ; ins truction littérale pour AMPCR; instruction littérale "aller vers" (référencée GOTO) en fait instruction littérale pour aller vers MPCR et instruction littérale pour le registre du dispositif externe DEV.Des exemples de ces instructions sont les suivants 25 = : B, Tableau = AMPCR, GOTO boucle, xmit = DEV. I1 est à remarquer que les expressions (tableau, boucle, xmit)-sont définies comme des grandeurs à 8 bits par le programmeur vers l'assembleur. 2) Instructions de condition d'essai : L'instruction de condition d'essai, vérifie l'une des huit conditions particulières 'est-à-dire quatre conditions logiques, trois repères locaux et une condition externe) et exécute l'instruction "successeur vrai ou successeur faux" suivant le résultat de l'essai. Les successeurs sont STEP (avancer), SKIP (glisser), JUMP (sauter) et SAVE (conserver). Si l'on veut avoir un successeur inconditionnel, il faut que les deux domaines présentent le même successeur. Exemple L'instruction JUMP est l'équivalent de IFAOVJUMPELSEJUMP. Si la condition de vérification est vraie, on peut régler de façon optimale l'une des trois conditions locales. Les conditions locales sont remises à l'état initial lors de l'essai. 3) instructions logiques : Comme décrit ci-dessus, l'additionneur peut effectuer huit opérations permettent d'effectuer partant de cela 20 opérations de base avec des sélections de registres et Y adéquats. La destination est déterminée par le champ d'instructions prévu. La sélection Y et les opérations sont combinées de façon que toutes les combinaisons ne sont pas disponibles. On remarque que AMPCR (indiqué par Z dans le domaine de sélection Y) sera nul à moins que AMPCR soit choisi comme destination.Le domaine de destination se compose de quatre groupes principaux : quatre registres internes ; quatre registres de sortie ; la charge sumultané du registre B d'instruction externe (BEX) avec l'additionneur, chargeant le registre interne choisi ; un décalage à droite d'un seul bit dans les registres internes choisis, l'additionneur recevant le bit le plus important. Cadence : La prise d'instruction suivante et 1 'exécu- tion de l'instruction présente se chevauchent. Ce cycle de prise et d'exécution nécessite 9 impulsions d'horloge ; c'est pourquoi, dans le cas d'une horloge de 1 MHz, le temps d'exécution d'une instruction est égal à 9 microsecondes. Les tableaux 1, 2 et 3 donnés ci-après correspondent aux instructions littérales, aux instructions logiques et aux instructions de condition d'essai. Tableau 1 - Instructions littérales 1 2 3 4 5 6 7 8 9 10 11 12 Instruction littérale de MPM -- B 1 0 1 1 1 2 3 4 5 6 7 8 9 10 11 12 adresse littérale de saut - AMPCR non utilisée O O littéral aller vers non utilisé 1 0 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 ll 12 Littéral -- > dispositif externe 0 0 1 1 Tableau 2 - Instruction d'unité logique 1 2 3 4 5 6 7 8 9 10 11 12 X Select. Opération & Y Select. Destination 0 select. 00 O 0000 X+B+1 0000 B 01 Al 0001 X+B 0001 Al 10 A2 0010* X+Z+1 0010 A2 11 A3 0011* X+Z 0011 A3 0100 X EOV 0100 OUTO, - B(XB v XE) 0101 X XOR 0101 OUT1 B(XB v XB-) 0110 X-B 0110 OUT2 (X+B+1) 0111 X-B-1 0111 *AMPCR1 OUT3 (X+B) 1000 X NOR B(X v B) 1000 B,BEX 1001 X NAN E (XB) 1001 Al, BEX 1010* X NOR Z (XvZ) 1010 A2, BEX 1011* X NAN Z (XZ) 1011 A3, BEX 1100 X OR B 1101 X AND B (XB) 1101 Al S 1110 X RIM B (XvB) 1110 A2 S 1111 X NIM B (XB) 1111 A3 S * AMPCR (indiqué par Z dans le champ de sélection Y) sera nul à moins que AMPCR soit choisi comme destination. Tableau 3 - Instruction d'essai de condition 1 2 3 4 5 6 7 8 9 10 11 12 Sélect. opération Successeur successeur 1 condition vrai faux 000 MST 00 net LC1 00 saut 00 saut 001 AOV Ol net LC2 01 avance 01 avance 010 LST 10 net LC3 10 glisse 10 glisse 011 ABT 11 non 11 conser- 11 conserve ve 100 LC2 110 LC3 111 EXT Le microprocesseur représenté aux figures 8 et 9 est programmé de façon exécuter les fonctions décrites ci-dessus dans l'installation de positionnement de tête magnétique des figures 6 et 7. Les tableaux 4 et 5 ci-après illustrent un programme que l'on peut utiliser. Les adresses et les tableaux d'instructions sont en notations hexadécimales ; le tableau 6 ci-après indique comment cette notation peut être formée en notation binaire. Tableau 4 - position de programme Inst. Add. Instr. Indic. Mnemonique Commentaires 1 00 000 0 -- > AMPCR 2 01 0L9 0#A2 3 02 8MI A2 -- > OUT O 4 03 /// START SAVE SAVE 5 04 ONI # 0 -- > B, BEX recherche entrée 6 05 041 B -- > B ordre 7 06 5J7 IF LST STEP JUMP 8 07 003 0 -- DEV état occupé 9 08 ON5 0 -- > A1, BEX entrée 10 09 045 B -- > A1 11 oJ 4LI LOOP Al B 12 0K 90M rV A2 EQV B -- > A3 comparer 13 OL 7K7 IF ABR STEP SKIP Egalité 14 OM 1L2 GO TO CALC 15 ON 98M- A2 - B -- > A3 16 0/ 01K 254 -- > B 17 10 3K7 IF AOV STEP SKIP 18 11 849 A2 + B -- > A2 soutraction 2 19 12 889 A2 + 1 A2 add. 1 20 13 8MI A2#0UT O 21 14 OLM O A3 22 15 19K 231 -- > B 23 16 /// SAVE SAVE 100 ms 24 17 L8M A3 + l# > A3 25 18 3J7 IF AOV STEP JUMP 26 19 001 B + 1 -- > B 27 1J 3J7 IF AOV STEP JUMP 28 1K QJ2 GO TO LOOP 29 IL 8N9 CALC A2-SA2, BEX Déc. entrée 1 30 1M 8MI # A2 -- > OUT 1 31 IN 045 BB~--; > Al 32 1/ 08K 248 - > B 33 20 06M B - > A3, BEX Charger A3 avec 246 34 21 581 Al - B -- > B déc. entrée 2 35 22 OL5 0 -- > A1 déc 1 - déc. 2 36 23 8/9 MUET A2-SA2, S 37 24 5K7 # IF LST STEP SKIP essai LSB 38 25 445 Al + B -- > Al Ad. 39 26 0/5 0 -- > A1, S déc. 40 27 L8M A3 + l- > A3 Inc. Compteur 41 28 7L/ IF ABT SKIP STEP 42 29 232 GO TO MULT 43 2J 4M5 A1 -- > OUT 1 sortie déc. 44 2K //3 255 -- > DEV sortie état 45 2L 032 GO TO START Tableau 5 BEX O = ordres d'entrée OUTO = réel BEX 1 = Adresse demandée OUT 1 = sortie décalée BEX 2 = décal. 1 DEV = sortie état BEX 3 = décal. 2 B, Ai = registres temporaires A3 = compteur, registre temporaire Tableau 6 Hexadécimal binaire Hexadécimal binaire vrai télétype vrai télétype O 0 0000 0 8 1000 1 1 000L 9 9 1001 2 2 0010 A J 1010 3 3 0 0 1 1 B K 1 0 1 1 4 4 0100 C L 1101 5 5 0101 D M 1101 6 6 0110 E N 1110 7 7 0111 F / 1111 Les indications ci-après sont des indications complémentaires servant à comprendre le fonctionnement du microprocesseur des figures 8 et 9 suivant le programme du tableau 4. On voit que l'instruction 1 (adresse "00") peut#être transformée (en se reportant au tableau 5 ci-dessus) de la notation hexadécimale "000" en notation binaire : O 0 0 O 0 0 O 0 0 O 0 0. Les deux bits les plus à droite (les ~moins significatifs) (00) correspondent à une instruction littérale JUMP vers AMPCR (tableau 1) (cette instruction signifie qu'il y a un saut vers AMPCR). Les dèux bits suivants ne sont pas utilisés et les huit autres 'bits indiquent que tous les états 0 doivent être chargés dans AMPCR. Cette instruction efface ainsi AMPCR. L'instruction 2 (adresse "Ol")peut être transformée de la notation hexadécimale "OL9" en notation binaire : 0 0 0 0 1 1 0 0 1 1 0 0 1 0 0 1. Les deux bits les plus à droite (01) correspondent à une instruction de l'unité logique (tableau 2). Les quatre bits suivants (0010) indiquent la sélection de destination A2 r les autres quatre bits (0011) indiquent l'opération Z ; les deux bits les plus à gauche (00) indiquent la sélection "0". Cette instruction demande ainsi l'effacement du registre A2. L'instruction 3 (adresse "02") peut être transformée de la notation hexadécimale "8M1" en notation binaire :1 0 0 0 1 1 0 1 0 0 0 1. Les deux bits les plus à droite (OI) correspondent à une instruction d'unité logique (tableau 2) comme instruction précédente ; les quatre bits suivants (0100) précisent la destination choisie OUT O ; les quatre bits suivants indiquent que l~opération est Z ; les deux bits les plus à gauche (10) indiquent la sélection A2. Cette instruction appelle ainsi l'émission du contenu du registre A2 (qui est nul) vers OUT 0, ce qui signifie en réalité l'effacement du registre OUT 0. Instruction 4 (adresse "03") peut être transformée de notation hexadécimale en notation binaire : 1 1 1 1 1 1 1 1 1 1 1 1. Les trois bits les plus à droite (111) indiquent une indiquent une instruction de condition d'essai (tableau 3) et les quatre bits suivants (liii) indiquent une instruction SAVE SAVE. Ainsi cette instruction signifie qu'il faut conserver le contenu de l'adresse suivante dans AMPCR (c'est-à-dire de conserver l'adresse 04" dans AMPCR) ; il s'agit de l'adresse JUMP (saut) retour à cette adresse pour chaque instruction JUMP jusqu a une autre instruction SAVE SAVE. Instruction 5 (adresse "04") peut être transformée de la notation hexadécimale ONI en notation binaire : 0 O O 0 1 1 1 O 0 0 0 1. Les deux bits les plus à droite (01) indiquent une instruction de l'unité logique (tableau 2). Les quatre bits suivants (1000) indiquent la destination sélection B, BEX ; les quatre bits suivants (0011) indiquent l'opération Z et les deux bits les plus à gauche (00) indiquent la sélection 0. Cette instruction signifie qu'il faut effacer le registre B et prendre les données dans B (cette opération est référencée DATA IN ; BEX signifie un passage externe sur B, c'est-à-dire que l'ordre de recherche référencé SSEK doit être placé dans B). Le programme du tableau 4 comporte 40 autres instructions en plus des cinq instructions ci-dessus soit un total de 45 instructions. On voit qu'en se reportant aux tableaux. 1 à 3, ces 40 instructions supplémentaires correspondent aux indications suivantes Instruction 6 (adresse '05") est une instruction fictive ; passéeà B par l'additionneur pour mettre à l'état le repère de condition dans l'additionneur. Instruction 7 (adresse "06") si LST est vrai, alors effectue l'instruction STEP ; sinon effectue l'instruction JUMP c'est-à-dire revenir à AMPCR pour l'instruction à l'adresse "03. En fait les instructions 6 et 7 forment une première boucle libre rapide pour demander si l'ordre SEEK a été reçu. Instruction 8 (adresse "07") : si LST est vrai (ordre SEEK reçu) alors effacerle registre DEV (registre d'état de sortie), "0" signifie occupé (état = occupé référencé "BUSY"). Instruction 9 (adresse "08") ; effacer le registre Ai et prendre les données ; cette opération portant la réféfence DATA IN (adresse recherchée) correspond à la prise des données et leur introduction dans B. Instruction 10 (adresse "09") : envoyer le contenu de B dans le registre Al. Instruction 11 (adresse "OJ") : envoyer le contenu du registre Ai dans le registre B (le registre Ai sert à l'enregistrement). Instruction 12 (adresse "OK") : comparer A2 (adresse courante) avec B (adresse voulue) et enregistrer dans A3. Instruction 13 (adresse "OL") :voir s'il y a égalité dans l'affirmative, passer sur l'instruction 14 ; dans la négative passer sur l'instruction 15. Instruction 14 (adresse '20M") : si égalité passer sur CALC (branche d'instruction 25). Instructions 15-28 (adresses "ON" - "1K") en fait cela correspond à une incrémentation par "1" ou à une décrémentation par "1" suivant que la valeur recherchée(BEXO) est supérieure ou inférieure à la valeur réelle (A2), et cela jusqu'à obtention de l'égalité. Instruction 29 (adresse l'IL") ; CALC charge le décalage 1 dans BEX2 (registre Bi). Instruction 30 (adresse "IM") : adresse réelle de sortie pour OUT 0. Instruction 31 (adresse "IN") :transfert du contenu de B décalé dans Al. Instruction 32 (adresse "1") : charger le nombre " 248" dans le registre B ; cela fait partie du programme du multiplicateur. Instruction 33 (adresse "20") : transférer "248" dans A3 et BEX3 dans B ; A3 est mis à l'état pour indiquer le nombre de décalage. Instruction 34 (adresse "21") : l'entrée décale les pistes T256-TO (Xl-XO à la figure 6) Instruction 35 (adresse "22") : effacer Al ; c'est-àdire décalage 1 -décalage 2 Instructions36-42 (adresses "23-29") : ces instructions constituent la séquence de multiplication pour multiplier A2 (adresse de la piste) par B (décalage T256-TO) et diviser par "256" ; cela se fait en supprimant les huits bits les moins significatifs et en conservant les huit bits les plus significatifs comme indiqué ci-dessus Instruction 43 (adresse "2J") : mettre la réponse dans OUT 1 ; c'est-à-dire fournir un signal de sortie du décalage. Instruction 44 (adresse 'E2K") : effacer létat d'occupation (registre DEV est mis à lSétat "1" qui correspond à la situation "non occupé"). Instruction 45 (adresse "2L") : passer sur le départ (référencé START) ; cCest-àdire la boucle pour l'ordre SEEK suivant. La figure 10 est un tableau d'opérations, analogue à celui de la figure 7 montrant une variante du fonction du microprocesseur Dans la variante de la figure 10 les états SF' et SG' correspondant aux états SF ET SG de la figure 7 sont enlevés du courant principal de calcul et sont placés dans une boucle libre. Ainsi, les décalages mesurés Y1 et YO sont introduits périodiquement (en général toutes les cinq minutes) comme cela est indiqué par l'horloge libre SK'. Le calcul de O, se fait également dans cette boucle libre comme cela est représenté par le rectangle SG' qui est une boucle libre Les autres états du tableau d'opérations de la figure 10 correspondent à ceux de la figure 7 et portent des références correspondantes, avec un prime ('). L'avantage principal du fonctionnement de la figure 10 est qu'il permet de diminuer considérablement le temps d'accès par rapport au fonctionnement de la figure 7. Alors que les modes de réalisation décrits ci-dessus consistent à mesurer la différence de dimension réelle ou le décalage d'une distance prédéterminée mesurée entre deux pistes d'asservissement XO, X1 le décalage pourrait également être mesuré par rapport à une seule piste X1, en utilisant une constante qui serait enregistrée, en remplacement de l'autre piste d'asservissement XOO Bien entendu, l'invention n'est pas limitée aux exemples de réalisation ci-dessus décrits et représentés, à partir desquels on pourra prévoir d'autres modes et d'autres formes de réalisation, sans pour cela sortir du cadre de l'inventiono REVEND ICAT IONS 10) Installation de positionnement précis d'un dispositif tel qu'une tête magnétique (4) par rapport à un élément de référence (piste X ou X1) sur un organe (disque 2) en fonction o 1 d'un signal d'ordre de position (fourni par un dispositif de réception 12) quelles que soient les variations de température et d'humidité, installation caractérisée en ce qu 2 elle comporte un moyen de mesure (16) pour mesurer la différence de dimension réelle de l'élément par rapport à sa dimension normale, sur une distance prédéterminée (distance entre les pistes XOD X1) et pour créer un signal de décalage cumulé correspondant à la différence cumulée sur cette distance prédéterminée, un moyen de calcul (14) qui, à la réception du signal d'ordre de position correspondant à un déplacement du dispositif suivant une instruction, crée un signal de position, corrigé (N + Y) indiquant que le déplacement demandé a été corrigé pour tenir compte de la différence résultant du signal de décalage cumulé, proportionnellement à la distance du déplacement commandé, et un moyen de positionnement (10) pour positionner le dispositif en fonction du signal de position, corrigé. 20) Installation selon la revendication 1, caractérisée en ce que le moyen de calcul comporte un moyen pour calculer le signal de décalage cumulé sous la forme d'un signal de gradient de décalage correspondant à la variation linéaire du signal de décalage cumulé par rapport à la distance prédéterminée et pour utiliser le signal de gradient de décalage pour créer le signal de position corrigé. 30) Installation selon la revendication 2, caractérisée en ce que le moyen de calcul se compose d'un moyen permettant à la réception d'un signal d'ordre de position, correspondant à un déplacement commandé, de multiplier ce signal par le signal de gradient de décalage et d'additionner le produit pour obtenir-le déplacement commandé et créer le signal de position, corrigé. 40) Installation selon la revendication 1, caractérisée en ce que le moyen de calcul comporte un moyen qui e à la réception d'un signal de position de commande correspondant à un déplacement commandé, multiplie ce signal par un signal de décalage, cumulé pour diviser le produit ainsi obtenu par une distance prédéterminée et ajouter le quotient ainsi obtenu au déplacement commandé pour créer le signal de position corrigé. 50) Installation selon l'une quelconque des revendica tions 1 à 4, caractérisée en ce que le moyen de mesure mesure périodiquement la différence de dimension réelle de l'élément par rapport à la dimension normale, sur une distance prédéterminée définie par deux moyens de repère sur l'élément, pour enregistrer une grandeur correspondant à cette mesure et utiliser cette gran deur pour créer un signal de position, corrigé à la réception du signal de position commandé 60) Installation selon la revendication 5, caractérisée en ce que le dispositif à positionner est un transducteur et l'élément est constitué par un disque d'enregistrement à pistes multiples, ayant deux pistes de référence enregistrées à une certaine distance l'une de l'autre et constituant les deux moyens de référence, fixes. 70) Installation selon la revendication 6, caractérisée en ce que le moyen de mesure comprend un premier registre ayant un moyen pour charger dans ce registre une grandeur correspondant au décalage mesuré du transducteur par rapport à la valeur réelle lorsque le transducteur est aligné sur la première piste de réfé rence, un second registre comprenant un moyen pour charger celui ci avec une valeur correspondant au décalage mesuré du transduc teur par rapport à la valeur réelle lorsque le transducteur est aligné sur la seconde piste de référence et un moyen pour retran cher le contenu du premier registre de celui du second registre pour créer une valeur correspondant au décalage cumulé du trans ducteur sur la distance comprise entre la première et la seconde pistes et un moyen pour lire le contenu du second registre et créer le signal de décalage, cumulé. 80) procédé de positionnement précis d'un dispositif par rapport à un repère sur un élément en fonction d'un signal d'ordre de position, quelles que soient les variations de température et d'humidité, procédé caractérisé en ce qu'on mesure la variation de dimension réelle de l'élément par rapport à sa dimension normale sur une distance prédéterminée le long de l'élément, et on crée un signal de décalage cumulé indiquant la déviation pour la distance prédéterminée, et à la réception du signal d'ordre de position correspondant au déplacement commandé du dispositif, on crée un signal de position, corrigé correspondant au déplacement commandé, corrigé par le signal de décalage cumulé, proportionnel à la distance du déplacement commandé et on positionne le disposi tif en fonction du signal de position corrigé 90) procédé selon la revendication 8 caractérisé en ce que le signal de position, corrigé, est créé en calculant à partir du signal de décalage, cumulé, un signal de gradient de décalage correspondant à la variation linéaire du signal de décalage, cumulé sur la distance prédéterminée et on utilise le signal du gradient de décalage pour obtenir le signal de position, corrigé 100) Procédé selon l'une quelconque des revendications 8 et 9 caractérisé en ce que l'on mesure périodiquement la variation de dimension réelle de lnélément par rapport à sa dimension normale, sur une distance prédéterminée et on enregistre une grandeur correspondant à cette mesure, cette grandeur étant utilisée pour créer le signal de position, corrigé, à la réception d'un signal d'ordre de position