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.

[参考译文] ADS1292R:以菊花链方式连接两个设备时出现数据检索问题

Guru**** 2606725 points
Other Parts Discussed in Thread: ADS1292R

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/662500/ads1292r-data-retrieval-issue-when-daisy-chaining-two-devices

部件号:ADS1292R

TI社区您好,

我目前正在使用两个ADS1292R菊花链式项目,将一个内部CLK用作另一个的外部CLK,两者都在RDATAC模式下,在输入上提供测试信号,并通过切换具有相同信号的起始引脚来同步。 当我开始数据转换时,似乎两个设备的DRDY信号行为相同,即使我只开始与其中一个设备进行通信。 此问题导致定期从一个设备收集数据,而另一个设备仅随机发出数据。  

是否有人对多设备配置有经验,能够并愿意给我任何建议或对可能出现的问题有任何想法?

非常感谢!

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

    欢迎参加我们的论坛!

    两台设备是否使用相同的时钟信号? 要以菊花链方式连接多个ADS1292R器件,每个器件必须共享相同的时钟信号。 您可以将一个设备配置为使用内部振荡器(CLKSEL =1),并驱动CLK引脚以输出信号(CONFIG2[3]=1)。 然后,可以将第二个设备配置为使用外部时钟(CLKSEL =0)。

    如果您有一个同时显示ADS1292R器件及其周围输入电路的示意图,我们也可以了解一下。

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

    您好Ryan!

    感谢您的回复。  是的,一个ADS电路生成512kHz的内部CLK,而另一个电路则将此信号作为外部CLK输入。

    当然,我有原理图,但正如我所说-之前的示波器屏幕截图是在两个电路都配置为生成和测量内部测试信号时拍摄的,因此输入部件不应对该行为产生任何影响。

    我认为,当两个电路同时生成DRDY,但我只向其中一个电路发出CS信号时,另一个DRDY应保持低电平,直到程序达到切换第二个CS的程度。 但是,无论CS是否选择电路,两个DRDY信号都在执行相同的操作。 我的假设是正确的还是我理解错误的?

    再次感谢您的时间和帮助。

    此致

    Ondrej Strakos

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

    Ondrej,您好!

    /DRDY将在每次新转换时切换为低。 当您读取数据时,第一个SCLK下降沿将清除/DRDY,并强制其返回高值。 如果不读取数据,/DRDY将保持低电平,直到下一次转换准备就绪之前的几个tCLK周期。

    在示波器图像中,/DRDY信号是同步的,但在每个/DRDY下降边缘之后,您读取的数据不一致。 MCU应将/DRDY视为中断。 每个/DRDY下降沿都应触发中断服务例程以收集数据。 您需要从/DRDY下降边缘之间的两个设备中读取数据。 这是2x (24个状态位+ 48位信道数据)= 144位。 如果在出现新的/DRDY下降沿时读取旧数据,新数据将覆盖旧数据并立即开始移出。 这是RDATAC模式的用途-输出移位寄存器自动更新新的转换结果。

    请密切注意/DRDY下降边缘,并留出足够的时间在下一次采样之前读取144位。 另外,请记住/DRDY和/CS之间以及/CS和SCLK之间所需的定时延迟。

    此致,

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

    Ryan,

    谢谢,非常感谢您的建议。 我没有意识到,由于两个/NDRDY信号都是同步的,我可以同时读取两个设备的通道,而不必等待另一个设备/NDRDY中断。 这似乎可以提供更好的结果,即使它仍然跳过一些/NDRDY边缘,可能是因为我的程序,处理一些其他任务...

    但如果您不介意,我仍想问您两个问题。 输出流中有时会出现一些错误值,这可能是由于数据读取循环和存储卡写入中的一些故障引起的。 但如果我过滤掉它们,信号有时仍然不准确。 您会这么好吗?请告诉我是该如何看待,还是还有一些我没有察觉到的问题? Y轴上可以使用哪些单位? (我使用内部2,42V参考电压,测试信号和PGA增益= 1)。  很抱歉这些可能很傻的问题,我是这样的东西的初学者,所以即使是简单的东西有时也很难理解。

    最后一个问题与RLD配置有关。 我计划使用外部RLD电极,但从参考手册中我无法知道如何正确配置。 如果我现在只使用一个设备上的一个通道,并将RLD导线连接到RLDIN/RLDREF引脚, 我应该如何设置寄存器,以便RLD信号会偏置我用于测量的输入通道? 我认为我不能正确理解CHxSET mux和RLD_SENS寄存器中的RLD设置。 如果我想将输入用作RLD而不是正常输入,那么通道mux中的选项就会起作用;如果我使用内部RLD循环,则RLD_SENS位就会起作用来计算值,对吗?

    非常感谢!

    此致,

    Ondrej

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

    您好Ondrej,

    第二幅图像看起来像正确的测试信号波形和振幅。 y轴输出采用十进制代码,其中一个代码表示LSB大小= 291.1 NV/代码(1 LSB =[2*VREF /增益/2^24])。  7000 代码峰间值大约等于2 mVpp,这是内部测试信号的正确默认振幅。

    第一个图像看起来好像您在读取旧数据时丢失了下一个/DRDY中断。 输出移位寄存器中的数据在每个/DRDY下降边缘后立即被新数据覆盖。 输出中的较大负"峰值"应对应于部分旧数据被新数据覆盖的时刻。

    RLD放大器 内部不偏置通道输入。 专用电极用于通过一些保护性串联电阻将RLD输出连接到身体。 直流共模电压(RLDREF)在放大器 的同相输入处提供,而交流元件则从所选PGA输出导出,并   使用RLD_SENS连接到放大器的反相输入。  RLDOUT和RLDINV引脚之间的R||C连接用于闭合内部RLD放大器周围的反馈环路,设置直流增益并限制闭环带宽。 RLDIN可用于设置RLD放大器输出的直流共模电压,或使用两个通道之一在内部测量RLD输出。 如果您使用的是内部RLDREF电压,并且不需要测量RLDOUT,则可让RLDIN保持浮动。

    此致,

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

    尊敬的Ryan:

    非常感谢您的建议和解释。 我按照你的指示设置它,它运行正常,但两天前它突然开始工作,不可预测。 当我使用125sps采样频率时,设备通常会首先发出/NDRDY信号。 但几十秒后(这段时间确实不同,有时是10秒,有时根本不会发生),如果我没有做任何更改,采样频率要么翻倍,/NDRDY中断信号以3边突发(图像上的D4线)形式生成,要么一直保持高水平。 使用任何较高的采样频率时,/NDRDY在CCA 10秒后保持较高。 这些情况是随机发生的,无论我使用电极输入或测试信号,有时它会在通电和启动后立即发生,我需要将其关闭再打开大约5次才能使其再次工作。 当发生任何这种情况时,输出值开始完全不正确或只是零。  

    我的PCB上有两个设备,这两个设备同时出现了这些问题。  我可能在测量过程中搞砸了一些东西,但这对我来说没有任何意义,因为我没有更改代码或以前设置的连接,在以前的设置中,它没有发生这些问题。 请问您是否遇到过上述任何问题,以及如何将设备恢复正常工作?

    非常感谢!

    此致,  Ondra

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

    Ondra,您好!

    在此示波器捕获过程中,您是否与ADS1292R通信? 意思是,您是否切换SCLK?

    唯一可以中断/DRDY行为的是:

    • 将启动引脚设置为低电平或发送停止命令
    • 将/reset引脚设置为低或发送reset命令
    • 正在发送待机命令
    • 禁用外部CLK输入

    您能否在不发送SCLK的情况下将START,/RESET,SCLK和/DRDY引脚一起探测(即保持SCLK低电平)? 我要验证start和/reset始终都是高的,并且不会中断/DRDY周期。

    此致,