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.

[参考译文] TMS320F28388D:Enet 辅助时间戳功能触发

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/951316/tms320f28388d-enet-aux-timestamp-feature-triggering

器件型号:TMS320F28388D

C2000团队、

在 F28388D 上、客户正在使用 Cortex-M 中以太网的 AUX_Timestamp 功能  它们使用 ePWM XBAR 输出8来触发此情况。

ePWM XBAR 输出8由 INPUTXBAR4提供、而 INPUTXBAR4又由 GPIO95提供。  GPIO95又从 CLB 输出馈送。  是的、布线非常重!  其配置代码为:

Xbar_setCLBOutputMuxConfig (CLBOUTPUTXBAR_base、XBAR_OUTPUT5、XBAR_OUT_MUX06_CMPSS4_CTRIPOUTH_OR_L);

Xbar_enableCLBOutputMux (CLBOUTPUTXBAR_BASE、XBAR_OUTPUT5、XBAR_MUX06);

GPIO_setPadConfig (95、GPIO_PIN_TYPE_STD); // GPIO95是引脚

GPIO_setDirectionMode (95、GPIO_DIR_MODE_OUT);

GPIO_setPinConfig (GPIO_95_CLBOUTPUTXBAR5);

Xbar_setInputPin (INPUTXBAR_base、XBAR_INPUT4、95);//将 GPIO95设置为输入 XBar4以实现组合跳闸输入

Xbar_setEPWMMuxConfig (XBAR_TRIP8、XBAR_EPWM_MUX07_INPUTXBAR4);// GPIO95连接到 INPUTXBAR4,将该信号传递到 ePWM XBAR 输出8 */

Xbar_enableEPWMMUX (XBAR_TRIP8、XBAR_MUX07);  //此信号将用于在 CM 上触发 PTP 时间戳*/

除了时间戳是在 GPIO95的下降沿触发之外、其他操作看起来都是这样的。  以下是逻辑分析仪屏幕截图:

顶部走线是辅助时间戳、中间走线是 GPIO95。

问题:我们需要使用时间戳来触发 GPIO95的上升沿(同样、也是 ePWM XBAR 输出8)。  假设时间戳始终在触发信号的下降沿触发、我们需要对信号进行反相以生成正确的时序。

我们尝试过的内容:

1)反相跳变极性: EPwmXbarRegs.TRIPOUTINV.bit.TRIP8 = 1;

2) 2)使用 GPyINV 寄存器在 GPIO 输入端反相 GPIO95。

3) 3)反转 CLB 中的信号(在路由到 GPIO95之前)。

上述任何一项似乎都没有任何效果。

我们已检查 EALLOW 问题、并使用 CCS 确认寄存器已按预期配置。

我们知道时间戳是从 GPIO95触发的、因为如果我们将 INPUTXBAR4选择更改为0、而不是95、则没有 cortex-M 时间戳(这意味着没有触发信号)。

是否知道为什么我们似乎无法使 GPIO95和/或跳闸反转?
此致、
David
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    经过进一步调查、我们尚未确认 GPIO95实际上是使信号跳闸。  我昨天做了一个错误的阅读。  我更改了代码、以便禁用 CLB、并且只将 GPIO95设置为输出、这样我就可以切换 code composer 中的引脚。  该引脚仍用作 InputXBar 上的 INPUT4、因此该信号应传递到 trip8。

    在这里、我要设置 GPIO95

       GPIO_setPadConfig (95、GPIO_PIN_TYPE_STD); // GPIO95是引脚

       GPIO_setDirectionMode (95、GPIO_DIR_MODE_OUT);

       GPIO_setPinConfig (GPIO_95_GPIO95);

       Xbar_setInputPin (INPUTXBAR_base、XBAR_INPUT4、95);//将 GPIO95设置为输入 XBar4以实现组合跳闸输入

       Xbar_setEPWMMuxConfig (XBAR_TRIP8XBAR_EPWM_MUX07_INPUTXBAR4);// GPIO95连接到 INPUTXBAR4,将该信号传递到 ePWM XBAR 输出8 */

       Xbar_enableEPWMMUX (XBAR_TRIP8、XBAR_MUX07);                     //此信号将用于在 CM 上触发 PTP 时间戳*/

    但我根本没有在 CM 中获取 AUX 时间戳的中断。  我确实看到 XBARFLG2.INPUT4正在切换、但在 CM 侧看不到任何内容。

    能否判断是否在 CPU1侧设置了 TRIP8?

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

    您好 Stephen、

    我想这里有一点困惑(我正在与我们的文档团队跟进以检查此问题)。

    您能否尝试以下内容并告诉我、

    ePWM Xbar 输出-7 => TRIP-11

    ePWM Xbar 输出-8 => TRIP-12

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

    感谢您的回复 Karthik。  您确切希望我尝试一下什么?  您希望我设置哪些寄存器来实现此目的?

    ePWM Xbar 输出-7 => TRIP-11

    ePWM Xbar 输出-8 => TRIP-12

    Steve

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

    您好 Steve、

    在    这两个函数 中、请将 XBAR_TRIP8替换为 XBAR_TRIP12、XBAR_setEPWMMuxConfig 和 XBAR_enableEPWMMUX。

    我假设您已在以太网子系统配置中将辅助时间戳触发器配置为在 AUX TS TRIG SEL2/ePWM Xbar OUTPUT-8上运行。

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

    Karthik、

    这起作用了。  PTP 辅助时间戳功能似乎连接到 TRIP12而不是 TRIP8。  如果我使用 CCS 切换引脚、它将在引脚的上升沿触发辅助时间戳功能。  如果我更改 TRIPINV12位、则 CM 侧的时间戳将在该引脚的下降沿触发。

    感谢您的帮助、

    Steve

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

    感谢您确认 Steve。 我将继续提交文档更新以解决此问题。