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