Pagina 1 di 1

problemi dac interno pic16f1773

MessaggioInviato: 17 ott 2019, 20:00
da lorenzo01
ciao, ho bisogno di realizzare un dispositivo in grado di generarmi forme d'onda sinusoidali, precisamente 3 sinusoidi sfasate di 120 gradi.
l'idea è quella di utilizzare un sistema a microcontrollore con un DAC a 8 bit che sono più che sufficienti per l'utilizzo che devo farne; la scelta è ricaduta sul pic16f1773 un microcontrollore che dispone al suo interno di 6 dac: 3 da 5 bit e 3 da 10 bit.
montato su breadboard e interfacciato con il programmatore pickit3 mi cimento a fare un programma di prova che deve restituirmi un valore in tensione
Codice: Seleziona tutto
#include <xc.h>

#define _XTAL_FREQ 20000000

void main()
{   
       DAC1CON0 = 11110000;  //accendo dac e setto le uscite e vref+ e vref-
    while(1)
    {
        DAC1REF = 1111111111;   //valore valore analogico
    }
}

qualcuno sa identificare il problema? premetto che il compilatore non da errori e il programma viene correttamente caricato sul uc la il valore analogico sul pin di uscita del dac risulta 0
vi ringrazio in anticipo

Re: problemi dac interno pic16f1773

MessaggioInviato: 20 ott 2019, 16:59
da marioursino
Senza aver visto il ds, direi che manca almeno l'impostazione dei TRIS. Sei sicuro che l'impostazione della periferica sia così semplice?

Per ora stai impostando un valore costante senza nessun delay, è quello che volevi fare?

Re: problemi dac interno pic16f1773

MessaggioInviato: 21 ott 2019, 12:05
da Paolino
Non hai inserito una parte di configurazione del micro, in particolare l'oscillatore. Non basta infatti dichiarare la frequenza con
Codice: Seleziona tutto
#define _XTAL_FREQ 20000000


devi prima di tutto impostare i registri dell'oscillatore.

Cosa usi? Oscillatore interno? Quarzo esterno?

Ciao.

Paolo.

Re: problemi dac interno pic16f1773

MessaggioInviato: 24 ott 2019, 21:49
da lorenzo01
Paolino ha scritto:Non hai inserito una parte di configurazione del micro, in particolare l'oscillatore. Non basta infatti dichiarare la frequenza con
Codice: Seleziona tutto
#define _XTAL_FREQ 20000000


devi prima di tutto impostare i registri dell'oscillatore.

Cosa usi? Oscillatore interno? Quarzo esterno?

Ciao.

Paolo.

in realtà li ho configurati correttamente in maniera che utilizzando un quarzo esterno da 20 MHz tutto funzioni correttanente

Re: problemi dac interno pic16f1773

MessaggioInviato: 24 ott 2019, 21:51
da lorenzo01
marioursino ha scritto:Senza aver visto il ds, direi che manca almeno l'impostazione dei TRIS. Sei sicuro che l'impostazione della periferica sia così semplice?

Per ora stai impostando un valore costante senza nessun delay, è quello che volevi fare?

stando al datasheet vi è solo quel registro li di configurazione

Re: problemi dac interno pic16f1773

MessaggioInviato: 24 ott 2019, 22:31
da EcoTan
Riporto un esempio di configurazione (per un'altra MCU):
DAC1CONbits.DACFDIV = 6;// DAC clock 160/(6+1)MHz,22857/256=89kS/sec
DAC1STATbits.ROEN = 1; //Right Chan DAC Out Enabled PIN23 12 sul connettore
DAC1STATbits.LOEN = 1; //Left Chan DAC Out Enabled PIN25 12 sul connettore
DAC1CONbits.DACEN = 1; //DAC1 Module Enabled
poi per portare i campioni in uscita c'è un accodamento che non ho mai capito bene.

Re: problemi dac interno pic16f1773

MessaggioInviato: 25 ott 2019, 8:43
da Paolino
lorenzo01 ha scritto:in realtà li ho configurati correttamente in maniera che utilizzando un quarzo esterno da 20 MHz tutto funzioni correttanente


Puoi postare il codice completo, allora?