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.

[参考译文] DAC80504:使用 SPI 的 TM4C129ENCPDT 的 DAC 80504连接问题

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/956441/dac80504-dac-80504-interfacing-problem-with-tm4c129encpdt-using-spi

器件型号:DAC80504

您好!  

我尝试使用 SPI 将 DAC 80504与 TM4C120ENCPDET 相连。 我正在尝试使用以下步骤写入 DAC 0。

1. CS 低电平

2.配置寄存器写入

3. CS 高电平

4. CS 低电平

5.增益寄存器写入

6. CS 高电平

7. CS 低电平

8. DAC 寄存器写入

9. CS 高电平

10.CS 低电平

11.用于读取 DAC0的虚拟命令
12. CS 高电平。

DAC0上没有输出、也无法从 DAC 寄存器中读取数据。 在10MHz 频率下使用模式1的 SPI 模式。  请支持。

此致

乔治

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

    尊敬的乔治:

    您能否分享您实际写入这些寄存器的内容?

    您可以共享原理图吗?

    您是否确认器件已正确通电且 SPI 格式正确? 最好使用示波器来确定该值。

    谢谢、

    Paul

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

    尊敬的 Paul:

    感谢您的支持。  

    以下是我们写入寄存器的值。

    配置寄存器- 0x03、0x00、0x00

    增益寄存器-0x04、0x00、0xFF

    DAC0寄存器- 0x08、0x19、0x9A

    DAC0读取-0x88、0x00、00x00

    我确认了器件供电和 SPI 格式、并且正确无误。 在 CS 低电平期间、我对时钟周期进行计数、并根据数据表进行计算。 使用示波器探测芯片、找到进入 DAC 的输入、CS 和时钟、读取期间 SDO 线路上没有输出、DAC 输出端没有输出电压。

    原理图

    谢谢

    乔治

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

    尊敬的乔治:

    您是否验证了从 SPI 主器件正确应用了边沿关系? (即数据在上升沿设置、在下降沿锁存)。

    基准引脚上是否有电压?

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

    尊敬的 Paul:

    我已验证边沿关系并正确应用。 基准电压为2.5V

    谢谢

    乔治

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

    尊敬的乔治:

    您可以在 DAC 侧布置 SPI 帧吗? (CS、SCLK 和 DATA)

    该器件仅在以下配置中支持 SPI 模式。

     根据操作 SPI 帧的模式、SCLK 下降沿到 CS 忽略(tCSIGNORE)的最小时序要求。 如果 SCLK 的默认状态为高电平、请确保 SCLK 在 CS 变为低电平之前至少7ns 变为低电平、如下面的时序图所示。  

    此致、

    AK

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

    您好、Akhilesh、

    已连接 CLK 和 CS 数据。 黄色线是时钟、蓝色线是 CS

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

    尊敬的乔治:

    您是否验证了写入操作? 或者您在读取和写入方面遇到问题?

    您能不能尝试禁用和启用内部基准、这样我们就能轻松识别您的写入是否正常。

    此外、为了回读、您需要发出2条 SPI 帧命令、其中一条命令具有正确的读取命令、下一个帧可以是任何命令。 在第二个帧中、您将在 SDO 上获得请求的数据。

    请验证这些内容。

    此致、

    AK

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

    您好、Akhilesh、

    我遇到了写入和读取问题。 我尝试读取器件 ID、但它返回零值。 。 我尝试启用和禁用内部参考。 但没有响应。  

    此致

    乔治

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

    尊敬的乔治:

    也请将数据发送给我您的 SPI 帧。

    此外、作为调试、您还可以将 SPI 模式更改为 CPOL = 1和 CPHA = 0

    基本而言、SPI 时钟的空闲状态将为高电平并遵循数据表的时序要求。

    此致、

    AK

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

    您好、Akhilesh、

    我的帧如下所示、

    CS 低电平

    配置寄存器写入 0x03、0x00、0x00

    CS 高电平

    CS 低电平

    器件 ID 寄存器读取  0x81、0x00、0x00

    CS 高电平

    CS 低电平

    虚拟通信读取 ox FF、0xFF、0xFF

    CS 高电平。

    我还尝试了模式2。 但没有响应

    此致

    乔治

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

    您好!

    您能否将最后两个帧与数据一起发送给我?

    CS 低电平

    器件 ID 寄存器读取  0x81、0x00、0x00

    CS 高电平

    CS 低电平

    虚拟命令读取0xFF、0xFF、0xFF

    CS 高电平。

    请确保 SlCK IDLE 状态为高电平并执行这些捕获。

    此致、

    AK

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

    尊敬的 Akhilesh:

    感谢您的支持。 我解决了这个问题。

    谢谢、此致

    乔治