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.

[参考译文] LMP90079:LMP90079错误的通道编号和数据问题

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/889294/lmp90079-lmp90079-wrong-channel-number-and-data-problem

器件型号:LMP90079

尊敬的主席女士:

我们使用具有4通道输入的 LMP90079和具有烧毁检测和 CRC 的连续扫描模式。

由于我们的电路、我们使用 ADC_DONE 寄存器控制来检查新的采样数据。 当我使用 SPI 中断立即看到新数据时、我们会从 SEDIAG 标志向 SPI_CRC_DAT 请求5个字节以获取样片

我们看到大多数情况(样本%10)的通道数据和通道编号都是错误的;例如

通道1的数据接近8000、通道2和12000。 有时、使用正确的 CRC 为 CH1获得12000、为 CH2获得8000。  即校验和为5字节、CRC 校正、因此数据错误。 那么问题可能出在哪呢?

此致。  

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

    尊敬的 Emre:

    很抱歉耽误了时间、今天没机会去看看。 明天我将尽力与您会面!  

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

    感谢您的回答。

    我将等待您的帮助。

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

    尊敬的 Emre:

    SPI 时序或后处理很可能存在问题。 字节正在被丢弃(即、SPI 在下一个中断被发出之前未足够快地读取它、从而导致一个截断的样本。 然后可以将其分段加载到您的软件中、直到发现错误。

    对于错误样本之前/之后的其他样本、您是否注意到任何其他不正确的情况?

    您是否看到了任何其他模式? 是否每10个样本中有1个不正确、或每90个正确、然后10个不正确?   

    您能否发布显示位事务的原理图和 SPI 通信示波器快照、以验证数据是否在下一次中断前计时?  

     

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

    错误是随机的。 也就是说、如果我们为4个通道选择214SPS、则接近%15-20的样本属于下一个通道。 但是、如果我们降低到53SPS、则%2-3的样本不正确(但仍有错误的样本)。

    我的 SPI 的频率为25kHz (一位为40usn)

    因此、对于 DRDYB 校验和 DRDYB 校验后的数据读取、在理想情况下、我至少需要6个字节的时间延迟-> 40usn* 8位*6字节=>近2个 MSN 以读取一个数据并检查 CRC。

    对于214SPS 采样、DRDYB 在4 MSN 中刷新、因此我们将数据速率降低到53、以查看其18msn DRDYB 刷新周期的影响。

    读取 CRC 后清除 DRDYB。 我还尝试读取下一个寄存器 CH_STS 以检查数据是否有效。

    我在你的回答后没有低估这个问题的两个方面。

    1-如何通过 SENDIAG_FLAGS 、DOUT H、DOUT_L 和保留字节控制来校正 CRC。 如果我们考虑通道编号变化、则必须存在 CRC 错误。 (如果 CRC 仅计算 DOUT、则可能是可行的。)

    SPI 的最低速度是多少。 才能正确以最高214SPS 的速率运行。  

    回答您的问题

    *对于错误样本之前/之后的其他样本、您是否注意到任何其他不正确的内容?

    有时我会得到低计数、例如 CH1:正常读取为8000、有时我会得到150-200等不相关的数据。 而不是不同的通道。 但其速率%0.1或更低。

    *您能否发布显示位事务的原理图和 SPI 通信示波器快照、以验证数据是否在下一次中断前计时?

    由于光耦合器隔离、我们没有使用中断、我们无法检测7.2 USN 周期 DRDYB 信号、因此我们检查 ADC_DONE 寄存器以查看是否有新数据可用。 因此、我们无法向您发送中断范围输出。

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

    尊敬的 Emre:

    由于误差数量随采样频率的降低而减少、因此后期处理很可能会出现问题。 这可能表现为无法足够快地计时数据、无法正确完成/退出循环、或数据未对齐。  

    查看第 8.6节"时序要求"和图1。 数据表的时序图:最大 SPI 速度为10MHz、而未指定最小速度。 探测 SPI 时钟以确保它们始终处于规格范围内可能很困难。 但是、检查以确保以最小的过冲和下冲正确生成 SPI 信号可能是有价值的。  

    由于 CRC 正在与通信、并且 CRC 的数据显示为正确、这使我认为问题在后期处理中。  

    可能会发生 MSB 移位、其中 MSB 由于一个或多个原因被截断。 这是一个很好的数据点。  

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

    您好、Alexander、

    谈到后处理、到底是什么?  是否有任何与此相关的文档?

    对于探测:当我将 SPS 表格214减少到26时、我们在25kHz SPI 中没有看到任何错误。 因此、正如您提到的、有一些与计时相关的东西。 我将尝试通过更改硬件来大幅增加 SPI 时钟、并再次尝试214个采样速度、并将分享结果。  

    我还将根据数据表再次搜索时序。

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

    尊敬的 Emre:

    通过后处理、我的意思是在从 ADC 进行测量后进行处理。  

    您问题的症状让我认为数据处理流程中存在"瓶颈"。 瓶颈是数据处理流程中受限的部分。  

    下面是一个示例数据处理流程:ADC 上的数据就绪-> SPI 通信-> MCU 计算-> MCU 输出

    我相信、在其中一个步骤中、硬件的移动速度不够快、无法以更高的数据速率处理您的所有数据。 系统在低数据速率下工作正常、这一事实强化了这种思维方式。  

    除了调整 SPI 时序外、如果 MCU 计算需要花费大量时间、或者存在延迟或某种延迟、您可能还希望尝试简化这些计算。   

    当我看到这样的问题时、通常是因为在最后一个样本完成数据处理流程之前有一个新样本准备就绪。

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

    当我们通过硬件修改将 SPI 速度从25kHz 提高到200kHz 时、52SPS 内的精度非常出色、但高于此 SPS 时、这些问题仍然存在。 (在25kHz 下提供一种出色的行为、即26SPS)

    但是、正如 ww 看到 SPI 速度有一些影响、我尝试提高更多的速度、但我发现还有一些其他问题、因为尽管如此、我提高了速度8倍、但性能略有提高。  

    我将再次检查  

    此致

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

    尊敬的 Emre:

    听得不错! 您可能还需要查看数据处理例程。 请告诉我调试是如何进行的。