>> Technologie Électronique >  >> Radio par satellite >> XM

Fréquence max Timer 8051 Mode 1 avec quartz 11,0592 MHz

Le quartz 11,0592 MHz est une « fréquence magique » pour systèmes 8051 car il divise proprement vers débits baud standard. Mais quelle est la fréquence maximum génératable avec Timer 1 en Mode 1 (timer 16-bit) ?

Fonctionnement Timer 1 Mode 1

Mode 1 configure Timer 1 comme timer/compteur 16-bit (TH1:TL1). Le timer s'incrémente chaque cycle machine.

Structure horloge 8051

  • Fréquence quartz : FOSC = 11,0592 MHz
  • Cycle machine : 12 cycles horloge (8051 standard)
  • Fréquence incrémentation timer : FTIMER = FOSC / 12 = 921,6 kHz
  • Période timer : TTIMER = 1 / 921,6 kHz ≈ 1,085 μs

Méthodes génération fréquence

Méthode 1 : Basculement sur débordement timer (Logiciel)

Timer compte jusqu'à 0xFFFF (65 536), déborde, positionne drapeau TF1. Logiciel bascule broche sortie dans ISR.

  • Taux basculement max = FTIMER / 65 536 = 921 600 / 65 536 = 14,0625 Hz
  • Fréquence sortie = taux basculement / 2 = 7,03 Hz (carré)
  • Impratique pour génération fréquence — trop lent

Méthode 2 : Rechargement timer avec basculement sortie (Mode 2 - Rechargement auto 8-bit)

Pas Mode 1, mais couramment utilisé pour génération fréquence :

  • TH1 contient valeur rechargement, TL1 compte
  • Fréquence max (TH1=1) : FTIMER / 2 = 921,6 kHz / 2 = 460,8 kHz
  • Fréquence min (TH1=255) : 921,6 kHz / 510 = 1,807 kHz

Méthode 3 : Mode 1 avec sortie matérielle (Si disponible)

8051 standard n'a pas de basculement sortie matériel en Mode 1. Certaines variantes (DS89C420, AT89LP, Silicon Labs) ajoutent broches Timer Output (TO), mais 8051/8031/8052 originaux non.

Méthode 4 : Mode 0 (Timer 13-bit) — Pas Mode 1

Mode 0 : timer 13-bit (TL1[4:0] + TH1[7:0]). Contraintes fréquence max similaires.

La vraie réponse : Ça dépend de votre méthode sortie

Si Mode 1 pur (16-bit) + ISR logiciel :

Fréquence pratique maximum ≈ 1-2 kHz (limité latence ISR ~50-100 cycles)

Si Mode 2 (Rechargement auto 8-bit) avec basculement matériel (variantes supportées) :

Maximum = 460,8 kHz (TH1=1, duty cycle 50%)

Si logique externe avec impulsion débordement timer :

Impulsion débordement Timer 1 tous les 65 536 comptes = train impulsions 14,06 Hz. Peut alimenter diviseur/compteur externe.

Pourquoi 11,0592 MHz ? La liaison débit baud

Ce quartz existe pour la communication série, pas génération fréquence :

Débit baudRechargement Timer 1 (Mode 2)Erreur
96000xFD (-3)0%
192000xFA (-6)0%
384000xF4 (-12)0%
576000xEE (-18)0%
1152000xDC (-36)0%
2304000xB8 (-72)0%
4608000x70 (-144)0%
9216000xE0 (-32) *0% (SMOD=1)

* Nécessite SMOD=1 (PCON.7) pour 921600 baud.

Recommandations pratiques

  1. Pour débits baud : Utilisez Timer 1 Mode 2 (rechargement auto 8-bit) — conçu pour ça
  2. Pour génération fréquence : Utilisez Timer 0/1 Mode 2 avec basculement matériel (si variante supporte) ou mode PWM (variantes modernes)
  3. Pour hautes fréquences : Utilisez PCA (Programmable Counter Array) sur 8052/variantes modernes — jusqu'à FOSC/4 = 2,76 MHz
  4. Pour Mode 1 spécifiquement : C'est pour mesure temps (largeur impulsion, période), pas sortie fréquence

Conclusion

Avec 8051 standard Timer 1 Mode 1 (timer 16-bit) et quartz 11,0592 MHz : fréquence max générée logiciellement ~1-2 kHz. Le but du quartz 11,0592 MHz est génération débits baud via Mode 2, pas synthèse fréquence Mode 1. Pour fréquences supérieures, utilisez Mode 2, PCA, ou générateurs d'horloge programmables externes.

XM