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.

[参考译文] TMS320F280049C:CLB 输出错误

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/890386/tms320f280049c-clb-output-wrong

器件型号:TMS320F280049C

大家好、

我的客户使用 CLB 来实现逻辑功能。 他们面临 一个奇怪的问题   、即 CLB 输出在实际应用系统中不正确、而仿真显示逻辑计算正确、而在 F280049 Launchpad 中执行类似操作不会重现此问题。  配置块如下所示:

因此、输入和输出的波形应该如下所示、我使用 F280049 Launchpad 完成了这一操作:下面的波形是我们想要的、是正确的。

但在客户的系统中 、波形的两个输入来自其电机编码器信号、在这种情况下、存在问题、有时输出错误。 为了查看两 个输入是否有噪声、实际上它们使用两个 CLB 输出来显示输入信号、我们可以看到这些进入 CLB 模块的信号是干净的、在大多数情况下输出是正确的、 但遗憾的是、有时 输出错误、如红色箭头所示。 我们不知道为什么。

更进一步  、我们还发现了更奇怪的输出波形、如下所示、我们认为可能存在一些影响输出的噪声、并尝试添加 CLB 配置的逻辑滤波器来过滤输入两个信号、但它不起作用、仍然存在问题。

是否有任何关于如何解决此问题的建议? 谢谢。

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

    您好!

    由于您说逻辑在 LaunchPad 上按预期工作、但由于噪声导致客户系统出现故障、
    是否可以尝试在 GPIO 中启用输入限定逻辑?
    监视输入信号并观察噪声脉冲宽度、并相应地设置 GPIO 鉴定参数。
    通常、转换期间编码器输入可能会产生噪声、最好启用 GPIO 鉴定。
    如果噪音确实是问题的根源、这应该可以解决问题。
    请尝试并告知我们结果。  

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

    Subrahmanya,è s

    是的、它们确实在 GPIO 中添加了输入限定逻辑、但有相同的问题。 正如我提到过的、它们还引用了 CLB 示例"clb_ex2_gpio_input_filter"来进行滤波、但仍然有问题。

    实际上、监控器的波形是直接到 CLB 模块的输入信号、因为它们使用到 GPIO 的 CLB 输出来显示输入信号。

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

    您好!

    您是否尝试按原样简单运行测试"clb_ex2_gpio_input_filter"? 您的观察结果如何?

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

    此外、这是否仅在使用编码器输入时发生? 您在 LaunchPad 测试中使用的是什么输入?

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

    请参阅 "clb_ex2_gpio_input_filter"示例并为两 个输入添加滤波、滤波器的输出将发送到 FSM0和 FSM1、LUT0。

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

    是仅在使用编码器时发生、

    LaunchPad 测试上的输入 是 PWM 模块和其他 CLB 逻辑块生成的信号、用于生成类似于编码器输出的波形。

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

    您好!

    感谢您的确认、是否可以首先使用 GPIO 滤波器(禁用 CLB 滤波器)进行调试?
    不清楚为什么噪声会在您打开滤波器的情况下传播。
    可能需要的是微调滤波器设置以消除噪声。
    您的鉴定脉冲宽度设置可能不足以消除噪声。
    您能否捕获编码器输入端的噪声? 这将让我们对噪声脉冲有一些深入了解。

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

    您好!

    [引用 user ="strong>Zhang ] LaunchPad 测试上的输入 是 PWM 模块和其他 CLB 逻辑块生成的信号,用于生成类似于编码器输出的波形。

    由于仅在使用编码器时才观察到噪声问题、我想基于 PWM 的输入生成不会复制从编码器中看到的噪声。
    此外、您是否已开启 GPIO 输入上的同步器?
    您还可以使用 CLB_INPUT_FILTER[SYNCn]位在 CLB 级别打开同步。  

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

    苏布拉赫曼尼亚

    是的、客户在 CLB 电平和 GPIO 输入上打开同步。  当执行更多测试时、他们还会发现另一个问题。

    它们使用 F280049 Launchpad 进行测试、输入信号来自电机编码器输出。 在 CLB 配置中、它们使用两个逻辑块来连接该同一信号、并且只需将 BOUNDARY_IN 直接连接到 BOUNDARY_OUT、因此 CLB 逻辑块的两个输出 应与输入完全相同、 但奇怪的是、两个输出是不同的、如下所示、一个 CLB 输出与输入脉冲相同、但另一个不同。

    这是什么原因? 他们还通过使用 一个 CLB 逻辑块的两个输入来执行测试、结果表明仍然存在此问题。

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

    你好、很强、

    由于同步器和输入信号锁存、尽管您使用的是从输入到输出的相同信号、但可能会有轻微变化(2-3个周期)。 如果变化在2-3个周期的范围内、那么由于这个同步逻辑、这是预期的。
    但是、如果偏差高于该值、则配置或输入/输出设置中可能会有其他原因导致这种情况。
    您观察到的变化是什么? 有多少 ns?

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

    苏布拉赫曼尼亚

    变化约为10us。 CLB 中的配置很简单、只需将输入连接到 CLB 输出、而无需任何逻辑计算。

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

    苏布拉赫曼尼亚

    它大约为10us、CLB 的配置很简单、只需将 BOUNDARY_IN 直接连接到 BOUNDARY_OUT、而无需 逻辑计算。

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

    您好!
    如果它大约为10us、则它不是与同步器相关的延迟。 同步器只会增加几个时钟周期、仅需几十毫微秒。
    我认为配置或相关软件肯定有问题。
    我们有几个示例测试用例、其中包括输入输出连接、胶合逻辑等、但这些都不会表现出此类行为。
    请仔细查看示例、这也有助于我们快速复制。