Buenas tardes, quería consultarles si alguien a usado algún dspic en sampleo simultaneo, sampleando a la vez los 4 canales y poder simularlo en proteus. (estoy usando el dspic33fj32gp202)
Tengo el problema que configuro el AD en sampleo simultaneo, mi interrumpe cada 4 muestras y en sampleo manual. Pero cuando hajo el primer _SAMP = 1 y miro despues el buffer del ADC1BUFF solo me aparece la primra muestra de CH0, cuando debería tener las 4 CH0,CH1,CH2 y CH3. Solo aparecen las demas si vuelco a hacer cada vez el _SAMP.... He repasado la configuración y esta como dice la hoja de referencia, pensaba que sería un problema de simulación del proteus, ya que no tengo la placa física para corroborarlo.
Paso la configuración del AD por las dudas:
_ADON=0; //Apagamos el ADC
_ADSIDL=0; //Apago modo bajo consumo
_AD12B=0; //10 bits
_FORM=0; //entero sin signo
_SSRC=7; //Fuente de disparo automatico
_SIMSAM=0; //Sampleo simultaneo
_ASAM=0; //Muestreo manual
_SAMP=0; //
_CSCNA=0; //No necesito autoscanning
_CHPS=2;
_BUFS=0; //Como llena el buffer solo si BUFM=1
_SMPI=1; //Debe ser menor a 4 N-1, cada 4 muestras interrumpe bien (con =1 a las 8 muestras empieza de cero el buffer)
_BUFM=0; //Rellenar el Buffer a 16 bits
_ALTS= 1; //sampleo primero A y despues B
_ADRC=0; //Reloj del sistema TAD = TCY*(ADCS+1)
_SAMC=30; //30Tiempo de muestreo = 1xTAD depende de 3 factores ver formula Tsim = Tsmp + MxTcon (TADmin = 118ns) 12*118ns (Agranda el TCONV)
_ADCS=6; //Prescaler n.Tcy=Tad : 118ns/1/40Mis=5 TAD= 175ns (agranda el TAD)
//tiempo de conversion =12*Tad*4=6useg bien
//tiempo de sampleo = SAMC * TAD bien
_VCFG=0; //Fuente de referencia inerna Avdd=3.3V y Avss
//MUX B
_CH123NB = 0; //CH1,CH2,CH3 REF NEGATIVA VS PASA SAMPLEO B
_CH123SB = 1; //CH1 AN3, CH2 AN4, CH3 AN5
//MUX A
_CH123SA=0; //CH1 AN0,CH2 AN1,CH3 AN2
_CH123NA=0; //CH1,CH2,CH3 REF NEGATIVA VS PASA SAMPLEO A
_PCFG0=0;
_PCFG1=0;
_PCFG2=0;
_PCFG3=0;
_PCFG4=0;
_PCFG5=0;
_AD1IF=0; //Limpia el flag de interrupcion
_AD1IE=0; //No habilita la interrucpción
_ADON=1; //Prendemos el ADC
Gracias por su ayuda.