Forum: Mikrocontroller und Digitale Elektronik Probleme mit 16Bit DAC MAX5136


von ben (Gast)


Lesenswert?

Hallo,

in einem neuen Design setze ich den 1Bit DAC MAX5136 ein. Ein 
ausgiebiger Test zeigt nun, dass sie untersten 6 Bit des gesendeten 
Wertes komplett ignoriert werden.

Hier kurz ein Codeschnipsel, ich nutze das 'write through' command:

1
#define WRITE_DAC0 0x31
2
#define WRITE_DAC1 0x32
3
4
    if(outp)
5
        dac_buff[0] = WRITE_DAC1;
6
    else
7
        dac_buff[0] = WRITE_DAC0;
8
9
    dac_buff[1] = val >> 8;
10
    dac_buff[2] = val & 0xFF;
11
12
    dac_spiTransmit();

Was könnte die Ursache sein? Ein Denkfehler? Wurde mir ein fehlerhafter 
DAC geliefert? Ich bin Ratlos.
Irritierend ist auch die Tabelle 1 im Datenblatt (Seite 10). Hier sind 
nämlich genau die untersten 6 Bit nicht explizit angegeben.

Datenblatt: http://datasheets.maximintegrated.com/en/ds/MAX5134.pdf

vielen Dank

von ben (Gast)


Lesenswert?

Problem gelöst:

ich hatte in der Initialisierung das 'optimize linearity' command mit 
einem falschen parameter aufgerufen und dabei vermutlich ein 
undokumentiertes 'feature' aktiviert...

von Forist (Gast)


Lesenswert?

ben schrieb:
> ich hatte in der Initialisierung das 'optimize linearity' command mit
> einem falschen parameter aufgerufen ...

Nur damit dieser Thread auch einen Sinn bekommt und vielleicht anderen 
etwas nützt:

Wie sehen Initialisierung und Ausgabe jetzt aus?

von ben (Gast)


Lesenswert?

keine initialisierung nötig

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.