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:
- In this usage mode, should SPIA work mode be set to SPI_PROT_POL0PHA1?
- If I use SPI_transmit24Bits function, do I need to delay 10us until the transmission is complete?
- 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?
- 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: