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:如何在 ADS7028上使用 ZCD 模块?

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1164568/ads7028-how-to-use-zcd-module-on-ads7028

器件型号:ADS7028

大家好、

希望大家都做得好。

我 在使用 ADS7028时遇到了几个问题。

通过阅读以下2个帖子、大多数帖子已被清除。 现在、我能够读取 ADC 转换和 RMS 值。

  1. https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1060295/ads7028-control-ads7028-via-tms320c2000-experiment-kit-piccolo-f28069/3930260#3930260
  2. https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1064651/ads7028-ads7028-zcd-and-rms-setting

但是、我仍然在这里遇到 ZCD 模块问题。

阅读上述2篇文章后、我仍然没有找到启用 ZCD 模块的明确路径。

这是我的设置、将 V_LOW=0.5V 和 V_HIGH =2.5V、频率=60Hz 的正弦波信号馈送到通道3、在通道7上输出 ZCD 信号。

我可以验证通道3上的 RMS 值大约为0.711V、这 非常接近我的计算值(0.707V)和电压表读数(0.707V)。

V_REF 为3.0V。

  1. 根据 上述帖子和随附的 csv 文件、需要寄存器位 DWC_EN 和适当的警报配置、数据表第8.3.10节中未提到这一点?
  2. Cynthia 提到"但 ZCD 检测将使用 RMS 值、而不是原始输入值。  "这让我感到困惑的是、ZCD 检测使用了什么值进行比较? 正弦波电压输入还是计算得出的 RMS 值输入?

是否有人可以告诉我完成此操作的正确步骤?

提前感谢您、

金超

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

    我将我的步骤放入一个表中、以便您更容易理解。 如果您有任何疑问或建议、请告诉我。

    步骤 说明 寄存器名称 SPI 数据0 SPI 数据1 SPI 数据2.
    1 复位所有寄存器 将1b 写入 General_CFG 中的 RST 位 General_CFG 0x18 0x01 0x01
    2. 发送空消息 发送空消息 0x00 0x00 0x00
    3. 发送空消息 发送空消息 0x00 0x00 0x00
    4. 清除 BOR 标志 清除 SYSTEM_STATUS 中的 BOR 位 System_status 0x18 0x00 0x01
    5. 配置引脚 仅将通道3配置为模拟输入 PIN_CFG 0x08 0x05 0xF7
    6. 配置 GPIO 将所有 GPIO 配置为数字输出、通道3除外 GPIO_CFG 0x08 0x07 0xF7
    7. 配置 GPO 输出 将所有 GPO 配置为推挽输出 GPO_DRIVE_CFG 0x08 0x09 0xFF
    8. 配置 GPO 值 将所有 GPO 配置为低电平 GPO_VALUE 0x08 0x0B 0x00
    9. 配置 ALERT 引脚 当 ALERT 被置位、低电平有效时、将通道4映射为 ALERT 输出 ALERT_PIN_CFG 0x08 0x17 0x40
    10. 配置数据 将4位通道 ID 附加到输出数据 DATA_CFG 0x08 0x02 0x10
    11. 将输出采样配置为平均值 选择64个采样进行平均值计算 OSR_CFG 0x08 0x03 0x06
    12. 停止排序 停止排序、稍后开始排序 序列_CFG 0x08 0x10 0x00
    13. 选择 ZCD 通道 选择通道3作为 ZCD 通道 通道_SEL 0x08 0x11 0x30
    14. 配置通道3的迟滞 设置 HIGH_THREST_CH3和迟滞的 LSB 迟滞_CH3 0x08 0x2C 0x00
    15. 为通道3配置高阈值 设置 HIGH_THREST_CH3的 MSB HIGH_TH_CH3 0x08 0x2D 0x7f
    16. 配置 ZCD GPO 输出 在通道7上选择 ZCD 输出(上升=1、下降=0) GPO_Value_ZCD_CFG_CH4_CH7 0x08 0xE3 0x80
    17. 配置 ZCD 消隐 配置 ZCD 消隐时间 ZCD_Blank_CFG 0x08 0x0F 0x00
    18 配置 ZCD 输出通道 将通道7配置为 ZCD 信号输出 GPO_ZCD_UPDATE_EN 0x08 0xE7 0x80
    19. 启用模拟输入以实现自动定序 启用通道3自动定序 AUTO_SEQ_CH_SEL 0x08 0x12 0x08
    20. 配置采样率和模式 设置为自主模式、高速、0000 OPMODE_CFG 0x08 0x04 0x20
    21. 开始排序 开始排序、将模式设置为自动排序 序列_CFG 0x08 0x10 0x11
    22. 步骤结束
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!  

    1. 根据 上述帖子和随附的 csv 文件、需要寄存器位 DWC_EN 和适当的警报配置、数据表第8.3.10节中未提及这一点?感谢您指出这一点。 为了使 ZDC 正常工作、需要使用数字窗口比较器、我将在数据表中对此进行说明
    2. Cynthia 提到"但 ZCD 检测将使用 RMS 值、而不是原始输入值。  "这让我感到困惑的是、ZCD 检测使用了什么值进行比较? 正弦波电压输入还是计算得出的 RMS 值输入?
      没错。 在同一通道上使用 ZDC 和 RMS 时、ZCD 将使用 RMS 输出进行比较并确定 ZDC 输出、而不是 在通道引脚输入的电压。 如果需要将输入端的电压用于 ZDC、那么我建议对 ZCD 使用不同的输入通道、对 RMS 使用不同的输入通道。 同一输入可连接到两个不同的输入通道。  

    查看您的配置步骤、我认为一旦您在 genral_CFG 寄存器中启用数字窗口比较器、它就应该起作用  

    此致

    Cynthia

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

    感谢您 Cynthia 的快速响应、我们将 按照您的建议更改我们的代码并对其进行测试。

    我们感谢您在这里提供的所有详细信息、这些信息解答了我们的许多问题。

     会让您随时了解最新信息。

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

    您好、Cynthia、

    是的, 在DWC_EN 寄存器 General_CFG 中启用数字窗口比较器()将使 ZCD 模块正常工作。

    在下面、请找到我的更新表供您参考、用粗体显示 已插入的设置寄存器 General_CFG 中 DWC_EN 位的步骤(步骤16)。

    步骤 说明 寄存器名称 SPI 数据0 SPI 数据1 SPI 数据2.
    1 复位所有寄存器 将1b 写入 General_CFG 中的 RST 位 General_CFG 0x18 0x01 0x01
    2. 发送空消息 发送空消息 0x00 0x00 0x00
    3. 发送空消息 发送空消息 0x00 0x00 0x00
    4. 清除 BOR 标志 清除 SYSTEM_STATUS 中的 BOR 位 System_status 0x18 0x00 0x01
    5. 配置引脚 仅将通道3配置为模拟输入 PIN_CFG 0x08 0x05 0xF7
    6. 配置 GPIO 将所有 GPIO 配置为数字输出、通道3除外 GPIO_CFG 0x08 0x07 0xF7
    7. 配置 GPO 输出 将所有 GPO 配置为推挽输出 GPO_DRIVE_CFG 0x08 0x09 0xFF
    8. 配置 GPO 值 将所有 GPO 配置为低电平 GPO_VALUE 0x08 0x0B 0x00
    9. 配置 ALERT 引脚 当 ALERT 被置位、低电平有效时、将通道4映射为 ALERT 输出 ALERT_PIN_CFG 0x08 0x17 0x40
    10. 配置数据 将4位通道 ID 附加到输出数据 DATA_CFG 0x08 0x02 0x10
    11. 将输出采样配置为平均值 选择64个采样进行平均值计算 OSR_CFG 0x08 0x03 0x06
    12. 停止排序 停止排序、稍后开始排序 序列_CFG 0x08 0x10 0x00
    13. 选择 ZCD 通道 选择通道3作为 ZCD 通道 通道_SEL 0x08 0x11 0x30
    14. 配置通道3的迟滞 设置 HIGH_THREST_CH3和迟滞的 LSB 迟滞_CH3 0x08 0x2C 0x00
    15. 为通道3配置高阈值 设置 HIGH_THREST_CH3的 MSB HIGH_TH_CH3 0x08 0x2D 0x7f
    16. 启用数字窗口比较器 启用数字窗口比较器模块 General_CFG 0x18 0x01 0x10
    17. 配置 ZCD GPO 输出 在通道7上选择 ZCD 输出(上升=1、下降=0) GPO_Value_ZCD_CFG_CH4_CH7 0x08 0xE3 0x80
    18 配置 ZCD 消隐 配置 ZCD 消隐时间 ZCD_Blank_CFG 0x08 0x0F 0x00
    19. 配置 ZCD 输出通道 将通道7配置为 ZCD 信号输出 GPO_ZCD_UPDATE_EN 0x08 0xE7 0x80
    20. 启用模拟输入以实现自动定序 启用通道3自动定序 AUTO_SEQ_CH_SEL 0x08 0x12 0x08
    21. 配置采样率和模式 设置为自主模式、高速、0000 OPMODE_CFG 0x08 0x04 0x20
    22. 开始排序 开始排序、将模式设置为自动排序 序列_CFG 0x08 0x10 0x11
    23 步骤结束

    请在下方找到 通道3具有不同高阈值的屏幕截图。

    通过这种方法、我们可以验证 ADS7028上的 ZCD 模块是否正常工作。

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

    我很高兴这件事奏效了。 如果您有任何其他问题、请告知我们

    -锡那西亚