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.

[参考译文] TLV5630:TLV5630 12位

Guru**** 1791630 points
Other Parts Discussed in Thread: TLV5630
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/665555/tlv5630-tlv5630-12-bit

部件号:TLV5630
线程中讨论的其他部件:TMS320F2.8335万

大家好,

我正在尝试通过SPI将一些数据从TMS320F2.8335万 DSP发送到TLV5630 DAC。 我正在向DAC发送正确的信号。 我已经检查了MOSI,SCLK,FS引脚,它们应该按其应有的方式工作。 现在,我已经从数据表中设置了var1 (在下面的代码中),以便在通道B中获取模拟数据, 但我在通道C上获取数据。仅当我提供0x0000时,我才在通道A上获取实际数据。否则,我在错误的通道中获取正确的数据。 有人能告诉我,我在选择频道时犯了什么错误吗?  下面是我的初始化和方法。  

daco =(Vref*5);//一些正弦数据点

VAR1 = 0x1000;

SDATA1 = var1|daco;

void spi_init()

SpiaRegs.SPICCR.ALL =0x000F;//重置打开,上升边缘,16位字符位
SpiaRegs.SPICTL.ALL =0x0006;//启用主模式,正常相位,
//启用通话,SPI int禁用。
SpiaRegs.SPIBRR =0x0014;
SpiaRegs.SPICCR.ALL =0x009F;//从重置放弃SPI
SpiaRegs.SPIPRI.Bit.free = 1;//设置断点以使xmission不受干扰


}

void spi_fifo_init()

//初始化SPI FIFO寄存器
SpiaRegs.SPIFFTX.All=0xE040;
SpiaRegs.SPIFFRX.all=0x204f;
SpiaRegs.SPIFFCT.All=0x0;
}

空SPI_xmit1(UINT16 A)

SpiaRegs.SPITXBUF=A;
L1=1;
L1=2;
L2=L1/2;

GpioDataRegs.GPASET.bit.GPIO30 = 1;

L2=1;
L2 = 2;
GpioDataRegs.GPACLEAR.bit.GPIO30 = 1;

}

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Debanjan,

    感谢您的查询。 我无法从代码片段中确定您正在编程的DAC代码。 我没有此DSP的编程经验,因此无法确定SPI配置是否正确。 但是,为了进一步调试,如果您能帮助我了解SPI序列的范围快照以及正在编程到DAC的16位十六进制代码,那将是非常好的。

    此致,
    Uttam Sahu
    精密DAC应用工程师
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Debanjan,

    您对此有任何更新吗?

    此致,
    Uttam
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回复,很抱歉回复太晚。

    我正在使用12位版本的TLV5630。 TLV5630的数据表说明,要选择DAC通道,我必须使用四位A0A1A2A3。 假设如果您查看数据表,您将看到选择通道B时 ,A3-A0应该为0 0 0 1。 所以我在DSP和二进制ORing内用0 0 0 1取我的模拟词,然后将它发送到DAC。 但我在不同的输出引脚C上获得所需的输出。我认为我的通道信息编码错误。 你能不能对我的错误说些什么? 我已经检查了DAC针脚上的时钟信号,并且FS信号的行为与预期的一样。 我想知道如何选择正确的通道来使用二进制操作显示我的数据。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Debanjan,

    首先,我怀疑是位移。 您可以通过以下测试确认:

    1.写入通道A (0b0000)-输出应反映在通道A本身上
    2.写入通道C (0b0010)-它应反映在通道E (0b0100)上
    3.在通道D (0b0011)上写入-它应反映在通道G (0b0110)上

    如果上述假设不正确,我们需要查看SCLK,SDI和CS的范围镜头,以了解具体情况。

    此致,
    Uttam
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Debanja,

    您是否有机会按照我建议的顺序对其进行测试?

    此致,
    Uttam