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.

[参考译文] AM3359:执行 SPIRTA 时 DHT 测试失败

Guru**** 2460850 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1475147/am3359-dht-tests-failing-when-executing-spirta

器件型号:AM3359

工具与软件:

我公司正在使用 AM335X 板开发 Profinet IO IRT 器件。 使用的 PROFINET 栈版本为5.9.0

当我们执行 IRT 官方测试工具(SPIRTA)时、存在随机错误、但非常可重复、其中意外触发 DHT 警报。 该错误可能出现在任何由主器件和从器件发送 RTC3数据包的测试中。

下图显示了主器件如何仍在发送 IO 消息、但发送了 DHT 警报。

请注意、之前某些数据包中存在端口数据更改警报。 当它应该处于运行状态时、端口会报告它处于关闭状态。

我猜存在某种 影响计时或任务行为的集成问题、但我不知道如何调试该问题。 我尝试删除几乎所有的应用程序代码,但问题仍然出现。

您是否知道导致此问题的原因?

此致、

Luis

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

    在添加更多上下文时、我使用了一些 GPIO 来跟踪重现问题时的一些中断(ppm、CPM 等)。 在下图中、当程序进入和离开时、黄线显示  PN_cpmIsrHandler 、而蓝线显示相同、但仅适用于  PN_ppmIsrHandler

    如您所见、 ppm ISR 似乎以某种方式被阻止、但我无法找到阻止它的原因。 显然、它未被 ppm ISR 函数内的代码阻断

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

    尊敬的 Luis:

    您能否回答几个问题以详细了解问题:

    1) 1)您是否发现下载的软件包中的应用程序存在此问题?  是否正在使用 PRU-ICSS-PROFINET-SLAVE v01.00.05.00?

    2) 2)是否有任何发生故障的特定 SPIRTA 测试用例?

    此致、
    Laxman

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

    1) 1)您是否发现下载的软件包中的应用程序存在此问题?  

    我还没有试过。 但我使用的是 PRU-ICSS-PROFINET-SLAVE v01.00.05.00

    2)在许多测试中可能会发生,但测试是我重现它最多的是 DHT 测试用例

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

    尊敬的 Luis:

    请告知我们开箱即用示例是否存在该问题、同时我们之前执行的测试尚未发现旧测试包中的 SPIRTA 工具存在该问题。 最新版本中的测试标准可能会更新。 您是否还能说明您正在使用哪个测试捆绑包版本来运行测试?

    此致、
    Laxman

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

    尊敬的 Laxman:

    好! 我将尝试使用初始示例重现该问题。 我使用的是 Profinet 测试捆绑包2.44.1。

    另外要注意的是、我已经注意到、有时从器件在初始协商后永远不会发送循环消息:

    此致、

    Luis

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

    尊敬的 Luis:

    为了添加另一条注释、我注意到、有时从机在初始协商后永远不会发送循环消息:

    对于 IRT 通信、初始协商后可能会有轻微的延迟、只有在 DUT 中的"RTClass3_portStatus"设置为"RUN"后、通信才会启动。  初始连接完成后是否从未发送循环帧?

    此致、
    Laxman

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

    尊敬的 Laxman:

    我进一步检查了捕获情况、并且当端口状态更改为运行时确实发送了帧、但在几个数据包之后、端口状态再次更改为关闭、并且从器件停止发送数据包

    后来、从器件再次报告要运行的端口状态变化、但不发送 RTC3帧。 然后会触发 DHT/WDT 警报

    这些屏幕截图是使用 PerformanceIndicatorCheck01测试用例获取的。

    我随附了一些测试用例失败的捕获结果。 所有示例中的错误显然都是相同的

    e2e.ti.com/.../failed_5F00_test_5F00_cases.zip

    感谢您的帮助、

    Luis

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

    尊敬的 Luis:

    感谢您分享日志。 最可能是由于最新测试捆绑包中的测试用例场景的更新而导致的错误情况。 PROFINET 软件包 v01.00.05.00不支持最新的测试捆绑包。 不过、我们目前正处于更新 PROFINET 应用程序的计划阶段、以便支持最新的测试捆绑包。 软件包更新后、我们将分享更多详细信息、确保这些问题得到解决。

    此致、
    Laxman

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

    尊敬的 Laxman:

    您是否已识别到 您这边的同一问题? 或者、您能否确定以前的测试用例与新测试用例之间的差异?

    此致、

    Luis

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

    尊敬的 Luis:

    感谢您耐心等待我们的测试结果。 我确实 使用 PROFINET 包中的二进制文件运行了 DHT 测试用例5次迭代、并观察到所有迭代都正在通过。 我目前已使用测试捆绑包2.44.3。

    您是否使用开箱即用的二进制文件运行测试? 另外、您是否可以共享用于运行测试的二进制文件?

    此致、
    Laxman

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

    尊敬的 Laxman:

    我很抱歉。 我无法测试开箱即用的二进制文件、但我几乎可以肯定、它不会显示错误、或者如果显示错误、它会在多次测试迭代之后出现。

    我已经测试了以前的固件版本、发现其中一个版本在大约37次迭代中测试仅失败了3次、因此我认为进一步的更改只会使该问题最有可能发生、但同时我不确定它最初是在哪里引入的。

    我可以共享二进制文件。 我可以私下分享给您吗? 我还可以发送.cfg 文件、以便您可以查看它们之间的差异(如果它有用)。 此外、与调试编译相比、该问题在版本编译中似乎更常见。

    与此同时、我想重点介绍可能阻止 PPM 中断的措施(请参阅我在第二条消息中发送的屏幕截图)、我曾尝试使用 GPIO 在示波器中确定哪些其他 Hwi 可能会阻止 ISR 处理程序、但我尚未找到。 您是否知道更有效地调查此事的方法?

    感谢您的帮助、
    Luis

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

    尊敬的 Luis:

    观察示波器显示屏、很可能是由于较高优先级的中断阻止了 CPM 和 PPM ISR、导致了该问题。 我们将检查中断优先级并提供更新。

    同时、我现在将发送一封邮件、您可以共享调试所需的文件。

    此致、
    Laxman