SimulationPour vérifier le bon fonctionnement du générateur, nous avons écrit un environnement de simulation (appelé testbench dans le jargon des HDL). Ce n'est pas un testbench à proprement parler, car il ne vérifie pas automatiquement que la sortie du générateur SSPWM est correcte. Il se contente juste de fournir quelques valeurs en entrée, et de générer des chronogrammes ( Dans ce fichier, la génération des chronogrammes est commentée, car ce qui nous intéresse vraiment est décrit plus bas... Voici un bout des chronogrammes de la simulation du testbench par défaut (rapport cyclique val=128, soit 50%) :
On vérifie bien que le rapport cyclique est constant (50%), et que la période varie de très-peu à beaucoup ! Cependant, il est intéressant de vérifier l'impact des paramètres Pour simplifier la vie, un Makefile se charge de tout. Il suffit d'appeller "
Pour que cela fonctionne, il faut bien entendu que GnuPlot et Cver soient installés, et disposer d'un compilateur C et la bibliothèque fftw3. Voici quelques résultats, pour différentes valeurs d'horloge système. On a pris un rapport cyclique de 50%, une fréquence PWM maximale d'environ 40kHz, et une minimum d'environ 7kHz. Cliquez sur les images pour les agrandir.
On peut constater qu'il ne sert à rien d'avoir un range trop grand. Cela vient du fait que les nombres aléatoire choisis sont uniformément distribués, et déterminent non pas une fréquence mais une période. On a donc une plus grande concentration de fréquences possibles dans la partie basse du spectre due à l'hyperbole (T=1/f). On peut constater aussi qu'il vaut mieux utiliser une horloge de base d'au moins 25MHz. Et qu'avec un range d'environ 6, on obtient bien un spectre bien plus plat et étalé...
|
|||||||||||||||||||





