Préambule :
Les gens disent n'importe quoi et mélangent tout.
On va essayer de mettre de l'ordre.
A) Signal numérique
Un signal numérique se caractérise par :
- son niveau bas
- son niveau haut
- sa forme d'onde
- sa fréquence
Niveaux :
Pour reconnaître un 1 d'un 0 il faut des normes sur les niveaux :
Pour la norme TTL :
Un signal doit obligatoirement avoir une amplitude de 5V +/- 5%.
- un signal dont le niveau est compris entre entre 0V et 1,4V sera considéré comme un 0 logique
- un signal dont le niveau est compris entre 2,4V et 5V sera considéré comme un 1 logique
Il n'existe pas une technologie TTL mais plusieurs technologies TTL (standard, L, S, AS, LS, ALS, F, AF)
Pour la norme CMOS :
Les niveaux sont variables entre 3V et 18V.
Comme la tension d'alimentation n'est pas imposée les seuils ne sont plus définis en volts comme pour la TTL mais en pourcentage de la tension d'alimentation.
Je n'ai pas retrouvé de document fiable mais de mémoire c'est peu différent de 0 à 0,2Vcc pour le niveau bas et 0,8Vcc à Vcc pour le niveau haut.
Pour information la technologie que l'on trouvera le plus fréquemment est la HC qui en fait reprend les fonctions des vieux circuits TTL (série 74xxxx) en technologie CMOS (série 74HCxxxx).
Ce n'est pas parce qu'on a repris la dénomination 74 que ce sont des TTL, ce sont des circuits CMOS . Ils satisfont aux normes niveaux bas et niveaux haut CMOS, leur seule particularité est qu'ils ne fonctionnent que sous 5V.
D'autre séries (comme la 4xxx) fonctionnent entre 3V et 18V.
Cas particulier des circuits HCT : en plus d'être CMOS ils satisfont aux normes de niveaux TTL --> ils ont étés conçus pour remplacer les circuits TTL dans du vieux matériel. Ici nous ne nous en servons pas.
Nota : le microcontrôleur des cartes arduino est en technologie CMOS mais ne répond pas aux normes CMOS (sauf pour l'I2C et probablement le SPI).
Un signal compris entre 0V et 2,45V sera reconnu comme un niveau bas.
Un signal compris entre 2,55V et 5V sera reconnu comme un niveau haut.
- Forme d'onde.
Je précise de suite que c'est totalement indépendant du niveau.
Signal rectangulaire basique :
|---------||---------|
PWM = Pulse Wave Modulation et en français MLI = Modulation par largeur d’impulsion.
C'est un signal répétitif, de fréquence constante dont on module le rapport cyclique, RC en français, DC = duty cycle en anglais.
RC = durée du 1/ période du signal
Exemple :
|--------||--------|| RC = 50%
|--|________ |--|________| RC ~ 10%
|--------------|_|-----------------| RC ~ 80 %
A quoi sert la PWM ?
Si on "lisse" le signal sur une période on obtient une tension continue qui varie avec le rapport cyclique.
Amplitude = 5V
RC = 50% --> valeur lissée = 2,5V
RC = 10 % --> valeur lissée = 0,5V
RC = 0% --> valeur lissée = 0V
RC = 100% --> valeur lissée = 5V
Sur ce forum c'est le plus souvent utilisé pour faire varier la luminosité d'une DEL (led en anglais) ou la vitesse d'un moteur.
Bien entandu on peut faire de la PWM en TTL, CMOS, ECL, etc puisque cela n'a rien à voir avec le niveau, c'est juste un rapport cyclique qui change.