Procédé de codage en multiplex dans le temps
Dans le brevet suisse 541242, on a décrit un codeur analogiquessdigtal à durée de codage fixe dans lequel on utilise, comme tension de comparaison, une tension en dents de scie ou en escalier et qui comporte deux mémoires à (m-l) x n chiffres chacune, m étant le nombre de voies à la transmission et n le nombre des signaux (m-l) voies auxquelles on rajoute, à la transmission, une voie de synchronisation. Il fonctionne de la manière suivante: dès que l'amplitude du signal à coder sur l'une des voies est égale à celle de la dent de scie, le nombre affiché dans un compteur de codage qui avance en synchroriisme avec l'amplitude de la dent de scie est inscrit sur la ligne réservée à cette voie dans la première mémoire de sorte que le codage s'effectue de manière acyclique.
Le temps de montée de la dent de scie est au plus égal à (m-l) temps de voie et, au mième temps, tous les codes sont transférés de la première à la deuxième mémoire d'où ils sont ensuite extraits de manière cyclique.
Un tel codeur ne comporte donc pas de circuit d'échantillonnage et de mise en mémoire du signal à coder. On peut néanmoins définir une fréquence d'échantillonnage fs égale à l'inverse de la durée Tz de la période du signal en dents de scie.
La présente invention a donc pour but de permettre de réaliser un codeur en multiplex dans le temps du type à comparaison avec une dent de scie qui ait un fonctionnement rapide et qui soit de réalisation simple.
L'invention est caractérisée par le fait que, pour coder m voies en multiplex dans le temps et pour transmettre les codes ainsi obtenus, la durée du cycle de codage (Tc) est divisée en m temps de voie Vo à V (m-l) de durée unitaire tb par les signaux fournis par un compteur de transmission, que la durée de la période de répétition du signal en dents de scie (Tz) est égale à la moitié de celle du cycle de codage (Tc), que ledit signal en dents de scie croît en synclrronisme avec l'avance d'un compteur de codage de capacité n chiffres, son temps de montée (Tm) correspondant au temps d'affichage (2n-l) x ta des codes 0 à 2n-2 où ta correspond à la durée d'affichage d'un code dans le compteur de codage;
que l'affichage du code suivant 2"-1 provoque l'apparition d'un signal (F) de durée y x ta qui bloque le compteur de codage et commande la remise à zéro du signal en dents de scie, y étant un nombre entier; que ce signal (F) est supprimé au début du cycle du signal en dents de scie suivant défini par l'un des signaux
m
Vo ou V -i)
2 que les durées des périodes de répétition ta et tb des signaux d'avance appliqués aux deux compteurs sont liées par la relation
tb 2 (2n1 + y)
ta m et qu'une bascule (Cl), mise en l'un de ses états par le signal Vo et en l'état opposé par le signal
m V ( - 1)
2 fournit des signaux définissant la première et la deuxième moitié de chaque cycle de codage.
Une mise en oeuvre préférée de la présente invention réside dans le fait que, pendant la première moitié d'un cycle de codage, chacun des signaux reçus sur l'une des
m
2 voies constituant un premier groupe de voies est com paré, dans un comparateur qui lui est affecté, à la dent de scie; que le signal d'égalité commande l'inscription, dans une ligne de mémoire réservée à cette voie, du code affiché à cet instant dans le compteur de codage; que, pendant ces opérations, le contenu des lignes de mémoire affectées aux voies du deuxième groupe est lu sous la commande des signaux fournis par le compteur de transmission; et que, pendant la deuxième moitié du cycle de codage, on code les voies du deuxième groupe et on transmet les codes relatifs aux voies du premier groupe.
Une mise en oeuvre du procédé selon la présente invention sera exposée, à titre d'exemple, dans la description suivante faite en relation avec les dessins joints dans lesquels: les fig. la à id représentent des diagrammes de signaux apparaissant dans le codeur;
les fig. 2a à 2d représentent des diagrammes de signaux apparaissant dans un exemple particulier de réalisation du codeur;
la fig. 3 représente le schéma détaillé de cet exemple particulier de réalisation.
Avant de décrire un exemple particulier de réalisation du codeur, on va exposer son principe de fonctionnement dans le cas général où le nombre de voies m et le nombre de chiffres n des codes transmis sont quelconques avec la seule restriction que m doit être un nombre pair.
La fig. la représente deux cycles successifs Tzl,
Tz2 du signal de référence en dents de scie dont les temps de montée et de retour ont été référencés TM et Ta. La fig. lb représente les signaux de temps de voie Vo, V1...,
m m
1), V( )...etc
2 2 utilisés pour commander la transmission, après codage, des codes relatifs aux voies 0, 1, . . .
m m
- 1, ... . etc
2 2 le premier groupe de
m
2 voies étant transmis pendant le cycle Tzl et le deuxième groupe pendant le cycle Tz2. Ces signaux de temps de voie sont fournis par un compteur de transmission.
L'amplitude maximale Ec du signal en dents de scie définit la gamme des tensions à coder comprise entre zéro et Ec volts et les codes correspondants sont fournis par un compteur de codage de capacité n chiffres. Les valeurs décimales de ces codes sont représentées sur la fig. lv et on voit que les 2n-l premiers codes correspondent au temps de montée TM de la dent de scie. L'affichage du dernier code (code 2el) provoque l'élaboration d'un signal F représenté sur la fig. id qui commande le blocage de l'avance du compteur de codage et le retour à zéro de la dent de scie.
Lorsque le compteur de transmission passe à la position
m
2 ce signal F est supprimé et un nouveau cycle du signal en dents de scie commence. Les codes du premier groupe de voies étant transmis pendant le cycle Tzl, les tensions à coder reçues sur le deuxième groupe de voies sont codées pendant ce temps, de la manière décrite dans le brevet suisse 451 242. Au cycle suivant
Tz2, les codes de ce groupe sont transmis et les tensions analogiques reçues sur le premier groupe sont codées et ainsi de suite.
Si l'on désigne par ta et tb (voir fig. lc et lb) la durée d'affichage d'un code dans le compteur de codage et la durée d'un temps de voie, on a les relations suivantes:
m
Tz = - x tb (1)
2
Tex = (2 -1)X ta
Ta = y X ta, y étant un nombre entier
Tz = T, $ T, = (2n - 1 +y) X ta
En égalant (1) et (2), il vient:
tb 2 (2n - 1 + y)
(2)
ta m
Connaissant m, n et Tz, il suffit de choisir une valeur de y telle que le rapport
tb
ta soit un nombre entier ou un nombre fractionnaire ayant un numérateur et un dénominateur de faibles valeurs.
Dans ces conditions, les signaux d'avance pour les deux compteurs sont fournis, à travers un ou deux circuits diviseurs, par un même générateur d'impulsion.
On va maintenant décrire un exemple particulier de réalisation du codeur selon l'invention dans lequel on a choisi:
nombre de voies m = 32 =
nombre de chiffres des codes transmis: n + 1 = 8
nombre de chiffres des codes représentant la valeur des tension à coder: n = 7
valeur du coefficient y: 1.
On a donc
tb = = 23 = n + 1
ta
On voit que ce choix particulier des paramètres permet d'obtenir un rapport
tb
ta correspondant exactement au nombre de chiffres des codes transmis et que le nombre de voies est une puissance entière de 2. Comme on l'a vu précédemment, la gamme des tensions à coder est quantifiée en 2n-1= 127 échelons édaux. Enfin les codes transmis comportent un chiffre supplémentaire qui est utilisé soit pour assurer la synchronisation des voies à la réception, soit pour accroître la quantité d'information transmise selon, par exemple, le procédé décrit dans le brevet suisse 411 992.
Les fig. 2a, 2b, 2c, 2d représentent respectivement deux cycles successifs Tzl et Tz2 du signal en dents de scie, les signaux de temps de voie Vo à V31, les valeurs décimales 0 à 127 des codes fournis par le compteur de codage et le signal F précédemment défini. Par suite du choix de la valeur de y (y = 1), ce signal correspond au temps d'affichage du code 127.
On rappellera que le codage s'effectue sans aucun échantillonnage des tensions à coder, au fur et à mesure que l'amplitude du signal en dents de scie devient égale à chacune de ces tensions. Les opérations qui s'effectuent pendant ces cycles Tzl et Tz2 sont:
a) Pendant le cycle Tzl: codage des signaux reçus sur les voies 16 à 31 et transmission, sous la commande des signaux VO à V15, des codes relatifs aux voies 0 à 15;
b) Pendant le cycle Tz2: codage des signaux reçus sur les voies 0 à 15 et transmission, sous la commande des signaux V16 à V31, des codes relatifs aux voies 16 à31.
La fig. 3 représente le schéma du codeur qui comprend le compteur CN, le générateur de signaux AG, le groupe CM des comparateurs, la mémoire MR et le circuit de transmission TA.
Dans le compteur CN on n'a représenté, afin de simplifier la fig, que les bascules C1 à C8 en omettant les liaisons entre ces éléments. La bascule C8 à laquelle sont appliqués les signaux d'avance Aa est celle qui affiche le chiffre le moins significatif, la bascule C7 est celle qui affiche le chiffre immédiatement plus significatif etc. Par suite du choix particulier des paramètres, ce compteur joue à la fois le rôle de compteur de codage, de compteur de transmission et de compteur de moments, le terme moment caractérisant le temps réservé à la transmission de chacun des n + 1 chiffres des codes lorsque cette opération s'effectue sous forme série.
Ainsi, les sept bascules C2 à C8 fournissent les codes à n = 7 chiffres utilisés au codage, les bascules C1 à C5 fournissent les m = 32 codes correspondants aux temps de voie et les bascules C6 à C8 fournissent les n + 1 = 8 codes correspondants aux moments.
Enfin chaque fois qu'un cycle du signal en dents de scie est terminé par l'affichage successif de 2n codes dans les bascules C2 à C8, la bascule Cl change d'état de sorte que les signaux Cîl et C10 apparaissant sur ses sorties 1 et 0 définissent respectivement les temps réservés au codage du premier groupe de voies (voies 0 à 15) et du deuxième groupe de voies (voies 16 à 31).
Le générateur de signaux AG comporte le générateur d'impulsion A fournissant, sur sa sortie Aa, les signaux d'avance au compteur CN; le générateur à dents de scie SG; le décodeur Dl fournissant les signaux VO, V1-V31 et le décodeur D2 fournissant les signaux de moment to, tl-t7. Il comporte également le circuit ET P2 et le circuit OU P1 qui délivre un signal
F lorsqu'un signal t7 est présent en même temps qu'un signal V15 ou V31 caractérisant le fait que les bascules C2 à C8 sont toutes en l'état 1, c'est-à-dire que le code affiché par ces bascules présente la valeur 2"-1 = 127.
Le générateur SG fournit un signal Z dont l'amplitude croît linéairement avec le temps tant que la porte
P2 est bloquée. Lorsque celle-ci fournit un signal F, l'amplitude du signal Z s'annule, puis il recommence à croître dès que le signal F est supprimé. On voit donc, que, comme il a été représenté sur les fig. 2a et 2c, l'amplitude du signal Z croît en synchronisme avec l'avance des codes fournis par les bascules C2 à C8.
Le groupe CM des comparateurs comporte m comparateurs Mo, M1-M3 1 auquels sont appliqués:
les signaux analogiques à coder No, N1-N31
le signal en dents de scie Z fournie par le générateur SG
un signal de déblocage qui est soit le signal Cîl pour les comparateurs Mo à M15, soit le signal C10 pour les comparateurs M16 à M31.
Chacun des comparatellts fournit, sur sa sortie So,
S1-S31, un signal lorsque les tensions comparées sont égales et que le signal de déblocage lui est appliqué.
La mémoire MR, qui comporte au total m lignes et n colonnes, est divisée en deux sous-mémoires MR1,
MR2 comportant chacune
m
2 lignes et n colonnes, la première de celles-ci étant réservée aux codes de voies 1 à 15 et la seconde aux codes des voies 16 à 31. Les portes P3 à P6 commandent le choix des sous-mémoires sous la commande des signaux C10 et C11. La sélection à l'enregistrement dans la mémoire MR1 s'effectue par cöïncidence de deux signaux, les signaux de sélection de ligne appliqués à l'entrée WL étant les signaux So à S15 et les signaux de sélection de colonne appliqués à l'entrée
WC étant les signaux fournis par les bascules C2 à C8 du compteur CN lorsque la porte P3 est ouverte par un signal C10.
Dans la mémoire MR2, l'entrée VVL reçoit les signaux S16 à 531 et l'entrée WC reçoit les signaux fournis par les bascules C2 à C8 lorsque la porte P4 est ouverte par un signal Cll.
La sélection à la lecture s'effectue également, pour une lecture série, par coïncidence de deux signaux, les signaux de sélection de ligne appliqués à l'entrée RL de la mémoire MRl étant les signaux de temps de voie
V16 à V31 fournis par le décodeur D1 et les signaux de sélection de colonne appliqués à l'entrée RC étant les signaux de moment tl à t7 fournis par le décodeur
D2 lorsque la porte P5 reçoit un signal Cîl.
Dans la mémoire MR2, l'entrée RL reçoit les signaux VO à V15 et l'entrée RC reçoit les signaux tl à t7 quand la porte P6 reçoit un signal C10. Les conducteurs de sortie des deux sous-mémoires sont connectés au circuit OU P7.
On voit donc que les deux sous-mémoires MR1,
MR2 fonctionnent alternativement en enregistrement et en lecture et que le signal C10, par exemple, com mande l'enregistrement dans MR1 et la lecture dans
MR2.
Enfin le circuit de transmission TA, auquel sont appliquées les informations lues sous forme série dans les mémoires MR1, MR2 (informations fournies par le circuit OU P7) et le signal de moment to définissant le temps de transmission du noème chiffre, commande le choix de la valeur 0 ou 1 de ce chiffre et les codes complets sont disponibles sur la sortie B.
En examinant la fig. 3 on voit que, si toutes les bascules du compteur CN sont initialement en l'état 0, les impulsions fournies par le générateur A provoquent l'affichage successif des codes dont la valeur décimale est 1, 2... 127. Pendant ce temps, la bascule C1 reste en l'état 0 fournissant un signal C10 pour le déblocage des comparateurs M16 à M31. L'impulsion suivante fait passer cette bascule en l'état 1 et toutes les autres bascules en l'état 0 de sorte que le code affiché par les bascules C2 à C8 revient à la valeur 0, puis 1, 2, 127.
Pendant ce temps le signal Cîl assure le déblocage des comparateurs l, à M15.
Le codeur que l'on vient de décrire fonctionne de la manière suivante: lorsque la bascule C1 fournit un signal Calo, les signaux analogiques N16 à N31 du deuxième groupe de voies peuvent être codés par comparaison avec le signal Z (cycle Tzl, fig. 2a). Dès qu'un signal d'égalité apparaît, il commande l'inscription, sur la ligne réservée à cette voie dans la mémoire
MR, du code fourni par les bascules C2 à C8 cu compteur CN. En même temps les signaux de temps de voies VO à V15 fournis par le décodeur D1 commandent la lecture des codes concernant le premier groupe de voies, cette lecture s'effectuant sous forme série sous la commande des signaux de moment tl à t7.
Lorsque les bascules C2 à C8 affichent le code 127, la prote P2 délivre un signal F pendant la durée d'affichage de ce code commandant la remise à zéro de la dent de scie. Immédiatement après, la bascule C1 change d'état et fournit un signal C11, les bascules C2 à C8 affichent le code zéro puis les codes suivants, le signal Z recommence à croître pour le codage pendant le cycle Tz2, fig. la, des signaux analogiques NO à
N15, et les informations codées au cycle précédent sont lues sous la commande des signaux V16 à V31.
On notera qu'avec le principe de codage utilisé, deux ou plusieurs comparateurs peuvent fournir simultanément un signal de sélection de lignes dans la mémoire MR. On conçoit que le même code s'inscrira simultanément dans les lignes de mémoire correspondantes à condition que la puissance fournie par le générateur de signaux de colonne soit suffisante.
On a vu, lors de la description du générateur SG, que le code zéro correspondait à une valeur nulle du signal Z. Par contre, la valeur du signal Z correspondant au code 127 dépend de la stabilité du générateur
SG et peut être différente de Ec. Pour éviter les erreurs de quantification qui peuvent en résulter, on peut utiliser l'une des voies - la voie 31 par exemple comme voie d'étalonnage à laquelle on applique un signal de référence de valeur
Ec
2
Le code inscrit sur la ligne 31 de la mémoire doit être l'un des codes 63 ou 64 correspondant à cette valeur
Ec
2
On peut alors commander une modification de la pente du signal Z en fonction du code obtenu, cette opération s'effectuant pendant l'apparition du signal F suivant. Le temps de voie V31 est alors utilisé pour transmettre un code de synchronisation.
Par ailleurs, on peut remplacer le signal en dents de scie Z par un signal en escalier obtenu à l'aide d'un décodeur digitalanalogique auquel sont connectées les bascules C2 à
C8. Le codage peut alors se faire en 2n = 128 échelons de quantification puisqu'il n'est pas nécessaire de prévoir un temps de retour pour un signal de référence obtenu de cette manière.