D/A conversioni

Con un D/A da 8/16 bit collegati ad un micro come il 420. Vorrei rappresentare un range di X valori es da 0 a 150 o piu, da o a xxx. E siccome questi DA vogliono in ingresso valori da 0000 a FFFF dovro convertire e traslare il numero 0...150 facendolo corrispondere a 0 to FFFF in C?

Reply to
vito
Loading thread data ...

F

Dipende, non "sarebbe" necessario fare la traslazione ( forse intendevi una moltiplicazione? ); hai 2 possibilit=E0:

1- puoi mandare al DAC i tuoi valori da 0=F7150 ottenere il segnale analogico corrispondente e amplificarlo a piacimento 2- puoi moltiplicare il valore da spedire al DAC (da 0 a 150 ) per 436 ( 436*150=3D65400=3D0xFF78 , e non sei in saturazione) e poi amplificarlo a piacere.

Nel primo caso devi amplificare per via analogica (quindi moltiplicare) di un fattore 436 per ottenere un segnale paragonabile a quello del secondo caso; il lato negativo di questo approccio =E8 che amplifichi moltissimo anche il rumore, cosa che nel secondo caso non avviene per lo meno considerando il segnale subito all'uscita del DAC. Ciao, Enrico

Reply to
Hexfet13

Dipende, non "sarebbe" necessario fare la traslazione ( forse intendevi una moltiplicazione? ); hai 2 possibilità:

1- puoi mandare al DAC i tuoi valori da 0÷150 ottenere il segnale analogico corrispondente e amplificarlo a piacimento 2- puoi moltiplicare il valore da spedire al DAC (da 0 a 150 ) per 436 ( 436*150=65400=0xFF78 , e non sei in saturazione) e poi amplificarlo a piacere.

Grazie per la risposta Quindi siccome il segnale lo ottieni con un micro converrebbe modificare la variabile Dato Es se il mio dato e da( 0 a 200) moltiplico il tutto per 327,675 (327.675*200=65400) ottenendo cosi il valore max di corrente sull uscita dico bene?

Reply to
vito

A me sa che non hai capito niente :)

Il calcolo da fare è FondoScalaDAC/FondoScalaSegnale.

Per esempio nel caso del fondoscala = 200 e 0xFFFF (=65536) per il dac, la costante moltiplicativa, da approssimare per DIFETTO per evitare clipping è : 65536/200 = 327,68 quindi 327

Ciao CG

Reply to
CG Audio Laboratories

a

Beh, infatti il dac non fa altro che "trasformare" un segnale digitale fornito dal micro o quant'altro in un corrispondente analogico e se ci pensi non ha senso usare una lo 0.3% della scala disponibile ( 200/65535 ) quando puoi usarla tutta, questo perch=E8 se il tuo dac ad es. d=E0 in uscita come fondoscala un valore a 5V in realt=E0 otterresti solo lo 0.3% di 5V =3D 15mV che sono decisamente pochini. Il calcolo che hai fatto "327.675*200=3D65400" (forse hai sbagliato a digitare 65535 con 65400? e forse per "corrente" intendevi tensione?) per quanto possa essere giusto sulla carta, di fatto viene approssimato per difetto e quidi tieni solo il 327 come fattore moltiplicativo; cos=EC facendo hai che non saturi e eviti di fare moltiplicazioni con double che generalmente sono pesanti per micro standard tipo i pic. Ciao, Enrico

Reply to
Hexfet13

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.