TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: RodrigoAndres en 12 de Junio de 2015, 22:30:13
-
como el cristal interno del pic es de solo 8 megas entonces me pregunto ke pasaria si le pongo un cristal externo de 40 megas? la verdad nunca me atrevi a hacerlo pues tenia miedo de ke se sobrecalentara el pic y se quemara pero la verdad no se que pueda pasar.
le pondria asi al compilador para que tubiera efecto:
#use delay(clock=40M) //cristal a 40 megas de velocidad
alguno de ustedes lo a echo??
-
El PIC16F88 que tenias soporta hasta 20Mhz. Estas son las especificaciones que el fabricante da y que garantiza que funciona.
Podes ponerle un cristal de 40Mhz ? ( primero que es dificil encontrar uno de ese valor )
Si podes ponerle, pero no te puedo asegurar que fuera a andar. Primero por que no se si va a oscilar con el oscilador que tenga el PIC.
Ahora supongamos que tenes un reloj externo de 40Mhz en ves de un cristal por el tema del oscilador, ahora tenes otro problema, todas la electronica adentro necesita de un tiempo para llevarse a cabo, si vos lo alimentas con una frecuencia mucho mayor que lo que pueden responder estos circuitos ahi vas a tener problemas. ya que como puede haber mal funcionamientos, como puede funcionar bien , como tambien puede no andar para nada.
Un aumento en la frecuencia tambien implica un aumento de consumo. Y de disipacion de potencia.
En fin... hacele caso al fabricante, ellos te dan los limites de operacion, respetalos y no vas a quemar nada. No ganas nada haciendo eso cuando por 0.10 centavos de dolar mas tenes uno funcionando a esa otra frecuencia.
Con respecto a
#use delay(clock=40M) //cristal a 40 megas de velocidad
Vos ahi no le definis la velocidad del micro, no es que si pones 90Mhz va a funcionar a 90Mhz, eso es solo para que el compilador sepa a que velocidad iria el micro y poder calcular cuantos ciclos le toma para hacer un delay.
Un ejemplo simple
Suponete que usas tu PIC a 8Mhz
En tu programa tenes asi:
#use delay(clock=8M)
while(1){
led = 1;
delay_ms(1000);
led = 0;
}
Es decir enciende y apaga el led cada 1 segundo, perfecto, si ahora vos cambias el valor del #use delay por 4M y compilas el mismo codigo, pero NO le cambias la frecuencia del PIC ( es decir sigue a 8Mhz )
Tu codigo va a encender y apagar cada 0.5 segundos.
Por que el compilador calculo el retardo como si tuvieras un cristal de 4Mhz.
Asi que vuelvo a repetir, esa no es para elegir la frecuencia del micro sino que es para indicarle al compilador a que velocidad lo estas haciendo andar y asi el puede calcular para que los delays funcionen correctamente.
-
Vas a realizar overclocking ?
Saludos!
-
Hace ya varios años leí por la WEB que un "loquito" hacía overclocking con lo viejos y queridos 16F84 y a duras penas llegaba a los 28 MHz e incluso muchos a esas frecuencias ya se les quemaban o no funcionaban de manera correcta.
Un saludo.
Atte. CARLOS.
-
Primero.. manda de eso que consumis Rodrigo, aquí en Córdoba de la Nueva Andalus no se consigue de la buena :-/ :D
(https://fbcdn-sphotos-e-a.akamaihd.net/hphotos-ak-xfp1/v/t1.0-9/11008785_763608990423586_7087302089950735617_n.jpg?oh=d02934218d40f1c7b93b9eaa7b251f57&oe=55E794F3&__gda__=1445921402_783f1ecb08a3742829ca4e534d9d4f4c)
Pero si insistís en eso de hacer andar muy rápido estos pequeños microcontroladores, vas a tener que cambiar de modelo, o mejor de arquitectura, en 8bit Atmel logra a 20Mhz casi los 20Mips, contra Microchips y su costumbre de dividir por cuatro.
-
Mayor frecuencia indica mayor calor a disipar por parte del micro. Si excedés los límites del fabricante, es probable que el micro se queme o bien no funcione correctamente.
-
Yo tambien tuve esa duda, incluso busque en internet y esto fue lo que encontre.
Aclaro que nunca realize las pruebas correspondientes, pero nunca es tarde, quizas esta semana que hay varios feriados por las fiestas patrias lo realize.
En este enlace hicieron overclocking de un PIC16F873 hasta 32MHz sin problemas alguno (tomando enfasis en las pruebas de rs232), es tambien interesante como trata la idea del overclocking de los microprocesadores para hacer algo analogo con los microcontroladores
Overclocking a Pic Microcontroller (https://www.sparkfun.com/tutorials/54)