Necesito diseñar un resonador de cristal que pueda usarse como fuente de reloj para una unidad uC. El primer diseño es para un ENC28J60 IC, es un módulo Ethernet - spi y necesita una frecuencia de 25MHz.
Intenté seguir muchos tutoriales y sitios, pero todavía no puedo entenderlo, no estoy seguro de si el diseño funcionará.
Escogí un cristal que me parecía bien, el QCS25.0000F18B35. Es 25MHz, Cl es 18pF, la tolerancia de frecuencia es + - 30ppm y la estabilidad es + -50ppm.
Utilicé esta nota de aplicación de STM como referencia para los cálculos. Dado que el segundo proyecto es diseñar un STM32F207 uC que también necesite otro cristal.
En el documento decía $$ Cl \: = \: \ frac {C1 \ cdot C2} {C1 + C2} + Cs $$ para calcular C1 y C2, ya que pueden ser el mismo valor que la fórmula sería $$ Cl = 2 \ cdot \ left (C-Cs \ right) $$ Si usa 18pF para Cl y 3pF para Cs, le da un valor C1 y C2 de 30pF.
Hasta ahora, ¿es esta una forma correcta de hacer esto?
El siguiente es el nivel de la unidad, la potencia máxima que el cristal puede disipar es de 1 mW. Si yo uso $$ I_ {Qmax} = \ sqrt {\ frac {DL_ {max}} {ESR}} = \ sqrt {\ frac {1mW} {40}} = 5mA $$ Cuando luego calculo la corriente que fluirá en el oscilador usando $$ I_ {Q \: RMS} = 2 \ cdot \ pi \ cdot f \ cdot V_ {RMS} \ cdot C_ {tot} = 2 \ pi \ cdot 25 \ cdot 10 ^ 6 \ cdot \ frac {3.3} {2 \ sqrt {2}} \ cdot \ left (C + \ frac {C_s} {2} \ right) = 5.79mA $$ Obviamente, esto es más que la corriente máxima, por lo que con esta configuración debería haber una R adicional insertada. Pero cómo calcular eso ... no tengo idea. He leído que podría calcularlos usando los "interiores" de la XTAL, o tomar un valor que podría funcionar con un potenciómetro y trabajar desde allí para obtener un valor viable. Pero no puedo probar el cristal en la vida real. Tiene que ser posible calcularlo ¿verdad?
Cuando probé otros valores para Cl, por ejemplo 12pF, usar 3pF para los Cs te da C1 = C2 = 18pF. Esto debería dar una corriente de 3.58mA, y eso debería funcionar. ¿Es este un valor viable también? y ¿es posible usar mis valores anteriores usando Rs?