Brevet FR2438289A1 — publié le 19800430

La présente invention concerne les alimentations régulées pour les circuits électroniques. I1 y a longtemps que les alimentations régulées constituent un élément indispensable dans le domaine de l'électro~ nique. Dans les premières alimentations régulées qui sont apparues, la régulation de tension etait effectuée grâce à un dispositif série qui commande la circulation du courant en fonction de la demande de la charge. On réalise cette commande en détectant toute variation de la tension de sortie qui est produite par une modification de la demande de la charge, et on renvoie cette variation à l'entrée, par l'intermédiaire d'un circuit de commande analogique capable de régler le courant qui traverse le dispositif série. L'inconvénient essentiel de cette technique ancienne est le suivant : du fait que l'alimentation fonctionne à la fréquence du secteur (50 Hz), lorsqu'on augmente son courant nominal, on doit utiliser des transformateurs à circuit magnétique en fer, des condensateurs de filtrage et des inductances de filtrage à noyau de fer de plus en plus volumineux, pour supporter la charge imposée. En outre, le rendement des alimentations basées sur cette technique diminue notablement (et peut descendre jusqu'à 20%) lorsqu'elles doivent fournir des tensions basses. On a mis au point les alimentations à commutation ou à découpage pour faire disparaître ces inconvénients. La description d'une alimentation à découpage de type caractéristique figure dans le manuel intitulé "JP Series Power Supplies, Technical Information," publié par ACDC Electronics, Inc. Dans cette technique, on découpe à haute fréquence (généralement 20 Hz) une tension continue élevée et non régulée (généralement obtenue à partir d'un secteur 110/220 V, 50 Hz), on abaisse cette tension à l'aide d'un transformateur à ferrite, puis on la redresse et on la filtre pour obtenir la tension de sortie continue désirée. Comme dans la technique antérieure, on régule la tension de sortie en fonction des variations du courant de charge grâce à une commande par réaction qui utilise un circuit analogique. Tout écart de la tension de sortie par rapport à la valeur désirée fait apparaître un signal d'erreur. On utilise ce signal pour commander la largeur des impulsions qui découpent la tension continue élevée et non régulée. Si la demande de courant de charge augmente, la commande par réaction élargit l'impulsion, ce qui augmente l'énergie qui est transmise à la charge par l'intermédiaire du transformateur. Inversement, si la demande de courant de charge diminue, la commande rétrécit l'impulsion. L'algorithme que l'on utilise pour la commande par réaction est pratiquement toujours basé sur une commande proportionnelle. On compare avec une tension en rampe le signal d'erreur qui résulte d'un écart de la tension de sortie. On déclenche l'impulsion lorsque l'amplitude du signal d'erreur et de la tension en rampe sont égales. L'impulsion se termine toujours à la fin du cycle de découpage. La principale limitation de la réalisation sous forme analogique de cet algorithme de commande par réaction tient à ce que l'alimentation à découpage a une capacité de réponse limitée à des courants de charge'transitoires de valeur élevée. De façon caractéristique, une variation de 50 du courant de charge produit une variation de 5 à 10% de la tension de sortie avant que le circuit de commande soit capable de ramener la tension de sortie dans la plage de régulation. En outre, ce processus de récupération prend généralement un temps appréciable. On peut améliorer la réponse de l'alimentation aux transitoires de la charge en ajoutant une commande dérivée à la commande proportionnelle. Cependant, ceci augmente considérablement la complexité et le coût de l'alimentation. Lessystèmesde commande par réaction de type analogique ont d'autres inconvénients et limitations. Tout d'abord, ils présentent des problèmes de stabilité à court terme comme à long terme, à cause de la dérive des composants. Ensuite, chaque tension de sortie à réguler nécessite un système de commande analogique propre. Ceci signifie que les alimentations qui fournissent plusieurs tensions de sortie régulées et indépendantes doivent comporter un système de commande analogique indépendant pour chaque tension. Du fait que de nombreuses applications actuelles nécessitent 3 à 5 tensions indépendantes, la multiplication des circuits analogiques contribue notable ment au coût de ces alimentations. Un système de commande par réaction idéal devrait pouvoir présenter les avantages de la commande proportionnelle, de la commande dérivée et de la commande intégrale pour plusieurs tensions de sortie réguléesindépendantes, avec un coût faible et un mode de réalisation simple qui soit relativement insensible à la dérive des composants. Ce système devrait pouvoir s'adapter aux besoins de l'environnement en mettant en oeuvre le procédé de commande le mieux approprié pour obtenir la réponse désirée. Par exemple, il devrait utiliser une commande intégrale ou proportionnelle lorsque la charge est relativement constante, et passer ensuite instantanément à une commande dérivée lorsqu'apparaît un transitoire. L'invention porte sur un dispositif d'alimentation à commande numérique, et sur un procédé de régulation de tension correspondant . La commande de ce dispositif d'alimentation s'effectue au cours de cycles d'horloge définis, et le dispositif comprend au moins une alimentation qui fonctionne sous la dépendance de deux impulsions de commande, chacune de ces impulsions ayant une largeur qui donne une tension de sortie régulée. Le dispositif de l'invention comprend un convertisseur analogique-numérique qui détecte la différence entre la tension de sortie et une tension de référence. Il comprend également un processeur de commande numérique qui est branché de façon à recevoir et à traiter le signal de différence ou d'erreur qui représente la différence mesurée, et à appliquer les impulsions de commande aux alimentations. Une mémoire de commande est branchée au processeur de façon à fournir à ce dernier un programme d'instructions tel que le processeur modifie la largeur des impulsions de commande. L'alimentation réalise ainsi un changement programmé de la tension de sortie, en réponse au changement de la largeur d'impulsion des deux impulsions de commande. Le processeur de commande numérique est programmé par les instructions qui se trouvent dans la mémoire de commande, de façon à accomplir toutes les fonctions nécessaires à la régulation du dispositif d'alimentation. Ce processeur traite le signal d'erreur avec l'un des procédés de commande qui sont à sa disposition, pour déterminer quelle est la largeur d'impulsion qui doit être appliquée auxdispositifs de commutation de puissance au cours du cycle suivant, pour corriger l'erreur. Le processeur peut accomplir d'autres-fonctions, au-delà des possibilités de toute commande analogique. En partageant ses ressources, le processeur peut commander plusieurs alimentations. Les alimentations à découpage nécessitent une largeur d'impulsion fixe pour un cycle complet. Une fois que le processeur a calculé la largeur d'impulsion pour une alimentation, il peut desservir d'autres alimentations pendant que la première termine son cycle. Le nombre d'alimentations que peut desservir le processeur ne dépend que de la vitesse de ce dernier, et de la durée de résolution de l'élément de détection. Le convertisseur analogique-numérique est multiplexé pour desservir toutes les alimentations que commande le processeur. Un commutateur analogique connecte séquentiellement chaque alimentation et sa tension de référence au convertisseur. De nombreux dispositifs d'alimentation à alimentations multiples, comme ceux que l'on utilise dans les grands ordinateurs, les systèmes de mémoire, les contrôleurs, et les périphériques, nécessitent une définition précise de la séquence d'apparition et de disparition des diverses tensions. Du fait que le processeur commande toutes les alimentations du dispositif, il est possible d'accomplir cette tâche avec un programme enregistré dans la mémoire de commande, plutôt qu'avec du matériel supplémentaire. I1 est également possible de commander la vitesse à laquelle apparaît ou disparait chacune de ces tensions, afin de protéger les circuits qui sont alimentés par les alimentations. Dans de nombreuses applications, il est nécessaire d'effectuer des réglages de tension pour accomplir une procédure de diagnostic ou de test. Dans une alimentation à commande analogique, il est impossible de réaliser ceci automatiquement, sans matériel supplémentaire. Au contraire, avec une commande numérique, il est possible d'envoyer une information au processeur à partir d'une source éloignée, qui peut même appartenir éventuellement au système qui est alimenté par les alimenta tisons que commande le processeur, pour modifier la tension nominale de certaines des alimentations, ou de toutes. Avec une commande analogique, la possibilité de connecter des alimentations en parallèle est extrêmement limitée. De façon générale, la puissance de sortie de chaque alimentation est limitée à une valeur inférieure à sa valeur nominale, afin d'éviter que l'une des alimentations ne tente de supporter la totalité de la charge, et dépasse ainsi ses limites de conception. Du fait que le processeur commande toutes les alimentations, il est capable de contrôler les largeurs d'impulsions d'unités branchées en parallèle, et de détecter instantanément que l'une des alimentations tend à supporter une fraction de la charge supérieure à celle qui lui revient. Si ceci se produit, le processeur réduit délibérément la largeur des impulsions de l'alimentation surchargée, et augmente celles des autres alimentations, afin d'équilibrer le courant dans chaque unité. On peut introduire dans la mémoire de commande des programmes qui permettent au processeur d'effectuer un diagnostic automatique avant de mettre en marche les alimentations du dispositif. En cas de détection d'un mauvais fonctionnement, le processeur présente une alarme pour informer l'opérateur. L'invention a donc pour but de réaliser un dispositif d'alimentation à commande numérique qui soit capable de choisir parmi plusieurs algorithmes de commande celui qui convient le mieux pour répondre aux conditions de commande instantanées. Ce dispositif est en outre capable de commander plusieurs alimentations indépendantes, sans nécessiter de circuits de commande supplémentaires, et il peut définir indépendamment la séquence de mise en marche et d'arrêt des diverses alimentations. L'invention sera mieux comprise à la lecture de la description qui va suivre de modes de réalisation, et en se référant aux dessins annexés sur lesquels La figure 1 est un schéma synoptique du dispositif d'alimentation à commande numérique. La figure 2 est un schéma du convertisseur analogiquenumérique et du commutateur analogique de la figure 1, destinés à être utilisés avec plusieurs alimentations. La figure 3 est un schéma du processeur de commande numérique de la figure 1. Les figures 4 et 5 sont des diagrammes séquentiels qui illustrent, sur 10 cycles d'horloge, la régulation de tension qu'effectue le processeur de commar.de numérique. On se reportera maintenant à la figure 1 qui est un schéma synoptique d'un dispositif d'alimentation à commande numérique. Une alimentation classique 34 comprend un dispositif de commutation de puissance 12, un transformateur 13, et un redresseur/filtre 14, qui sont branchés à une source de tension continue non régulée par une ligne bus 26. Les éléments 12, 13 et 14 sont communs à toutes les alimentations à découpage, et leur structure est bien connue. Un convertisseur analogique-numérique et un commutateur analogique 15 sont branchés à l'alimentation 34 par les lignes bus 37. On emploie le convertisseur analogique-numérique pour mesurer l'écart entre la tension de sortie et sa valeur désirée, et pour renvoyer cet écart (ou erreur) vers le processeur de commande numérique 10. Sur la figure 1, le processeur de commande numérique 10 est branché au commutateur analogique 15 par les lignes bus 29, 19. Le processeur de commande numérique 10 est représenté plus en détail sur la figure 3. Le processeur de commande numérique 10 est connecté à la mémoire de commande 11 par les lignes bus 18, 31, 19, 32. La mémoire de commande i1 est une mémoire morte d'une capacité de 1K mots, qui est destinée à enregistrer des instructions de programme pour que le processeur de commande numérique 10 puisse accomplir toutes les fonctions nécessaires à la commande de l'alimentation 34. Le processeur 10 reçoit par une ligne bus 17 des signaux d'horloge qui proviennent d'une horloge classique à 10 MHz. Le processeur 10 transmet à l'alimentation 34, par les lignes bus 21, 22, des impulsions de commande destinées à réguler la tension de sortie. En traitant le signal de différence avec l'un des procédés de commande qui sont à sa disposition, le processeur 10 détermine quelle est la largeur d'impulsion qui doit être appliquée au dispositif de commutation de puissance 12 au cours du cycle suivant, pour corriger la différence ou 1' erreur. La ligne bus 24 est destinée aux signaux d'interruption qui sont appliqués au processeur 10. Les interruptions internes qui proviennent de 11alimentation 34 sont transmises au processeur 10 par les lignes bus 23, 24. Autres signaux d'interruption peuvent provenir de sources externes. Par exemple, un processeur principal (non représenté) peut utiliser une ligne d'interruption externe-pour adresser un signal d'interruption au processeur 10, puis lui transmettre une instruction particulière par les lignes bus 18, 19, afin de commander 1' alimentation 34. On se reportera maintenant à la figure 2 qui représente de façon plus détaillée le convertisseur analogique-numérique et le commutateur analogique, 15, de la figure 1. La figure 2 représente qui configuration typique qui permet d'effectuer une commande numérique de quatre alimentations 34-1, 34-2, 34-3 et 34-4. Les alimentations 34-1 à 34-4 sont sélectionnées séquentiellement par le processeur de commande 10 de la figure 1, de façon à connecter au convertisseur analogique-numérique 73 l'alimentation appropriée et sa source de tension de référence 38-1, 38-2, 38-3 et 38-4. Dans la configuration représentée, c'est llalimentation 34-3 et la source de tension de référence 38-3 qui sont sélectionnées. Le processeur 10 applique des impulsions de commande aux alimentations 34-1 à 34-4, par les lignes bus 21-1 à 22-4. Le processeur 10reçoit des signaux d'interruption par les lignes bus 23-1 à 23-4. Le processeur 10 actionne sélectivement les interrupteurs analogiques 36-1, 39-1 ; 36-2, 39-2 ; 36-3, 39-3 ; et 36-4, 39-4, par l'intermédiaire des lignes de sélection d'alimentation 89-1 à 89-4. Les interrupteurs 36-i à 36-4 et 39-1 à 39-4 peuvent être des transistors à effet de champ qui sont sélectionnés un par un en élevant la tension sur la ligne de sélection d'alimentation appropriée, tout en maintenant les autres lignes à une tension basse. Sur la figure 2, les transistors à effet de champ 36-3, 39-3 sont conducteurs et connectent l'alimentation 34-3 et la tension de référence 38-3 aux entrées de tension analogique et de tension de référence du convertis seur analogique-numérique 73, par l'intermédiaire des lignes bus 37-3, 37, 40-3, 40. Le convertisseur analogique-numérique 73 est un convertisseur classique. On l'utilise pour mesurer la différence entre une tension de référence et une tension de sortie d'une alimentation, pour chacune des alimentations que commande le processeur 10 de la figure 1. On appellera ci-après cette différence tension d'erreur. La conversion de cette erreur en un nombre binaire peut s'effectuer par approximations successives, ou par poursuite.Ces deux procédés sont bien connus et sont décrits dans de nombreux articles et manuels, comme par exemple dans la Note d'Application de la firme Précision Monolithics, Inc, intitulée "A Low Cost, High-Performance Tracking A/D Converter." on utilise une source de tension de référence prédéterminée 38-1 à 38-4 pour régler le convertisseur analogiquenumérique 73 sur la tension de sortie désirée de l'alimentation qui est contrôlée. Le convertisseur analogique-numérique 73 convertit la tension d'erreur en son équivalent binaire, et il la présente en sortie sur une ligne bus de données à 8 bits qui est branchée au processeur 10 de la figure 1. Lorsque le processeur 10 reçoit le nombre binaire, il déconnecte l'alimentation, et sélectionne l'interrupteur suivant. La précision et la fenêtre de détection d'erreur sont liées au nombre de bits qu'utilise le convertisseur analogique-numérique 73 pour convertir l'erreur. Dans un mode de réalisation avantageux, on utilise un nombre binaire à 8 bits, ce qui donne une fenêtre de + 128 mV avec une précision de + 2 mV. On peut élargir cette fenêtre, au prix d'une diminution de la précision (+ 256 mV, avec une précision de + 4 mV), ou, inversement, réduire la fenêtre et augmenter la précision. Du fait que le convertisseur analogique-numérique mesure toutes les tensions, il est possible d'obtenir un affichage décimal de chacune des tensions, en ajoutant un dispositif d'affichage 95. On se reportera maintenant à la figure 3 qui montre une configuration dans laquelle le processeur 10 est destiné à fonctionner avec quatre alimentations. La mémoire de commande 11 est une mémoire morte de 1K mots qui est connectée au processeur 10 par des lignes bus à 8 bits, 32, 19, et des lignes bus à 10 bits, 18, 31. Le processeur 10 comprend un fichier de registres classiques qui contient 4 groupes de registres de 4 mots de 8 bits. Chaque groupe est affecté à une alimentation, et enregistre les données et les adresses. De façon caractéristique, le groupe 00 peut être .affec- té à l'alimentation 34-1 de la figure 2, le groupe 01 à l'alimentation 34-2, le groupe 10 à l'alimentation 34-3, et le groupe 11 à l'alimentation 34-4. Le processeur 10 comprend également une unité- -arithmétique et logique 60, de type classique, qui transmet des données au registre de fichiers 42 par une ligne bus à 8 bits, 82-5, et reçoit des données de ce fichier par des lignes bus 77, 78. L'unité arithmétique et logique 60 effectue des opérations arithmétiques et logiques entre deux registres quelconques d'un groupe du fichier de registres 42, ou bien sur un seul registre.Toutes les données et les adresses qui proviennent de la mémoire de commande 11 par les lignes bus à 8 bits 32, 19 sont chargées par l'intermédiaire de l'unité arithmétique et logique 60. Le registre d'instruction 61 et le décodeur 62 sont des éléments classiques qui sont branchés à la mémoire de commande 11 par les lignes bus 32, 19, 79. Le registre d'instruction 61 et le décodeur 62 sont branchés au fichier de registres 42 et à l'unité arithmétique et logique 60 par les lignes bus 84, 85. Les entrées du décodeur 62 sont également branchées à la ligne bus 24, pour communiquer avec toutes les sources d'interruption de la figure 1, comme il a été indiqué précédemment. Le compteur ordinal 63 est un compteur binaire à 10 bits que l'on utilise pour engendrer l'adresse de l'instruction à mettre en place, à partir de la mémoire de commande 11. Le compteur ordinal 63 est branché à la mémoire de commande 11 par une ligne bus à 2 bits, 83, une ligne bus à 8 bits, 80, et des lignes bus à 10 bits, 18, 31. La mémoire de commande 11 est organisée en quatre groupes de 256 mots chacun. Les deux bits de plus fort poids, 8, 9, du compteur ordinal 63 permettent au processeur d'adresser un groupe particulier. Les bits 0-7 du compteur ordinal 63 adressent une position à l'intérieur du groupe qui est défini par les bits 8, 9. Les bits de plus fort poids du compteur ordinal 63 sont chargés par le décodeur 62, par l'intermédiaire de la ligne bus à deux bits, 86. Les registres de largeur d'impulsion 66-1, 66-2, 66-3, 66-4 sont des registres classiques à 8 bits qui conservent la valeur d'une largeur d'impulsion calculée, pour chaque alimentation. L'unité arithmétique et logique 60 est connectée aux registres de largeur d'impulsion 66-1 à 66-4 par les lignes bus 82-1 à 82-4. L'unité arithmétique et logique 60 est connectée au compteur ordinal 63 par la ligne bus 82-6. Le compteur de largeur d'impulsion 68 est un compteur à 8 bits qui est attaqué par une horloge à 10 MHz, par l'intermédiaire de la ligne bus 17. Le compteur de largeur d'impulsion 68 est remis à zéro lorsqu'il atteint un total de 127. Ceci permet de définir la largeur d'impulsion par incréments de 100 ns, jusqu'à un maximum de 12,7 ps. Le compteur de commande 69 est un compteur à 2 bits dont on utilise le contenu pour adresser les registres de largeur d'impulsion 66-1 à 66-4, le convertisseur analogique-numérique et le commutateur analogique, 15, ainsi que les comparateurs 67-1 à 67-4, et pour déterminer l'adresse de groupe du fichier de registres 42. Ce compteur est attaqué par le compteur de largeur d'impulsion 68, et est incrémenté chaque fois que le compteur 68 est remis à zéro. Ainsi, le contenu du compteur de commande 69 augmente d'une unité toutes les 12,7 ps. Les comparateurs 67-1, 67-2, 67-3 et 67-4 sont des portes OU-EXCLUSIF que l'on utilise pour comparer la valeur d'une largeur d'impulsion qui est chargée dans les registres de largeur d'impulsion 66-1 à 66-4, avec le total contenu dans le compteur de largeur d'impulsion 68. Les contenus des registres de largeur d'impulsion 66-1 à 66-4 et du compteur de largeur d'impulsion 68 sont transmis aux comparateurs 67-1 à 67-4 par l'intermédiaire des lignes bus respectives 92-1 à 92-4, 91. Lorsque la comparaison est déclenchée, les sorties des comparateurs passent à l'état haut. Lorsque la comparaison indique une égalité, les sorties des comparateurs passent à l'état bas, et on met fin à l'impulsion. Du fait qu'il faut deux impulsions pour les transistors de commutation du dispositif de commutation de puissance 12, on effectue la comparaison deux fois dans un cycle de 50,8 us. Les comparaisons successives sont séparées par 25,4 ps, soit deux incréments du compteur de commande 69. Les signaux de sortie des comparateurs 67-1 à 67-4 sont transmis aux circuits tampons d'attaque 72-1, 72-2, 72-3 et 72-4, par les lignes bus 93-1 à 93-4. Les circuits tampons d'attaque 72-1 à 72-4 sont actionnés sélectivement par un décodeur 70, qui est un décodeur de type classique commandé par le compteur de commande 69. Le décodeur 70 adresse sélectivement les registres de largeur d'impulsion 66-1 à 66-4, les circuits tampons d'attaque 72-1 à 72-4, et le commutateur analogique de la figure 2, par l'intermédiaire des lignes bus 88, 89, 90. La figure 3 montre la configuration du fichier de registres 42. Chaque groupe comprend quatre registres à 8 bits, qui portent respectivement les références S pour un registre de séquence, V pour un registre de tension d'erreur, P pour un registre de largeur d'impulsion, et W pour un registre de travail. On décrira maintenant la circulation des données et la commande du processeur de commande numérique 10, en se référant à la figure 3. Le fichier de registres 42 contient 4 groupes de registres-à 4 mots de 8 bits. Chaque groupe est affecté à une alimentation, et est utilisé pour l'enregistrement des données et des adresses. Toutes les opérations, comme les opérations arithmétiques, les opérations de chargement, et d'autres opérations, sont effectuées à l'aide de ces registres. L'unité arithmétique et logique 60 effectue des opérations arithmétiques entre deux registres quelconques, ou sur un seul registre. Toutes les données et les adresses qui sont appliquées au fichier de registres 42 à partir de la mémoire de commande 11 sont chargées par l'unité arithmétique et logique 60. Les données qui proviennent du fichier de registres 42 et qui sont destinées aux registres de largeur d'impulsion 66-1 à 66-4, et les adresses destinées au compteur ordinal 63 sont chargées par l'unité arithmétique et logique 60. On utilise le compteur ordinal 63 pour engendrer l'adresse de l'instruction à mettre en place. à partir de ia mémoire de commande 11. Une fois que l'instruction est mise en place, on augmente d'une unité ie contenu du compteur ordinal 63, et ce compteur désigne l'instruction suivante à mettre en place. On peut également charger le compteur ordinal 63 à partir du fichier de registres 42, pour permettre un branchement vers d'autres sous-programmes de la mémoire de commande 11. Le registre d'instruction 61 est chargé à partir de la mémoire de commande 11, et il contient l'instruction à décoder et à exécuter par le décodeur 62. Les instructions sont définies en considérant une zone à 8 bits. Ces configurations binaires sont décodées, et les signaux correspondants commandent la circulation des données dans le processeur de commande numérique 10. Le tableau I en annexe présente le format du jeu d'instructions. Le décodeur 62 de la figure 3 examine tout d'abord les deux bits de plus fort poids (voir le tableau I) pour déterminer quel est le type de l'instruction à exécuter. Si les bits (7, 6) sont à l'état 0, O, il s'agit d'une fonction arithmétique. Les deux bits suivants déterminent le type de fonction, et les quatre derniers bits donnent l'adresse relative des registres de destination et de source du fichier de registres 42 de la figure 3. Le fichier de registres 42 comprend un registre de séquence, S, un registre de tension d'erreur V, un registre de largeur d'impulsion P, et un registre de travail W. Les fonctions arithmétiques à accomplir sont l'addition (ADD), la soustraction (SUB), et la comparaison (CMP). Si les bits (7, 6) sont à l'état O, 1, il s'agit d'une instruction de franchissement de frontière (MOB). Les bits (2-5) donnentl'adresse absolue du registre de destination (groupe et registre), et les bits (O, 1) donnent l'adresse relative du registre de source. Du fait que toutes les instructions sont relatives à l'alimentation qui est desservie, et sont adressées de façon relative, en faisant intervenir le compteur de commande 69 de la figure 3, il est nécessaire de disposer d'une instruction qui opère un transfert d'information, avec franchissement des frontières des registres. Le registre de destination est adressé directement, tandis que le registre de source est adressé de façon relative, en faisant intervenir le compteur de commande. Si les bits (7, 6) sont à l'état 1, O, on examine les deux bits suivants (5, 4). Si les bits (5, 4) sont à l'état 0, O, on examine le bit suivant (3). Si c'est un 0, il s'agit d'une instruction de chargement immédiat (LI) que l'on utilise pour charger les données d'instruction ou d'adresse qui sont enregistrées dans la position suivante de la mémoire de commande 11, dans le registre de destination qui est défini dans la zone de destination. Les bits 2-0 représentent l'adresse du registre de destination, et font intervenir les registres S, V, P et W du fichier de registres 42, ainsi que les registres de largeur d'impulsion 66-1 à 66-4. Si le bit (3) est un 1, l'instruction est une instruction de branchement (BXXX), et les bits 2-0 déterminent le type de branchement. Les instructions de branchement permettent au programme de sauter vers une nouvelle position de la mémoire, de façon inconditionnelle, ou en fonction du résultat d'un test. En cas de branchement, l'adresse suivante de la mémoire est la position que désigne le compteur ordinal. Si le test donne un résultat négatif, le compteur ordinal désigne la position qui suit immédiatement la position considérée. Les instructions de branchement correspondent aux types suivants inconditionnel (BU), positif (BPLUS), négatif (BNEG), zéro (BZERO), dépassement de capacité (BOF), surcharge (BOVLD), et coupure d'alimentation (BNPO). Si les bits (5, 4) sont à l'état 0, 1, l'instruction est une instruction d'incrément (INC), de décrément (DCR), ou de complément (CMR). Les bits (3, 2) déterminent le type et les bits (1, O) sont relatifs à l'adresse de destination. On utilise ces opérations pour incrémenter, décrémenter et complémenter les données qui se trouvent dans un registre, et pour les ramener dans le même registre. Si les bits (5, 4) sont à l'état 1, O (voir le tableau I), on examine le bit (2). Si ce bit est un 0, l'instruction est une instruction de positionnement de mémoire (ST M). Du fait que le chemin de transmission des données dans le proces seur de commande numérique est-un chemin à 8 bits, il est nécessaire de définir une instruction qui permette au processeur d'adresser un espace de mémoire supérieur à 256 mots. Cette instruction provoque le chargement des deux bits de plus fort poids du compteur ordinal 63 de la figure 3, ce qui permet d'adresser jusqu'à 1024 mots de la mémoire de commande 11. Si le bit 2 est un 1, l'instruction est une instruction d'attente (WAT). Cette instruction produit une halte du processeur de commande numérique, et ce dernier redémarre après avoir attendu l'impulsion d'horloge de 12, 5 Eus suivante. Lorsque ceci se produit, on utilise l'adresse qui se trouve dans le compteur ordinal pour mettre en place l'instruction suivante. Si les bits (5, 4) sont à l'état 1, 1, l'instruction est une instruction de halte (HALTE).Cette instruction provoque une halte du processeur de commande numérique, et ce dernier ne rédémarre pas jusqu'à l'apparition d'une interruption, correspondant par exemple à une mise sous tension. Si les bits (7, 6) sont à l'état 1, 1, l'instruction est une instruction de transfert (MOV), dans laquelle les bits (5-3) désignent l'adresse de destination, et les bits 2-0 désignent l'adresse de source. On utilise ces instructions pour transférer les données vers les registres à partir du convertisseur analogique-numérique, pour effectuer des permutations de données et d'adresses dans les registres d'un groupe, pour transférer les données vers les registres de largeur d'impulsion 66-1 à 66-4, et les adresses vers le compteur ordinal 63. Le tableau II en annexe présente un exemple de programme caractéristique correspondant au fonctionnement du mode de réalisation qui vient d'être décrit. Les programmes de fonctionnement séquentiel, de régulation, de coupure de tension normale et de coupure de tension d'urgence, sont enregistrés dans la mémoire de commande 11 de la figure 3. Un sous-programme de définition des conditions initiales est enregistré à la position zéro, et on l'utilise pour établir les conditions du dispositif au moment de la mise sous tension initiale. La mise sous tension remet à zéro tous les registres, le compteur ordinal 63, et le compteur de commande 69.Lorsque ceci se produit, le program me démarre à la position O et effectue un test pour voir s'il existe une interruption de surcharge ou une interruptin de coupure de tension. Si aucune de ces conditions n'existe, le programme passe au sous-programme de définition des conditions initiales. En se référant au tableau II, on voit que si le sousprogramme de définition des conditions initiales INIT 4 est suivi par une séquence de mise en marche dans l'ordre 0-3-2-1, les registres sont chargés de la manière représentée, dans le fichier de registres 42 de la figure 3. On notera que le compteur de commande 69 a été positionné à (0,0), et que le compteur ordinal 63 est maintenant à 4, au début du sous-programme de définition des conditions initiales.Lorsque ce sous-programme est achevé, le compteur de commande 69 est retourné à (0,0), et l'instruction suivante charge dans le compteur ordinal le contenu du registre S du groupe (0,0). Lorsque ce cycle est terminé, le compteur de commande 69 est incrémenté et passe à (O, 1), et le contenu du registre S du groupe, l)est chargé dans le compteur ordinal 63. I1 s'agit là d'un sous-programme de repos, sans mise en marche. La séquence se poursuit jusqu a ce que l'alimentation O soit complètement en marche. Le sous-programme de définition des conditions initiales, INIT 4 fonctionne de la manière suivante (voir le tableau II en annexe). L'instruction LI S est une instruction de chargement immédiat qui établit un ordre de séquence. Pour la première alimentation à mettre en marche, c'est le sous-programme TO (sous-programme de déclenchement de mise en marche) qui se trouve dans le registre S. Pour les autres alimentations, c'est le sous-programme I (sous-programme de repos) qui intervient. Le sous-programme TO augmente d'une unité le contenu du registre P, charge avec cette valeur le registre de largeur d'impulsion, et charge dans le registre V du fichier de registres 42 la valeur qui provient du convertisseur analogiquenumérique. La largeur d'impulsion a initialement une valeur négative, par rapport à la tension de référence. Au bout d'un grand nombre de cycles, l'alimentation atteint les conditions de régulation, et le dispositif effectue un branchement vers le sous-programme SREG. Le sous-programme SREG établit un pointeur qui désigne le sous-programme TO, pour mettre en marche l'alimentation suivante. L'instruction LI W charge un registre W avec des pointeurs qui désignent des sous-programmes qui établissent l'ordre de mise en marche, à l'aide d'instructions MOB. Le registre WO est ici chargé avec la position Al, qui contient MOB S3, S. Lorsque l'alimentation O atteint la régulation, le registre S3 est chargé avec le sous-porgramme TO, si bien que l'alimentation correspondante est mise en marche à la suite. Les registres S2 et S1 sont chargés d'une manière similaire. Lorsque l'alimentation O est complètement en marche, l'adresse du sous-programme de régulation R est chargée dans le registre S du groupe (O, O). Au prochain instant auquel le contenu du compteur de commande dévient égal à (O, O), le contenu du registre W est transféré vers le compteur ordinal, et l'alimentation suivante à mettre en marche, (alimentation 3) est désignée par un pointeur. Le fonctionnement ci-dessus se répète jusqu'à ce que toutes les alimentations soient en marche et dans les conditions de régulation. Le sous-programme de régulation est accompli en trois étapes. Le sous-programme Ri- calcule la dérivée ou la pente (aV) de la tension d'erreur, en enregistrant la tension d'erreur ancienne tVE(0)3 pendant un cycle d'horloge dans le registre W, puis il introduit la nouvelle tension d'erreur VE(n)J dans le registre V, et calcule ensuite la quantité tV=VE(n)-VE(O). Ce sous-programme calcule ensuite la nouvelle largeur d'impulsion PW(n) , à l'aide de la formule PW(n)=PW(O)-8V. Cette valeur est enregistrée dans le registre P. Le sous-programme ajoute la valeur AV à la nouvelle tension d'erreur [V+VE(n)], et soustrait la somme de la largeur d'impulsion PW(n)J qui est enregistrée dans le registre W. Le sous-programme R1 effectue ensuite un test sur le résultat pour déterminer si ce nombre est supérieur à 127, ou inférieur à 0. Dans la négative, le nombre qui se trouve dans le registre W est transféré vers le registre de largeur d'impulsion. Si ce nombre est supérieur à 127, c'est le nombre 127 qui est placé dans le registre de largeur d'impulsion. Si le nombre est inférieur à 0, c'est un zéro qui est placé dans le registre de largeur d'impulsion. Le sous-programme R2 charge le registre de largeur d'impulsion avec le contenu du registre P. Le sous-programme R3 utilise la même valeur que le sous-programme R2 dans le registre de largeur d'impulsion. En outre, le sous-programme R3 transfère du convertisseur analogique-numérique vers le registre V la tension de différence qui est présente sur la ligne bus 29 de la figure 3. Cette tension est égale à VE(O) pendant le sous-programme R1. Le processeur retourne au sous-programme R1 au cours du fonctionnement normal. Le sous-programme OFF, et les sous-programmes associés TF, B1, B2, B3 et FREG, correspondent à une opération d'arrêt que l'on peut analyser d'une manière similaire à celle de l'opération de définition des conditions initiales qui vient d'être décrite. On va maintenant décrire le fonctionnement du dispositif de l'invention, en se référant aux figures 3, 4 et 5, et au tableau II, en annexe. La figure 4 montre un exemple d'une augmentation du courant de charge pour une alimentation de type caractéristique, entre la moitié de la charge nominale, et la charge nominale, sur une période de 10 cycles d'horloge. La figure 5 montre un exemple d'analyse du fonctionnement du dispositif, dans le cas le plus défavorable, sur 10 cycles d'horloge, pour l'une des alimentations de la figure 3. On supposera que le dispositif est en fonctionnement et attaque le sous-programme R1 au début du cycle d'horloge 1, comme il est représenté sur la figure 5, et que le courant de charge IL de la figure 4 passe à cet instant à la valeur qui correspond à la charge nominale. On supposera en outre que le dispositif fonctionnait avec une largeur d'impulsion de 6 lus pour l'alimentation 34-3 de la figure 2, et que le registre de largeur d'impulsion 66-3 de la figure 3 fournissait une largeur d'impulsion de 6ps. Le comparateur 67-3 compare cette largeur d'impulsion avec le contenu du compteur de largeur d'impulsion 68, au cours du cycle d'horloge sélectionné. L'impulsion de commande est émise vers l'alimentation 34-3 par l'intermédiaire du circuit tampon d'attaque 72-3. Lorsque l'alimentation sélectionnée se trouve en présence de la charge nominale, comme il est représenté sur la figure 4, le processeur exécute le sous-programme R1. Sur la figure 5, la tension de différence commence immédiatement à tomber au-dessous de O volt. En supposant qu'aucune tension d'erreur n'ait été détectée jusqu'à présent, le processeur poursuit son fonctionnement au cours des cycles d'horloge 1 et 2, comme si rien ne s'était passé. La largeur d'impulsion demeure donc de 6 ps. Le processeur continue à exécuter le sous-programme R1 pendant le cycle d'horloge 1, le sous-programme R2 pendant le cycle d'horloge 2, et le sous-programme R3 pendant le cycle d'horloge 3. Pendant le cycle d'horloge 3, le processeur se trouve dans le sous-programme R3, et il lit maintenant la tension du convertisseur analogique-numérique, comme il a été indiqué précédemment, par l'intermédiaire de la ligne bus 29 de la figure 3. Le processeur détecte maintenant une erreur et commence à effectuer la compensation nécessaire. Au cours du sous-programme R3, la valeur que fournit le convertisseur analogique-numérique est chargée dans le registre V du fichier de registres 42, dans le groupe 10. Sur la figure 5, le processeur passe au sous-programme R1 pendant le cycle d'horloge 4, au cours duquel il calcule une vitesse de variation de la tension, en calculant la quantité AV. Comme il a été indiqué précédemment, la quantité V est égale à la nouvelle tension d'erreur VE(n), diminuée de l'ancienne tension d'erreur VE(O). Le processeur calcule ensuite une nouvelle largeur d'impulsion, en calculant la différence entre PW(O)etV. Le processeur assure ainsi une commande dérivée pour la régulation de l'alimentation. Le processeur forme également la quantité EV+VE(n) qui servira pour calculer si une largeur d'impulsion de commande de récupération est nécessaire. Au cours du sous-programme T1, le processeur calcule également si la largeur d'impulsion est supérieure à 127 ou in férieure à O, en évaluant la quantité PW(n)-V-VE(n). Ainsi, dans le cas le plus défavorable, le processeur prévoit effectivement quelle sera la valeur de l'erreur de tension à la fin du sous-programme R1, au moment où la correction sera effectuée. Ainsi, le processeur assure une commande proportionnelle pour la régulation, en plus de la commande dérive. Si la largeur d'impulsion est supérieure à 127, le processeur charge le registre de largeur d'impulsion avec une largeur d'impulsion égale à 127, par l'intermédiaire du sousprogramme OVFL du tableau Il. Sur la figure 5, en supposera qu'au début du cycle d'horloge 5, la tension de différence ou d'erreur est d'environ -72 mV. Le processeur détermine alors qu'il faut une largeur d'impulsion de 12,7 us dans le registre de largeur d'impulsion 66-3, et cette largeur d'impulsion est appliquée à l'alimentation 34-3 pendant le cycle d'horloge 5. Cette impulsion de commande eorrespond à une impulsion de récupération qui réduit la tension d'erreur à environ 28 mV à la fin du cycle 5. De plus, pendant le sous-programme R1, le processeur calcule la largeur d'impulsion à appliquer pendant les cycles d'horloge 6 et 7. On supposera que la valeur calculée est de 7,8 us. Pendant les cycles d'horloge 5 et 6, le processeur exécute les sous-programmes R2, R3, qui appliquent une impulsion de régulation d'une largeur de 7,8 tufs, comme il a été calculé au cours des cycles d'horloge 6 et 7. Pendant le cycle d'horloge 7, le processeur exécute à nouveau le sous-programme R1, et il calcule une autre impulsion de récupération, si besoin est, et une impulsion de régulation. L'impulsion de récupération est appliquée pendant le cycle d'horloge 8, et a la largeur maximale de 12,7 ps. En supposant que le processeur ait calculé une impulsion de régulation de 8,4 ps, cette impulsion est appliquée pendant les cycles d'horloge 9 et 10, en association avec les sousprogrammes R2 et R3. Ainsi, après le cycle d'horloge 10, le processeur régule effectivement l'alimentation 34-3 en appliquant la largeur d'impulsion appropriée (ici 8,4 ,us pour un fonctionnement à la charge nominale). La pigure 5 représente une analyse dans le cas le plus défavorable, dans laquelle le processeur attaque le sousprogramme R1 à instant d'un changement du courant de charge. Le processeur détecte cette erreur au cours du sous-programme R2, et il commence immédiatement à la compenser, en prévoyant ce que sera l'erreur au moment de la correction. au cours du sous-programme R1. Si nécessaire, le processeur produit une impulsion de récupération maximale de 12,7 us pendant le cycle d'horloge qui suit le sous-programme R1. Les cycles d'horloge qui correspondent aux sous-programmes R2 et R3 fournissent une impulsion de régulation calculée. Si la variation de la demande de la charge se produit à un instant auquel le processeur est sur le point d'attaquer le sous-programme R3, il exécute plus rapidement le sous-programme de régulation. Ainsi, le processeur examine la vitesse de variation (AV) du signal d'erreur, et l'erreur proportionnelle, et il utilise ces deux éléments pour la régulation. Le dispositif vient d'être décrit dans le cas où il comporte une commande dérivée et une commande proportionnelle, mais on pourrait l'adapter aux besoins de l'environnement en utilisant tout procédé de commande approprié pour obtenir la réponse désirée. Par exemple, le dispositif pourrait comporter une commande intégrale ou proportionnelle dans le cas où la charge est relativement constante, puis il pourrait passer instantanément à une commande dérivée en cas d'apparition d'un transitoire. On pourrait en outre modifier le dispositif pour lui incorporer un différentiateur destiné à différentier le front avant et/ou arrière des impulsions de commande, pour former ainsi les impulsions de départ et d'arrêt. Ces impulsions de départ et d'arrêt sont utilisées de façon caractéristique dans les alimentations à découpage de l'art antérieur, décrites précédemment. il va de soi que de nombreuses modifications peuvent être apportées au dispositif et au procédé décrits et représentés, sans sortir du cadre de l'invention. ANNEXE TABLEAU I BITS 7 6 5 4 3 2 1 o Instruction O O X X X X X X Arithmétique O 1 X X X X X X Franchissement de fron tière 1 O X X X X -X X 1 O O O X X X X O X X X Chargement immédiat 1 X X X Branchement O 1 X X X X Incrément, Décrément, Complément 1 0 X X X X O X X X Positionnement de mémoi re 1 X X X Attente 1 1 X X X X Halte 1 1 X X X X X X Transfert TABLEAU II Instruction Explication ROM MAP La mise sous tension remet à zéro tous les registres, le compteur ordinal et le compteur de commande. Une interruption force à zéro le compteur ordinal et le compteur de commande. O : BOVLD Branchement vers le sous-programme de surcharge en courant. 1 : OVLD 2 : BNPO Branchement vers le sous-programme d'arrêt. 3 : OFF INIT 4 : LI S Etablissement de l'ordre de séquence TO Le sous-programme TO(sous-programme de déclenchement de mise en marche) est LI W chargé dans le registre S de la pre Al mière alimentation à mettre en marche. Pour les autres alimentations, c'est le sous-programme I (sous-programme de repos) qui intervient. WAT Les registres W reçoivent des poin LI S teurs qui désignent les sous-program I mes qui établissent l'ordre de mise en LI W marche, par l'intermédiaire d'une ins O truction de franchissement de frontiè WAT re (MOB) ; par exemple le registre WO LI S est chargé avec la position A, qui con I tient une instruction MOB S3, S. LI W Lorsque l'alimentation O atteint la A2 régulation, S3 est chargé avec T0, , si WAT bien que l'alimentation correspondante LI S est mise en marche à la suite. T LI W A3 WAT MOV PC, S Chargement de l'adresse de départ du sous-programme pour desservir la pre mière alimentation. (Ce sous-programme peut être TO pour la mise en marche, ou I pour le maintien au repos.) TO : INR P Augmentation d'un incrément de la lar geur d'impulsion MOV PWR, P Chargement du registre de largeur d'im pulsion MOV V, ADC Chargement de la valeur du convertis seur analogique-numérique BPLUS Branchement vers l'établissement du SREG sous-programme de régulation, si l'erreur devient positive I : WAT Boucle d'attente MOVE,PC S Traitement de l'alimentation suivante SREG : MOV PC, W Positionnement du pointeur désignant le LI S sous-programme TO, pour l'alimentation suivante à mettre e marche. R1 Chargement de l'adresse de départ du WAT sous-programm.e de régulation. MOV PC, S Traitement. A1 : MOB 53 S Transfert du sous-programme TO dans ia BU zone de sauvegarde de l'alimentation SREG t 1 suivante à mettre en marche. A2 : MOB S1, S BU SREG + 1 A3 : MOB S2, S BU SREG + 1 RI : MOV W, V Sauvegarde de VE(O) dans le registre de travail. MOV V,ADC Lecture de VE(n) CMR W ADD W, V Calcul de EV = VE(n) - VE(O) SUB P, W Calcul de PW(n) = PW(O) - AV ADD W, V Calcul de tV + VE(n) CMR W ADD, W,P Calcul de la largeur d'impulsion = PW(n) - 4V - VE (n) BOVFL Est-ce que la largeur d'impulsion est supérieure à + 127 OVFL BNEG Est-ce que la largeur d'impulsion est inférieure à O NEG MOV PWR, W Chargement du registre de largeur d'im pulsion E2 LI S Adresse de départ de la seconde étape R2 du programme de régulation WAT MOV PC, S OVFL : LI PWR Chargement de la largeur de l'impulsion 127 maximale (127) BU : : LI PWR Chargement de la largeur d'impulsion O minimale (0) BU E2 R2 : MO PWR, P Chargement de la largeur d'impulsion LI S Adresse de départ de la troisième R3 étape du sous-programme de régulation WAT MOV PC, S R3 NOV V, ADC Lecture du convertisseur analogique numérique MOV PWR, P Chargement de la largeur d'impulsion LI S Chargement de l'adresse de départ de R1 la première étape du sous-programme de WAT régulation MOV PC, S OVLD LI PWR Positionnement à zéro de tous les re O gistres de largeur d'impulsion WAT LI PWR o WAT LI PWR o WAT LI PWR O HLT HALTE OFF : LI S Définition des conditions initiales de I la séquence d'arrêt LI W O WAT LI S TF LI W B1 WAT LI S I B2 WAT LI S I LI W B3 WAT MOV PCj-S TF : DCR P Diminution d'un incrément de la lar geur d'impulsion MOV PWR, P Chargement du registre de largeur d'impulsion BZERO FREG Fin de la régulation WAT MOV PC, S B1 MOB S2, S Transfert dans la zone de sauvegarde BU de l'alimentation suivante à arrêter. FREG+1 B2 MOB S3, S BU FREG+1 B3 MOB SO, S BU FREG+1 FREG : MOV PC, W Etablissement d'un pointeur vers le LI S sous-programme TF, pour l'alimentation I suivante à arrêter. WAT MOV PC, S Lorsque toutes les alimentations sont arrêtées, le processeur établit une boucle d'attente. REVENDICATIONS 1. Dispositif d'alimentation à commande numérique, dont la commande s'effectue pendant des cycles d'horloge définis, caractérisé en ce qu'il comprend au moins une alimentation qui fonctionne sous la dépendance de deux impulsions de commande ayant chacune une largeur d'impulsion qui fait apparaître une tension de sortie régulée ; un élément qui détecte une différence entre la tension de sortie et une tension de référence, de façon à fournir un signal d'erreur qui représente cette différence ; un processeur de commande numérique qui est branché de façon à recevoir et à traiter le signal d'erreur, et des façon à fournir les deux impulsions de commande pendant des cycles d'horloge ; et une mémoire de commande qui est branchée au processeur de façon à lui fournir un programme d'instructions tel que ce processeur effectue un changement programmé de la largeur des impulsions de commande, sous l'effet duquel l'alimentation produit un.changement de la tension de sortie. 2. Dispositif selon la revendication 1, caractérisé en ce qu'il comporte plusieurs alimentations, et chaque alimentation fonctionne sous la dépendance de deux des impulsions de commande ; et un multiplexeur qui connecte séquentiellement le processeur à chaque alimentation, et à l'élément de détection. 3. Dispositif selon la revendication 1, caractérisé en ce que l'élément de détection comprend un convertisseur analogique-numérique qui convertit le signal d'erreur en un signal binaire qui représente un nombre binaire. 4. Dispositif selon la revendication 3, caractérisé en ce que le programme d'instructions comprend un programme de commande proportionnelle des impulsions de commande. 5. Dispositif selon la revendication 3, caractérisé en ce que le programme d'instructions comprend un programme de commande dérivée des impulsions de commande. 6. Dispositif selon la revendication 3, caractérisé en ce que le programme d'instructions comprend un programme de commande intégrale des impulsions de commande. 7. Dispositif selon la revendication 3, caractérisé en ce que le programme d'instructions comprend un programme de minuterie destiné à mettre en marche et à arrêter les alimentations. 8. Dispositif selon la revendication 3. caractérisé en ce que le processeur comprend un compteur ordinal qui définit l'adresse d'une instruction à mettre en place à partir de la mémoire de commande ; un registre d'instruction qui charge l'instruction à partir de la mémoire de commande, et un décodeur qui décode l'instruction. 9. Dispositif selon la revendication 3, caractérisé en ce que le processeur eomprend~un registre de largeur d'impulsion qui enregistre un nombre binaire qui représente la largeur des impulsions de commande ; un compteur de largeur d'impulsion qui peut être incrémenté à chaque cycle d'horloge, à partir d'une valeur initiale, et peut être ramené à cette valeur initiale lorsqu'il atteint un total prédéterminé ; et un comparateur qui compare le nombre qui est enregistré dans le registre de largeur d'impulsion et le total qui est contenu dans le compteur de largeur d'impulsion. 10. Dispositif selon la revendication 3, caractérisé en ce que le processeur comporte un circuit tampon d'attaque qui est branché au comparateur de façon à transmettre les impulsions de commande vers l'alimentation, grâce à quoi ce circuit d'attaque déclenche les impulsions de commande lorsque le compteur de largeur d'impulsion est à sa valeur initiale, et il met fin aux impulsions de commande lorsque le nombre qui est enregistré dans le registre de largeur d'impulsion est égal au total qui est contenu dans le compteur de largeur d'impulsion. 11. Dispositif selon la revendication 9, caractérisé en ce que le processeur comprend un fichier de registres qui comporte un registre de tension d'erreur destiné à enregistrer le signal d'erreur pendant un cycle d'horloge, un registre de travail destiné à enregistrer un autre signal d'erreur qui correspond à un autre cycle d'horloge, et un registre d'impulsion qui enregistre une impulsion de commande à charger dans le registre de largeur d'impulsion. 12. Dispositif selon la revendication 11, caractérisé en ce que le fichier de registres comprend un registre de sauvegarde, destiné à sauvegarder l'adresse dans la mémoire de commande du programme à déclencher lorsque l'alimentation qui est associée à ce registre doit être desservie. 13. Dispositif selon la revendication 11, caractérisé en ce que le processeur comprend une unité arithmétique et logique destinée à calculer la différence entre le signal d'erreur et l'autre signal d'erreur, de façon à établir un signal de dérivée, et à calculer la différence entre les impulsions de commande et le signal de dérivée, en définissant ainsi une impulsion de régulation. 14. Dispositif selon la revendication 13, caractérisé en ce que l'unité arithmétique et logique comprend un élément qui calcule une autre différence entre l'impulsion de régulation et la somme du signal de dérivée et de l'autre signal d'erreur, pour former une impulsion de récupération lorsque l'autre différence dépasse le total prédéterminé. 15. Dispositif selon la revendication 14, caractérisé en ce que les impulsions de commande comprennent une impulsion proportionnelle pour un cycle d'horloge, et une impulsion dérivée pour un autre cycle d'horloge. 16. Dispositif selon la revendication 14, caractérisé en ce qu'il comprend en outre un compteur de commande qui peut être incrémenté chaque fois que le compteur de largeur d'impulsion atteint le total prédéterminé, grâce à quoi ce compteur de commande actionne séquentiellement chaque alimentation, chaque comparateur et chaque registre de largeur d'impulsion. 17. Dispositif selon la revendication 2, caractérisé en ce qu'il comprend en outre un élément qui définit indépendamment la séquence de mise en marche ou d'arrêt des différentes alimentations du dispositif. 18. Dispositif d'alimentation à commande numérique, commandé au cours de cycles d'horloge définis, caractérisé en ce qu'il comprend au moins une alimentation qui fonctionne sous la dépendance d'une ou de plusieurs impulsions de commande qui ont chacune une largeur qui fournit une tension de sortie régulée ; un élément qui détecte une différence entre la tension de sortie et une tension de référence, et qui fournit un signal d'erreur représentatif de cette différence ; un processeur de commande numérique qui est branché de façon à recevoir et à traiter le signal d'erreur, et de façon à fournir les impulsions de commande ; et une mémoire de commande qui est connectée au processeur de façon à fournir à ce processeur un programme d'instructions tel que le processeur effectue une modification programmée des impulsions de commande, ce qui produit une modification de la tension de sortie de l'alimentation. 19. Procédé de commande numérique d'un dispositif d'alimentation, dans lequel la commande s'effectue au cours de cycles d'horloge définis, et porte sur un dispositif qui comprend au moins une alimentation qui fonctionne sous la dépendance de deux impulsions de commande, ayant chacune une largeur d'impulsion qui fait apparaître une tension de sortie régulée, caractérisé en ce que : on enregistre sous- la commande d'instructions programmées un premier signal d'erreur qui représente la différence entre une tension de référence et une tension de sortie, pendant un cycle d'horloge, et on enregistre un second signal d'erreur pendant un autre cycle d'horloge ; on compare, sous la commande des instructions, le premier signal et le second signal, pour former un signal de dérivée, on compare, sous la commande des instructions, les impulsions de commande et le signal de dérivée, pour former de nouvelles impulsions de commande, ayant chacune une nouvelle largeur d'impulsion ; et on transmet, sous la commande des instructions, les nouvelles impulsions de commande à l'alimentation, au cours des cycles d'horloge, de façon à réaliser une modification programmée de la tension de sortie en réponse aux nouvelles impulsions de commande.