Générateur PWM
Le fonctionnement du générateur PWM est simple. A chaque début de cycle, on récupère une nouvelle période à partir du générateur aléatoire. Puis on compte 256 périodes, en générant la sortie PWM en comparant le compteur à la consigne val, et on recommence. La sortie PWM est une fonction combinatoire du compteur. Mais pour éviter les glitchs, il vaut mieux la générer de façon séquentielle (autrement dit, qu'elle sorte d'un registre). Le générateur SSPWM est donc un module, appelé sspwm, qui instancie :
- un générateur PWM simple prenant en entrée un rapport cyclique sur 8 bits (
val), et une période de base periode (durée du 256ème de cycle) - le générateur pseudo-aléatoire
gene_aleatoire.
Son code est disponible ici.