🛠 Pousser la carte : overclocking 912 MHz, gestion d'alimentation, sécurité et récupération
Objectifs
Le tutoriel de la maturité : overclocker proprement, dimensionner l'alimentation, utiliser la pile VBAT et la broche On/Off, et savoir récupérer une carte qui semble perdue — en gardant en tête l'absence de reset matériel.
Overclocking : ce qui est officiel, ce qui ne l'est pas
- Fréquence nominale : 600 MHz ; overclocking officiellement supporté : 912 MHz (tableau technique PJRC).
- Tests communautaires (« Overclocking the Teensy 4.x — Ultimate Thread ») : 720/816/912/960/1008 MHz, avec au-delà de 912 MHz un garde-fou
YES_COOLING— « Overclocking where COOLING IS REQUIRED ». Refroidissement actif (dissipateur + ventilateur) indispensable. - Le chiffre « 1012 MHz » parfois cité : >
- Tension cœur générée par le hacheur embarqué : 1,25 V à 600 MHz, 1,15 V à ≤528 MHz, 0,95 V à 24 MHz, ajustable par pas de 50 mV.
- Consommation typique : « approximately 100 mA » à 600 MHz sous 5 V (page produit) — prévoyez large en overclock + LED + audio.
Code complet
// Overclock officiel max + reset logiciel (aucune broche reset !).
void setup {
Serial.begin(9600);
set_arm_clock(912000000); // 912 MHz : max OFFICIEL — refroidir !
Serial.printf("ARM = %u MHz\n",
(unsigned)(F_CPU_ACTUAL / 1000000UL));
}
void loop {
if (Serial.available && Serial.read == 'r') {
Serial.println("réinitialisation...");
delay(10);
SCB_AIRCR = 0x05FA0004; // SYSRESETREQ : le seul reset possible
} // (pas de broche reset sur Teensy 4.0)
}
Alimentation et batterie
- Pile CR2032 sur VBAT : tient l'RTC (cristal 32,768 kHz embarqué — contrairement au Teensy 3.2, rien à souder) et les 16 octets de RTC RAM (registres LPGPR0-3).
- Broche On/Off : maintien 4 s = coupure du rail 3,3 V ; 0,5 s = redémarrage ; l'état est retenu par la pile VBAT.
- VIN et VUSB sont reliés : injecter du 5 V sur VIN micro-USB branché refoule dans le PC — couper les pads de séparation au dos. Sur les cartes d'avant août 2022, démarrage capricieux si VUSB-VIN < 4,1 V (R4 passé à 470 K ensuite).
- Alimenter par le 3,3 V : non supporté sans modification matérielle ; le 3,3 V est une sortie (250 mA max).
Sécurité et récupération
- Le bootloader vit dans une puce séparée : le téléversement ne peut pas le détruire — une carte « qui clignote » est récupérable.
- Maintenir le bouton Program 13 à 17 s : efface TOUTE la mémoire non volatile (programme + EEPROM émulée) et restaure le programme LED-blink de secours.
- Variante Lockable : fusibles configurables, mode secure permanent, coupure JTAG, firmware chiffré EHEX, moteur de chiffrement de bus (bus encryption) ; le accélérateur matériel CAU n'a « currently no library support », le vrai générateur aléatoire passe par la lib Entropy.
- Pas de reset matériel : en production, armez un watchdog (3 watchdogs matériels, 49 timers au total) plutôt que de compter sur une intervention physique.
Vérification attendue
Le Moniteur affiche « ARM = 912 MHz » ; le capteur de température interne (tuto 3) montre la dérive thermique avant/après ventilateur. La commande 'r' provoque la re-énumération du port série : le reset logiciel fonctionne. Retirez l'USB 10 minutes : l'RTC garde l'heure grâce à VBAT. Testez la récupération sur une carte de test : effacement 13-17 s → la LED se met à clignoter (programme de secours) → un simple téléversement redonne vie à la carte.
Erreurs fréquentes
- Overclocker à 912+ sans refroidissement dans un boîtier fermé : instabilité aléatoire, corruptions — la communauté l'exige explicitement au-delà de 912 MHz.
- Croire au « 1012 MHz » d'internet : tenez-vous-en aux 912 MHz officiels (1008 MHz testés en communauté, déclin de responsabilité assumé). >
- Paniquer sur une carte « morte » : vérifier d'abord câble USB, puis bouton Program (LED rouge faible = bootloader vivant).
- Perdre l'EEPROM en faisant un effacement 13-17 s « pour voir » : c'est l'option nucléaire, étiquetez vos cartes de test.
- Compter sur un bouton reset qui n'existe pas : intégrez watchdog + sauvegarde d'état sur EEPROM/RTC RAM dès le premier prototype embarqué.
- Négliger la tension cœur en sous-fréquentant : à 24 MHz le cœur tombe à 0,95 V — les réglages manuels de tension (pas de 50 mV) se testent au multimètre, pas au doigt mouillé.
Autres tutoriels pour cette carte
- Premiers pas sur le Teensy 4.0 : Teensyduino, Loader et premier Blink
- GPIO et PWM sous 3,3 V : les règles d'or du Teensy 4.0
- Entrées analogiques et capteur de température interne : le ADC et ses limites
- Piloter un ruban WS2812 sans bloquer le CPU : WS2812Serial et OctoWS2811
- Contrôleur MIDI USB : un potard qui joue du piano (MIDIx4/MIDIx16)
- Comprendre la mémoire : 2 Mo de flash, 1 Mo de RAM TCM/DMA, EEPROM émulée et LittleFS
Exemples de code pour cette carte
clignotante.inoArduinotouche-capacitive.inoArduinoanalogique-12-bits.inoArduinomidi-piano.inoArduinopwm-respiration.inoArduinoservo-angle.inoArduino