01 · Punto de partida
Sin reloj no hay programa que avance
Cada micro ejecuta a golpes de un oscilador: si el golpe es impreciso, el UART balbucea, el USB se cae y el reloj atrasa minutos por día. La precisión se compra con el componente justo: cristal (exacto), resonador (barato) o RC interno (gratis y vago).
En este curso no diseñás osciladores: aprendés a elegirlos y conectarlos según la hoja del micro (curso 7).
- ¿Qué diferencia cristal de resonador?
- ¿Qué significa “20 ppm”?
- ¿Para qué alcanzan RC interno y resonador?
- ¿Qué capacitores lleva el cristal?
02 · Tipos
Tres relojes, tres precios
| Tipo | Exactitud | Deriva por día | Uso |
|---|---|---|---|
| Cristal cuarzo | 10–100 ppm | 1–9 s | UART, USB, RTC serio |
| Resonador cerámico | ~0,5 % (5000 ppm) | ~7 min | Micros generales baratos |
| RC interno | 1–2 % | 15–30 min | LED, botones, juguetes |
UART a 115200 tolera ~2–3 %: cristal sobra, resonador va justo, RC interno depende del micro (algunos calibrados sirven, otros no).
03 · Conexión
Cristal + 2 capacitores, pegados al micro
- 1Cristal entre pines XTAL.
Sin polaridad. Lo más corto posible al micro: pistas largas captan ruido y falsean.
- 2Un capacitor de cada pata a GND.
Típico 2× 18–22 pF (lo que pida la hoja: CL = (C1×C2)/(C1+C2) + parásitos ≈ CL del cristal).
- 3Resonador de 3 patas.
Trae los capacitores adentro: central a GND, extremos a XTAL. Más simple, menos exacto.
04 · Verificación
Sin osciloscopio, por síntomas
- Micro muerto total
- Fusibles/oscilador mal configurado o cristal que no arranca (caps mal, pista larga, cristal dañado). Revisar configuración antes que soldadura.
- UART con basura
- Baudios desviados: reloj impreciso o mal elegido (RC donde pedía cristal). Probar cristal conocido.
- Multímetro en pines XTAL
- Lee ~Vcc/2 fluctuante si oscila (orientativo, no medición). 0 V o Vcc fijos = no oscila.
- No tocar con dedos
- La capacidad del cuerpo puede pararlo o desviarlo momentáneamente: medir sin apoyar.
05 · Deriva en código
ppm a segundos por día
Convertir exactitud en deriva real y comparar opciones:
Python en tu navegador. Compará relojes y ejecutá el veredicto UART.
def deriva(ppm, nombre="reloj"):
seg_dia = ppm / 1e6 * 86400
print(f"{nombre} {ppm}ppm -> {seg_dia:.1f} s/día")
return seg_dia
for nombre, ppm in [("cristal", 20), ("cristal barato", 100),
("resonador", 5000), ("RC interno", 15000)]:
deriva(ppm, nombre)
¿Cuántos ppm admite tu reloj despertador con 1 min/mes de error? (1 min/mes ≈ 23 ppm.)
Capacitores de carga
Verificar que tus caps dan el CL del cristal:
def c_carga(c1_pF, c2_pF, parasitos_pF=5):
cl = (c1_pF * c2_pF) / (c1_pF + c2_pF) + parasitos_pF
print(f"C1={c1_pF} C2={c2_pF} + {parasitos_pF}pF -> CL={cl:.1f} pF")
return cl
c_carga(22, 22) # cristal CL=16pF: ¿sirve?
c_carga(18, 18)
06 · Analogía programador
NTP por hardware
- 1Cristal = NTP.
Referencia confiable contra la que todo se mide. Sin ella, cada nodo deriva por su cuenta.
- 2ppm = drift.
Partes por millón como segundos por día: el SLA del tiempo. 20 ppm = 1,7 s/día.
- 3Caps = tuning.
Valores que ajustan la frecuencia al punto justo: configuración, no decoración.
07 · Exploración
Laboratorio: ¿qué reloj pide tu proyecto?
Elegí el uso: el laboratorio recomienda reloj, justifica con deriva y marca la trampa de elegir mal.
Uso → reloj
precisión → pieza
UART: cristal, 2–9 s/día de deriva.
Preguntas para explorar
- ¿Por qué USB exige más que UART?
- ¿Qué reloj pondrías en 1000 juguetes baratos?
- ¿Cómo verificás sin osciloscopio que el cristal oscila?
Ver respuestas sugeridas
- USB tolera ~0,25 % (2500 ppm) pero con jitter exigente: cristal dedicado o micro con USB calibrado. UART aguanta 2–3 %.
- RC interno o resonador: 7–30 min/día no importan en un juguete. Cristal sería derroche.
- Síntomas + multímetro (~Vcc/2 fluctuante) + probar firmware mínimo (blink): si parpadea, hay reloj.
08 · Comprensión
Confusiones frecuentes
«Más MHz siempre mejor»
Más MHz = más consumo y más exigencia de layout, no más “potencia” automática. Se elige lo que el micro y el proyecto piden (hoja).
«Los capacitores son opcionales»
Sin ellos muchos cristales no arrancan o van desviados. Son parte del oscilador, no decoración: los que indica la hoja.
«Resonador y cristal dan igual»
Factor ~50–500 en exactitud (20 ppm vs 0,5 %). Para UART flexible da igual; para USB o relojes, no.
«Cualquier cristal de MHz parecidos»
UART necesita el valor exacto (o divisor válido): 16 MHz ≠ 12 MHz para los baudios. El valor lo fija el micro/proyecto.
09 · Práctica guiada
Ejercicios de tiempo
Ejercicio 1: deriva comparada
Con deriva(): 20, 100, 5000 y 15000 ppm a s/día. ¿Cuál sirve para despertador 1 min/mes?
Ver solución razonada
1,7 / 8,6 s / 7,2 min / 21,6 min por día. 1 min/mes ≈ 2 s/día ≈ 23 ppm: solo el cristal de 20 ppm. El resto atrasa el despertador.
Ejercicio 2: caps de carga
Cristal CL 16 pF, parásitos 5 pF. ¿C1 = C2? Verificá con c_carga() 22 y 18 pF.
Ver solución
Necesitás (C/2) + 5 = 16 → C = 22 pF (da 16,0 ✓). Con 18: 14,0 pF (desviado: frecuencia corrida).
Ejercicio 3: elegir tres proyectos
Blink con botón, UART 9600 y USB: asigná reloj a cada uno y justificá con deriva/tolerancia.
Ver solución
Blink: RC interno. UART 9600 (tol ~2 %): cristal o RC calibrado según micro. USB: cristal (o micro con USB de precisión).
10 · Síntesis
Ideas para recordar
- Cristal ppm (comunicación), resonador 0,5 % (barato), RC 1–2 % (juguetes).
- ppm a s/día: ×0,0864. 23 ppm ≈ 2 s/día ≈ 1 min/mes.
- Cristal + 2 caps de hoja, pegados al micro; resonador con central a GND.
- Sin osciloscopio: síntomas + Vcc/2 + firmware blink.
- El valor lo fija el proyecto (baudios/USB), no el gusto.
Tiempo exacto dominado. Ahora, lo más tocado con las manos: en el próximo tema, interruptores y pulsadores a fondo.