Le quartz 20 MHz est le résonateur qui cadence les montages les plus rapides de la gamme : PIC 16F84A, ATmega328P ou tout autre microcontrôleur dont la fréquence maximale est justement 20 MHz. Entre ses deux broches, il impose 20 000 000 de cycles par seconde : c’est lui qui fixe la vitesse du processeur, la justesse des temporisations et la précision des compteurs.
C’est un quartz à deux broches en boîtier métallique traversant, le même que le quartz 16 MHz de la boutique : seule la fréquence change, l’empreinte sur la carte et la méthode de câblage sont identiques. Il se soude sur une carte à trous métallisés comme il se plante sur une plaque d’essai.
Pourquoi 20 MHz plutôt que 16 MHz
Un quart de cycles en plus par seconde : le même programme exécute environ 25 % d’instructions supplémentaires dans le même temps. C’est utile pour un calcul lourd, un affichage multiplexé, une boucle d’asservissement ou un comptage d’impulsions rapides.
Ce gain a une contrepartie, et c’est la seule vraie difficulté de ce quartz : tout ce qui est calculé à partir de la fréquence doit suivre. Les temporisations logicielles, le prédiviseur des timers et le registre qui règle la vitesse du port série sont écrits pour une fréquence donnée. Un montage conçu pour 16 MHz et cadencé par un quartz 20 MHz voit ses délais raccourcis d’un quart et sa liaison série s’établir à une vitesse fausse. La règle est simple : on choisit la fréquence, puis on écrit le programme pour cette fréquence — jamais l’inverse.
Deux autres raisons plaident pour 20 MHz : c’est la fréquence maximale des microcontrôleurs 8 bits les plus répandus (PIC 16F84A-20, ATmega328P en mode oscillateur pleine amplitude sous 5 V), et c’est un nombre qui se divise bien — par deux, on obtient 10, 5, 2,5 puis 1,25 MHz, et une division entière donne 4 ou 2 MHz. Une base de temps propre pour un compteur ou un générateur de signal coûte donc une seule porte diviseuse.
Caractéristiques techniques
| Fréquence | 20,000 MHz |
|---|---|
| Type | Quartz AT coupé, résonance fondamentale |
| Boîtier | Métallique traversant à 2 broches (famille HC-49) — corps d’environ 11 × 4,5 mm, broches espacées de 4,88 mm |
| Brochage | Deux broches, non polarisées : indifféremment sur OSC1 et OSC2 (ou XTAL1 et XTAL2) |
| Mode d’oscillation | Résonance parallèle : c’est la capacité de charge du montage qui fixe la fréquence exacte |
| Capacité de charge (CL) | 20 pF typique — 2 condensateurs de 22 pF à la masse en pratique |
| Condensateurs de charge conseillés | 15 à 33 pF par broche en mode HS à 20 MHz (valeurs du fabricant du microcontrôleur) |
| Tolérance de fréquence | ±30 ppm à 25 °C (valeur habituelle de cette famille) |
| Stabilité en température | ±30 ppm de −20 °C à +70 °C |
| Résistance série (ESR) | 30 à 50 Ω maximum selon le fabricant |
| Capacité shunt (C0) | 7 pF maximum |
| Niveau d’excitation | 100 µW typique — 500 µW à ne jamais dépasser |
| Résistance d’isolement | Supérieure à 500 MΩ sous 100 V continu |
| Vieillissement | Moins de 3 ppm la première année |
| Température de service | −20 °C à +70 °C |
Les tolérances et la capacité de charge varient d’un fabricant à l’autre : quand la précision finale compte, ce qui est gravé sur le boîtier et la fiche du fabricant font foi, pas cette page.
Applications
- Horloge de microcontrôleur — PIC 16F84A en mode HS, ATmega328P, ATmega32u4 : le quartz est la référence de fréquence du boîtier.
- Montage rapide — une boucle d’acquisition, une mesure de durée courte ou un multiplexage d’affichage profitent directement des 25 % de cycles en plus.
- Division en base de temps — 20 MHz divisé par deux puis par cinq donne 10, 5, 2,5 ou 4 MHz, une horloge propre pour un compteur ou un générateur de signal.
- Comptage d’impulsions — compter des impulsions avec un timer suppose une horloge stable ; l’oscillateur interne du microcontrôleur, lui, dérive de plusieurs pour cent.
- Réparation — un quartz cassé ou fissuré après un choc est la panne classique d’une carte qui refuse de démarrer ou qui tourne à une vitesse absurde.
- Pièce de rechange — sur un montage déjà en service, c’est la première pièce que l’on remplace pour lever un doute sur l’horloge.
Mini-projet : un PIC 16F84A à 20 MHz qui fait défiler huit LED
Objectif : faire tourner un PIC 16F84A à sa fréquence maximale, avec ce quartz comme horloge et huit LED sur le port B qui s’allument l’une après l’autre. C’est le montage de référence de ce microcontrôleur, et il vérifie trois choses d’un coup : que l’oscillateur démarre en mode HS, que le programme est bien cadencé par le quartz, et que le port B pilote correctement ses huit sorties.
Ce qu’il faut
| Le microcontrôleur | PIC 16F84A en boîtier DIP-18 — la version 20 MHz |
|---|---|
| L’horloge | Le quartz 20 MHz de cette page |
| Les condensateurs de charge | 2 condensateurs céramiques de 22 pF |
| Le maintien du reset | Résistance 1/4 W de 10 kΩ entre MCLR et +5 V |
| Les voyants | LED rouge 5 mm — une par sortie, huit en tout |
| La limitation de courant | Résistance 1/4 W de 220 Ω en série avec chaque LED |
| L’alimentation | Alimentation 5 V — le PIC 16F84A travaille entre 4,0 V et 5,5 V |
| Le support | Plaque d’essai 830 points |
| Les liaisons | Fils de prototypage mâle-mâle |
| Le programmateur | PICkit 3.5 — nécessaire pour graver le PIC et choisir le mode HS |
Le câblage
Les numéros de broches sont ceux du boîtier DIP-18, et non ceux d’une carte Arduino. La broche 1 est en haut à gauche quand on regarde la face avant, l’encoche vers le haut.
| Broche 14 (VDD) | → +5 V |
|---|---|
| Broche 5 (VSS) | → masse |
| Broche 4 (MCLR) | → résistance de 10 kΩ vers +5 V (le PIC reste en reset sans ce tirage) |
| Broches 15 et 16 (OSC2 et OSC1) | → les deux broches du quartz, l’une sur OSC1, l’autre sur OSC2 |
| Condensateur 22 pF nº 1 | de la broche 15 à la masse |
| Condensateur 22 pF nº 2 | de la broche 16 à la masse |
| Broches 6 à 13 (RB0 à RB7) | → résistance de 220 Ω → patte longue de la LED → patte courte à la masse |
| Broches 17, 18, 1 et 2 (RA0 à RA3) | libres — laissées non connectées |
Trois points de méthode évitent la quasi-totalité des échecs. Les fils du quartz et de ses deux condensateurs doivent être les plus courts possible, et les condensateurs placés au plus près du boîtier : une longue boucle de câblage sur un oscillateur à 20 MHz, c’est une horloge qui démarre mal ou pas du tout. Rien d’autre ne doit être relié aux broches 15 et 16. Le quartz, lui, n’a pas de sens : ses deux broches sont équivalentes, contrairement à une LED ou à un condensateur chimique.
Le programme
Le PIC 16F84A a une particularité qui explique la ligne de configuration du programme : au-delà de 4 MHz, le mode HS est obligatoire. C’est lui qui autorise l’oscillateur à piloter un quartz de 20 MHz avec le courant nécessaire pour le faire démarrer. Un montage réglé en mode XT (plafonné à 4 MHz) refuse tout simplement de fonctionner avec ce quartz.
; Chenillard 8 LED sur PIC16F84A cadence par un quartz 20 MHz
; Quartz sur OSC1 (broche 16) et OSC2 (broche 15), 22 pF vers la masse
; LED sur RB0 a RB7 (broches 6 a 13), une resistance de 220 ohms par LED
;
; Composants, brochage et fiche complete : www.marocproduits.com
list p=16F84A
#include "p16f84a.inc"
__CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF
cpt1 equ 0x20
cpt2 equ 0x21
cpt3 equ 0x22
org 0x0000
goto demarrage
demarrage
bsf STATUS, RP0 ; banque 1 : on regle les directions
clrf TRISB ; les huit broches RB en sortie
bcf STATUS, RP0 ; retour en banque 0
clrf PORTB
bsf PORTB, 0 ; premiere LED allumee
boucle
call attendre
rlf PORTB, F ; on decale tout vers la gauche
btfss STATUS, C ; le bit sorti est-il passe dans le report
goto boucle
bsf PORTB, 0 ; la huitieme etait allumee : on repart
goto boucle
; Attente d'environ 0,29 seconde a 20 MHz.
; A 20 MHz, un cycle d'instruction dure 1 / (20 MHz / 4) = 0,2 microseconde.
; La boucle ci-dessous compte environ 1 430 000 cycles.
attendre
movlw d'255'
movwf cpt3
b3 movlw d'255'
movwf cpt2
b2 movlw d'6'
movwf cpt1
b1 decfsz cpt1, F
goto b1
decfsz cpt2, F
goto b2
decfsz cpt3, F
goto b3
return
endPour ralentir le défilement, on augmente cpt3 ou on ajoute un quatrième compteur autour de l’appel ; pour l’accélérer, on réduit cpt1. Le décompte des cycles se fait toujours en cycles d’instruction — donc à partir de la fréquence du quartz divisée par quatre — et c’est ce calcul qui rend la temporisation juste.
Ce que le montage démontre
Le défilement avance d’une LED toutes les 0,29 seconde mesurée par le quartz. Si vous remplacez le quartz par une fréquence double, tout va deux fois plus vite et la temporisation devient fausse : c’est la démonstration la plus directe que la fréquence et le programme doivent être d’accord. Et si rien ne s’allume du tout, le doute porte presque toujours sur les condensateurs de charge, l’oubli du tirage de MCLR ou le mode HS non sélectionné dans le programmateur.
Variante : le même quartz sur un ATmega328P
Un ATmega328P en boîtier DIP-28 accepte lui aussi 20 MHz, mais à deux conditions strictes : l’alimentation doit rester à 5 V (au-dessous de 4,5 V, le boîtier n’est plus garanti à cette fréquence) et les fusibles doivent être réglés sur l’oscillateur à quartz pleine amplitude, seul mode spécifié au-delà de 16 MHz. Le quartz se câble alors entre les broches 9 et 10, avec les deux condensateurs de 22 pF à la masse, exactement comme sur le 16 MHz — mais le programme doit être compilé pour la nouvelle fréquence, sinon les délais et le port série sont faux d’un quart.
Questions fréquentes
Y a-t-il un sens à respecter en soudant le quartz ?
Non. Un quartz est un composant non polarisé : ses deux broches sont électriquement équivalentes et il fonctionne dans les deux sens. C’est l’inverse d’une LED ou d’un condensateur chimique, où l’inversion se paie par un composant qui ne fonctionne pas.
Quelle valeur pour les deux condensateurs de charge ?
22 pF convient : le fabricant du microcontrôleur donne 15 à 33 pF par broche pour un quartz de 20 MHz en mode HS, et 22 pF se trouve dans cette plage. La valeur se calcule à partir de la capacité de charge du quartz et de la capacité parasite du câblage : pour un quartz annoncé à 20 pF et un montage propre d’environ 5 pF de chaque côté, on arrive à 30 pF, mais les valeurs plus basses de la plage fonctionnent parfaitement. Une capacité trop élevée ralentit très légèrement l’oscillation ; une capacité absente, elle, empêche souvent l’oscillateur de démarrer.
Ce quartz peut-il remplacer le 16 MHz d’une carte Arduino ?
Non, pas en l’échangeant tel quel. La carte démarrerait, mais tout serait faux d’un quart : les délais du programme, les timers, la vitesse du port série et le débit de téléversement, qui ne tomberait plus juste. Un montage se conçoit pour une fréquence donnée, et le quartz 16 MHz reste la bonne pièce pour une carte Arduino standard. Le 20 MHz s’adresse aux montages écrits pour lui.
Quartz ou oscillateur : quelle différence ?
Un quartz est un résonateur passif : il ne produit rien tout seul, il faut l’oscillateur du microcontrôleur ou d’une porte logique pour le faire vibrer — d’où les deux condensateurs de charge. Un oscillateur (boîtier métallique à quatre broches, alimenté) contient déjà le quartz et son électronique : il délivre directement un signal carré, mais ses broches, son empreinte et son alimentation n’ont rien à voir. Les deux ne sont pas interchangeables, même à fréquence identique.
Mon microcontrôleur ne démarre pas : que vérifier ?
Dans l’ordre : le mode HS est-il bien sélectionné dans le programmateur (en mode XT, rien ne démarre au-dessus de 4 MHz) ? Les deux condensateurs de 22 pF sont-ils présents et reliés à la masse ? Le quartz est-il sur les bonnes broches, sans rien d’autre en parallèle ? MCLR est-il tiré vers +5 V par la résistance de 10 kΩ ? L’alimentation est-elle stable à 5 V ? Enfin, un quartz est un composant fragile : un choc peut le mettre hors service, et c’est la première pièce à remplacer sur une carte correctement câblée qui refuse de démarrer.
20 MHz, est-ce la limite ?
Pour les microcontrôleurs 8 bits les plus courants, oui : le PIC 16F84A-20 et l’ATmega328P s’arrêtent tous les deux à 20 MHz sous 5 V. Au-delà, il faut changer de boîtier ou utiliser un oscillateur externe. C’est aussi ce qui fait de ce quartz une pièce sûre pour une réparation : il correspond exactement à la fréquence maximale annoncée de ces deux familles.
Le quartz chauffe-t-il ou s’use-t-il ?
Il ne chauffe pas de façon perceptible et ne s’use pas mécaniquement. Sa fréquence dérive très lentement — moins de 3 ppm la première année — et un peu plus avec les écarts de température. Ce vieillissement s’accélère fortement si le quartz est sur-excité : dépasser durablement le niveau d’excitation maximal, c’est un résonateur qui s’éloigne de sa fréquence au bout de quelques milliers d’heures.
À combiner avec
Pour le montage de cette page, l’essentiel tient en quatre pièces : le PIC 16F84A qu’il cadence, un PICkit 3.5 pour le programmer, une plaque d’essai pour tout câbler sans souder, et une alimentation 5 V stable. Pour les voyants, une série de LED 5 mm et des résistances de 220 Ω couvrent les huit sorties. Si votre montage est prévu pour un ATmega328P, le circuit DIP-28 remplace le PIC — même quartz, même plaque d’essai, programme différent.








