Autor Tema: Frecuencias  (Leído 4659 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado afelio

  • PIC16
  • ***
  • Mensajes: 130
Frecuencias
« en: 27 de Marzo de 2012, 08:11:58 »
Buenas a Todos,

Estoy mirando documentos sobre el manejo de los Timers del PIC32, y bueno, nada más empezar me he dado en la frente.

A ver si me lo pudieseis aclarar, porque se está convirtiendo en una tortura.

Se supone que son 80MHz, pues bien, aquí va el ejemplo que me trae de cabeza:

Tdelay = (Fpb) * 256 * DELAY

Para un retardo de 256ms, con una frecuencia de 36MHz, y un Prescaler de 256 sale un Delay de 36000, hasa aquí y con estos datos perfecto, pero,

¿Por qué la frecuencia del bus de periféricos es de 36MHz?

Muchas gracias.

Un saludo.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Frecuencias
« Respuesta #1 en: 27 de Marzo de 2012, 12:30:47 »
36 MHz? Lo lees de algún libro eso? 36MHz sería si está a 72MHz, y el preescaler del periférico en 2 (Revisar configuraciones de fuses)  :undecided:
No contesto mensajes privados, las consultas en el foro

Desconectado afelio

  • PIC16
  • ***
  • Mensajes: 130
Re: Frecuencias
« Respuesta #2 en: 27 de Marzo de 2012, 12:36:29 »
En el libro:

Programming PIC32 in C de Lucio di Jasio, sobre la página 60 pone lo siguiente:

Assuming a 36 MHz peripheral bus clock frequency will be used, we need to assign
quite a large value to DELAY to obtain a delay of about a quarter of a second. In fact, the
following formula dictates the total delay time produced by the loop:
Tdelay = (Fpb) * 256 * DELAY
With Tdelay = 256 ms and resolving for DELAY , we obtain the value 36000

Todavía no he llegado al tema de Fuses y no se muy bien que es.

Muchas gracias.
Un saludo.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Frecuencias
« Respuesta #3 en: 27 de Marzo de 2012, 12:38:25 »
A bien, ese un libro viejo y en esa época trabajan con el micro a 72 MHz, que era el máximo. Puedes pensarlo de esa manera o recalcular todo para 80 MHz.
No contesto mensajes privados, las consultas en el foro

Desconectado afelio

  • PIC16
  • ***
  • Mensajes: 130
Re: Frecuencias
« Respuesta #4 en: 27 de Marzo de 2012, 12:43:42 »
Ok, muchas gracias. Ya me estaba volviendo loco, me creía "incapacitado" para programar PICs.

Ahora bien, el prescaler sería de 2, en lugar de 256, no??

Si fuese un prescaler de 256 y frecuencia de 80MHz, sería una frecuencia de 315.5KHz = 80MHz/256, ¿Verdad?

Tambien he leido sobre la frecuencia de oscilación Fosc, que en nuestro caso sería de 80MHz, y la frecuencia interna de instrucción que sería Fosc/4.

Ésto es así??
Por qué tienen una frecuencia de instrucciones??

Muchas gracias.

Un saludo.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Frecuencias
« Respuesta #5 en: 27 de Marzo de 2012, 14:04:11 »
No, una cosa es la configuración del clock del sistema y otra es la configuración del timer. Mediante la configuración de PLL podes llevar a 80 MHz la fuente de clock, de ahí entregarle 80 MHZ al CPU y 80 MHz a los periféricos. O 80/40, etc... Eso hay que entenderlo primero antes de encarar otros temas, pues es algo esencial.

Por ejemplo:
Código: C
  1. // Cristal de 8MHz.-
  2. // SYSCLK = 80 MHz (8MHz Cristal/ FPLLIDIV * FPLLMUL / FPLLODIV)
  3. // FPLLDIV 1:2, PLLMULT x20, PLLODIV 1:1. -> 80MHz
  4. // FPBDIV 1:1 -> 80MHz
  5. #pragma config FPLLODIV=DIV_1, FPLLIDIV=DIV_2, FPLLMUL=MUL_20, FPBDIV=DIV_1
  6. #pragma config FWDTEN=OFF, FCKSM=CSDCMD, POSCMOD=XT, FNOSC=PRIPLL

Sabiendo eso ya podes comenzar a pensar en como trabaja el timer.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado afelio

  • PIC16
  • ***
  • Mensajes: 130
Re: Frecuencias
« Respuesta #6 en: 27 de Marzo de 2012, 14:32:49 »
Bueno, pues no se si lo he entendido, veamos a ver:

El sistema tiene una frecuencia de 80MHz, pero yo puedo trabajar, configurando el PLL a 40MHz, 20MHz, ..., independientemente del prescaler.
Suponiendo que trabajo a 80MHz/40MHz, ya si vería si utilizo el prescaler pero a la frecuencia de 40MHz y no a la de 80MHz, ¿Es así?

¿Y qué ventajas puede conllevar trabajar a 80/40?


Muchas gracias y perdonar el cansineo.
Un saludo.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Frecuencias
« Respuesta #7 en: 27 de Marzo de 2012, 20:34:39 »
Es que tenes dos señales de clock a establecer, la del CPU y la de periféricos (PBCLK). Y si lees el manual de referencia para los módulos Timers, PBCLK es una de las fuente de clock.

Ventajas o desventajas, depende del proyecto.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado afelio

  • PIC16
  • ***
  • Mensajes: 130
Re: Frecuencias
« Respuesta #8 en: 28 de Marzo de 2012, 04:33:14 »
Voy a ver si puedo descargarme el manual y sobre todo el apartado éste de los Timers porque me estoy haciendo la picha un lío.

Muchas gracias.

Un saludo.

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Frecuencias
« Respuesta #9 en: 03 de Abril de 2012, 19:14:05 »
Osea el PBCLK trabaja como maximo a la mitad de FCY? No existe forma de ponerlo para que trabaje 1:1?

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Frecuencias
« Respuesta #10 en: 03 de Abril de 2012, 21:25:53 »
Osea el PBCLK trabaja como maximo a la mitad de FCY? No existe forma de ponerlo para que trabaje 1:1?

Porque dices eso? Revisaste el datasheet?
No contesto mensajes privados, las consultas en el foro

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Frecuencias
« Respuesta #11 en: 03 de Abril de 2012, 21:27:49 »
No, es mas comodo preguntarlo  :lol: solo por curiosidad ya que actualmente no trabajo en nada con pic32.

de todas formas encontre esto:

PBDIV<1:0>: Peripheral Bus Clock (PBCLK) Divisor bits
11 = PBCLK is SYSCLK divided by 8 (default)
10 = PBCLK is SYSCLK divided by 4
01 = PBCLK is SYSCLK divided by 2
00 = PBCLK is SYSCLK divided by 1

supongo que si no existe una limitacion funcionara tambien a 80mhz con div/1
« Última modificación: 03 de Abril de 2012, 21:33:56 por MerLiNz »

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Frecuencias
« Respuesta #12 en: 03 de Abril de 2012, 21:37:55 »
Una imagen vale más que mil palabras!  :mrgreen:


No contesto mensajes privados, las consultas en el foro