"Générateur numérique programmable" La présente invention a pour objet un générateur numérique programmable. Elle trouve une application dans la réalisation de générateurs de tension, notamment sinusoïdale, destinés en particulier aux appareils de contrôle par courants de Foucault.
Un générateur numérique de tension est constitué par une mémoire dans laquelle sont stockés des échantillons numériques, cette mémoire étant adressée par un compteur et suivie d'un convertisseur numérique-analogique. Le contenu de compteur constitue l'adresse de l'échantillon à lire dans la mémoire. Une horloge commande le compteur qui voit son contenu varier périodiquement de 0 à N-l (si N est sa capacité). N échantillons numériques se succèdent alors à la sortie de la mémoire et sont ensuite transformés en N valeurs analogiques par le convertisseur. Après N coups d'horloge, le compteur est remis à zéro et le cycle recommence.
L'inconvénient de ces dispositifs est leur manque de souplesse qui tient à la prédétermination de leurs caractéristiques. En effet, les mémoires utilisées sont toujours des mémoires mortes, qui ne peuvent être que lues et dont le contenu est immuable. En d'autres termes, il s'agit de mémoires du type "ROM* (pour "Read Only Memory"). Il est alors impossible de modifier la forme de l'onde engendrée et il faut autant de mémoires que de types de signaux désirés. Par ailleurs, pour une mémoire donnée, la fréquence, la phase et l'amplitude du signal délivré sont fixes : la fréquence est déterminée par l'horloge qui commande le compteur, la phase par l'instant où le contenu du compteur passe par zéro et l'amplitude par les caractéristiques du convertisseur numérique-analogique.
La présente invention a justement pour but de remédier à ces inconvénients en proposant un générateur dans lequel la forme de l'onde délivrée, sa fréquence, sa phase et son amplitude sont réglables à volonté, autrement dit sont programmables. Ce but est atteint, d'une part, par l'utilisation d'une mémoire qui n'est plus une mémoire morte mais une mémoire vive à accès direct (en terminologie anglosaxonne "Random Acces Memory" ou RAM en abrégé) et d'autre part, par l'utilisation d'éléments aptes à être programmés. Le générateur de l'invention comprend aussi un microprocesseur qui commande l'ensemble de ces organes selon les tâches à accomplir et selon les caractéristiques à obtenir.
Par ailleurs, la structure du générateur de l'invention autorise l'emploi de composants à hautes performances, notamment à grande rapidité.
De façon précise, l'invention a pour objet un générateur numérique programmable du genre de ceux qui comprennent un circuit générateur d'impulsions d'horloge, un compteur relié à ce circuit,une mémoire comprenant des échantillons numériques d'un signal, cette mémoire possédant une entrée d'adressage reliée au compteur et un convertisseur numérique-analogique relié à la mémoire ; ce générateur est caractérisé en ce que :
- le circuit générateur d'impulsions d'horloge comprend un oscillateur à fréquence fixe suivi d'un diviseur programmable commandant un oscillateur à boucle de phase asservie,
- le compteur est précédé d'un circuit de préchargement à un contenu initial programmable,
- le compteur peut être programmé et rendu transparent,
- la mémoire est du type à accès direct (RAM), - le convertisseur numérique-analogique est suivi d'un amplificateur à gain réglable, et en ce qu'il comprend un microprocesseur commandant les organes programmables, à savoir le diviseur, le circuit de préchargement, le compteur, la mémoire et l'amplificateur.
Les caractéristiques de l'invention apparaîtront mieux après la description qui suit, d'exemples de.réalisation donnés à titre explicatif et nullement limitatif. Cette description se réfère à des dessins annexés sur lesquels :
- la figure 1 est un schéma général d'un générateur selon l'invention,
- la figure 2 illustre un mode particulier de réalisation d'un circuit générateur d'impulsions,
- la figure 3 illustre 'un mode particulier de réalisation d'un compteur et d'une mémoire,
- la figure 4 illustre un mode particulier de réalisation d'un convertisseur numérique-analogique suivi d'un amplificateur à gain programmable.
Le générateur représenté sur la figure 1 comprend : une mémoire vive 40 à accès direct (BAH), à une entrée d'adressage 39, un accès d'écriture-lecture 41 et une entrée de commande 42 un convertisseur numérique-analogique 44, à une entrée 43 reliée
<EMI ID=1.1>
compteur 46, à une entrée d'horloge 47, une entrée de commande 48 et une entrée de chargement 49 un cir-
<EMI ID=2.1>
sions d'horloge appliquées sur l'entrée 47 du compteur, ce circuit 50 possédant une entrée de commande
51 et une entrée de données 53 un circuit 54 de préchargement du compteur 46, possédant une entrée de commande 55 et une entrée de données 56 un amplifi-
<EMI ID=3.1> 58 enfin un microprocesseur 60 relié, d'une part, à un bus de données 62 connecté à l'accès 41 de la mémoire, à l'entrée 56 du circuit de préchargement et à l'entrée 53 du circuit 50 et d'autre part, à un bus de commande 64 relié à tous les organes susceptibles d'être programmés, à savoir la mémoire 40 (entrée 42), le compteur 46 (entrée 48), le circuit de préchargement 54 (entrée 55), le générateur 50 (entrée 51), l'amplificateur 57 (entrée 58).
Le fonctionnement de ce circuit est le suivant.
Le balayage de la mémoire 40 s'effectue à un rythme qui est fixé par la fréquence des impulsions délivrées par le circuit 50, véhiculées par la connexion CK et appliquées à l'entrée 47 du compteur
46. La fréquence du signal délivré par le générateur est donc déterminée par le circuit 50.
La phase du signal délivré par le générateur est déterminée par l'instant où le contenu du compteur 46 passe par zéro. Le chargement de ce compteur à un contenu initial permet de régler cette phase. Ce réglage s'effectue donc par l'intermédiaire du circuit de chargement 54.
Quant à l'amplitude, elle est réglée au moyen de l'amplificateur 57 dont le gain peut être
<EMI ID=4.1>
Tous ces réglages sont commandés par le microprocesseur 60.
On observera que la mémoire étant de type
<EMI ID=5.1>
écrite. Les échantillons inscrits dans la mémoire peuvent donc, à tout moment, être lus, contrôlés ou modifiée par le microprocesseur 60, ce qui permet dé modifier la forme du signal délivré par le générateur.
Les circuits illustrés sur les figures 2 à 4 feront mieux comprendre le fonctionnement des moyens utilisés. Les exemples pris correspondent au cas où la mémoire travaille avec 512 échantillons de
12 éléments binaires (ou bits), la fréquence étant
<EMI ID=6.1>
La figure 2 tout d'abord représente le circuit 50 qui engendre les impulsions d'horloge. Ce circuit comprend une horloge à quartz 70 à très haute stabilité un circuit diviseur 72, qui reçoit les impulsions de l'horloge sur une entrée 71 et réémet, par une sortie 73, des impulsions à une fréquence qui est un sous-multiple de celle de l'oscillateur 70 ; un oscillateur 74, du type à boucle de phase asservie, qui reçoit sur une entrée 75 les impulsions émises par le diviseur et qui constituent une référence de fréquence et qui délivre sur une sortie 76 des impulsions à la fréquence désirée.
On sait qu'un tel oscillateur, appelé en terminologie anglosaxonne "Phase-locking-loop* ou "PLL", comprend un oscillateur commandé en tension
(VCO), un comparateur de phase recevant l'onde émise par cet oscillateur et une onde de référence (en l'occurrence l'onde appliquée sur l'entrée 75), ce comparateur délivrant un signal d'erreur qui est fonction de l'écart de phase entre l'onde de référence et l'onde engendrée par l'oscillateur VCO, ce si-
<EMI ID=7.1>
mandé en tension. Par ailleurs, si, entre la sortie de l'oscillateur VCO, et l'entrée du comparateur de phase, est disposé un diviseur de fréquence, la fréquence délivrée par le circuit peut être un multiple de la fréquence de référence, le multiple étant précisément le facteur de division du diviseur. De tels circuits sont bien connus et ne sont donc pas illustrés. Il peut s'agir par exemple du circuit CD 4046 de la firme RCA.
Le circuit représenté sur la figure 2 comprend encore une batterie de condensateurs 78 disposée entre deux accès 77 et 79 du circuit 74, ces condensateurs servant à prérégler la fréquence de l'oscillateur VCO dans la gamme contenant la fréquence désirée. Ces condensateurs sont mis en circuit au moyen d'un jeu d'interrupteurs 80 commandés par un circuit 82 qui est du type .verrou. ("latch" en terminologie anglosaxonne) Ce circuit reçoit du microprocesseur 60 des données aptes à déterminer lequel de ces interrupteurs doit être fermé pour mettre en circuit le condensateur approprié.
En définitive, les impulsions véhiculées
<EMI ID=8.1>
commande du compteur 46. Leur fréquence est réglable par action sur le diviseur 72. Cette action est rendue possible par l'entrée 53 reliée au bus de données
62 provenant du microprocesseur. Ces données sont à 8 bits et sont véhiculées par 8 connexions DO, D1,...D7. Par ailleurs, le circuit 72 reçoit des si-
<EMI ID=9.1>
de commande 64.
<EMI ID=10.1>
mémoire de 512 échantillons, le circuit 50 devra fournir 512f impulsions par seconde. Si F désigne la fréquence de l'oscillateur à quartz 70, le facteur de division du circuit 72 devra être égal à F/512f. Une première division par 512 peut être effectuée, puis une division par la fréquence f désirée.
La figure 3 représente la mémoire 40 formée en l'occurrence de trois circuits 21488, avec sa con- <EMI ID=11.1> sur la droite et ses entrées d'adressage sur la gauche. Ces dernières sont reliées au compteur 46 formé de trois circuits 74LS191, lesquels possèdent une entrée d'horloge 47 reliée à la connexion CK et une entrée de commande 48 reliée à la connexion LD commandant le chargement. Ce compteur est relié au circuit de préchargement 54, qui est un circuit interface, par exemple de type 8255. Ce circuit reçoit sur ses entrées 56 les données fixant le contenu initial à charger. Une entrée 55 permet de commander ce chargement.
L'écriture et la lecture dans la mémoire 40 s'effectuent, de la part du microprocesseur, à travers un circuit tampon bidirectionnel 37 formé de deux circuits 8304.
Le compteur 46 est programmable en ce sens que ces sorties peuvent être bloquées sur un contenu particulier, ce contenu étant chargé par le circuit
54, ce qui revient à dire que le compteur devient transparent.
Les 12 bits des échantillons lus dans la mémoire sont adressés au convertisseur numérique-
<EMI ID=12.1>
représente ce convertisseur qui reçoit sur son entrée
43 ces 12 bits et qui délivre, sur sa sortie 45, un signal analogique. Ce convertisseur peut être du type AD565. Dans ce cas, il délivre un courant. Il doit donc être suivi d'un convertisseur courant-tension
65, lequel est relié à l'amplificateur à gain réglable 57.
Ce dernier circuit comprend un amplificateur 90 à deux entrées, l'une reliée à une résistance fixe 91, l'autre à une résistance 92 programmable depuis le microprocesseur. Le gain de l'amplificateur est alors réglable par action sur la résistance 92.
Le circuit 90 peut être du type AD544 et le circuit
92 du type AD7542. Ce dernier possède alors des entrées de commande 58 reliées au microprocesseur 60.
"Programmable digital generator" The subject of the present invention is a programmable digital generator. It finds an application in the production of voltage generators, in particular sinusoidal, intended in particular for control devices by eddy currents.
A digital voltage generator consists of a memory in which digital samples are stored, this memory being addressed by a counter and followed by a digital-analog converter. The counter content constitutes the address of the sample to be read from memory. A clock controls the counter which sees its content vary periodically from 0 to N-1 (if N is its capacity). N digital samples then follow one another at the memory output and are then transformed into N analog values by the converter. After N clock strokes, the counter is reset to zero and the cycle begins again.
The disadvantage of these devices is their lack of flexibility which is due to the predetermination of their characteristics. In fact, the memories used are always read only memories, which can only be read and whose content is immutable. In other words, they are memories of the type "ROM * (for" Read Only Memory "). It is then impossible to modify the shape of the wave generated and one needs as many memories as types of signals Furthermore, for a given memory, the frequency, the phase and the amplitude of the signal delivered are fixed: the frequency is determined by the clock which controls the counter, the phase by the instant when the content of the counter passes by zero and the amplitude by the characteristics of the digital-analog converter.
The object of the present invention is precisely to remedy these drawbacks by proposing a generator in which the shape of the wave delivered, its frequency, its phase and its amplitude are adjustable at will, in other words are programmable. This goal is achieved, on the one hand, by the use of a memory which is no longer a read only memory but a direct access random access memory (in English terminology "Random Acces Memory" or RAM for short) and on the other hand, by the use of elements capable of being programmed. The generator of the invention also comprises a microprocessor which controls all of these members according to the tasks to be performed and according to the characteristics to be obtained.
Furthermore, the structure of the generator of the invention allows the use of high performance components, especially at high speed.
Specifically, the subject of the invention is a programmable digital generator of the type which includes a clock pulse generator circuit, a counter connected to this circuit, a memory comprising digital samples of a signal, this memory having an address input connected to the counter and a digital-analog converter connected to the memory; this generator is characterized in that:
the clock pulse generator circuit comprises a fixed frequency oscillator followed by a programmable divider controlling a phase locked loop oscillator,
- the counter is preceded by a preloading circuit with a programmable initial content,
- the counter can be programmed and made transparent,
- the memory is of the direct access type (RAM), - the digital-analog converter is followed by an adjustable gain amplifier, and in that it comprises a microprocessor controlling the programmable organs, namely the divider, the circuit , the counter, the memory and the amplifier.
The characteristics of the invention will appear better after the description which follows, of de.réalisation examples given by way of explanation and in no way limiting. This description refers to attached drawings in which:
FIG. 1 is a general diagram of a generator according to the invention,
FIG. 2 illustrates a particular embodiment of a pulse generator circuit,
FIG. 3 illustrates a particular embodiment of a counter and a memory,
- Figure 4 illustrates a particular embodiment of a digital-analog converter followed by a programmable gain amplifier.
The generator represented in FIG. 1 comprises: a random access memory 40 (BAH), at an addressing input 39, a write-read access 41 and a control input 42 a digital-analog converter 44, at an input 43 connected
<EMI ID = 1.1>
counter 46, with a clock input 47, a control input 48 and a loading input 49 a circuit
<EMI ID = 2.1>
clock signals applied to input 47 of the counter, this circuit 50 having a control input
51 and a data input 53 a circuit 54 for precharging the counter 46, having a control input 55 and a data input 56 an amplifier
<EMI ID = 3.1> 58 finally a microprocessor 60 connected, on the one hand, to a data bus 62 connected to the access 41 of the memory, to the input 56 of the preloading circuit and to the input 53 of the circuit 50 and on the other hand, to a control bus 64 connected to all the members capable of being programmed, namely the memory 40 (input 42), the counter 46 (input 48), the preloading circuit 54 (input 55), generator 50 (input 51), amplifier 57 (input 58).
The operation of this circuit is as follows.
The scanning of the memory 40 is carried out at a rate which is fixed by the frequency of the pulses delivered by the circuit 50, conveyed by the connection CK and applied to the input 47 of the counter.
46. The frequency of the signal delivered by the generator is therefore determined by circuit 50.
The phase of the signal delivered by the generator is determined by the instant when the content of the counter 46 goes through zero. Loading this counter to initial content allows this phase to be adjusted. This adjustment is therefore carried out via the loading circuit 54.
As for the amplitude, it is adjusted by means of the amplifier 57, the gain of which can be
<EMI ID = 4.1>
All these settings are controlled by the microprocessor 60.
It will be observed that the memory being of type
<EMI ID = 5.1>
written. The samples recorded in the memory can therefore, at any time, be read, checked or modified by the microprocessor 60, which makes it possible to modify the form of the signal delivered by the generator.
The circuits illustrated in Figures 2 to 4 will better understand the operation of the means used. The examples taken correspond to the case where the memory works with 512 samples of
12 bits (or bits), the frequency being
<EMI ID = 6.1>
FIG. 2 first of all represents the circuit 50 which generates the clock pulses. This circuit includes a quartz clock 70 with very high stability, a divider circuit 72, which receives the pulses of the clock on an input 71 and re-emits, by an output 73, pulses at a frequency which is a submultiple of that oscillator 70; an oscillator 74, of the phase locked loop type, which receives on an input 75 the pulses emitted by the divider and which constitute a frequency reference and which delivers on an output 76 pulses at the desired frequency.
We know that such an oscillator, called in English terminology "Phase-locking-loop * or" PLL ", includes a voltage controlled oscillator
(VCO), a phase comparator receiving the wave emitted by this oscillator and a reference wave (in this case the wave applied to input 75), this comparator delivering an error signal which is a function of l phase difference between the reference wave and the wave generated by the VCO oscillator, if
<EMI ID = 7.1>
ordered in tension. Furthermore, if a frequency divider is arranged between the output of the VCO oscillator and the input of the phase comparator, the frequency delivered by the circuit may be a multiple of the reference frequency, the multiple being precisely the divisor factor of the divisor. Such circuits are well known and are therefore not illustrated. It can be for example the circuit CD 4046 of the firm RCA.
The circuit shown in Figure 2 also includes a capacitor bank 78 disposed between two ports 77 and 79 of the circuit 74, these capacitors used to preset the frequency of the VCO oscillator in the range containing the desired frequency. These capacitors are connected by means of a set of switches 80 controlled by a circuit 82 which is of the .verrou type. ("latch" in English terminology) This circuit receives data from the microprocessor 60 capable of determining which of these switches must be closed in order to switch on the appropriate capacitor.
Ultimately, the impulses conveyed
<EMI ID = 8.1>
control of the counter 46. Their frequency is adjustable by action on the divider 72. This action is made possible by the input 53 connected to the data bus
62 from the microprocessor. These data are 8 bits and are conveyed by 8 connections DO, D1, ... D7. Furthermore, the circuit 72 receives signals
<EMI ID = 9.1>
64.
<EMI ID = 10.1>
memory of 512 samples, circuit 50 must supply 512f pulses per second. If F designates the frequency of the crystal oscillator 70, the division factor of circuit 72 should be equal to F / 512f. A first division by 512 can be carried out, then a division by the desired frequency f.
FIG. 3 represents the memory 40 formed in this case of three circuits 21488, with its con- <EMI ID = 11.1> on the right and its addressing inputs on the left. The latter are connected to the counter 46 formed by three circuits 74LS191, which have a clock input 47 connected to the connection CK and a control input 48 connected to the connection LD controlling the loading. This counter is connected to the preloading circuit 54, which is an interface circuit, for example of the 8255 type. This circuit receives on its inputs 56 the data fixing the initial content to be loaded. An input 55 makes it possible to control this loading.
Writing and reading in the memory 40 is carried out, on the part of the microprocessor, through a bidirectional buffer circuit 37 formed by two circuits 8304.
The counter 46 is programmable in the sense that these outputs can be blocked on a particular content, this content being loaded by the circuit
54, which amounts to saying that the counter becomes transparent.
The 12 bits of the samples read in the memory are sent to the digital converter.
<EMI ID = 12.1>
represents this converter which receives on its input
43 these 12 bits and which delivers, on its output 45, an analog signal. This converter can be of the AD565 type. In this case, it delivers a current. It must therefore be followed by a current-voltage converter
65, which is connected to the adjustable gain amplifier 57.
The latter circuit comprises an amplifier 90 with two inputs, one connected to a fixed resistor 91, the other to a resistor 92 programmable from the microprocessor. The gain of the amplifier is then adjustable by action on the resistor 92.
The circuit 90 can be of the AD544 type and the circuit
92 of type AD7542. The latter then has control inputs 58 connected to the microprocessor 60.