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.

[参考译文] ADS7028:通道0 GPIO 恒定高电平问题

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1514158/ads7028-channel-0-gpio-constant-high-issue

器件型号:ADS7028
主题中讨论的其他器件: ADS7128

工具/软件:

大家好、我们遇到了 ADS7028的一个全新问题。

我们的设置中有3个 ADS7028传感器用于读取模拟数据。 它们都有输入通道和 ZCD 输出通道。 输入也连接到 RMS 模块。  

对于2个 ADS7028、一切正常工作、我们有来自 ZCD 输出引脚的清晰方波输出。 但最后一个、我们无法生成 ZCD。 以下是此特定传感器的设置和寄存器值:

输入通道= 1

ZCD 输出通道= 0

要将 ZCD 引脚设置为输出:

PIN_CFG_REGISTER = 0x01 (用于设置 GPIO)

2.GPO_DRIVE_CFG = 0x01 (对于推挽)

3. GPO_VALUE = 0x00 (以确保起始值为低电平)

ZCD 设置:

1. CHANNEL_SEL = 0x10 (将通道1视为 ZCD 的输入)  

2. HYSERESIS_CH1 = 0xF0

3. HIGH_TH_CH1 = 0x7F

4. GENERAL_CFG = 0x30 (DWC_EN 和 STATS_EN 处于活动状态。 STATS_EN 在之前激活)

5. GPO_VALUE_ZCD_CFG_CH0_CH3 = 0x02 (仅在从负到正的交叉处产生信号)

6. ZCD_BLANK_CFG =保留默认值

7. GPO_ZCD_UPDATE_EN = 0x01 (更新通道0相对于 ZCD)

这些是我们所做的具体设置。 我写信给他们后读回来,以确保他们是这样的。 一切看起来都井井有条。 ADS7028设置的其余部分相似、只有寄存器值相对于其特定输入和 ZCD 通道发生变化。 所有通道配置都不同。 布置后、输入通道和其他模拟通道会自动定序、但 ZCD 引脚始终输出高电平信号。  

我们无法解决这个问题、所以我们做了一些安排。 我们将 ZCD 输出通道从0更改为6、开始发挥作用。 这就引出了一个问题:通道0是否真的有问题? 然后我们将该通道设置为常规输出引脚并尝试以编程方式将其驱动为低电平或高电平、结果失败。 我们无法将通道0驱动至低电平。 它始终保持在高电平、永远不会输出低电平。

没有上拉或下拉电阻。 我们甚至提取了以下电路、以确保没有任何因素影响我们的设置。 因此通道0不能连接到任何位置。 我们用 示波器执行了所有这些操作。 问题是、通道0是否有问题? 我们是否应该将通道0用作输出 GPIO 以及用于 ZCD 输出?  

提前感谢。

P.S.这是我们尝试确保 ADS7028 IC 不存在物理问题的第4款 ADS7028。

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

    尊敬的 Ege:

    所有3个器件是否都连接到同一条 I2C 总线? 它们的配置顺序是怎样的? 它们配置的顺序是否会影响结果、或者您无法在任何器件上将通道0配置为 ZCD 通道输出? 其他2个设备使用的配置是什么?

    您是否能够共享完整序列的逻辑捕获? 我可以尝试重新创建它并 查找相同的问题。 这不是我们之前遇到的问题、因此目前我没有具体的建议、尤其是您已成功配置了2台其他设备。

    此致、
    Joel

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

    嗨、Joel、

    是否所有3个器件都连接到同一条 I2C 总线? [/报价]

    -是的,它们连接到同一个 SPI 总线。 我有3个单独的 GPIO 可用作 CS、它们按预期工作(通过示波器进行验证)。  

    配置它们的顺序是怎样的?

    -我不明白你是什么意思的订单。 我将逐一配置它们、有问题的则是第二个。  

    配置它们的顺序是否会影响结果、或者您是否无法将通道0配置为任何器件上的 ZCD 通道输出?

    -我不知道与配置顺序直接相关。 我实际上没有尝试将其他人的通道0配置为 ZCD 输出、因为这对我们的电路来说不是必需的。 但我们已经尝试了4种不同的 ADS7028、它们都遇到了相同的问题。

    其他2台设备使用什么配置?

    -一个输入是通道6、ZCD 输出是通道7。 另一个输入为通道5、ZCD 输出为通道4。 都可以正常工作。

    您是否能够共享完整序列的逻辑捕获?

    "我不知道你在说什么。" 您是指配置或类似内容的寄存器写入顺序?  

    我知道这是一个奇怪的问题,但如果你能提供一些解释或解决方案,我们真的很感激。 我们不希望仅仅为了更改传感器上的引脚而发送修订版 PCB。  

    为了重新创建这种情况、它基本上是这样的。 交流输入进入通道1、该通道同时连接到 RMS 和 ZCD 模块。 ZCD 输出被指定为通道0、但该引脚始终保持高电平。

    谢谢、

    Ege

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

    尊敬的 Ege:

    我将此器件与 ADS7128 (这是该器件的 I2C 版本)混淆了。  我的错。

    根据我的理解、您已尝试在连接到控制器的所有器件上将通道0配置为 ZCD 输出、并且该输出在任何器件上都不起作用。 通道0以外的通道确实用作 ZCD 输出。

    这极不可能是设备故障、因为您已经在4个不同的设备上看到过。 话虽如此、请留出一些时间重新创建您提供的寄存器配置序列、并检查我是否看到相同的结果。 如果我这样做,那么我们至少要更新文档。

    此致、
    Joel

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

    嗨、Joel、

    是否有关于此问题的任何更新?

    此致、

    Ege

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

    尊敬的 Ege:

    对延迟深表歉意。 我还没有对此进行测试。 我将 在24小时内给您更新我的测试结果。 我相信我有足够的信息来尝试重新创建您的序列。

    此致、
    Joel

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

    尊敬的 Ege:

    我目前正尝试解决一些硬件问题。

    但我注意到了一件事。 是否已将 GPIO_CFG 寄存器配置为将 AIN0设置为数字输出? 我目前不确定是否需要此功能、因为其他 ZCD 输出工作正常、但值得一试。 我将继续尝试重新创建问题。

    我还想看看您之前所做的一点、在这里、您将 AIN0设置为输出、它不响应手动编程。

    此致、
    Joel

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

    嗨、Joel、

    但是我注意到了一件事。 是否已将 GPIO_CFG 寄存器配置为将 AIN0设置为数字输出? 我目前不确定是否需要这样做、因为其他 ZCD 输出工作正常、但值得一试。

    是的、我认为这是使 ZCD 输出正常工作所必需的。 我对所有3个 ADS7028都完成了该设置。 对于有问题的解决方案、我将0x01写入 PIN_CFG_ADDRESS、将0x01写入 GPIO_CFG_ADDRESS 以生成引脚0 GPIO 输出。

    我还想看看您之前所做的一点、在这里您将 AIN0设置为输出、但它没有响应手动编程。

    是的,对我来说,这似乎是一个更大的问题和问题的根源。  

    此致、

    Ege

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

    尊敬的 Ege:

    我意识到、在尝试驱动配置为 GPIO 的高电压之前、我需要修改电路板、以从 AIN0的输入端断开电压缓冲器。

    不过、我当时看到了您描述的相同问题、即 AIN0在配置为输出时不会改变值、但我将再次尝试断开缓冲区并重试。 至少我预计电压会发生一些跳跃、但我看不到这一点。 如果这是被忽视的事情、那将是不幸的。 您已经提到过即使引脚悬空、它也没有变化、因此我预计这也会是我的体验。

    我会修改电路板并分享我的最终发现、但到目前为止、似乎这可能是一个未被注意到的器件问题。

    此致、
    Joel

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

    嗨、Joel、

    感谢您的努力。 正在等待最终更新。

    此致、  

    Ege

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

    尊敬的 Ege:

    我能够得到一些潜在客户关于一个可能的解决方案。 默认情况下、当 AIN0/GPIO0设置为 GPIO 输出时、应配置为 ALERT 引脚、该引脚优先于所有其他操作。  

    您是否可以尝试将 ALERT_PIN_CFG (地址0x17)寄存器中的 ALERT_PIN[3:0]字段更改为0以外的通道? 应该在数据表中更好地记录这一点、我也不知道这个功能。 我希望这可以用作解决方案、但通常应该避免使用 AIN0作为数字输出。

    此致、
    Joel

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

    嗨、Joel、

    感谢您的建议。 我将尝试此解决方案并提供更新。

    此致、

    Ege

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

    嗨、Joel、

    我尝试了解决方案,它产生了奇迹。 引脚0开始像其他 GPIO 一样正常工作。

    感谢您的解决方案。 但请更新数据表、这是一个真正的利基问题、有人必须遇到此帖子、以找到远不理想的解决方案。  

    此致、

    Ege

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

    应该在数据表中记录这肯定是一个模糊的问题。 我很高兴 修复了它。  

    此致、
    Joel