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.

[参考译文] ADS131A04:ADS131a04所有4个通道的数据速率

Guru**** 2392905 points
Other Parts Discussed in Thread: ADS131A04

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/867122/ads131a04-data-rate-for-all-the-4-channels-of-ads131a04

器件型号:ADS131A04

我使用两个 ADS131a04 IC 来记录低频数据(低于300Hz)。

为此、这两个 ADC 都以异步中断模式与 Arduino UNO 控制器连接、但具有 相同的 SPI 线路。

M0管脚= IOVDD、   M1管脚= GND、      M2引脚= GND

2.寄存器设置:

A_SYS_CFG = 0x0B;

D_SYS_CFG = 0x0C;

CLK1_val = 0x02;

CLK1_val = 0x02;  

晶体振荡器16.384MHz

问题1. 我的 ADC 的数据速率是多少:根据我的说法,一个通道的采样率是1000个/秒。

问题2. 所有8个通道的数据速率是否相同?

问题3.  我能够  正确地收集和重新绘制(@ 5Hz 1V、正弦波和方波)捕获的数据、但当频率增加时、数据的形状会出现不规则的趋势。 为什么会发生这种情况?

问题4. 通常没有尖峰、但有时数据中会出现一个突然的尖峰、为什么这些尖峰出现在我的数据中?

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

    Manjeet、

    很抱歉、我们没有马上回来、但我们中的许多人在假日季都不在办公室。

    以下是您的问题的一些答案。

    我无法分辨您的数据速率是多少、因为我需要 CLK1和 CLK2寄存器值。 CLK1寄存器的值表明 fICLK 为 fCLKIN/10、这将是1.6384MHz。 但是、您不能提供正确的 CLK2值(ICLK_DIV 不应为000)。

    通常、您只需使用逻辑分析仪示波器并观察/DRDY 脉冲即可指示转换完成。 如果您没有一个、您应该得到一个。 如果您想调试来自器件的任何通信、请务必查看信号。

    2.所有通道的数据速率都相同。

    3.这可能有几个不同的东西,但最好能显示您从数据中重建的内容。 您能否发布来自 ADC 的原始数据的 Excel 文件?

    这也可能是几件事、但这很可能是数字通信中的某个问题。 这可能是 SCLK 噪声的问题、器件在 SCLK 上拾取一些噪声并使时钟提前。 或者、它可能是数据收集中的时序错误、在该数据收集中会收集数据、但会因新的转换完成而中断。 同样、这将有助于收集原始数据。

    吴约瑟

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

    尊敬的 Wu

    很高兴在度假期间看到您的回复。

    这里是我的寄存器配置值和记录的数据。

    CLK1_val = 0x02;        

    CLK2_val = 0x20;

    A_SYS_CFG = 0xE8;

    D_SYS_CFG = 0x3C;

    根据我  

    f_iclk = 16.384MHz/2 = 8.192MHz

    f_mod = 8.192MHz/2 = 4.096MHz

    f_data=4.096MHz/4096 = 1ksps::::: 存储数据时、所有8个通道的1ksps 相同

    ADC_1 STAT_1 REG_0x02内容= 0x30

    ADC_1 STAT_S REG_0x05内容= 0x01 :.......... 得到该误差

    ADC_1 STAT_M2 REG_0x07内容= 0x01

    ADC_1 ADC_GAIN REG_0X11内容= 0x00

    ADC_1 ADC_EN REG_0x0F 内容= 0x0F

    ADC_2 STAT_1 REG_0x02内容= 0x30

    ADC_2 STAT_S REG_0x05内容= 0x01 :.......... 得到该误差

    ADC_2 STAT_M2 REG_0x07内容= 0x01

    ADC_2 ADC_GAIN REG_0X11内容= 0x00

    ADC_2 ADC_EN REG_0x0F 内容= 0x0F

    请检查 csv 文件。

    e2e.ti.com/.../clk1_5F00_0x02_5F00_clk2_5F00_0x20_5F00_frequency2Hz_5F00_recordingTime120Seconds.csve2e.ti.com/.../clk1_5F00_0x02_5F00_clk2_5F00_0x48_5F00_frequency2Hz_5F00_recordingTime120Seconds.csv

     

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

    Manjeet、


    您的数据速率计算似乎正确。

    CLK1:02h - fICLK=fCLKIN/2
    CLK2:20h - FMod=fICLK/2、OSR=FMod/4096

    fICLK = 16.384MHz 时、数据速率应为1kSPS。 这是否与输入信号保持一致? 每个输入振荡周期大约有50个样本。 在1kSPS 时、50个采样值大约为50ms 或20Hz 的输入振荡(您的文件标记为2Hz、但 CLK2的值也不同)。

    查看这些文件、我可以使用大量数据来解释错误、但下面是我看到的内容。 首先从 clk1_0x02_clk2_0x20文件中、我从通道1的前500个点看到这一点:

    在100点左右读取的数据中存在不连续性。 在我看来、微控制器读取器件或格式化数据时会出现问题。 数据丢失的时间段。 您知道输入不会停止发送正弦波、您已经失去了几乎相当于一个完整输入周期的能力。

    我猜微控制器会停止读取数据、并尝试存储数据并发送数据。 如果您在计算机上读取此数据、则可能是 USB 的延迟。

    第二个来自 clk1_0x02_clk2_0x48文件、我从通道1的前500个点看到这一点:

    这里有几个问题。 在大约90、160和280th 点、您具有相同的读取问题。 如果查看原始数据、通道1-4的数据将被通道5-8替换、通道5-8的插槽中有空数据。 您可以在 Excel 文件中看到这一点。 此外、在接近点100时、微控制器会丢失数据、因此您会有一个丢失数据的数据周期。 在这里、这可以是非常短的缺失时间周期、也可以是短的缺失时间加上振荡周期的整数倍。

    同样、我还没有仔细查看您的整个数据收集。 但是、您看到的问题可能与我指出的问题类似。 如果您看到的是不同的东西、请具体指出它是什么、我们可以对它进行审查。 我仍然建议使用逻辑分析仪来检查微控制器和 ADC 之间的事务、只查看 SPI 事务和时序。

    吴约瑟