TODOPIC
Microcontroladores PIC => dsPIC => Mensaje iniciado por: ashmx en 08 de Marzo de 2008, 23:02:55
-
Hola me interesa usar la aplicacion que muestrasn en este post http://www.todopic.com.ar/foros/index.php?topic=18389.0 , peor me queda la duda como puedo calcular a cuantos MIPS esta trabajando mi micro, estoy usando un dsPIC30f3010 con un cristal de 12 Mhz y el PLL8.
Gracias!!!
-
Si no me equivoco, tú estás trabajando a: MIPS = FCY / 4 = FOSC * PLL / 4 = 12 * 8 / 4 = 24 MIPS
-
Muchas gracias
-
tengo una duda con respecto a los MIPS...si por ejemplo tengo un 18F con un cristal de 48Mhz(sin PLL), tendria que cada instruccion se realiza cada 83,33nS..como hago para saber a cuantos MIPS esta corriendo el PIC?....una regla de 3?
1 instruccion---> 83,33nS
X----------> 1x10^-9 =1seg
:z) el resultado de la operacion no es coherente...supuestamente tendria q ser 12MIPS
-
Primero no podes usar un cristal de 48MHz, seguramente pusiste a modo de ejemplo. MIPS es la cantidad de millones de instrucciones por segundo, ósea que (1/83.33ns)/1000000=12MIPS
Saludos!
-
Aprovecho a sacarme una duda yo tambien.
Cuando trabajo con USB en CCS, suelo usar un cuarzo de 20MHz y usando el PLL lo hago correr a 48MHz. Mi duda es si esta es la frecuencia a la que termina trabajando el procesador. O la salida de clock de 48MHz es solo para el puerto usb?
Gracias!
-
Podes trabajar a la misma velocidad que el módulo USB o menor, USBDIV divide los 96MHz en 2 para el módulo USB, y con CPUDIV seleccionas la frecuencia del CPU que puede ser distinta.
Saludos!
-
Si se usa el módulo USB hay de dos sopas para la velocidad del CPU: 24MHz para 1.5Mbps (USB 1.1) y 48MHz para 12Mbps (USB 2.0), no hay otra forma de usar USB sin esas dos velocidades en el CPU.
Se tienen entonces 6MIPS para 24MHz y 12MIPS para 48MHz... 166.6ns y 83.3ns por ciclo de instrucción respectivamente.
Pero si no se usa el módulo USB entonces el pic puede operar con velocidades distintas.
Es recomendable que cuando se usa el módulo USB se use un cristal de 4MHz ya que cuando se usan cristales de 8, 12, 16 o 20MHz la velocidad siempre es reducida a 4MHz lo que implica un desperdicio de energía al hacer oscilar el cristal tan rápido y luego reducirlo. ;-)
-
El módulo USB si o si necesita los 48MHz para trabajar a máxima velocidad (2.0), pero el CPU u otros periféricos no están obligados a trabajar a la misma velocidad:
Fuente Datasheet :mrgreen:
The USB module has specific clock requirements. For
full-speed operation, the clock source must be 48 MHz.
Even so, the microcontroller core and other peripherals
are not required to run at that clock speed or even from
the same clock source. Available clocking options are
described in detail in Section 2.3 “Oscillator Settings
for USB”.
Saludos!
-
Claro como el agua, muchas gracias por sus respuestas!! :-/ :-/
-
El módulo USB si o si necesita los 48MHz para trabajar a máxima velocidad (2.0), pero el CPU u otros periféricos no están obligados a trabajar a la misma velocidad:
Fuente Datasheet :mrgreen:
The USB module has specific clock requirements. For
full-speed operation, the clock source must be 48 MHz.
Even so, the microcontroller core and other peripherals
are not required to run at that clock speed or even from
the same clock source. Available clocking options are
described in detail in Section 2.3 “Oscillator Settings
for USB”.
PErfecto , como de datasheet xD lol , asi es , si se trabaja con diferente velocidad el cpu.Tambien puede tomar cualquier velocidad con el Timer1 como Oscilador ^^
Saludos!
-
Vamos, que el gran Diego ha hablado extensa y detalladamente de esto: http://picmania.garcia-cuervo.net/conceptos.php#USB4Mhz
-
También esta el de Palitroquez , cuando empezo con el pic18f4550 y programas en asm.De ahi que no olvido muchas cosas que lo explico muy bien ^^
http://www.todopic.com.ar/foros/index.php?topic=15208.0
Saludos!
-
Ups metí la pata, una disculpa :oops:
Es que eso es lo que decía la librería pic18_usb de CCS :?
Gracias por la corrección. :P