TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: FlyingVector en 28 de Enero de 2009, 01:44:22

Título: Velocidad PIC¡¡
Publicado por: FlyingVector en 28 de Enero de 2009, 01:44:22

Hola eh estado leyendo un poco acerca de los pics y he realizado algunas practicas basicas, y me ah entrado una duda a partir de lo que lei una vez por ahi...

se mencionaba que los pics nunca corren a la velocidad de el cristal que uno les pone, que dividian la velocidad del mismo.... que tan cierto es esto???

y otra duda es, en cuanto a la velocidad, veo que en la serie atmega de atmel, corren a 16Mhz (a excepcion de unos que si llegan a los 20), y los pic's en general la mayoria veo que llegan a los 20. En rendimiento y velocidad real cuales son mas eficientes? por ejemplo un pic con un cristal de 20 Mhz puede correr mas rapido que un atmega con uno de 16 Mhz??

 :-)
Título: Re: Velocidad PIC¡¡
Publicado por: gera en 28 de Enero de 2009, 02:04:18
El ciclo de instruccion de la mayoria de las instrucciones de los pics son 4 ciclos de reloj, algunos toman un poco mas (las bifurcaciones). Sera eso a lo q te referis?
saludos!
Título: Re: Velocidad PIC¡¡
Publicado por: migsantiago en 28 de Enero de 2009, 15:54:35
En modelos de Atmel y Microchip con prestaciones parecidas, los Atmel son más rápidos.

Un PIC16F84A de Microchip puede tener un cristal de 20MHz, pero su rendimiento máximo es de 5MIPS (5 Mega instrucciones por segundo). Un AT90S1200 de Atmel puede correr hasta 12MHz con un rendimiento de 12 MIPS.

Los Atmel son más rápidos.
Título: Re: Velocidad PIC¡¡
Publicado por: marito en 17 de Febrero de 2010, 17:00:03
Hola!!!

Un 18f4550 y un 16f876A, con un cristal de 20MHz; utilizan el mismo tiempo para realizar una misma secuencia de instrucciones???

Me estoy volviendo loco con el cálculo de tiempo de ciclo y me surgió está duda.

Por lo que se, para calcular el tiempo de ejecución de una instrucción, aplico: 256*4*1/20Mhz

Si esto es correcto, los tiempos en ambos PICs, deberían ser los mismos...

Gracias!
Título: Re: Velocidad PIC¡¡
Publicado por: Suky en 17 de Febrero de 2010, 17:14:20
Si el 18F4550 lo configuras para que internamente trabaje a 20 MHz tendrás los mismos tiempos si utilizas las mismas instrucciones.


Saludos!
Título: Re: Velocidad PIC¡¡
Publicado por: pablomanieri en 17 de Febrero de 2010, 17:18:33
A ver a ver, en los pics un ciclo de instrucción equivale a 4 ciclos de reloj, salvo los saltos que toman el doble de tiempo.
Por lo tanto si tienes un reloj de 20Mhz, un ciclo de instrucción sera T=4/20Mhz=200nseg.
si tienes un Cristal de 4Mhz el tiempo de instrucción será T=4/4Mhz=1useg.


En los Atmel un ciclo de instrucción equivale a un ciclo de reloj por lo tanto si tienes un cristal de 16Mhz entonces el tiempo de instrucción será T=1/16Mhz=62.5nseg


Título: Re: Velocidad PIC¡¡
Publicado por: marito en 17 de Febrero de 2010, 17:24:04
Bien, mi duda surge, a partir de que estoy desarrollando un sistema como el que mostro Safareig en el post del robot equilibrista. Safareig menciona un tiempo de ciclo de 10ms, con un PIC 18f4550. Yo estoy desarrollando con un PIC 16f876a. El problema es que con las instrucciones básicas que necesito, obtengo un ciclo de 130ms!!!
Entonces si cargará las mismas instrucciones en un 18f4550 debería obtener el mismo tiempo de ciclo.

P.D. La medición la hago con el timer0 y un contador de interrupciones por desbordamiento.