¿Estoy haciendo overclocking en un PIC18F4525?

2

Estoy trabajando en un producto heredado, por lo que no puedo ajustar el cristal o el tablero de ninguna manera. Originalmente fue escrito en PicBasicPro y estoy cambiando las cosas a Hi-Tech C.

Es un Pic18F4525 y tiene un cristal de 20Mhz. Según la hoja de datos, el PLL solo multiplica la frecuencia por 4.

Entonces, esto me daría una frecuencia de 20Mhz

__CONFIG(1, HS & IESOEN & FCMEN);

Esto me daría una frecuencia de 80Mhz

__CONFIG(1, HSPLL & IESOEN & FCMEN);

Sorprendentemente, al habilitar HSPLL, las salidas del puerto serie correctamente, el lcd aún genera salidas, aparte de los tiempos de retardo, no vi que se rompiera nada.

Entonces, mi pregunta es, ¿qué frecuencia corre el reloj? ¿Realmente se está ejecutando 80Mhz con PLL? ¿O el compilador Hi-Tech C sabe que la velocidad máxima del reloj es de 40Mhz y la limita allí?

Probablemente me mantendré seguro y lo dejaré a 20Mhz, pero habría esperado serios problemas al sincronizar un chip de 40Mhz a 80Mhz y no ver ninguno.

    
pregunta drinck

3 respuestas

7

No, no puede habilitar el PLL con un cristal de 20 MHz ya que la velocidad de reloj de 80 MHz está fuera de especificaciones. El PIC puede parecer que funciona, pero no hay garantía de que se pueda arruinar a qué hora y sin previo aviso. Overclocking es un juego donde no se gana nada que algunas personas despistadas se involucran en eso, y piensan que hay un almuerzo gratis. Usted dijo "producto", por lo que realmente no quiere ir allí.

    
respondido por el Olin Lathrop
2
  • Esta es una copia descarada de otra respuesta mía, pero es más divertido ponerla aquí para que la vean. El solo hecho de poner un enlace significa que menos personas lo verán y creo que es lo suficientemente divertido y lo suficientemente apropiado como para publicarlo aquí de esta manera.

    Si desea activar esta respuesta [:-)], envíe la copia a aquí y

    Eliminaré esta respuesta a su debido tiempo.
    Por favor, deje esto en vivo por unos días.

Cómo hacer que la vida sea más interesante 101:

  • Si no te importa

    que sus resultados a veces pueden estar equivocados,
    que su sistema a veces puede fallar,
    que tu vida sea más interesante,
    que su clon de Segway solo ocasionalmente hace plantas frontales sin ninguna razón obvia,
    que ...

    luego, por todos los medios, ejecute la pieza fuera de las especificaciones del fabricante

Obtienes lo que no pagas.
 Si tienes una cabeza de $ 10, compra un casco de $ 10.

A menudo puede funcionar.
 Puede que no funcione a veces.
 Puede que no sea obvio que a veces no funciona.

  • Una división generalmente puede funcionar
  • Normalmente puede llegar un salto.
  • Es posible que una tabla se vea correctamente.
  • Un valor de ADC puede ser correcto.

    O no

Laversiónfinalserá:

Consultemirespuestaen aquí re "" Overclocking "un AVR" que se aplica bien lo suficiente como para que valga la pena verlo, incluso si lo digo yo mismo :-).

    
respondido por el Russell McMahon
0

No creo

__CONFIG(1, HS & IESOEN & FCMEN);

activa el PLL, por lo que las cosas están funcionando.

Creo que necesitas:

__CONFIG(1, HSPLL & IESOEN & FCMEN);

porque en \ dat \ cfgdata \ 18f4525.cfgdata, veo:

CVALUE:6:HSPLL:HS oscillator, PLL enabled (Clock Frequency = 4 x FOSC1)
CVALUE:2:HS:HS oscillator
    
respondido por el Adam Lawrence

Lea otras preguntas en las etiquetas