Minuteur programmable Intel 8253/8254 : Modes et formes d'onde
L'Intel 8253 (et 8254 compatible) est un minuteur/compteur programmable à 3 canaux 16 bits utilisé dans architectures PC/XT/AT et d'innombrables systèmes embarqués. Chaque canal fonctionne indépendamment dans l'un de six modes.
Modes de fonctionnement
| Mode | Nom | Comportement | Usage typique |
|---|---|---|---|
| 0 | Interruption sur compte terminal | One-shot : OUT bas au chargement, haut à 0 ; génère IRQ | Tic système, interruption différée |
| 1 | One-shot retriggerable matériel | OUT bas pendant compte horloges après front montant GATE | Génération impulsion, anti-rebond |
| 2 | Générateur de taux | Diviseur par N : OUT pulse bas 1 cycle tous les N comptes | Horloge baud-rate, interruption périodique |
| 3 | Générateur onde carrée | OUT bascule tous les N/2 comptes (50% duty) | Tonalité haut-parleur, tic minuteur |
| 4 | Strobe déclenché logiciel | OUT haut ; passe bas 1 cycle au compte terminal | Strobe temporisé |
| 5 | Strobe déclenché matériel | Comme mode 4 mais déclenché par front montant GATE | Chronométrage événement externe |
Caractéristiques formes d'onde
- Mode 0 : Impulsion positive unique au TC.
- Mode 1 : Impulsion basse largeur = compte ; retriggerable.
- Mode 2 : Impulsion basse périodique (1 cycle) tous les N cycles.
- Mode 3 : Onde carrée symétrique (période = N cycles).
- Mode 4/5 : Strobe bas unique au TC.
(Images formes d'onde omises ; consulter figures 9–14 datasheet Intel 8253 pour diagrammes temporels exacts.)
Séquence programmation
- Écrire mot de contrôle port 43h : SC1 SC0 RW1 RW0 M2 M1 M0 BCD.
- Écrire LSB puis MSB du compte sur port canal (40h/41h/42h).
- Signal GATE (port 61h bit 0 pour Ch2) active le comptage.
Mapping PC hérité
- Ch 0 → IRQ0 (minuteur système, 18,2 Hz défaut)
- Ch 1 → Rafraîchissement DMA (obsolète)
- Ch 2 → Tonalité haut-parleur (port 61h bit 1)
x86 moderne utilise HPET/APIC ; 8254 émulé dans chipset/PCH pour compatibilité ascendante.
