modo sleep y consume 7mA ?

#1
Después de reducir toda la circuiteria a un dsPIC con su xtal de 20Mhz, su conector para programar con icd3, y conectar la fuente directamente al dspic sin pasar por un regulador, el modo sleep deberia hacer que el dspic consumiera menos de 1mA segun las especificaciones del datasheet. Sin embargo consume 7mA.

Se deshabilita todo, los puertos, como los periféricos del dspic, el wdt, y no sé que más deshabilitar. No creo que sea tema hardware, pues no hay más que eso que he descrito, pero sí del programa, seguramente alguna instrucción de configuracion de la CPU o del clock.

Código:
//*****************************************************************
//CONFIGURACION DEL MICRO
//*****************************************************************
 
_FBS( BSS_NO_FLASH & BWRP_WRPROTECT_OFF )
_FGS( GSS_OFF & GCP_OFF & GWRP_OFF ) 
_FOSCSEL( FNOSC_PRIPLL & IESO_OFF )
_FOSC( FCKSM_CSECME & IOL1WAY_ON & OSCIOFNC_OFF & POSCMD_HS )
_FWDT( FWDTEN_OFF & WINDIS_OFF & WDTPRE_PR32 & WDTPOST_PS1 )
_FPOR( FPWRT_PWR1 & ALTI2C_OFF ) 
 
//*****************************************************************
//CONFIGURACION DEL XTAL 
//*****************************************************************
//Fin = 20 MHz
//Fosc = Fin * (M/(N1*N2))
//Fosc = 20 * (32/(4*2)) = 80 MHz
//Fcy = Fosc / 2 = 40 MIPS
 
OSCCONbits.OSWEN = 0b0;
OSCCONbits.LPOSCEN = 0b0;
OSCCONbits.CLKLOCK = 0b1;
OSCCONbits.NOSC = 0b011;
 
CLKDIVbits.PLLPRE = 0b10; 
CLKDIVbits.PLLPOST = 0b00; 
CLKDIVbits.FRCDIV = 0b0;
CLKDIVbits.DOZEN = 0b0; 
CLKDIVbits.DOZE = 0b100; 
CLKDIVbits.ROI = 0b0;
 
PLLFBDbits.PLLDIV = 0b11110;
Gracias si a alguien se le ocurre algo.
 
Última edición por un moderador:
#2
Nunca he trabajado con los dsPIC, pero para conseguir modos de consumo realmente bajos, no conozco ningún micro ni puerta lógica a la cual le gusten los pines de entrada 'al aire'. O pull up o pull down.

Conseguir consumos realmente reducidos implica un estudio bastante completo de todo lo que hay o no hay en cada uno de los pines y periféricos. Y luego hacer un control exhaustivo del estado interno tanto de los periféricos como de los pines de salida y entrada.
 

Temas similares

Arriba