TI中文支持网
TI专业的中文技术问题搜集分享网站

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

Part Number:DAC71408Other 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.

Amy Luo:

您好,

这里是E2E中文论坛,您可以使用中文发帖。

1、是的,是工作在SPI mode1:时钟极性(CPOL)= 0,时钟相位(CPHA)= 1。SCLK的上升沿用于移动数据,下降沿用于锁定数据。不与从属设备通信时,SCLK处于低电平空闲状态。

2、不需要延时10us,CS拉高后通信就结束了,如果您需要连续写入多个寄存器值,您可以使用Streaming Mode,具体见 datasheet 9.5.1.1章节。

3、寄存器配置没看出什么问题,但是您是否验证了寄存器的读写,即寄存器写入后是否可以正确读出写入值?

4、您可以附上读取一个寄存器的SPI (/CS、SCLK、SDI、SDO)的时序图吗?如下datasheet 读取时序图截图:

,

? ??:

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:

,

Amy Luo:

DEVICEID register是只读寄存器,使用 DAC71408型号的话,其[15-2] bit应该是288h。如果读取出来的值不是这个值,那么就很可能是读取时序存在问题。同时寄存器写入也可能存在问题。

用示波器捕捉SPI通信波形是最好的时序检查方法。您是使用的EVM板吗?EVM板有将/CS、SCLK、SDI、SDO这几个信号引至J8接线端子上,您将这几个信号想办法引入示波器就可以了。

赞(0)
未经允许不得转载:TI中文支持网 » DAC71408: The DAC71408 communicates with the TMS320F28379D — LaunchPad. The DAC cannot output.
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1