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.

[参考译文] TMS320F28379D-Q1:无法使用 XBAR 获取到 GPIO25的 EXTSYNCOUT

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1433055/tms320f28379d-q1-unable-to-obtain-extsyncout-to-gpio25-using-xbar

器件型号:TMS320F28379D-Q1
主题中讨论的其他器件:SysConfigC2000WARE

工具与软件:

您好!  

我正在尝试使用 X-BAR 模块将 EXTSYNCOUT 连接到 GPIO25。 它似乎不起作用。 代码如下:

GpioCtrlRegs.GPAMUX2.bit.GPIO25 = 1;// GPIO25 = XBAR2
GpioCtrlRegs.GPADIR.bit.GPIO25 = 1;// GPIO25 =输出

OutputXbarRegs.OUTPUT2MUX0TO15CFG.bit.MUX14 = 3;// Mux 14、3 - EXTSYNCOUT (PG. 1239 - techincal manual)
OutputXbarRegs.OUTPUT2MUXENABLE.bit.MUX14 = 1;// Enable the MUX14 (启用 MUX14)

SyncSockRegs.SYNCSELECT.bit.SYNCOUT = 0;

类似的 代码(进行适当更改)适用于 GPIO9。

GpioCtrlRegs.GPAMUX1.bit.GPIO9 = 3;// GPIO9 = XBAR6
GpioCtrlRegs.GPADIR.bit.GPIO9 = 1;// GPIO9 =输出

OutputXbarRegs.OUTPUT6MUX0TO15CFG.bit.MUX14 = 3;// Mux 14、3 - EXTSYNCOUT (PG. 1239 - techincal manual)
OutputXbarRegs.OUTPUT6MUXENABLE.bit.MUX14 = 1;// Enable the MUX14 (启用 MUX14)

SyncSockRegs.SYNCSELECT.bit.SYNCOUT = 0;

如果我的代码中有任何错误、请告知我。 我需要 GPIO25通过硬接线连接到外部节点。 感谢任何帮助。

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

    您好!

    我认为您需要使用输出 XBAR 的输出2:

    因此、您需要改用 OUTPUT2MUXENABLE 寄存器:

    注意、如果您尚未使用 SysConfig、我可能建议您 也浏览一下、则 可以非常轻松地配置适当的多路复用设置。 您只需使用 MUX 14来选择 EXTSYNCOUT 信号并通过输出 XBAR 模块(例如 OUTPUTXBAR7至 GPIO11)将其输出到引脚。 可用的多路复用器显示在下拉菜单上、因此您可以轻松地查看可以根据您选择的多路复用器发出哪些信号。 下面是我在 SysConfig 中为将 EXTSYNCOUT 带到引脚以及它生成的代码所做的操作(蓝色文本是 EXTSYNCOUT 所需的内容)。 如果您想确切地查看此设置的寄存器({C2000Ware}\driverlib\f2837xd\driverlib)、可以在 C2000Ware 中找到这些 GPIO 和 XBAR driverlib 函数的源代码:

    //*****************************************************************************
    //
    // PINMUX Configurations
    //
    //*****************************************************************************
    void PinMux_init()
    {
        //
        // PinMux for modules assigned to CPU1
        //
        
        //
        // EPWM2 -> myEPWM0 Pinmux
        //
        GPIO_setPinConfig(myEPWM0_EPWMA_PIN_CONFIG);
        GPIO_setPadConfig(myEPWM0_EPWMA_GPIO, GPIO_PIN_TYPE_STD);
        GPIO_setQualificationMode(myEPWM0_EPWMA_GPIO, GPIO_QUAL_SYNC);

        GPIO_setPinConfig(myEPWM0_EPWMB_PIN_CONFIG);
        GPIO_setPadConfig(myEPWM0_EPWMB_GPIO, GPIO_PIN_TYPE_STD);
        GPIO_setQualificationMode(myEPWM0_EPWMB_GPIO, GPIO_QUAL_SYNC);

        //
        // OUTPUTXBAR7 -> myOUTPUTXBAR0 Pinmux
        //
        GPIO_setPinConfig(myOUTPUTXBAR0_OUTPUTXBAR_PIN_CONFIG);

    }
    //*****************************************************************************
    //
    // OUTPUTXBAR Configurations
    //
    //*****************************************************************************
    void OUTPUTXBAR_init(){
        myOUTPUTXBAR0_init();
    }

    void myOUTPUTXBAR0_init(){
        XBAR_setOutputLatchMode(myOUTPUTXBAR0, false);
        XBAR_invertOutputSignal(myOUTPUTXBAR0, false);
            
        //
        //Mux configuration
        //
        XBAR_setOutputMuxConfig(myOUTPUTXBAR0, XBAR_OUT_MUX14_EXTSYNCOUT);
        XBAR_enableOutputMux(myOUTPUTXBAR0, XBAR_MUX14);

    }

    此致、

    Allison