🛠 Pousser la carte : overclocking 912 MHz, gestion d'alimentation, sécurité et récupération
Objetivos
El tutorial de la madurez: hacer overclocking de forma limpia, dimensionar la alimentación, utilizar la pila VBAT y el pin On/Off, y saber recuperar una placa que parece perdida — teniendo siempre en cuenta la ausencia de reset por hardware.
Overclocking: lo oficial y lo no oficial
- Frecuencia nominal: 600 MHz; overclocking oficialmente admitido: 912 MHz (tabla técnica de PJRC).
- Pruebas de la comunidad («Overclocking the Teensy 4.x — Ultimate Thread»): 720/816/912/960/1008 MHz, con un salvaguarda
YES_COOLINGpor encima de 912 MHz — «Overclocking where COOLING IS REQUIRED». El enfriamiento activo (disipador + ventilador) es indispensable. - La cifra «1012 MHz» que a veces se cita: >
- Tensión del núcleo generada por el regulador conmutado embarcado: 1,25 V a 600 MHz, 1,15 V a ≤528 MHz, 0,95 V a 24 MHz, ajustable en pasos de 50 mV.
- Consumo típico: «approximately 100 mA» a 600 MHz bajo 5 V (página de producto) — prevea margen amplio con overclock + LED + audio.
Código completo
// 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("reinitialisation...");
delay(10);
SCB_AIRCR = 0x05FA0004; // SYSRESETREQ : le seul reset possible
} // (pas de broche reset sur Teensy 4.0)
}
Alimentación y batería
- Pila CR2032 en VBAT: mantiene el RTC (cristal de 32,768 kHz embarcado — a diferencia del Teensy 3.2, no hay nada que soldar) y los 16 bytes de RTC RAM (registros LPGPR0-3).
- Pin On/Off: mantener pulsado 4 s = corte del rail de 3,3 V; 0,5 s = reinicio; el estado se retiene mediante la pila VBAT.
- VIN y VUSB están conectados: inyectar 5 V en VIN con el micro-USB conectado retroalimenta al PC — corte los pads de separación en la parte trasera. En las placas anteriores a agosto de 2022, el arranque es errático si VUSB-VIN < 4,1 V (R4 cambió a 470 K posteriormente).
- Alimentar por el 3,3 V: no admitido sin modificación de hardware; el 3,3 V es una salida (máx. 250 mA).
Seguridad y recuperación
- El bootloader reside en un chip separado: la carga no puede destruirlo — una placa «que parpadea» es recuperable.
- Mantener pulsado el botón Program durante 13 a 17 s: borra TODA la memoria no volátil (programa + EEPROM emulada) y restaura el programa de emergencia LED-blink.
- Variante Lockable: fusibles configurables, modo secure permanente, corte JTAG, firmware cifrado EHEX, motor de cifrado de bus (bus encryption); el acelerador criptográfico CAU no tiene «currently no library support», el generador aleatorio real se utiliza mediante la librería Entropy.
- No hay reset por hardware: en producción, active un watchdog (3 watchdogs de hardware, 49 temporizadores en total) en lugar de depender de una intervención física.
Verificación esperada
El Monitor muestra «ARM = 912 MHz»; el sensor de temperatura interno (tuto 3) muestra la deriva térmica antes/después del ventilador. El comando 'r' provoca la re-enumeración del puerto serie: el reset por software funciona. Desconecte el USB durante 10 minutos: el RTC mantiene la hora gracias a VBAT. Pruebe la recuperación en una placa de prueba: borrado de 13-17 s → el LED empieza a parpadear (programa de emergencia) → una simple carga devuelve la vida a la placa.
Errores frecuentes
- Hacer overclocking a 912+ sin refrigeración en una carcasa cerrada: inestabilidad aleatoria, corrupciones — la comunidad lo exige explícitamente por encima de 912 MHz.
- Creer en el «1012 MHz» de internet: ciña a los 912 MHz oficiales (1008 MHz probados por la comunidad, asumiendo la declinación de responsabilidad). >
- Entrar en pánico por una placa «muerta»: verifique primero el cable USB, luego el botón Program (LED rojo débil = bootloader vivo).
- Perder la EEPROM al hacer un borrado de 13-17 s «por probar»: es la opción nuclear, etiquete sus placas de prueba.
- Contar con un botón de reset que no existe: integre watchdog + guardado de estado en EEPROM/RTC RAM desde el primer prototipo embarcado.
- Descuidar la tensión del núcleo al reducir la frecuencia: a 24 MHz el núcleo cae a 0,95 V — los ajustes manuales de tensión (pasos de 50 mV) se prueban con multímetro, no a ojo.
Otros tutoriales para esta placa
- 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
Ejemplos de código para esta placa
clignotante.inoArduinotouche-capacitive.inoArduinoanalogique-12-bits.inoArduinomidi-piano.inoArduinopwm-respiration.inoArduinoservo-angle.inoArduino