Autor Tema: Re: 24FJ256GA110 Oscilador Interno con PLL en CCS C ¿16M? [SOLUCIONADO]  (Leído 3686 veces)

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

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5552
    • Picmania by Redraven
Amigos, estoy trabajando con un 24FJ256GA110 sin cuarzo externo, compilando el programa con un CCS C v.4.140, uso el FRC, el oscilador interno de 8 Mhz, y además le activo el PLL 4x luego en teoría debería rodar a 8x4=32Mhz .... pues no, a menos que esté haciendo algo rematadamente mal.

Me explico: Estoy usando de "prueba del algodón" el Monitor SIO.EXE para comprobar la velocidad real a la que está funcionando el micro. Lo pongo a recibir a 115200 baudios.

Si en el programa pongo #use delay(clock=32M) en el monitor solo recibo basura.
Si en el programa pongo #use delay(clock=16M) en el monitor recibo perfectamente.
Si en el programa pongo #use delay(clock=32M) y pongo el monitor a 57600 recibo perfectamente.

Luego algo huele a podrido en Dinamarca. Los fuses que estoy utilizando son:

Código: CSS
  1. #include <24FJ256GA110.h>
  2.  
  3. #device ICD=TRUE
  4.  
  5. #FUSES WPOSTS1                  // Watch Dog Timer PostScalar 1:1
  6. #FUSES NOWDT                    // No Watch Dog Timer
  7. #FUSES ICSP1                    // ICD uses PGC1/PGD1 pins
  8. #FUSES DEBUG                    // Debug mode for use with ICD
  9. #FUSES NOWRT                    // Program memory not write protected
  10. #FUSES NOPROTECT                // Code not protected from reading
  11. #FUSES NOJTAG                   // JTAG disabled
  12. #FUSES NOPR                     // Pimary oscillaotr disabled
  13. #FUSES NOWPCFG                  // Configuration Words page is not erase/write-protected
  14. #FUSES NOALTI2C2                // I2C2 mapped to SDA2/SCL2 pins
  15. #FUSES NOIOL1WAY                // Allows multiple reconfigurations of peripheral pins
  16. #FUSES OSCIO                    // OSC2 is general purpose output
  17. #FUSES NOCKSFSM                 // Clock Switching is disabled, fail Safe clock monitor is disabled
  18. #FUSES NOIESO                   // Internal External Switch Over mode disable#FUSES
  19. #FUSES NOWPFP                   // Write/Erase Protect Page Start/End Location, set to page 0
  20. #FUSES WPDIS                    // All Flash memory may be erased or written
  21. #FUSES NOWPCFG                  // Configuration Words page is not erase/write-protected
  22. #FUSES FRC_PLL                  // Internal Fast RC oscillator with PLL
  23.  
  24. #use delay(clock=16M)
  25.  
  26. #use rs232(UART1, baud=115200, bits=8, parity=n, stop=1, BRGH1OK, errors, stream=MAINCOM)


Pero en el Datasheet del micro miro la sección de la oscilancia y veo que tengo la PLL con un Postscaler ...



Todo apunta a que estoy teniendo una salida del FRC hacia el PLL de sólo 4Mhz ¿¿¿¿ Ein ????? ¿Como le digo que quiero el un divisor 1:1 o que se salte el Postscaler?

Me tiene loco este puñetero temita insidioso de les coxons  :5]





« Última modificación: 01 de Agosto de 2013, 13:46:55 por RedPic, Razón: Cambiar el título »
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: 24FJ256GA110 Oscilador Interno con PLL en CCS C ¿16M?
« Respuesta #1 en: 01 de Agosto de 2013, 08:56:29 »
Yo renegue bastante hasta encontrarle la vuelta al oscilador interno de los PIC24, no tengo a mano el programa para decirte como solucionarlo, pero recuerdo que debes poner mas de un bit de configuracion en 1, y en la declaración USE Delay tambien hay que declararlo como oscilador interno, me parece que clock no va alli....

Fijate si lo vas solucionando, sino esta tarde te pongo parte de mi programa y te digo a que velocidad lo puse.

Es maravilloso el oscilador interno, pero te pone a parir para configurarlo... :mrgreen: :mrgreen:

Yo transmito en serie a 115200 baudios y en CAN (mucho mas exigente con el tiempo de bit) a 250Kbps.
No tengo cristal externo (aunque deje los lugares en el pcb, soy loco pero no como vidrios!!)... :D :D
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado fidodido18

  • PIC18
  • ****
  • Mensajes: 312
Re: 24FJ256GA110 Oscilador Interno con PLL en CCS C ¿16M?
« Respuesta #2 en: 01 de Agosto de 2013, 09:33:03 »
Amigos, estoy trabajando con un 24FJ256GA110 sin cuarzo externo, compilando el programa con un CCS C v.4.140, uso el FRC, el oscilador interno de 8 Mhz, y además le activo el PLL 4x luego en teoría debería rodar a 8x4=32Mhz .... pues no, a menos que esté haciendo algo rematadamente mal.

Me explico: Estoy usando de "prueba del algodón" el Monitor SIO.EXE para comprobar la velocidad real a la que está funcionando el micro. Lo pongo a recibir a 115200 baudios.

Si en el programa pongo #use delay(clock=32M) en el monitor solo recibo basura.
Si en el programa pongo #use delay(clock=16M) en el monitor recibo perfectamente.
Si en el programa pongo #use delay(clock=32M) y pongo el monitor a 57600 recibo perfectamente.

Luego algo huele a podrido en Dinamarca. Los fuses que estoy utilizando son:


Pero en el Datasheet del micro miro la sección de la oscilancia y veo que tengo la PLL con un Postscaler ...



Todo apunta a que estoy teniendo una salida del FRC hacia el PLL de sólo 4Mhz ¿¿¿¿ Ein ????? ¿Como le digo que quiero el un divisor 1:1 o que se salte el Postscaler?

Me tiene loco este puñetero temita insidioso de les coxons  :5]







HOla tengo tiempo que no trabajo con CCS, lo que si tengo claro es que no solo basta colocar los FUSE, tambien dentro de tu main debes colocar o indicar que reloj y frecuencias vas a usar.

utiliza el WIZARD de CCS y tendrás una guía en la parte de clock source, si no estoy mal las lineas que van dentro del main son setup_oscillator(OSC_32MHZ);
« Última modificación: 01 de Agosto de 2013, 09:41:35 por fidodido18 »

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: 24FJ256GA110 Oscilador Interno con PLL en CCS C ¿16M?
« Respuesta #3 en: 01 de Agosto de 2013, 09:41:45 »
¿Has puesto el setup_oscillator en tu main?

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5552
    • Picmania by Redraven
Re: 24FJ256GA110 Oscilador Interno con PLL en CCS C ¿16M? [SOLUCIONADO]
« Respuesta #4 en: 01 de Agosto de 2013, 13:45:29 »
Solucionado con setup_oscillator(OSC_INTERNAL,32000000);

¿Esto es nuevo o solo para el PCD? Porque con el PCH y los 18F nunca me ha hecho falta.
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: 24FJ256GA110 Oscilador Interno con PLL en CCS C ¿16M?
« Respuesta #5 en: 01 de Agosto de 2013, 13:46:31 »
Pues no sé si es nuevo, pero yo lo vengo usando desde hace tiempo.

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: 24FJ256GA110 Oscilador Interno con PLL en CCS C ¿16M? [SOLUCIONADO]
« Respuesta #6 en: 01 de Agosto de 2013, 14:09:44 »
Ese era el cambio, recién me puse a ver el código mio y cuando voy a escribirte veo que se adelantaron...
Felicitaciones !!
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5552
    • Picmania by Redraven
Re: 24FJ256GA110 Oscilador Interno con PLL en CCS C ¿16M? [SOLUCIONADO]
« Respuesta #7 en: 02 de Agosto de 2013, 05:29:31 »
La verdad es que me está gustando mucho este PIC24FJxxx No se qué hacía tanto tiempo con los 18Fxxx y no me pasé a estos.  :mrgreen:
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: 24FJ256GA110 Oscilador Interno con PLL en CCS C ¿16M? [SOLUCIONADO]
« Respuesta #8 en: 02 de Agosto de 2013, 06:03:22 »
Es una gozada, macho. Y al precio que están realmente merece la pena cambiarse.

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: 24FJ256GA110 Oscilador Interno con PLL en CCS C ¿16M? [SOLUCIONADO]
« Respuesta #9 en: 02 de Agosto de 2013, 08:52:55 »
Son mas baratos que los PIC18, y los módulos que traen son una maza !! :-/ :-/
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado fidodido18

  • PIC18
  • ****
  • Mensajes: 312
Re: 24FJ256GA110 Oscilador Interno con PLL en CCS C ¿16M? [SOLUCIONADO]
« Respuesta #10 en: 13 de Agosto de 2013, 16:25:49 »
Solucionado con setup_oscillator(OSC_INTERNAL,32000000);

¿Esto es nuevo o solo para el PCD? Porque con el PCH y los 18F nunca me ha hecho falta.

Hola RedPic, esto es de hace mucho tiempo. Incluso lo he utilizado en los PIC16F. Saludos.

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5552
    • Picmania by Redraven
Re: 24FJ256GA110 Oscilador Interno con PLL en CCS C ¿16M? [SOLUCIONADO]
« Respuesta #11 en: 14 de Agosto de 2013, 02:34:09 »
Solucionado con setup_oscillator(OSC_INTERNAL,32000000);

¿Esto es nuevo o solo para el PCD? Porque con el PCH y los 18F nunca me ha hecho falta.

Hola RedPic, esto es de hace mucho tiempo. Incluso lo he utilizado en los PIC16F. Saludos.

Supongo que tendréis razón todos los que me decís que esto lleva tiempo siendo válido pero mi experiencia me dice que hasta la versión 4.093 no me hizo nunca falta. En fin mas vale tarde que nunca para aprender algo nuevo. Muchas gracias a todos.  :mrgreen:
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania


 

anything