For a recent project I got to work on DAC8563. The SPI communication works well with other parts on the board (with accelerator and EEPROM and verified with a logic analyzer).
Pin connections:
VDD = 3.3V
LDAC = GND (using the DAC in synchronous mode)
Din = SPI MOSI
SCLK = SPI SCK
SYNC = SPI CS (chip select)
CLR = GPIO pin of the uC
VREF = 3.3V
After powering up the DAC the O/P ~1.66V as expected for the part. So far good..
The DAC does not reflect the input.. If i send 0x170000 i should expect ~0V or 0x17FFFF should give me ~3.3V. But the output is either 1.6V or 3.3V.
Here are the following steps I'm doing to initialize the DAC
SPI data in 3 byte bursts (using an 8 bit controller, so...)
//---------- Initialize ------------
Disable LDAC pin: 0x30, 0x00, 0x03
Powerup DAC : 0x27, 0x00, 0x03
//--------- DAC inputs to both A and B ---------
0x17, 0x00, 0x00 ; expected 0V but actual is 3.3V
0x17, 0xFF, 0xFF ; expected 3.3V but actual 3.3V,
and
0x1F, 0x00, 0x00 ; expected 0V but actual is 3.3V
0x1F, 0xFF, 0xFF ; expected 3.3V but actual 3.3V,
The reason to try command and address register to 0x17 and 0x1F is because the Table 17 in the data sheet was ambiguous and so was Table 12.
I think i'm missing something in the initialization steps. I tried enabling the internal reference (of course disconnected the Vref from 3.3V) and was able to get 2.5V on the Vref pin, but no change after that. It stays at 2.5V no matter what i gave as input.
Some help will be useful!
Thank You!