This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DAC1220: DAC1220, SPI communication problem

Part Number: DAC1220

Hi,

     This is my first time to use DAC1220 EVM board to connect our own microcontroller through SPI interface, and I have some question for the startup sequences. I used the half-duplex SPI(mode 1,clk idle=0, the second edge to capture data ) for the serial interface, the frequency of SCLK is 125kHz. The DAC crystal is 2.45MHz, from the user guide, I connect microcontroller SPI sclk to DAC pin 3(SCLK); SPI MOSI to DAC pin 13(SDIO), GPIO pin (for CS) to DAC pin 7(CS) , the DAC pin 9(SDIEN). AVDD and DVDD connected 5V(the AVDD must to connect first), AGND and DGND connect to ground. S1 is turn right; S2 is turn down. Is any wrong wire to DAC1220?

And I write some command to the DAC. The figure 1 is for the reset pattern; Figure 2 is for write command to command register to set the DAC for 20-bit resolution (0x05,0xA1). Figure 2 is for the read the command register from DAC (0xc0, 0xff(dummy), 0xff(dummy)), but the SDIO always is zero. Have anyone have any recommendations for the setting to DAC1220?  I'll be appreciate, thx.


Figure 1, the reset timing is 220us(high),13us(low),444us(high),13us(low),886us(high)

Figure 2

Figure 3

  • Wu,

    Sorry for the delays. Uttam from my team will get back to you on Monday when he returns to office.
  • Hi Wu,

    Welcome to E2E and thank you for your query. As the SDIO pin from the DAC is bidirectional, your microcontroller must have this option. You have mentioned that you have connected the SDIO pin to the MOSI of the controller. I am assuming that MOSI is unidirectional and pulls the line LOW during a READ. That might be the reason you are observing a zero on the line.

    Please let me know how you are timing the FSR (enable pin for U3 on the EVM and the MISO input on the microcontroller? In case you don't have a bidirectional SDIO option on the controller, you will need to enable/disable U3 on the EVM in order to isolate MOSI and MISO.

    I would recommend the following connectivity for the SPI data signals:

    MOSI: DX (pin 11 on J2)
    MISO: DR (pin 13 on J2)
    GPIO: FSR (pin 9 on J2): this should be pulled HIGH during a READ cycle and pulled LOW otherwise

    Hope that answers your question.

    Regards,
    Uttam Sahu
    Applications Engineer, Precision DACs
  • Hi, 

       I connect the DAC with my microcontroller success. Now I have a question about command register, when I use reset partten to DAC and read the command register. The value in command register is 0x2800. I also write the value to command register successful (0x28a0). But sometimes I write some value in data input register(DIR), the command register and DIR will always return  0.  This situation will happen when I try to write value to DIR1 or DIR2. I don't understand what's happened to the DAC.