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:如何将 eCAP4 APWM 输入到 CLB。

Guru**** 2589245 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1121081/tms320f28388d-how-to-input-ecap4-apwm-to-clb

器件型号:TMS320F28388D
Thread 中讨论的其他器件:SysConfig

各位专家、您好!

我的客户希望将 eCAP4 APWM 输入到 CLB。
它们按如下方式设置 CLB4寄存器设置、但不输入 APWM 信号。

CLB_CONFIGLocalInputMux (CLB4_base、CLB_IN2、CLB_LOCAL_IN_MUX_ECAP_ECAP_OUT);
CLB_CONFIGGPInputMux (CLB4_base、CLB_IN2、CLB_GP_IN_MUX_EXTERNAL);

如下图所示、当 ePWM 输入到 CLB 时、PWM 信号被正确输入。

CLB_CONFIGLocalInputMux (CLB4_base、CLB_IN2、> CLB_LOCAL_IN_MUX_GLOBAL_IN);
CLB_CONFIGGlobalInputMux (CLB4_base、CLB_IN2、CLB_GLOBAL_IN_MUX_EPWM2A);
CLB_CONFIGGPInputMux (CLB4_base、CLB_IN2、CLB_GP_IN_MUX_EXTERNAL);

此外、如果它们如下面所示将 eCAP4 APWM 跳线连接到 GPIO INPUT6、则 APWM 将正确输入到 CLB。

CLB_CONFIGLocalInputMux (CLB4_base、CLB_IN2、CLB_LOCAL_IN_MUX_INPUT6);
CLB_CONFIGGPInputMux (CLB4_base、CLB_IN2、CLB_GP_IN_MUX_EXTERNAL);

他们希望将 eCAP APWM 输入到器件内部的 CLB、而不是跳线、因此我希望它使用顶部设置。
请告诉我如何将 eCAP 的 APWM 输入到 CLB。

此致、
Sasaki

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

    Sasaki、您好!

    您可以尝试使用 CLB XBAR 将 eCAP 信号路由到 CLB。 ECAP4输出可用于任何 CLB XBAR 纵横制的 MUX 06。 之后、您可以通过全局多路复用器将该 CLB XBAR 路由为 CLB 的输入。 它应该与下面的内容类似

    	XBAR_setCLBMuxConfig(XBAR_AUXSIG0, XBAR_CLB_MUX06_ECAP4_OUT);
    	XBAR_enableCLBMux(XBAR_AUXSIG0, XBAR_AUXSIG0_ENABLED_MUXES);
    	
    	CLB_configLocalInputMux(CLB4_BASE, CLB_IN2, CLB_LOCAL_IN_MUX_GLOBAL_IN);
    	CLB_configGlobalInputMux(CLB4_BASE, CLB_IN2, CLB_GLOBAL_IN_MUX_CLB_AUXSIG0);
    	CLB_configGPInputMux(CLB4_BASE, CLB_IN2, CLB_GP_IN_MUX_EXTERNAL);

    此致、

    Peter

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

    您好、Peter-San、

    感谢您的支持。

    借助您提供的代码、我的客户能够将 eCAP APWM 信号输入到 CLB。

    提供的方法是将 AUX 与全局输入一起使用、但为什么我不能输入具有本地输入的 eCAP? 查看手册、您看起来也可以使用本地输入将 eCAP 输入到 CLB 中。

    此致、
    Sasaki

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

    您好、Sasaki-San、

    是的、您应该能够通过本地或全局将 ECAP4路由出去、这是因为这两个信号都可用。 我不确定客户代码为什么不起作用。 使用 SysConfig 工具生成本地 ECAP 信号将提供以下内容  

    	//CLB4 CLB_IN2 initialization
    	CLB_configLocalInputMux(CLB4_BASE, CLB_IN2, CLB_LOCAL_IN_MUX_ECAP_ECAP_OUT);
    	CLB_configGlobalInputMux(CLB4_BASE, CLB_IN2, CLB_GLOBAL_IN_MUX_EPWM1A);
    	CLB_configGPInputMux(CLB4_BASE, CLB_IN2, CLB_GP_IN_MUX_EXTERNAL);

    我认为 CLB_configGlobalInputMux()调用不是必需的,但您可以让客户尝试。 另一个需要注意的问题是、本地总线上有一个 ECAP_OUT_EN 信号、该信号在 ECAP 输出上充当使能信号。 如果需要、可以在 ECAP 处于 APWM 模式时将 ECAP 输出三态。 这可能会影响您将 ECAP 路由为本地信号的能力。

    尽管如此、它看起来像是使用 XBAR 并将 ECAP 输出路由为全局信号。 如果您有任何其他问题、请联系我们。

    此致、

    Peter

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

    您好、Peter-San、

    感谢您的支持。

    我的客户测试了故障程序。 但是它们测试了这个、并且 ECAP4输出不是 CLB 的输入。

    //CLB4 CLB_IN2初始化
    CLB_CONFIGLocalInputMux (CLB4_base、CLB_IN2、CLB_LOCAL_IN_MUX_ECAP_ECAP_OUT);
    CLB_CONFIGGlobalInputMux (CLB4_base、CLB_IN2、CLB_GLOBAL_IN_MUX_EPWM1A);
    CLB_CONFIGGPInputMux (CLB4_base、CLB_IN2、CLB_GP_IN_MUX_EXTERNAL);

    我想知道如何使用 ECAP_OUT_EN。
    我是否在 eCAP 寄存器中设置 ECAP_OUT_EN? 我在寄存器中找不到用于设置 ECAP_OUT_EN 的位字段。
    如果希望 ECAP 输出为三态、应设置什么?

    此致、
    Sasaki

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

    您好、Sasaki-San、

    是的、应该可以设置 ECAP_OUT_EN 位。 我将把这个分配给 eCAP 专家来协助

    此致、

    Peter

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

    Sasaka-San、

    我们将关闭该主题、因为我们将在有关该主题的另一个主题中进行讨论。

    谢谢、此致、

    桑托什