Brevet FR2823920A1 — publié le 20021025

PROCEDE DE GENERATION DE SIGNAUX MODULES EN LARGEUR D'IMPULSION. ET GENERATEUR DE SIGNAUX ASSOCIE. L'invention concerne un procédé de génération de signaux modulés en largeur d'impulsion et un générateur de signaux associé. De tels signaux sont par exemple intéressants pour la commande d'un moteur asynchrone ou d'un onduleur, utilisés dans le domaine de l'électroménager, de la ventilation, de la régulation d'air, des systèmes de pompage, etc. Un signal SC modulé en largeur d'impulsion (figure le) est un signal cyclique, qui est activé périodiquement (T,, 1\..1) et qui est désactivé à des instants variables (Di, Di;l) entre deux activations. Le temps TC entre deux activations est appelé période de découpage. Le rapport TC1 / TC entre la durée du signal actif et la période de découpage est appelé rapport cyclique. Le signal SC peut être actif à 0 ou à 1. Lorsqu'un signal modulé en largeur d'impulsion est utilisé pour commander un moteur asynchrone, les variations dans le temps du rapport cyclique du signal de commande entraînent des variations similaires du courant dans la ou les phases du moteur. Par exemple, avec un signal de commande SC approprié, on peut obtenir des variations sinusoïdales du courant dans la ou les phases du moteur. Un signal SC modulé en largeur d'impulsion est classiquement obtenu à l'aide d'un générateur, qui produit ledit signal SC, à partir d'un signal de référence SREF qui est un signal analogique échantillonné. Le signal analogique initial peut être sinusoïdal (figure la), trapézoïdal, carré ou avoir toute autre forme. Le signal de référence échantillonné SREF (figure 1b) est obtenu par échantillonnage du signal analogique initial. Il comprend un ensemble de nombres binaires E0 à NBE# dont la valeur est fonction de l'amplitude du signal à l'instant considéré. La valeur la plus faible des nombres Eo à ENBECH, par exemple égale à 0, est associée à l'échantillon de plus faible amplitude. Inversement, la valeur la plus forte des nombres Eo à ECH est associée à l'échantillon de plus forte amplitude du signal analogique initial. Le nombre d'échantillons choisis NBECH est un compromis entre la précision souhaitée, qui augmente avec le nombre d'échantillons, et le temps de calcul nécessaire pour obtenir le signal SC à partir du signal de référence échantillonné SREF, qui augmente également avec le nombre d'échantillons. Par exemple, dans le cas d'un signal analogique initial sinusoïdal, on pourra choisir de prendre 360 échantillons, tous les 1 o sur une période TREF = 360 du signal analogique, ou bien 2N échantillons toutes les TREF /2N s sur une période TREF du signal analogique, N étant la taille d'un registre du circuit. Un générateur connu de signaux modulés en largeur d'impulsion est représenté sur la figure 2. Le générateur comprend essentiellement un compteur CPC, une mémoire de référence MR, un registre de comparaison RC et un comparateur CPT. Les nombres Eo à ENBECH sont mémorisés dans la mémoire de référence MR du générateur. Le compteur CPC de M bits compte des impulsions d'un signal d'horloge CP et fournit un nombre d'impulsions comptées NB variant entre 0 et NBMAX = 2M-1. Lorsqu'il atteint le nombre NBMAX, le compteur revient à zéro puis compte à nouveau. Les échantillons Eo à ENBCH du signal de référence échantillonné SREF, contenus dans la mémoire de référence MR, sont chargés successivement dans le registre de comparaison RC. Un échantillon Ei est chargé à chaque retour à zéro du compteur CPC. Eventuellement, un même échantillon Ei peut être chargé plusieurs fois successivement. Dans tous les cas, un chargement est effectué à chaque retour à zéro du compteur. Le comparateur CPT compare en continu le nombre NB fourni par le compteur avec l'échantillon Ei contenu dans le registre de comparaison RC et il fournit le signal de commande SC ayant les propriétés suivantes, pour tout i compris entre 0 et NBECH : SC est actif lorsque NB SC est inactif lorsque NB # Ei. La figure le montre l'évolution du nombre NB, des échantillons Ei et du signal SC résultant dans un exemple. Le signal SC est ici actif à 1 et inactif à 0. Le signal SC est ainsi activé à chaque retour à zéro du compteur puis désactivé lorsque le nombre NB fourni par le compteur dépasse la valeur Ei de l'échantillon contenu dans le registre de comparaison RC. On obtient finalement un signal SC impulsionnel (figure le) dont la largeur des impulsions actives (et donc le rapport cyclique) varie dans le temps en fonction de la valeur Ei des échantillons du signal de référence SREF, et donc en fonction de l'amplitude du signal analogique initial. La précision du générateur dépend de la plage de variation du rapport cyclique et de la variation minimale du rapport cyclique. Le rapport cyclique R du signal de commande SC peut être calculé de la manière suivante, pour chaque période TC du compteur (puisque le signal SC est activé à chaque retour à 0 du compteur) : R = (Ei*TCP) / (TC) = (Ei*TCP) / {(NBMAX+1)*TCP) = Et / (NBMAX+1) NBMAX = 2M-1 étant la valeur maximale du nombre NB, M étant la taille du compteur, et TCP étant la période du signal d'horloge CP. La variation minimale du rapport cyclique est égale à ARmin = 1/ (NBMAX+1). La précision du générateur est ainsi directement proportionnelle au nombre NBMAX, c'est-à-dire à la taille du compteur. La précision du générateur augmente également avec la plage de variation du rapport cyclique, et il est préférable de disposer d'un générateur produisant des signaux de commande dont le rapport cyclique varie entre 0 et 100 % inclus pour avoir une plage de commande aussi grande que possible . on évite ainsi des pertes inutiles ou des détériorations dans les circuits électroniques de commande du moteur. La valeur minimale Rmin du rapport cyclique est égale à 0%, qui correspond à Ei = 0. La valeur maximale du rapport cyclique est quant à elle égale à : Rmax = X / (NBMAX+1), X étant la valeur maximale des nombres Eo à ETOCH. On voit que Rmax ne peut atteindre 100 % que si X peut atteindre la valeur NBMAX+1 = 2M, M étant la taille du compteur. Pour atteindre un rapport cyclique de 100 %, il faut donc nécessairement que les nombres Eo à ENBCH soient codés sur un nombre de bits au moins égal à M+1, pour pouvoir atteindre la valeur 2M. Si le registre RC utilisé est de taille N (par exemple N = 16) supérieure à la taille M (par exemple M = 12) du compteur CPC, cela ne pose pas de difficulté. On peut utiliser des nombres Ei de 13 bits qui sont chargés dans le registre RC puis comparés aux nombres NB de 12 bits fournis par le compteur. On peut aussi utiliser des nombres Ei de 16 bits (ce qui permet d'obtenir une meilleure précision sur le signal échantillonné) qui sont chargés dans le registre RC et seuls les 13 bits de poids les plus forts des nombres Ei sont comparés aux nombres NB de 12 bits fournis par le compteur CPC. Un problème se pose lorsque les registres et le compteur ont une taille identique. Une première solution connue consiste à utiliser deux registres de comparaison, le premier pour mémoriser les N bits de poids faible des nombres Eo à E.,,., et le deuxième pour mémoriser le bit de poids fort de ces nombres. Cette solution n'est cependant pas intéressante, dans la mesure où elle implique nécessairement, à chaque retour à zéro du compteur, le chargement de deux registres, ce qui augmente le temps de chargement des nombres Ei, et donc en conséquence le temps de calcul du signal SC. Par ailleurs, la taille du circuit augmente. Une deuxième solution connue consiste à utiliser seulement les M-l bits de poids faibles du compteur CPC pour produire les nombres NB de M-l bits, et à utiliser le registre RC de taille N = M pour mémoriser les nombres Eo à Eao}. On peut ainsi atteindre un rapport cyclique Rmax de 100 %. Cette solution n'est cependant pas intéressante car elle diminue les performances du générateur, notamment en diminuant sa précision (le nombre ARmin augmente). Ainsi, si les registres et le compteur du générateur sont de taille identique, il n'est pas possible d'obtenir avec les solutions connues un générateur optimal ayant à la fois une précision maximale, et un temps de calcul minimal. L'invention a pour objet de proposer un générateur optimisé utilisant au mieux les capacités de ses composants tout en conservant une précision importante et un temps de calcul limité. Avec cet objectif en vue, l'invention concerne un procédé de génération d'un signal de commande modulé en largeur d'impulsion à partir d'un signal de référence échantillonné, procédé au cours duquel : - on incrémente un compteur produisant des nombres NB incrémentés à chaque impulsion d'un signal d'horloge, et - on actualise un nombre de référence chaque fois que le compteur atteint une valeur d'initialisation, le nombre de référence étant relatif au signal de référence. Selon l'invention, le procédé est caractérisé en ce qu'on réalise également les étapes suivantes . - on calcule un bit de dépassement en comparant une valeur de pointeur à un paramètre de référence , la valeur de pointeur étant actualisée chaque fois que le compteur atteint la valeur d'initialisation, et - on produit le signal de commande en comparant un nombre NB fourni par le compteur à un mot de comparaison actualisé comprenant le bit de dépassement en bit de poids le plus fort et le nombre de référence actualisé en bits de poids faibles. L'invention concerne également un générateur associé de signaux modulés en largeur d'impulsion, comprenant : - un compteur pour compter les impulsions du signal d'horloge et fournir les nombres NB, et - un registre de comparaison, pour mémoriser le nombre de référence. Selon l'invention, le générateur comprend également - un circuit de test pour calculer le bit de dépassement, - un registre de dépassement pour mémoriser le bit de dépassement, et - un comparateur pour fournir le signal de commande en comparant le nombre NB fourni par le compteur au mot de comparaison actualisé comprenant le bit de dépassement en bit de poids le plus fort et le nombre de référence actualisé en bit de poids les plus faibles. Les nombres NB fournis par le compteur et le nombre de référence actualisé sont de même taille N. Le mot de comparaison actualisé est un échantillon du signal de référence associé à la valeur du pointeur actualisé. Le pointeur indique les instants d'échantillonnage. Le nombre de référence actualisé est quant à lui obtenu par suppression du bit de poids le plus fort de l'échantillon du signal de référence associé à la valeur de pointeur actualisée. Selon une variante, le paramètre de référence est une valeur de pointeur pour laquelle l'échantillon associé du signal de référence a une amplitude maximale. Selon une autre variante, le paramètre de référence est un ensemble comprenant plusieurs valeurs de pointeur, l'échantillon du signal de référence associé à chacune desdites valeurs de pointeur ayant une amplitude maximale. De manière générale, comme on le verra mieux par la suite, le paramètre de référence est choisi en fonction : - du nombre d'échantillons du signal de référence, - du type d'incrément utilisé pour actualiser la valeur de pointeur, - de la forme du signal analogique initial. Ainsi, avec l'invention, on mémorise les N bits de poids faible d'un échantillon du signal de référence dans le registre de comparaison. En parallèle, on vérifie dans le circuit de test si l'échantillon considéré correspond à une amplitude maximale du signal de référence et, si c'est le cas, on fournit un bit de dépassement. Le bit de dépassement et les N bits de poids faibles de l'échantillon considéré sont ensuite concaténés pour obtenir le mot de comparaison, ledit mot de comparaison étant ensuite comparé avec le nombre NB fourni par le compteur. Ainsi, lorsque le compteur et le registre de comparaison sont de même taille, l'invention permet d'utiliser tous les bits du compteur, sans avoir besoin d'utiliser deux registres de comparaison pour mémoriser les échantillons du signal de référence. Selon un mode de réalisation du générateur, le circuit de test comprend un comparateur comprenant deux entrées sur lesquelles sont appliqués respectivement le paramètre de référence et la valeur de pointeur actualisée, et une sortie connectée au registre de dépassement. Selon un autre mode de réalisation, le circuit de test comprend des moyens logiciels pour effectuer la comparaison du paramètre de référence avec la valeur de pointeur actualisée. Le générateur décrit ci-dessus peut être utilisé pour la commande d'un dispositif monophasé, par exemple de type moteur ou onduleur. Si le dispositif est monophasé, on utilisera simplement un circuit de commande comprenant un générateur tel que décrit ci-dessus. Si le dispositif est triphasé, on utilisera de préférence un circuit de commande comprenant trois générateurs tels que décrits ci-dessus, travaillant en parallèle mais utilisant de préférence un unique compteur commun. L'invention sera mieux comprise et d'autres caractéristiques et avantages apparaîtront à la lecture de la description qui va suivre, d'un exemple de mise en oeuvre d'un procédé et d'un générateur de signaux selon l'invention. La description est à lire en relation aux dessins annexés dans lesquels : - les figures la à le, déjà décrites, sont des diagrammes d'un signal analogique, d'un signal de référence échantillonné et d'un signal de commande modulé en largeur d'impulsion, - la figure 2, déjà décrite, est un schéma fonctionnel d'un générateur connu de signaux modulés en largeur d'impulsion, - la figure 3 est un schéma fonctionnel d'un générateur de signaux modulés en largeur d'impulsion selon l'invention, et - la figure 4 est un exemple de réalisation d'un élément du générateur de la figure 3. Dans toutes les figures, des références identiques sur deux figures différences désignent un même objet. Le générateur l'invention comprend (figure 3), de même qu'un générateur connu, un compteur CPC, une mémoire de référence MR, un registre de comparaison RC et un comparateur CPT. Le générateur selon l'invention comprend également un pointeur PO, un circuit de test CTEST et un registre de dépassement RD. Le générateur est intégré dans un microprocesseur utilisant des registres de N = 8 bits et des instructions, notamment des instructions de chargement de registre, adaptées pour être utilisées avec de tels registres. Le signal analogique initial choisi est ici une sinusoïde, telle que celle de la figure 1. Le signal est échantillonné ici sur 36 points pour une période du signal de référence SREF. A chaque point Ii d'échantillonnage est associé un nombre Ei représentatif de l'amplitude du signal analogique initial au point Ii, i étant ici compris entre 0 et NBECH = 35. Le signal de référence est échantillonné de sorte que les 36 nombres Eo à EE# sont compris entre 0 et 2nu 256 inclus . un nombre Ei est égal à zéro si l'amplitude du signal de référence est minimale (soit pour E27 dans l'exemple), et un nombre Ei est égal à 256 si l'amplitude du signal de référence est maximale (soit E9 dans l'exemple). Le compteur CPC est un compteur de N = 8 bits comprenant une entrée d'horloge pour recevoir un signal d'horloge CP, et une sortie de données. Le compteur CPC compte des impulsions du signal d'horloge CP et fournit sur sa sortie de données des nombres NB compris entre 0 et NBMAX = 28-1 = 255. Lorsqu'il atteint sa valeur maximale NBMAX, le compteur CPC revient à zéro puis continue à compter les impulsions du signal d'horloge. Le passage à zéro du compteur CPC est utilisé comme signal de commande pour la mémoire de référence MR et le pointeur PO. Le pointeur PO comprend une entrée de commande connectée à la sortie du compteur CPC, et une sortie de données. Le pointeur PO fournit un nombre (de N = 8 bits ici) compris entre 0 et NBECH, dont la valeur est incrémentée à chaque retour à zéro du compteur. NBECH +1 est le nombre d'échantillons utilisés, ici 36. Le pointeur PO produit ainsi des nombres Io = 0, Il = 1, etc. On notera que, puisque le signal de référence est ici échantillonné sur 36 points, Io correspond à une phase de 0 , Ii correspond à une phase de i*10 , INBECH correspond à une phase de 3509. La mémoire de référence MR comprend une liste de NBECH +1 nombres entiers E' à E',,8, associés aux nombres I0 à INBECH fournis par le pointeur. Pour tout i, le nombre E'i est égal aux N bits de poids les plus faibles du nombre Ei. Ainsi, le bit de poids le plus fort des nombres Eo à ENBECH n'est pas mémorisé dans la mémoire MR. On notera qu'ici, comme le signal de référence échantillonné SREF représente une sinusoïde telle que celle de la figure la, et que le nombre d'échantillons choisis est égal à 36, la valeur Ei = 256 est atteinte uniquement pour i = 9, qui correspond à une phase de 90 C. Dit autrement, le bit de poids le plus fort des nombres Eo à ENBECH est nul sauf celui du nombre E9. La mémoire MR, réalisée selon un mode connu, comprend notamment une entrée de commande connectée à la sortie de données du compteur CPC et une sortie de données. Lorsque le compteur passe à 0 pour la iième fois, la mémoire MR fournit le nombre E'i sur sa sortie de données. Le registre de comparaison RC est un registre de N = 8 bits comprenant une entrée de données connectée à la deuxième sortie de données de la mémoire MR et une sortie de données. Le registre de comparaison mémorise de manière successive les nombres E0 à Enbech, un nombre étant mémorisé à chaque retour à zéro du compteur CPC. Le circuit de test CTEST comprend une entrée de données connectée à la sortie du pointeur PO et une sortie de donnée connectée à une entrée de données du registre de dépassement RD. Le registre RD est un registre de 1 bit. Le registre RD peut également être 1 bit d'un registre de N bits identique au registre RC. Le circuit CTEST compare le nombre Ii fourni par le pointeur PO avec un paramètre prédéterminé PARA, qui est un nombre de même taille que le nombre fourni Ii. Si le nombre fourni par le pointeur PO est égal au paramètre PARA, alors le circuit CTEST fournit un 1 logique. Inversement, si le nombre Ii est différent du nombre PARA, alors le circuit CTEST fournit un 0 logique. Le résultat de la comparaison est mémorisé dans le registre RD. Le nombre PARA est choisi en fonction notamment du signal de référence choisi, et du pointeur PO choisi. Le nombre PARA indique pour quel indice i, le nombre Ei est maximum ici, égal à 2N = 256. Ici, le nombre PARA est égal à 9, car comme on l'a vu précédemment, l'indice i = 9 correspondant à une phase de 90 et à un nombre E9 = 256. Le comparateur CPT comprend deux entrées de données de N bits connectées respectivement à la sortie du compteur CPC et à la sortie du registre de comparaison RC, une entrée de donnée de 1 bit connectée à la sortie du registre de dépassement RD, et une sortie de données sur laquelle est fournie le signal de commande modulé en largeur d'impulsion SC. Le circuit CPT compare le nombre NB fourni par le compteur CPC à un mot de comparaison MCi de N+l bits, comprenant, en bits de poids faibles, les N bits du nombre E'i contenu dans le registre de comparaison RC, et en bit de poids le plus fort le contenu du registre RD. Le mot de comparaison MCi est finalement égal au nombre Ei relatif au signal échantillonné car : - si Ii # 9, alors le contenu du registre RD est nul et le mot MC, est égal à "0 E'i', c'est-à-dire Ei. - si Ii = 9, alors le contenu du registre RD est égal à 1 et le mot MCi est égal à "1 E'9", c'est-à-dire égal à E9. Le circuit CPT fournit finalement le signal SC : SC = 0 si NB # MCi, SC = 1 si NB On notera que le signal SC produit par le générateur de signaux modulés en largeur d'impulsion selon l'invention est bien identique au signal SC produit par un générateur équivalent connu, puisque les mots MCi sont strictement identiques aux nombres Eo à ENBECH. Un exemple de réalisation du circuit CTEST est représenté sur la figure 4. Il comprend simplement un registre RP1 de taille adéquate pour mémoriser le paramètre PARA, et un comparateur COMP1. Le comparateur COMP1 comprend une entrée connectée à la sortie de données du pointeur PO, une entrée de données connectée à une sortie du registre RP1 et une sortie de données connectée à l'entrée du registre RD. Le circuit COMP1 compare le nombre Ii fourni par le pointeur PO avec le contenu du registre RP1, et le résultat de la comparaison, 0 ou 1, est mémorisé dans le registre RD. Le fonctionnement global du générateur selon l'invention est similaire à celui d'un générateur connu de l'art antérieur. Initialement, le nombre E'0 = 128 (dans le cas d'une sinusoïde telle que celle utilisée ici) contenu dans la mémoire MR est chargé dans le registre de comparaison RC, le pointeur PO fournit le nombre la = 0, le compteur CPC est initialisé à 0 et commence à compter les impulsions du signal d'horloge CP. Comme I0 # 9, un 0 logique est mémorisé dans le registre RD. Par ailleurs, le circuit CPT compare le nombre NB fourni par le compteur CPC avec le mot MC0 = "0 E' a" et fournit SC = 1. Comme l' inégalité NB Après avoir atteint sa valeur maximale NBMAX = 255, le compteur CPC revient à 0 lors de l'impulsion suivante du signal d'horloge CP. Le pointeur fournit alors le nombre I1 1 dans notre exemple. Comme I1 # 9, le contenu du registre RD reste inchangé, égal à 0. Par ailleurs, le nombre E'1, égal à environ 150 ici, est chargé dans le registre de comparaison RC, et le comparateur compare le nombre NB fourni par le compteur CPC avec le mot El = Il 0 E'1" : il fournit alors SC = 1 tant que NB rapport cyclique de ce signal est alors égal, pour cette période, à environ 59%. Après avoir atteint sa valeur maximale NBMAX = 255, le compteur CPC revient à nouveau à 0 lors de l'impulsion suivante du signal d'horloge CP, puis continue de compter. Ainsi, à chaque passage à 0 du compteur, les nombres Io, I1, I2, etc., sont fournis par le pointeur PO de manière successive. En parallèle, les nombres E'0, E'1, E'2, etc. sont chargés dans le registre de comparaison RC de manière successive. La comparaison dans le circuit CPT est effectuée en continue et le signal SC est produit, suivant les évolutions de l'amplitude du signal de référence. Il arrive un moment où le pointeur PO fournit le nombre I9 = 9. Dans ce cas, un 1 logique est mémorisé dans le registre RD. Par ailleurs, le nombre E'9 = 0 correspondant est chargé dans le registre de comparaison RC, et le comparateur compare le nombre NB fourni par le compteur CPC avec le mot E1 = "1 E'9" égal à 256 : il fournit alors SC = 1 pendant tout le cycle du compteur puisque l'inégalité NB Le fonctionnement du générateur continue ensuite, comme précédemment. On notera que, avec l'invention, et comme dans les circuits antérieurs, le nombre NB de N bits fourni par le compteur est comparé à un nombre de N+1 bits, ce qui permet d'obtenir, pour le signal SC, un rapport cyclique qui varie entre 0 et 100% inclus. On notera également que dans l'invention, on utilise tous les bits du compteur CPC, ce qui permet d'obtenir une précision optimale pour la taille M de ce compteur CPC. Enfin, on notera que un seul registre de comparaison RC, de même taille N que le compteur CPC, est utilisé pour mémoriser les échantillons de référence. Une seule instruction de chargement de registre est donc nécessaire à chaque passage à zéro du compteur, pour mémoriser les échantillons et préparer la comparaison. Des variantes ou des améliorations du générateur selon la figure 3 peuvent aisément être envisagées, seules ou en combinaison les une avec les autres. Par exemple, les éléments de base du circuit (compteur, registres, etc. ) sont des éléments de 8 bits. Il est évidemment possible d'utiliser des éléments de taille différente, par exemple 12 ou 16 bits. L'invention est cependant plus intéressante dans le cas où le registre RC et le compteur CPC utilisés sont de taille identique. En effet, elle permet d'utiliser tous les bits du compteur tout en n'utilisant qu'un seul registre de comparaison RC. Dans une autre variante, le nombre d'échantillons NBECH peut être modifié. Dans l'exemple décrit, le nombre NBECH a été choisi égal à 36, mais il peut aussi être choisi égal à toute autre valeur, 1000, 2", 216, etc. Le choix du nombre d'échantillons est en général un compromis entre : - la précision du générateur : plus le nombre d'échantillon est important, plus les variations du signal SC sont proches de celle de l'amplitude du signal de référence, et plus la commande du moteur est précise. - le temps de calcul, sachant qu'il augmente rapidement avec le nombre d'échantillons. - la taille de la mémoire MR (et en conséquence celle du circuit global), qui augmente elle aussi avec le nombre d'échantillons. Bien sûr, le pointeur PO doit être adapté en conséquence : sa taille doit être suffisante pour pouvoir traiter des nombres de taille 28, 216 selon le cas. De même, les éléments du circuit CTEST doivent être adaptés en conséquence, et notamment le paramètre PARA doit être modifié : dans le cas d'un signal analogique initial tel que celui de la figure la et d'un pointeur avec un incrément de 1, le paramètre PARA doit être : PARA = 64 si NBECH = 28, PARA = 16384 si NBECH = 216. Dans une autre variante encore, le pointeur peut être choisi différemment. Dans l'exemple décrit en relation avec la figure 3, le pointeur choisi fournit des nombres incrémentés de 1 : Io ; 0, I1 = 1, etc. Il est cependant tout à fait possible de choisir un autre type d'incrément. Par exemple, il est possible d'utiliser un pointeur fournissant les nombres Io =0 , I1 = 10 , I2 = 20 , 135 = 350 . Il est tout aussi possible de choisir un pointeur fournissant 1, =2, In = 2"+2" = 2*2", I2 = 3*28, 1255 = 28*28 - 216. Là encore, en fonction du pointeur choisi, le circuit CTEST devra être adapté en conséquence, et en particulier le paramètre PARA. Dans une autre variante encore, le signal analogique initial utilisé est différent d'une sinusoïde. Là encore, en fonction du signal choisi, le paramètre PARA devra être adapté en conséquence, de même que le circuit CTEST. Le signal analogique peut être par exemple une sinusoïde (telle que celle de la figure la) déformée par un ajout d'harmoniques 3. Dans ce cas, l'amplitude du signal analogique est maximale pour deux valeurs de phase : 60 et 120 , et elle est minimale pour deux valeurs de phase également : 2400 et 300 . Dans ce cas, le paramètre PARA est un ensemble de deux valeurs : PARAI = 6, PARA2 = 12 si le nombre d'échantillons est égal à 36 et si l'incrément du pointeur est égal à 1. Le circuit CTEST est modifié pour prendre en compte ces deux valeurs, et pour tester si le nombre Ii fourni par le pointeur est égal à l'une ou l'autre de ces valeurs. Si Ii est égal à l'une des valeurs du paramètre PARA, alors CTEST produit un "1" logique, sinon, il produit un "0" logique. Le signal analogique peut également être un signal en créneau ou un signal ayant une forme trapézoïdale. Dans ce cas, l'amplitude du signal analogique est maximale et constante au moins entre deux phases Phil et Ph2. Le paramètre PARA prend alors un ensemble de valeurs associées aux phases comprises entre Ph1 et Ph2. Par exemple, si Ph1 = 20 , Ph2 = 200 , si le nombre d'échantillons est égal à 36 et si l'incrément du pointeur est égal à 1, alors PARA est un ensemble comprenant les nombres suivants : 2,3, 4, ..., 19,20. Le circuit CTEST est évidemment modifié pour prendre en compte l' ensemble de ces valeurs, en comparant le nombre Ii avec 1 ' ensemble de ces valeurs. Dans tous les cas, le paramètre PARA, qui est un nombre ou éventuellement un ensemble de nombres, est choisi notamment en fonction : - du nombre d'échantillons NBECH, - du type d'incrément utilisé pour le pointeur, - de la forme du signal analogique initial. Dans une autre variante encore, le compteur CPC utilisé est différent du compteur utilisé dans l'exemple. Le compteur peut fournir des nombres décroissants depuis sa valeur maximale NBMAX jusqu'à la valeur 0 puis revenir à NBMAX et continuer à décompter. Le compteur peut aussi fournir des nombres croissants depuis 0 jusqu'à sa valeur maximale NBMAX puis des nombres décroissants jusqu'à zéro. Quel que soit le compteur choisi, le fonctionnement global du générateur est similaire. On veillera simplement, à adapter le comparateur CPT de sorte qu'il vérifie l'inégalité adéquate . NB # E'i ou NB # E'i ou encore NB # E'i uniquement lorsque les nombres NB évoluent de manière croissante (ou décroissante), selon le compteur CPC choisi. Le générateur peut également être amélioré par l'ajout de moyens pour moduler l'amplitude du signal de référence échantillonné SREF utilisé. Cette amélioration permet notamment de produire des signaux de commande d'amplitude variable : on module ainsi la puissance fournie à l'élément (moteur, pompe, etc.) commandé par ce signal. Les moyens de modulation de l'amplitude du signal de référence comprennent Un registre d'index RI et un multiplicateur MULT représentés en pointillés sur la figure 3. Par ailleurs, le compteur est remplacé par un compteur de N+N' bits, le registre RC est remplacé par un registre de N+N' bits, et le circuit CTEST est modifié. Le registre d'index est un registre de N' bits, dans lequel est mémorisé un paramètre MA de modulation d'amplitude, qui peut être modifié par des moyens externes au circuit, mais qui reste de préférence constant sur toute une période du signal de référence échantillonné. Le nombre N' peut être égal au nombre N, mais pas nécessairement. Le multiplicateur MULT est un circuit de multiplication adapté pour multiplier des nombres Eo à ENBECH de N bits mémorisés dans la mémoire MR par le paramètre MA de modulation mémorisé dans le registre d'index RI, et fournir un résultat de N+N'. Le multiplicateur MULT comprend une entrée de données connectée à une sortie de données de N bits de la mémoire MR, une entrée de données connectée à la sortie du registre RI de NI bits, et une sortie de données connectée à l'entrée de données du registre de comparaison RC. Bien sûr, la liaison directe entre la mémoire MR et le registre RC est dans ce cas supprimée. Le circuit CTEST est modifié par l'ajout d'un comparateur COMP2, d'un registre RP2 et d'une porte OP, représentés en pointillés sur la figure 4. Le registre RP2 est de taille N', adéquate pour mémoriser une valeur prédéfinie MAO du paramètre de modulation d'amplitude MA. La valeur MAO est par exemple la valeur maximale que peut prendre le paramètre MA. Le comparateur COMP2 comprend une entrée connectée à la sortie de données du registre RI, une entrée de données connectée à une sortie du registre RP2 et une sortie de données connectée à une entrée de la porte logique OP de type ET dont une autre entrée est connectée à la sortie du comparateur COMP1. La sortie de la porte OP est connectée à l'entrée du registre RD. Le circuit COMPl compare le nombre Ii fourni par le pointeur PO avec le contenu du registre RP, et le résultat de la comparaison ; en parallèle, le circuit COMP2 compare la valeur du paramètre MA avec la valeur MAO contenue dans le registre RP2. Les résultats fournis par COMP1, COMP2 sont combinés par la porte OP et le résultat de la combinaison est mémorisé dans le registre RD. REVENDICATIONS 1. Procédé de génération d'un signal de commande (SC) modulé en largeur d'impulsion à partir d'un signal de référence (SREF), procédé au cours duquel : - on incrémente un compteur produisant des nombres NB incrémentés à chaque impulsion d'un signal d'horloge (CP) , et - on actualise un nombre de référence (Età E') chaque fois que le compteur (CPC) atteint une valeur d'initialisation ("0"), le nombre de référence (E'0 à E'ENBECH) étant relatif au signal de référence (SREF), le procédé étant caractérisé en ce qu'on réalise également les étapes suivantes : on calcule un bit de dépassement (OVF) en comparant une valeur de pointeur ( Io à INBBCH) à un paramètre de référence (PARA), la valeur de pointeur (Io à INBECH) étant actualisée chaque fois que le compteur (CPC) atteint la valeur d'initialisation ("0"). et on produit le signal de commande (SC) en comparant un nombre NB fourni par le compteur (CPC) à un mot de comparaison actualisé comprenant le bit de dépassement en bit de poids le plus fort et le nombre de référence actualisé en bits de poids faibles. 2. Procédé selon la revendication 1, caractérisé en ce que les nombres NB et le nombre de référence actualisé (Elo à E'NBECH) sont de même taille N. 3. Procédé selon l'une des revendications 1 ou 2, caractérisé en ce que le mot de comparaison actualisé est un échantillon (E0 à ENBECH) du signal de référence (SREF) associé à la valeur du pointeur actualisé. 4. Procédé selon l'une des revendication 1 à 3, caractérisé en ce que le nombre de référence actualisé est obtenu par suppression du bit de poids le plus fort de l' échantillon (Eo à ENBECH) du signal de référence (SREF) associé à la valeur de pointeur (Io à Imees) actualisée. 5. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que, pour actualiser le nombre de référence (E'o à EINBECII)' on multiplie un nombre initial actualisé par un paramètre de modulation d'amplitude (MA), ledit nombre initial actualisé étant obtenu par suppression du bit de poids le plus fort de l'échantillon (Eo à ENBECH) du signal de référence (SREF) associé à la valeur de pointeur actualisée. 6. Procédé selon l'une des revendications 1 à 5, caractérisé en ce que le paramètre de référence est une valeur de pointeur pour laquelle l'échantillon associé (Eo à ENBECH) du signal de référence (SREF) a une amplitude maximale. 7. Procédé selon l'une des revendications 1 à 5, caractérisé en ce que le paramètre de référence est un ensemble comprenant plusieurs valeurs de pointeur, l'échantillon (E. à Eso:) du signal de référence (SREF) associé à chacune desdites valeurs de pointeur ayant une amplitude maximale. 8. Générateur de signaux modulés en largeur d'impulsion, pour produire un signal de commande (SC) en fonction d'un signal de référence (SREF), le générateur comprenant : - un compteur (CPC) pour compter des impulsions d'un signal d'horloge et fournir des nombres NB, - un registre de comparaison (RC), pour mémoriser un nombre de référence (E' à Elm,3cu) relatif au signal de référence (SREF), le nombre de référence étant actualisé chaque fois que le compteur atteint une valeur d'initialisation ("0"), le générateur étant caractérisé en ce qu'il comprend également : - un circuit de test (CTEST), pour fournir un bit de dépassement en comparant à un paramètre de référence (PARA) une valeur de pointeur actualisée (Io à INBECH) relative à une base de temps associée au signal de référence (SREF) , la valeur de pointeur (ïo à IWEca) étant actualisée chaque fois que le compteur (CPC) atteint la valeur d'initialisation ("0"), - un registre de dépassement (RD) pour mémoriser le bit de dépassement, et - un comparateur (CPT) pour fournir le signal de commande (SC) en comparant un nombre NB fourni par le compteur (CPC) à un mot de comparaison actualisé comprenant le bit de dépassement en bit de poids le plus fort et le nombre de référence actualisé en bit de poids les plus faibles. 9. Générateur selon la revendication 8, caractérisé en ce que le registre de comparaison (RC) et le compteur sont de même taille N. 10. Générateur selon l'une des revendications 8 à 9, caractérisé en ce que le circuit de test (CTEST) comprend un comparateur (COMP1) comprenant deux entrée sur lesquelles sont appliqués respectivement le paramètre (PARA) et la valeur de pointeur actualisée, et une sortie connectée au registre de dépassement. 11. Générateur selon l'une des revendications 8 à 9, caractérisé en ce que le circuit de test (CTEST) comprend des moyens logiciels pour effectuer la comparaison du paramètre de référence (PARA) avec la valeur de pointeur actualisée. 12. Générateur selon l'une des revendications 8 à 11, caractérisé en ce qu'il comprend également une mémoire de référence (MR) , pour mémoriser les nombres de référence (E 1 à E cxi , ladite mémoire comprenant une entrée de commande connectée à une sortie du compteur. 13. Générateur selon la revendication 12, caractérisé en ce qu'une sortie de données de la mémoire de donnée (MR) est connectée à une entrée de données du registre de comparaison (RC). 14. Générateur selon l'une des revendications 8 à 13, caractérisé en ce qu'il comprend également : - un registre d'index (RI) mémorisant un paramètre de modulation d'amplitude (MA.), et - un circuit de multiplication comprenant une entrée connectée à une sortie du registre d'index (RI), une entrée connectée à la sortie de données de la mémoire de référence (MR) , et une sortie connectée à l' entrée de données du registre de comparaison. 15. Dispositif monophasé, par exemple de type moteur ou onduleur, caractérisé en ce qu'il est commandé électriquement par un circuit de commande comprenant un générateur selon l'une des revendications 8 à 14. 16. Dispositif triphasé, par exemple de type moteur ou onduleur, caractérisé en ce qu'il est commandé électriquement par un circuit de commande comprenant trois générateurs selon l'une des revendications 8 à 14, les trois générateurs travaillant en parallèle et utilisant un unique compteur (CPC).