Autor Tema: programar DSPIC33FJ128MC802 con CCs  (Leído 13276 veces)

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

Desconectado fdinezza

  • PIC10
  • *
  • Mensajes: 5
programar DSPIC33FJ128MC802 con CCs
« en: 28 de Marzo de 2011, 23:38:00 »
Hola:

Estoy haciendo un proyecto y necesito pasar un soft escrito para el 18f2523 al DSPIC33FJ128MC802, pero en CCS se me esta haciendo impposible configurar el reloj a 8o MZ (40 Mips).
El proyecto es simple leeun encoder y testea dos analógicos cada 1 ms.

Si alguien me puede dar una mano desde ya Gracias!!

Fernando
 

Desconectado fram_22

  • PIC18
  • ****
  • Mensajes: 316
Re: programar DSPIC33FJ128MC802 con CCs
« Respuesta #1 en: 29 de Marzo de 2011, 02:33:19 »
no te resultaria mas facil hacerlo en c30? ahi no es tan complicado configurar el oscilador

saludos

Desconectado fdinezza

  • PIC10
  • *
  • Mensajes: 5
Re: programar DSPIC33FJ128MC802 con CCs
« Respuesta #2 en: 31 de Marzo de 2011, 00:45:57 »
El problema es que mi conocimientos se limitan al CCS y necesito hacer andar un programa simple.

No puedoo hacer que funcione a la velocidad que necesito.

 

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: programar DSPIC33FJ128MC802 con CCs
« Respuesta #3 en: 31 de Marzo de 2011, 01:29:37 »
¿Porqué no usas el Project Wizard de CCS?, así te saldrá automáticamente ya hecha toda la parte de configuración.

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: programar DSPIC33FJ128MC802 con CCs
« Respuesta #4 en: 31 de Marzo de 2011, 01:30:20 »
El problema es que mi conocimientos se limitan al CCS y necesito hacer andar un programa simple.

No puedoo hacer que funcione a la velocidad que necesito.

 

Toma el datasheet del dsPIC, y en la sección de oscilador podes ver que registros modificar para setear el PLL, luego defines los registros mediante #WORD y escribes los valores que corresponde  :?

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

Desconectado fdinezza

  • PIC10
  • *
  • Mensajes: 5
Re: programar DSPIC33FJ128MC802 con CCs
« Respuesta #5 en: 01 de Abril de 2011, 23:37:51 »


He copiado este programa de una discución anterior para buscar la manera de que funcione el reloj y pueda hacer parpadear el led, pero lo único que consigo en el osciloscopio, es un pico de de 1 us cada 15 us.

El circuito tienen un xtal de 8mhz.

Gracias de antemano,

Fernando

Código: CSS
  1. #include "33FJ128MC802.h"
  2.  
  3.  
  4. #FUSES PR_PLL, XT, NOWDT, NOPUT //Orig
  5.  
  6. #WORD CLKDIV = 0x0744   //PLLPOST(6,7) - PLLPRE(0,1,2,3,4)
  7. #BIT PLLPOST_1 = CLKDIV.6
  8. #BIT PLLPOST_2 = CLKDIV.7
  9.  
  10. #BIT PLLPRE_1 = CLKDIV.0
  11. #BIT PLLPRE_2 = CLKDIV.1
  12. #BIT PLLPRE_3 = CLKDIV.2
  13. #BIT PLLPRE_4 = CLKDIV.3
  14. #BIT PLLPRE_5 = CLKDIV.4
  15.  
  16. #WORD PLLFBD = 0x0746   //PLLDIV(0,1,2,3,4,5,6,7,8)
  17. #BIT PLLDIV_1 = PLLFBD.0
  18. #BIT PLLDIV_2 = PLLFBD.1
  19. #BIT PLLDIV_3 = PLLFBD.2
  20. #BIT PLLDIV_4 = PLLFBD.3
  21. #BIT PLLDIV_5 = PLLFBD.4
  22. #BIT PLLDIV_6 = PLLFBD.5
  23. #BIT PLLDIV_7 = PLLFBD.6
  24. #BIT PLLDIV_8 = PLLFBD.7
  25. #BIT PLLDIV_9 = PLLFBD.8
  26.  
  27.  
  28.  
  29. #use delay(clock = 80000000)
  30.  
  31. #use standard_io(B)
  32.  
  33. void main()
  34. {  
  35.  
  36.    // PLLPRE /2
  37.    PLLPRE_1 = 0;
  38.    PLLPRE_2 = 0;
  39.    PLLPRE_3 = 0;
  40.    PLLPRE_4 = 0;
  41.    PLLPRE_5 = 0;
  42.    
  43.    // PLLDIV *40
  44.    PLLDIV_1 = 0;
  45.    PLLDIV_2 = 1;
  46.    PLLDIV_3 = 1;
  47.    PLLDIV_4 = 0;
  48.    PLLDIV_5 = 0;
  49.    PLLDIV_6 = 1;
  50.    PLLDIV_7 = 0;
  51.    PLLDIV_8 = 0;
  52.    PLLDIV_9 = 0;
  53.    
  54.    // PLLPOST /2
  55.    PLLPOST_1 = 0;
  56.    PLLPOST_2 = 0;
  57.    
  58.  
  59.    while (true)
  60.    {
  61.  
  62.       output_high(pin_b3) ;
  63.       output_high(pin_b4) ;
  64.       delay_ms (500) ;
  65.       output_low(pin_b3) ;
  66.       output_low(pin_b4) ;
  67.       delay_ms (500) ;
  68.    }
  69.  
  70. }

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: programar DSPIC33FJ128MC802 con CCs
« Respuesta #6 en: 02 de Abril de 2011, 11:32:19 »
Cristal de 8Mhz -> Fuse HS.


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

Desconectado brutto

  • PIC10
  • *
  • Mensajes: 44
Re: programar DSPIC33FJ128MC802 con CCs
« Respuesta #7 en: 04 de Mayo de 2011, 11:45:34 »
creo recordar que a 8mhz se configura asi el dspic33:
_FOSCSEL (IESO_OFF & FNOSC_FRC);
_FOSC (FCKSM_CSECMD & IOL1WAY_OFF & OSCIOFNC_OFF & POSCMD_XT);


   //Perform a clock switch to 40MIPS (80Mhz)
   PLLFBD = 38;         //M=PLLFBD+2       = 38
   CLKDIVbits.PLLPOST = 0;   //N2=2(PLLPOST+1)  = 2
   CLKDIVbits.PLLPRE = 0;   //N1=PLLPRE+2      = 2
  
   //unlock OSCCON register
   __builtin_write_OSCCONH(0x03);
   __builtin_write_OSCCONL(0x01);
  
    //wait for clock to stabilize  
   while(OSCCONbits.COSC != 0b011);
   //wait for PLL to lock
   while(OSCCONbits.LOCK !=1);
    //clock switch finished

ademas el delay_ms solo acepta de maximo 100ms con lo qeu si quieres 500ms tienes que hacer un bucle de 5x100.



Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: programar DSPIC33FJ128MC802 con CCs
« Respuesta #8 en: 04 de Mayo de 2011, 12:18:27 »
Trabaja en CCS  ;-)


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

Desconectado brutto

  • PIC10
  • *
  • Mensajes: 44
Re: programar DSPIC33FJ128MC802 con CCs
« Respuesta #9 en: 08 de Mayo de 2011, 12:37:09 »
cierto, me confundi ya no se ni en que lenguaje programo jejej

Desconectado marqueses

  • PIC12
  • **
  • Mensajes: 80
    • Alberto Marqueses Blog
Re: programar DSPIC33FJ128MC802 con CCs
« Respuesta #10 en: 15 de Diciembre de 2011, 06:46:26 »
Hola Fernando,

me encuentro en la misma tesitura que tu, trabajando con CCS y con el dspic33fj128mc802, y sin conseguir hacer funcionar el PLL. Con los fuses es imposible, no sé cual será el problema, supongo que mal programado por parte del compilador. De todas formas, he probado el código que indicas mas arriba, y no me funciona tampoco. Y ademas tampoco lo entiendo. ¿Como se puede indicar los valores del PLL dentro del main? Se supone que ya debe estar corriendo a una frecuencia cuando ejecute esas instrucciones, por lo tanto, se crea hay un conflicto, ¿no? No sé, me resulta raro.

Si conseguiste la solución, o si alguien ha conseguido programar el PLL, por favor, que dé alguna indicacion. Gracias y saludos!
Alberto Aragón Marqueses
albertomarqueses.wordpress.com

Desconectado marqueses

  • PIC12
  • **
  • Mensajes: 80
    • Alberto Marqueses Blog
Re: programar DSPIC33FJ128MC802 con CCs
« Respuesta #11 en: 15 de Diciembre de 2011, 09:10:54 »
Hola,

acabo de darme cuenta de mi error. El código expuesto funciona correctamente. El problema viene en el programador, aunque no estoy seguro que sea de éste. El programador que uso es el winpic800 - GTP-USB+ y cuando inserto el código y me voy a configuración me indica que el oscilador al iniciar el dsp será interno y no XT como yo tengo puesto en el código. Por lo tanto, no sé si es culpa de CCS que no indica bien que trabajo con XT y PLL o del programador que no lo lee bien. Aun así, modifico esta configuración, indico que trabajo con XT y PLL y va a las mil maravillas. Adjunto imagen por si alguien tiene el mismo problema y mismo programador.

Gracias y saludos.
Alberto Aragón Marqueses
albertomarqueses.wordpress.com

Desconectado Andres__Ricardo

  • PIC10
  • *
  • Mensajes: 2
Re: programar DSPIC33FJ128MC802 con CCs
« Respuesta #12 en: 12 de Marzo de 2013, 11:42:29 »
Hola,

acabo de darme cuenta de mi error. El código expuesto funciona correctamente. El problema viene en el programador, aunque no estoy seguro que sea de éste. El programador que uso es el winpic800 - GTP-USB+ y cuando inserto el código y me voy a configuración me indica que el oscilador al iniciar el dsp será interno y no XT como yo tengo puesto en el código. Por lo tanto, no sé si es culpa de CCS que no indica bien que trabajo con XT y PLL o del programador que no lo lee bien. Aun así, modifico esta configuración, indico que trabajo con XT y PLL y va a las mil maravillas. Adjunto imagen por si alguien tiene el mismo problema y mismo programador.

Gracias y saludos.

Hola a mi el ccs me coloca error con tan solo incluir el 33fj128mc802, no se que hacer, por favor ayudenme, el error que aparece es el siguiente.

*** Error 24 "C:\PROGRA~1\PICC\devices\33fj128mc802.h" Line 2(9,26): Unknown device type  "DSPIC33FJ128MC802"

gracias de antemano

Desconectado marqueses

  • PIC12
  • **
  • Mensajes: 80
    • Alberto Marqueses Blog
Re: programar DSPIC33FJ128MC802 con CCs
« Respuesta #13 en: 13 de Marzo de 2013, 18:43:10 »
Andres, ¿estás seguro que la versión de CCS que estás usando soporta ese dspic? Da la impresión de que no, y que por eso no lo encuentra en la librería de controladores.

Un saludo.
Alberto Aragón Marqueses
albertomarqueses.wordpress.com

Desconectado skormel

  • PIC12
  • **
  • Mensajes: 50
    • Chaputronia
Re: programar DSPIC33FJ128MC802 con CCs
« Respuesta #14 en: 21 de Marzo de 2013, 08:36:51 »
Muy buenas,

Hace tiempo publiqué una aplicación para configurar los Mhz que desees en la familia dspic33F échale un ojo.

Calculadora dsPic33F

Te digo si quieres usar exactamente 80Mhz necesitas un cristal, ya que con el oscilador interno, no puedes obtener exactamente los 80mhz

También te digo una cosa, no le tengas miedo a C30, al principio cuesta un poco, pero va genial.

Un saludo.