如果在完成上次转换的读取操作之前使用ADS8588S启动新的转换,结果是什么? 我要求这一点是为了了解暂时损坏的SPI串行时钟的潜在影响。 我正在尝试确定如何在发生此类事件后重新同步SPI主控制器和ADS8588S。
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.
您好John
该设备允许在进行新转换时读取数据,也可以不进行转换。 如数据表的图2 (下图)所示 ,CS上升边缘和繁忙边缘的下降边缘之间的最小时间为40 ns。
在CS较低,正在读取数据,而忙碌正在进行过渡的情况下,不应操作设备。 这可能会损坏数据。
要确保在重新同步时数据正确无误,可以重置设备,或者发送初始虚拟会话信号。
此致
Cynthia
Cynthia,
感谢您的回复。 不幸的是,我对我的问题的答案仍然不清楚。 该数据表指出,CS可能在多通道读取操作中保持低电平,或者在单通道数据的每个2字节读取之间循环。 我的问题与转换或忙碌过渡期间降低CS的相关。 相反,我需要知道,如果在读取之前转换的所有数据(当前保存在读取缓冲区中)之前启动新转换,响应是什么。 例如,在CS降低后,完整的读取周期需要128 SCLK周期。 如果在读取操作过程中仅接收到127个(或59个) SCLK周期,当CS较低,然后启动新的转换时,会发生什么情况?
我担心的是,如果之前数据的整个读取操作尚未完成,则会启动新的转换,重置数据输出移位寄存器以指向新数据集的第一位。 换言之,如果在读取操作期间某些东西损坏了SCLK,并且128位没有被移出,CS会变高,然后又启动了另一个转换,输出移动寄存器是否会重置为指向新数据的第一位, 新数据准备就绪时? 我想提出问题的另一种方式是:启动新转换是否会重置输出移位寄存器并覆盖所有旧数据,无论旧数据是未读还是在新数据准备就绪之前仅部分读取? 我希望这些描述我试图理解的内容的尝试是有帮助的。 感谢您的帮助,期待您的回复。
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中的红色繁忙高)在数据读取过程中完成。
在转换阶段结束时(当红色占线变低时),此新启动的转换数据将更新到内部数据寄存器中,因此主机控制器将检索此时间之前转换的某些位的数据。 还将 检索 此时间后新启动转换的某些位的数据。 这不是完整的数据,可能不正确。
我希望这对您有所帮助。 谢谢。
此致
戴尔
您好,John:
以下是答案:
输出移位寄存器指针是否重置为指向新通道1数据的第一位?
答: 我不这么认为,因为读取的数据是由主机控制的,并联/RD或/CS脉冲或串行SCLK脉冲, 所以可以在转换期间或转换后读取数据。 我想在下周初再次与设计团队确认,并向您提供反馈。
在您的案例2 (如上所述)中,从高到低的繁忙转换过程中正在进行的读取将停止接收旧数据行中的下一位,并开始从SCLK下一边缘上的通道1接收新数据的第一位
答案: 数据读取将继续读取相同数据寄存器的下一位,但如果下一位中有新数据, 则数据寄存器是相同 的数据寄存器。
我们始终强烈建议在繁忙时段(转换期间读取)或繁忙时段(转换后读取)完成所有通道数据读取,切勿在繁忙时段读取数据,因为获取不正确数据的风险较高, 通过监控繁忙信号和控制/RD和/CS信号,可以完美地实现这一点。
此致
戴尔
您好,John:
很抱歉,我迟到了反馈。 以下是答案:
"步骤8中将读取哪个信道的数据?" 答案: 信道1
"是通道2的新(步骤6)数据(意味着将新数据加载到寄存器时移位寄存器指针不会重置)还是通道1的新(步骤6)数据(意味着移位寄存器指针会重置)?" 答案: 通道1,步骤8中检索的数据是通道1的新数据。
一旦检测到忙音,设备将始终自行重置,以提供来自通道1和新转换结果的数据。 这与它在繁忙时段前传输的信道无关。
还有一件事我们建议您使用FIRSTDATA PIN,该PIN用于通道ID同步,以防有疑问或混淆。
另请注意 ,当繁忙信号较高时,CONVSTA或CONVSTB输入上的任何活动都不会对设备产生影响。
如果您还不清楚这一点,我们可以致电,谢谢。
此致
戴尔