Autor Tema: [SOLUCIONADO] Dudas con prescaler y postcaler de los pic's  (Leído 2603 veces)

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

Desconectado Thulsa Doom

  • PIC24F
  • *****
  • Mensajes: 771
    • https://electronicadicto.wordpress.com/
[SOLUCIONADO] Dudas con prescaler y postcaler de los pic's
« en: 28 de Octubre de 2014, 05:08:10 »
Hola a todos, pues tengo una duda con el tema de las velocidades y los prescaler y poscaler.

Cojamos por ejemplo el PIC18F2455, a la hora de configurar el reloj que vayamos a utilizar se pude poner el fuse a HS con un cristal de por ejemplo 20 MHz o ponerlo a HSPLL_HS con el fuse del prescaler a PLLDIV12 para una velociada de 48MHz, hasta ahí tengo más o menos claro para lo que según leo en el datasheet es para la velociada del USB, lo que no tengo tan claro es que si esos 48MHz también afectan a la velocidad del CPU, ósea que implementando esa opción el microcontrolador iría a 48MHz.

otra cosa que no comprendo del todo es que si al implementar el prescaler para la velocidad de 48MHz se podría utilizar cualquier cristal hasta 20MHz o esta implementación se tiene que utilizar un cristal en concreto.

luego lo que no entiendo muy bien es lo del postcaler (CPUDIV) veo que todas las opciones acaban en la misma velociada (96MHz) y creo que es para la velocida del USB pero no lo tengo nada claro

A ver si alguien me puede aclarar el tema.

gracias de ante mano  ;-)
« Última modificación: 30 de Octubre de 2014, 11:13:09 por Thulsa Doom »
Más códigos y desarrollos en https://electronicadicto.wordpress.com/ date una vuelta y curiosea un rato...

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Dudas con prescaler y postcaler de los pic's
« Respuesta #1 en: 28 de Octubre de 2014, 08:34:58 »
En la pagina 24 (figura 2-1) tienes un esquema bastante explicativo de como van las divisiones, postdivisiones y las ramificaciones del clock.

Por un lado tienes una entrada del OSC este pasa al PLL prescaler por el cual debes elegir una combinacion que de 4Mhz, es decir, si pones 20mhz pues /4 para obtener 4mhz, seguidamente pasa por un PLL el cual sube a 96mhz esos 4mhz (por eso es importante que sean 4mhz porque mas o menos seria un resultado inesperado), estos 96mhz se dividen /2 para obtener 48mhz para el USB, esos 48mhz por otro lado pasan al PLL postscaler, esta frecuencia sera la que tenga el micro, tienes varias combinaciones, por un lado puedes sacar la frecuencia directamente del cristal y hacer una division (en oscillator postscaler) o bien usar esos 48mhz y dividirlos para obtener otra frecuencia. Tambien puedes usar un oscilador interno o bien otro oscilador secundario para el reloj de la cpu.

Estudiate el esquema y mas o menos te quedara claro, hay muchas opciones y es algo complicado explicarlo solo con letras.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Dudas con prescaler y postcaler de los pic's
« Respuesta #2 en: 28 de Octubre de 2014, 11:34:43 »
si pones 20mhz pues /4 para obtener 4mhz, s.

divido 5 xD, por que el otro PLL si o si exige 4Mhz, de ahi manda los 96Mhz al postscaler dando como maximo 48 Mhz en la CPU

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Dudas con prescaler y postcaler de los pic's
« Respuesta #3 en: 28 de Octubre de 2014, 11:44:21 »
cierto, que me confundi /4 jaja, ni me dio por pensarlo, quizas estaba pensando en la frecuencia que es FOSC/4 y se me colo ahi en vez del /5 xDD, gracias por corregirme ((:-))

Desconectado Thulsa Doom

  • PIC24F
  • *****
  • Mensajes: 771
    • https://electronicadicto.wordpress.com/
Re: Dudas con prescaler y postcaler de los pic's
« Respuesta #4 en: 30 de Octubre de 2014, 11:00:23 »
Hola a todos siento el retraso :(

Bueno má o menos lo llevo, resulta que como siempre en el datasheet está todo  :oops:, gracias a la explicación que me han dado más o menos logro entenderlo,

pues como iba diciendo, hay unas tablas donde según que cristal que utilices te da la configuración para las diferentes velocidades, espero estar en lo cierto, pongo las tablas para que vean lo que digo y si estoy en lo cierto o no.

[/URL]

Como se puede ver en la tabla, para un cristal de 4MHz y obtener una velocidad de 48MHz hay que poner los fuses: FOSC = HSPLL_HS, CPUDIV = OSC2_PLL3, PLLDIV = 1
y para un cristal de 20MHz para obtener una velocidad de 48MHz hay que poner los fuses de esta manera FOSC = HSPLL_HS, CPUDIV = OSC2_PLL3, PLLDIV = 5

Lo que tengo una duda más, a la hora de hacer algún cálculo de velocidad donde tengamos que poner la velocidad del reloj que estamos empleando, ¿que utilizamos?, ¿la frecuencia del cristal o la frecuencia interna que hemos configurado en el micro?
Más códigos y desarrollos en https://electronicadicto.wordpress.com/ date una vuelta y curiosea un rato...

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Dudas con prescaler y postcaler de los pic's
« Respuesta #5 en: 30 de Octubre de 2014, 11:05:53 »
la frecuencia interna dividida entre 4, si vas por ejemplo a 48mhz tienes una tcy de 12mips, es decir, 12 millones de instrucciones por segundo, o en este caso si fuese un timer se incrementaria cada 83.333...ns (1/(12m/4))

Desconectado Thulsa Doom

  • PIC24F
  • *****
  • Mensajes: 771
    • https://electronicadicto.wordpress.com/
Re: Dudas con prescaler y postcaler de los pic's
« Respuesta #6 en: 30 de Octubre de 2014, 11:12:38 »
Vale entendido, gracias
Más códigos y desarrollos en https://electronicadicto.wordpress.com/ date una vuelta y curiosea un rato...

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: [SOLUCIONADO] Dudas con prescaler y postcaler de los pic's
« Respuesta #7 en: 30 de Octubre de 2014, 12:15:25 »
Creo que lo mas facil para guiarse podes usar el diagrama que se encuentra 5 paginas mas arriba de esa tabla.
Ves que entra la frecuencia, tenes el divisor configurado por PLLDIV, ahi ves que pide exactamente 4Mhz de salida y entra al PLL de 96Mhz y seguis el camino :P

Desconectado Thulsa Doom

  • PIC24F
  • *****
  • Mensajes: 771
    • https://electronicadicto.wordpress.com/
Re: [SOLUCIONADO] Dudas con prescaler y postcaler de los pic's
« Respuesta #8 en: 30 de Octubre de 2014, 13:58:50 »
Si lo veo, pero también más abajo esta la opción del FOCS = HS que solo utiliza el Postcallercon el fuse CPUDIV que según la tabla colocandolo a 2 también tienes los 48MHz con el cristal de 20MHz y a su vez sale para el USB.

creo que es así, la verdad que me pierde un poco
Más códigos y desarrollos en https://electronicadicto.wordpress.com/ date una vuelta y curiosea un rato...