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.

[参考译文] ADS8588S:在从上次转换中读取的数据未完成时启动新转换。

Guru**** 2394295 points
Other Parts Discussed in Thread: ADS8588S

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/632899/ads8588s-initiating-a-new-conversion-when-the-data-read-from-the-last-conversion-is-not-complete

部件号:ADS8588S

如果在完成上次转换的读取操作之前使用ADS8588S启动新的转换,结果是什么?  我要求这一点是为了了解暂时损坏的SPI串行时钟的潜在影响。  我正在尝试确定如何在发生此类事件后重新同步SPI主控制器和ADS8588S。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好John
    我们正在研究这一问题,并将很快予以回应

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

    您好John

    该设备允许在进行新转换时读取数据,也可以不进行转换。  如数据表的图2 (下图)所示 ,CS上升边缘和繁忙边缘的下降边缘之间的最小时间为40 ns。

    在CS较低,正在读取数据,而忙碌正在进行过渡的情况下,不应操作设备。 这可能会损坏数据。

    要确保在重新同步时数据正确无误,可以重置设备,或者发送初始虚拟会话信号。

    此致

    Cynthia

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

    Cynthia,

    感谢您的回复。  不幸的是,我对我的问题的答案仍然不清楚。  该数据表指出,CS可能在多通道读取操作中保持低电平,或者在单通道数据的每个2字节读取之间循环。  我的问题与转换或忙碌过渡期间降低CS的相关。  相反,我需要知道,如果在读取之前转换的所有数据(当前保存在读取缓冲区中)之前启动新转换,响应是什么。  例如,在CS降低后,完整的读取周期需要128 SCLK周期。  如果在读取操作过程中仅接收到127个(或59个) SCLK周期,当CS较低,然后启动新的转换时,会发生什么情况?  

    我担心的是,如果之前数据的整个读取操作尚未完成,则会启动新的转换,重置数据输出移位寄存器以指向新数据集的第一位。  换言之,如果在读取操作期间某些东西损坏了SCLK,并且128位没有被移出,CS会变高,然后又启动了另一个转换,输出移动寄存器是否会重置为指向新数据的第一位, 新数据准备就绪时?  我想提出问题的另一种方式是:启动新转换是否会重置输出移位寄存器并覆盖所有旧数据,无论旧数据是未读还是在新数据准备就绪之前仅部分读取?  我希望这些描述我试图理解的内容的尝试是有帮助的。  感谢您的帮助,期待您的回复。

    J. Gordon

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

    我想用一个更简单的方案来提出我的问题。 发生的情况是,我只对来自通道1的数据感兴趣,因此无需读取任何其他通道的数据即可终止读取操作-如果我随后启动新的转换, 当BUSY返回到低时,新读取操作中的第一个数据输出将是来自通道1的新数据吗?

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

    您好,John:

    感谢您考虑TI SAR ADC,让我向您解释一下,我们必须将其分为不同的情况进行讨论。

    如您所知,ADS8588S的BUSY是一种高有源数字输出信号,此引脚在CONVSTA和CONVSTB信号上升沿之后进入逻辑高电平,表示所有输入通道的前端跟踪保持电路处于保持模式,并且ADC转换已开始。 此外 ,当占线为高(转换期间读取)或占线为低(转换后读取)时,也可以读取输出数据。 另一个重要的事情是,ADS8588S仅使用所有模拟通道的转换数据来更新内部数据寄存器在转换阶段结束时(当繁忙变为低电平时),内部数据寄存器中的数据将保留在此时刻之前。

    转换期间读取

    当占线信号较高时,CONVSTA或CONVSTB输入上的任何活动都不会对设备产生影响。 在所有通道的转换过程完成并且转换数据锁定到输出数据寄存器中进行读出之前,BUSY输出将保持高电压。 这意味着,在持续转换和数据读取过程中的任何新转换都不会对数据读取产生任何影响,主机控制器仍会获得上一个样本的完整转换结果, 此外,   由于设备已忽略了由CONVSTA或CONVSTB上启动的这一新转换所导致的新数据,因此也不会更新到数据寄存器中。

    转换后读取

    案例1:    在CONVSTA或CONVSTB上启动的新转换(下图1中的红色占线高)在此数据读取过程中未完成。

    此数据读取不会受此新转换的影响,因为在转换阶段结束(红色占线变低时)之前,内部数据登记册中的数据不会通过此新转换使用新的转换数据进行更新。

    案例2:    在CONVSTA或CONVSTB上启动的新转换(下图2中的红色繁忙高)在数据读取过程中完成。

     在转换阶段结束时(当红色占线变低时),此新启动的转换数据将更新到内部数据寄存器中,因此主机控制器将检索此时间之前转换的某些位的数据。 还将 检索  此时间后新启动转换的某些位的数据。 这不是完整的数据,可能不正确。

    我希望这对您有所帮助。 谢谢。

    此致

    戴尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢你Dale。 您的回复再次强化了我在研究数据表时所形成的理解。

    但是,我关于重置输出移位寄存器指针的问题仍然存在。 当忙线变低且数据寄存器更新时,输出移位寄存器指针是否复位为指向新通道1数据的第一位? 如果是,这种情况是否发生,而不考虑CS的状态? 在您的案例2 (如上所述)中,从高到低的繁忙转换过程中进行的读取是否会停止接收旧数据行中的下一位,并开始从SCLK下一边缘的channel1接收新数据的第一位?

    我要求此操作是为了验证是否在繁忙转换低电平之前无需完成整个8通道读取操作,并将新数据放入数据寄存器。 我不是这样问,因为我打算在繁忙过渡到低水平时有目的地保持CS低。

    我期待着你的答复和你可能能够提供的进一步见解。

    此致,

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

     

    您好,John:

    以下是答案:

    输出移位寄存器指针是否重置为指向新通道1数据的第一位?  

    : 我不这么认为,因为读取的数据是由主机控制的,并联/RD或/CS脉冲或串行SCLK脉冲, 所以可以在转换期间或转换后读取数据。 我想在下周初再次与设计团队确认,并向您提供反馈。

    在您的案例2 (如上所述)中,从高到低的繁忙转换过程中正在进行的读取将停止接收旧数据行中的下一位,并开始从SCLK下一边缘上的通道1接收新数据的第一位

    答案: 数据读取将继续读取相同数据寄存器的下一位,但如果下一位中有新数据, 则数据寄存器是相同 的数据寄存器。

    我们始终强烈建议在繁忙时段(转换期间读取)或繁忙时段(转换后读取)完成所有通道数据读取,切勿在繁忙时段读取数据,因为获取不正确数据的风险较高, 通过监控繁忙信号和控制/RD和/CS信号,可以完美地实现这一点。

     

    此致

    戴尔

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

    正如我前面所说,我不打算将任何读取操作扩展到繁忙的下降边缘。 我担心的是,如果损坏的信号导致读取操作实际上不发出由设备注册的128个SCLK周期,我将如何正常恢复。

    如果你能对下面提出的问题给我一个明确和准确的答案,我想我会得到我所需要的。 让我们假设以下一系列操作:

    1.重置ADC
    2.启动转换。
    3.在忙时等待下降边缘。
    4.使用SPI接口(CS,SCLK,DOUTA)读取通道1数据。
    5.通过仅读取前16个数据位后将CS转换为HIGH来终止读取操作。
    6.启动新的转换。
    7.等待繁忙时的下降边缘。
    8.使用SPI接口(CS,SCLK,DOUTA)读取16位数据。

    在步骤8中将从哪个信道读取数据? 是通道2的新(步骤6)数据(意味着将新数据加载到寄存器时移位寄存器指针不会重置)还是通道1的新(步骤6)数据(意味着移位寄存器指针会重置)?

    老实说,我很难相信将移位寄存器返回到数据集开头的唯一方法是精确读取以前转换的所有128个数据位或重置设备。 但是,如果是这种情况,我需要绝对肯定地知道,因为该功能将强制我在每次转换之前重置设备。

    我期待你的答复。 我对这个论坛流程感到有点沮丧,因为这个流程需要回答一个技术问题。 周期时间很长,无法立即获得反馈,以确定问题是否被充分提出和理解。 如果您愿意,我欢迎您致电。

    J. Gordon
    GMH工程部
    (801) 225-8970
    山地时区
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,John:

    我们正在 与设计团队进行核实,明天会给您回复,谢谢。

    此致

    戴尔

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

    您好,John:

    很抱歉,我迟到了反馈。 以下是答案:

    "步骤8中将读取哪个信道的数据?"   答案:  信道1

    "是通道2的新(步骤6)数据(意味着将新数据加载到寄存器时移位寄存器指针不会重置)还是通道1的新(步骤6)数据(意味着移位寄存器指针会重置)?"     答案:  通道1,步骤8中检索的数据是通道1的新数据。

    一旦检测到忙音,设备将始终自行重置,以提供来自通道1和新转换结果的数据。 这与它在繁忙时段前传输的信道无关。

    还有一件事我们建议您使用FIRSTDATA PIN,该PIN用于通道ID同步,以防有疑问或混淆。

    另请注意 ,当繁忙信号较高时,CONVSTA或CONVSTB输入上的任何活动都不会对设备产生影响。

    如果您还不清楚这一点,我们可以致电,谢谢。

    此致

    戴尔