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:4线制 SPI 不工作

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1263084/dac53204-4-wire-spi-not-working

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

您好!

我有一个 DAC53204、我打算在4线制 SPI 模式下使用。  我使用以下编程序列、但看不到预期的结果。

#define DAC53204_REG_COMMON_TRIGGER ((uint8_t) 0x20)
#define DAC53204_REG_GENERAL_STATUS ((uint8_t) 0x22)
#define DAC53204_REG_INTERFACE_CONFIG ((uint8_t) 0x26)

    // Unlock device registers
    uint16_t reg = 0x5000;
    err          = write_register(p_handle, chip_select, DAC53204_REG_COMMON_TRIGGER, &reg);

    // Enable SDO for 4-wire SPI.
    reg = 0x1;
    err          = write_register(p_handle, chip_select, DAC53204_REG_INTERFACE_CONFIG, &reg);

    // Validate the hardware by checking the ID register (read_register issues a NOP per Figure 7-15. SPI Read Cycle of TRM)
    err          = read_register(p_handle, chip_select, DAC53204_REG_GENERAL_STATUS, &reg);

我目前在逻辑分析仪上看到以下内容:
CPOL= 1、CPHA=0

CPOL=0、CPHA=1

在 SDO-EN 位被写入后、我确实看到 MOSI 变为低电平、这根据其他一些 DAC53204文章、似乎是正确的行为。
 在任一情况下、我都在最终 NOP 访问中未看到器件 ID (应为 DAC53204:02h)。  我确实看到读取访问的 MSB (位24)和 NOP 在3个不同点设置、但由于这不是读取数据来自何处、因此看起来并不重要。

是否有任何关于我无法读取器件 ID 的见解?

我尝试过0.5MHz 和1.0MHz SCLK 频率。


谢谢。

标记

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

    尊敬的 Mark:  

    乍一看、这似乎没问题。 您是否在 SDO 引脚上有一个上拉电阻器? 它是一个开漏引脚、因此只能将线路拉至低电平。  

    此致!

    K·琼斯  

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

    尊敬的 Katlynne、感谢您的回复! 是的、我们在 DAC 的 SDI 引脚上有一个上拉电阻器。  我们还具有另一个 SPI 外设、共享工作中的 MISO 线路。  我确认在此事务期间仅 DAC 的片选被拉低。

    我已经使用公共触发器中提供的软件复位 来查看这是否有帮助。  我确实注意到、我必须在复位后插入一个延迟、否则我不会看到 SDO 被拉至低电平、这告诉我复位至少需要做一些事情。

    我还试图对 DAC-0-DATA 寄存器进行写入、以查看是否只有 SDI 线路不起作用、但这似乎没有改变 OUT0上的电压、但在实际看到任何变化之前、我可能遗漏了这里的另一个步骤。

    还有其他想法吗?

    标记

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

    尊敬的 Mark:  

    DAC 输出通道需要在输出任何数据之前通电。  

    您是否可以尝试以下写入来检查是否可以更新 OUT0。  

    寄存器0x1F、数据0x0249

    寄存器0x03、数据0x0400

    寄存器0x19、数据0xFF70

    我假设、由于您发送启用 SDO 的命令后 SDO 上的行为、您的写入可以正常工作。 只是为了确认、上拉位于 SDO (MISO)引脚上? 您提到了 SDI (MOSI)。  

    看起来您正在使用一个逻辑分析仪。 您能否看看 SDO 通道的模拟输出、看看数字通道是否有任何情况没有拾取?  

    我的下一条建议是将另一个器件的 SDO 线路与总线断开、以检查这是否有任何变化。  

    此致!

    卡琳恩  

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

    Katlynne、 以下是 CPOL=1/CPHA=0情况下自上而上的原始事务的范围。  我确实在 MSB 中看到了与之前逻辑分析仪相同的0x80。  因此、SDO 引脚上至少有一些活动。  是的、我在上一条消息上的确有一个拼写错误;SDO (MISO)有一个上拉。  遗憾的是、我无法轻松断开另一个 SPI 器件、因为它已经在电路板上。  好消息是、您发送给我的顺序确实有效、我现在能够在 OUT0上看到电压、因此 DAC 本身看起来可以正常工作。  这将暂时解除阻止我、但如果我们使 SDO 正常工作、那就太好了。  我将和我们的硬件人员交谈、看看可以通过隔离式测试做些什么、但任何其他想法都会很感激。 谢谢!

    通道包括:

    1. MISO

    2. SCLK

    3. mosi

    4. cs







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

    尊敬的 Mark:  

    感谢显示示波器图。 这与 SDO 试图 作为拆除另一个器件的替代方案不同、是否可以将 SPI 信号连接到 DAC63204EVM 并将其用作隔离测试? 您可以将 EVM 上的 SDO 保持为与总线不连接的状态、只需使用示波器进行查看。 我已向您发送带直接消息的 e2e 朋友请求、请检查一下。  

    您还可以共享原理图、我可以进行查看、以确保没有任何内容可能导致此问题。  

    是否向 DAC 写入任何其他内容? 您是在 GPIO-CONFIG 寄存器中配置任何内容(您不应该配置)、还是只是在 INTERFACE-CONFIG 寄存器中启用 SDO?

    此致!

    K·琼斯  

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

    Katlynne、

    除了器件解锁、其他任何数据都不会写入 DAC。 我的第一条消息中的代码片段包含唯一正在执行的写入操作。

    这里是我们的原理图中与 DAC 有关的相关部分。  如果不清楚、我们 使用 SPI 1/2有效信号复用 SPI 总线。 到目前为止、SPI 总线1和2上的每个外设都使用了该方案。  如果有任何可疑内容、请告诉我。 谢谢!





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

    尊敬的 Mark:  

     只要您在 SPI_DIN 信号上的某个位置有一个上拉电阻器、我不会看到此原理图有任何问题。 它应该在 SPI_DIN 上、而不是在与门的另一侧、SPI1/SPI2 MOSI 信号所在的位置。  

    除此之外、我想说的是、让我们检查 EVM、看看是否有不同的结果。  

    此致!

    卡琳恩

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

    复制上拉位置。  我会向硬件人员核实。  与此同时、我将在 EVM 到达时与其进行检查并在此处分享结果。 谢谢!

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

    实际上、抱歉。 我在上次评估中犯了一个错误、因为我在查看 CS 上的上拉电阻、而不是 MISO。  它看起来 没有直接在 MISO 上的上拉。  这里是一个糟糕的 MS 漆面、显示了从 MCU 到 DAC 的完整 MISO 路径。  在上下文中、MCU 和 DAC 位于单独的 PCB 上 、线路驱动器位于 MCU 和 DAC 之间。  您能否确认这一配置对于 DAC53204是否可行?

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

    尊敬的 Mark:  

    感谢您的更新。 否、DAC 的 MISO (SDO)引脚在连接到 SN74HCS367之前需要一个上拉电阻。 SDO 输出为开漏输出、因此 DAC 中没有电路将该引脚拉至高电平。  我假设您在 SPI 总线选择逻辑后测量靠近控制器的 MSIO 线路? 有一种现象是在 DAC SYNC 处于低电平时将 MSIO 线路拉高、这就是为什么我们能够看到 DAC 最终将线路拉至低电平、但 DAC 无法在没有上拉电阻的情况下将引脚拉至高电平。  

    此致!

    K·琼斯   

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

    感谢您提供的信息、Katlynne。  我会看一下在 SN74HCS367之前添加上拉电阻有什么办法、并保持发帖。

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

    尊敬的 Mark:  

    这听起来不错。 如果您仍想在 EVM 到达时与 EVM 进行验证、EVM 在 SDO 引脚上有上拉电阻器。  

    此致!

    卡琳恩