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.

[参考译文] ADS8691:输入和输出之间的意外时间延迟(既不是转换时间也不是采集时间)

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/733747/ads8691-unexpected-time-delay-between-input-and-output-it-is-neither-conversion-time-nor-acquisition-time

器件型号:ADS8691

我正在触发器件中使用 ADS8691。 一旦信号(50Hz)超过特定电平、就会生成触发信号。
我没想到、在触发 和实际穿越设定的电平之间存在超过16个样本的恒定时间延迟(采样率为1MSPS)。
我在 ADS8691的数据表中找不到任何有关延时时间的信息。
信号处理在 FPGA 中完成、额外的延时时间可以忽略不计。

 由于 ADC 中实现了低通滤波器、我想它是使用 FIR 完成的、不是吗?

我只是想肯定的是、除了 ADC、尤其是 LPF 本身、没有其他原因会导致这种行为。
遗憾的是、无法关闭 LPF。。。

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

    尊敬的 Patrick:

    欢迎访问 E2E 论坛。

    ADS8691内的 LPF 是一个模拟二阶抗混叠 LPF。 ADS8691可在同一周期(1Msps 采样率下为1us)内转换模拟输入信号并输出转换数据、 此外、由于输入信号仅为50Hz、因此内部 LPF 不应产生影响、并且延迟不应更长。

     是否可以进行测试以使用 ADS868的输入 警报功能?  

    • 通过将 SDO_CTL_REG 寄存器的 SDO1_CONFIG[1:0]编程到01b、可在多功能引脚(ALARM/SDO-1/GPO)上实现可编程警报输出
    • 为 ALARM_H_TH_REG 和 ALARM_L_TH_REG 寄存器编程一个针对特定输入信号电平的适当值
    • 同步监控 ADS8646 TSSOP 封装的警报引脚14和模拟输入信号、检查这两个信号之间的延迟。

    谢谢。

    此致

    戴尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Patrick:
    我将关闭此主题、因为它已开放一周、请遵循建议、如果您有进一步的问题、请告诉我、谢谢。
    此致
    戴尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好
    报警输出始终为"高电平"。 即使 ALARM_H_TH_REG 和 ALARM_L_TH_REG 寄存器保留其复位值也是如此。
    为了检查编程是否正确、我将输出配置为 GPO、并将 GPO_VAL 设置为0、然后返回到1。 这工作正常。
    VDD 正常(5.0V)、不应设置警报。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Patrick:
    由于 ADS8691是18位 ADC、但警报阈值仍然是16位、因此我将与团队联系、并尽快与您联系。 我有几个问题:
    1.您要对 SDO_CTL_REG 寄存器进行编程的命令是什么?
    2.您要对 Alarm_th_REG 寄存器进行编程的命令是什么?
    3.是否可以读取 Alarm_Reg 寄存器以检查报警状态?
    谢谢。
    此致
    戴尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好
    感谢您的快速回答。

    1.您要对 SDO_CTL_REG 寄存器进行编程的命令是什么?

    这是地址0Ch 上寄存器的命令:
    当"111" => DATA_OUT <="11010000011000000000100000000"时;


    2.您要对 Alarm_th_REG 寄存器进行编程的命令是什么?

    寄存器24h 的命令(alarm_H_th_REG、INP_ALRM_HIGH_TH):
    当"101"=>  DATA_OUT <="1101000000100100000010100"时;
    -- 131152 = 20050h  = 1000 0000 0001 0100 (00)

    对于迟滞寄存器26h (ALARM_H_TH_REG、INP_ALRM_HYST):
    当"110" => DATA_OUT <="11010010001001101000000000000000"时;
    -- 64 = 40h = 1000 0000

    低电平寄存器在复位(= 0000h)后保持原样-->无命令。

    由于输入范围设置为+/-2.56V、因此当输入高于0V (或-2.56V) 1.5mV 时应触发警报。


    3.是否可以读取 Alarm_Reg 寄存器以检查报警状态?

    为此,我必须首先添加一些 VHDL 代码.........

    此致
    Patrick

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Patrick:
    您的命令和计算正确、我有几个问题:
    1、在进行警报测试时、ADC 的输入端施加了什么模拟输入信号?
    2.您的 ADC 转换代码是否与模拟输入电压相对应?
    谢谢。
    此致
    戴尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这个问题应该解决、因为我在过去的两周内没有得到回复、所以这个问题将被解决、谢谢。