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.

[参考译文] DAC8775:警报引脚和安培;观察到的状态位冲突

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1523585/dac8775-alarm-pin-status-bit-observed-contradictions

器件型号:DAC8775

工具/软件:

TI、

我已经通读了 DAC8775 的数据表、但我对我观察到的行为有点困惑。 我使用正降压/升压配置、通道 C 上具有 0–20mA 输出。根据数据表、持续时间超过 500µs 的开路情况应该会触发警报事件。 当我从 DAC 移除负载后、ALARM 引脚变为低电平、符合预期。 但是、当我重新连接负载时、ALARM 引脚恢复到高电平(无警报)、这似乎与数据表中的以下语句相矛盾:

“对于上述条件 (1) 和用于为 DAC 供电的降压/升压转换器、如果由于警报条件而被拉至低电平、即使在警报条件消除后也会保持拉至低电平(锁存行为)。“ 第 8.3.8 节、第 40 页

这是正常的吗?

此外、在引入开路情况之前、0x0B 处的状态寄存器显示通道 C 上无故障(值:0x8B1380)。 当我引入开路时、按预期设置通道 C 的 FAULT 位(值:0x8B1384)。 重新连接负载后、FAULT 位保持设置状态—尽管 ALARM 引脚恢复到高电平、但这仍然符合数据表行为。 我尝试通过向相应的位 (0x0B1384) 写入‘1“来清除故障、但并不清除此错误。

尽管观察到的警报引脚行为对我来说不是问题、但它仍然与数据表不一致。 此外、无法通过写入‘1'来清除 STATUS 寄存器位与数据表的指令相矛盾:

每当设置这些状态位之一时、它就会保持设置状态、直到用户通过向地址 0x0B 上的相应位写入“1"来“来清除它。 第 8.3.10 节、第 41 页

请提供任何建议。

谢谢、

Jason Harrington

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

    Jason、

    给我一点时间来看看这个。 我可能无法得到答案,直到明天或下周。  

    是否使用 DAC8775EVM 和 GUI 对其进行了测试? 还是使用您自己的软件/数字连接?

    Joseph Wu

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

    嗨、Joseph!

    感谢您的回复、我正在将 DAC8775EVM 与我自己的代码一起使用。 除了本帖子中提到的状态和警报行为外、其他一切都运行良好。 我能够启用和禁用 DAC 以及读取和写入各种参数。 我应该指出的是、我使用的是启用 CRC 的 DAC、但我没有注意到状态寄存器上报告任何故障。 我不会认为这会有什么不同,我想我会提到它。

    谢谢、

    Jason

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

    Jason、


    我能够对其进行测试、看起来在消除故障后警报引脚会立即恢复为高电平。 我需要再看看这个问题、但我确实尝试了几种不同的报警操作案例、只是为了看看这是否会影响它。 无论设置如何、一旦在 IOUT 模式下打开输出、我就会在负载返回时看到警报恢复到高电平。

    例如、我使用了 B 通道并拉出了 EVM 上的负载跳线。 可以看到、因此、FAULT 引脚变为低电平、一旦更换跳线、FAULT 引脚就会变为高电平。 然后、我检查 0x0B 寄存器的状态、查看 FB 位已翻转、使该寄存器现在读数为 1002。 注意、我可以通过向该位写入 1 来清除寄存器。 在这种情况下、我将 0x0002 写入寄存器、并清除了故障。

    我稍后会更长时间地查看它、但我看起来警报引脚不是粘滞引脚、而故障位是粘滞位。 同样、我可以通过向故障位写入 1 来清除寄存器。


    Joseph Wu

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

    Joseph、

    感谢您确认我观察到的行为。 我在禁用 CRC 时能够清除该位、但在启用 CRC 时、我无法使其正常工作。 是否出于某种原因在启用 CRC 的情况下状态故障复位不起作用? 移除然后更换通道 B 上的跳线、这会生成故障条件、与您生成的类似、我编写 0x0B0002E2。 您能否确认我的 CRC 是否正确? 我会惊讶,如果它没有考虑到其他一切都按预期工作。

    谢谢  

    Jason

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

    Jason、

    对于传输、 0x0B0002E2 将是我期望传输的数据。 我需要一些时间进行检查。 我不确定是否能够使用此 GUI 发送和接收 CRC。 我也许能够把其他的东西放在一起,但这可能需要一点时间。

    Joseph Wu

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

    Jason、

    很抱歉,我最近没有机会在这方面工作,但我应该有一些时间来。 如果您仍然看到此问题、请告诉我。

    Joseph Wu

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

    Joseph、

    感谢您登记入住。 感谢您仍在尝试解决我的问题。 幸运的是、在 0 –20mA 模式下、故障标志没有为我带来任何问题。 除了不知道负载是否已断开外、我还可以按预期使用 DAC。

    -杰森

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

    Jason、

    我终于有机会检查一下。 我能够通过一个额外的步骤清除警报、但我不知道为什么它会起作用。 以下是我设置 DAC8775 的过程。 这些行 使用符号 在 USB 器件中设置 SPI。

    SPI CH1 BREH L 0x02 0x00 0x11 H 检查基准高电平
    SPI CH1 BREH L 0x06 0x00 0x0F H 选择 BB
    SPI CH1 BREH L 0x07 0x00 0x03 H 启用 BB 高电平和低电平、检查 BB
    SPI CH1 BREH L 0x03 0x00 0x28 H 选择 DAC、CRC 启用
    SPI CH1 BREH L 0x04 0x10 0x05 0xE7 H 启用 DAC、设置范围
    SPI CH1 BREH L 0x05 0x10 0x00 0x97 H DAC 输出 1.25mA、检查加载的输出
    SPI CH1 BEL 0x8B 0x00 0x00 0xE7 H L R R R R R H 读取状态、应清除警报
    检查警报、应处于高电平
    拉出负载
    ALARM 应为高电平
    SPI CH1 BEL 0x8B 0x00 0x00 0xE7 H L R R R R R H 读取状态、应该为输出 A 发出警报 (0x0001)
    更换负载
    ALARM 应变为低电平
    SPI CH1 BEL 0x8B 0x00 0x00 0xE7 H L R R R R R H 读取状态、读取状态、应该仍处于警报状态
    SPI CH1 BREH L 0x0B 0x00 0x01 0xEB H
    SPI CH1 BEL 0x8B 0x00 0x00 0xE7 H L R R R R R H 读取状态、读取状态、应清除警报处于状态

    因此、对于该序列、它应该已清除 LSB 处的警报位(表示通道 A) 、但未清除。 只有在我写了两次清除命令后才正确清除。  这将是对写入两次 0x0B0001EB (EB 是 CRC) 的 SPI 的写入

    此时、它已正确清除。 如果没有双倍写入、则没有。 我会与设计团队联系以了解原因、但目前、这样似乎可以正确清除状态寄存器中的警报条件。

    Joseph Wu