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.

[参考译文] DAC53204:SPI 编程模式

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1161982/dac53204-spi-programming-mode

器件型号:DAC53204
主题中讨论的其他器件:DAC63204

您好!  

SPI 编程模式的相关信息、请访问7.5.1

寄存器地址的时隙为7位长、但寄存器地址为8位长、例如(表7-21):

我们是否需要在地址中增加 MSB?

 

您能给我们发送读/写示例吗?

谢谢、

Ariel

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

    Illia 将在今天回答这个问题。 谢谢!

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

    您好 Ariel、  

    执行 SPI 的序列为:

    第一位:1/0对于读取或写入、最后7位将是您要写入的寄存器的地址、您可以在该表中找到该地址。 因此、整个序列将是8位。

    这是否能回答您的问题?  

    谢谢、  

    Illia Volkov   

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

    您好  Illia、

    我们使用由 FTDI FT4232H 通过 SPI 协议(模式2)驱动的 DAC63204。

    在硬件方面-所有 SPI 线路与 PU 连接至 IO 电压电平。

    我们想知道我们是否使用正确的命令从 DAC 读取任何数据。
    例如、我们传输了命令0xA2、0x00、0x00 (pic 1)来读取配置寄存器数据(0x22地址)

    如图1所示、MISO 线路保持高电平

    PIC 1位于以下链接:

    黄色- CS

    蓝色- MOSI

    粉色 - MISO

    绿色- CLK

    您能否举一个 有效读取命令和有效写入命令的例子?  

    https://imgur.com/a/T0ZVGcU

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

    Illia 现在正在对此进行审查。

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

    您好 Ariel、  

    我不是很熟悉这个具体的方案。 您能否澄清一下该函数的其他参数? 我知道0xA2是您尝试发送的8位数据、但您尝试发送的其他空参数是什么?

    谢谢、  

    Illia Volkov  

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

    您好 Illia、

    是 Ariel 同事。

    0xA2是读取位+配置寄存器的地址、之后是不用考虑(数据表中的表7-21)、 我们尝试读取寄存器、但在 SPI 的 MISO 线路上没有任何结果

    我们的问题是验证 我们是否根据 数据表表表7-12 (或原始问题中的)为读取寄存器发送了正确的命令

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

    您好!  

    只需确认即可。 默认情况下、DAC 具有3线 SPI 通信。 仅当将 GPIO 配置为 SDO 引脚( MISO )时,回读功能才可用。 如果没有、请将 GPIO 配置为 SDO、然后重试。 说明位于数据表第44页的底部。

    谢谢、  

    Illia Volkov  

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

    您好 Illia、

    谢谢! 这解决了一半的问题、现在我可以写入寄存器并验证它们、但当我尝试读取寄存器时仍然存在问题。

    IM 使用 NOP 寄存器第7.6.1节,当我写入0x55AA 时,回显是当我尝试读取 SDO 位时我可以从 SDO 位读取的,而不会获得寄存器值。

    对于写入、我使用写入命令0x0055AA 通过0x800000读取 im、如数据表7至12中所述、但数据显示全部为"0"

    请参阅下图以了解执行过程

    写入后读取 rtrn25  

    Rtrn16只读(位23设置为1位22-16是其余16-0无关的地址)

    请提供建议。

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

    Idan、您好!  

    您能否向我说明您尝试读取/写入什么以及读取/写入哪些寄存器? 我不认为0x55是任何寄存器的地址。  

    有关 NOP 寄存器的信息。 它是只读寄存器、因此您实际上不能向它写入任何内容。 因此、如果您尝试从中读取、该值将始终为"0"。

    谢谢、  

    Illia Volkov  

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

    我正在尝试使用一个寄存器验证我的读取命令、该寄存器不会影响任何内容、很抱歉、我错过了它是只读寄存器这一事实。

    让我们看看另一个寄存器 、7.6.12通用状态 寄存器地址0x22、返回值为0x200400、它与数据表中的器件 ID 位2-7不一致:

    0x200400 = 0010 0000 0100 0000 0000

    这是正确的吗? 我认为这是不对的。

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

    您好 Uliel、  

    一般状态也是只读通道。  

    检查读取/写入的最简单方法是写入 DAC 数据寄存器。 尝试写入0x40寄存器0x800、看看是否可以读回。

    此外、您能否帮个忙、将您的通信连接到示波器、然后向我发送一条消息、以便我可以看到尝试调试的所有信号。

    谢谢、  

    Illia Volkov