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.

DAC71408: he DAC71408 communicates with the TMS320F28379D -- LaunchPad. The DAC cannot output.

Part Number: DAC71408
Other Parts Discussed in Thread: SYSCONFIG,

Dear TI engineers,

I used SPIA of TMS320F28379D-LaunchPad to communicate with DAC71408 chip, and IDDK was used for program template. Now DACOUT0 to DACOUT3 of DAC71408 output 0V. After consulting the data manual, I found that the register configuration was inappropriate. I have tested the sending function of SPI with oscilloscope, and the waveform conforms to the data I want to send. The following is my SPI initializer, register configuration program, and hardware circuit. SPIA configuration uses SYSCONFIG tool, and hardware circuit refers to DAC71408EVM board circuit diagram.

I want to use SPI to send 24-bit data to DAC71408. The power supply VCC=15V, VSS=-15V, VIO=3.3V, VDD=VAA=5V. The power supply has been tested with a multimeter and there is no problem, but the REF pin voltage is 0V.

I have the following questions:

  1. In this usage mode, should SPIA work mode be set to SPI_PROT_POL0PHA1?
  2. If I use SPI_transmit24Bits function, do I need to delay 10us until the transmission is complete?
  3. I want to use DAC output -10V~+10V voltage, use internal reference, use asynchronous mode, no CRC check, no streaming mode, no differential output, no broadcast mode, no Daisy chain, no software switch function. Is my register configuration correct? If not, can you provide the corresponding configuration routine?
  4. I cannot read valid values using SPI_receive24Bits function. What are the possible reasons?

 

  

In the figure below, 1 (yellow line) is SCLK signal, and blue 2 (blue line) is MOSI signal. I have checked and found that the sent data is correct.

The following is my hardware connection diagram.

The following figure shows the output data of DAC0 and DAC1 I measured, both of which are 0V.

I couldn't use the oscilloscope to get a sequence of readings. I use CCS to read the value of DEVICEID register and send 0x810000 to DAC. The value read is 12681216, which is C180000 in hexadecimal. I don't know what this number represents. The read value of the other registers is 02h(0xC30000) 03h(0xC38000) 04h(0xC60000)...... I don't know what these readings represent. Here are the program screenshots I read and CCS debug screenshots:

  • Hello,

    My team is not the expert in TI LaunchPads, so I am not familiar with the built in SPI functions, but I can help you set up the DAC. It would be most helpful to see an oscilloscope shot of the write command. The debug window does not really give me much information to go off of. It seems like your reads are not working, which makes sense if your write commands are also not working. 

    I looked up the SPI modes for you in the LaunchPad user's guide:

    It looks like either of the highlighted options match the DAC71408 timing diagram. Lets start there. 

    The internal reference is powered on by default. Try powering it on and measuring the reference output pin. If you measure the correct reference voltage then you know communication is working and we can move on to configuring the DAC. If not, we can continue debugging SPI. 

    Best,

    Katlynne Jones