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:通过 PWMXBAR 和 SCIB 在同一个 GPIO 上使用 QEP2时、SysConfig 资源冲突

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1519907/tms320f28388d-sysconfig-resource-conflict-when-using-qep2-via-pwmxbar-and-scib-on-same-gpios

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

工具/软件:

尊敬的 TI 团队:

我正在使用 F28388D controlCARD 进行测试、并在共享 GPIO 上组合 QEP2和 SCIB 功能时遇到潜在的 SysConfig 问题。

测试设置:

我通过 PWMXBAR 将 ABI 信号从 GPIO60、58和59路由到 QEP2。 在 SysConfig 中、我将 QEP2输入配置为使用 GPIO54 (A)、GPIO55 (B)和 GPIO57 (索引)。 同时、我想将 GPIO54和 GPIO55分别用于 SCIB_TX 和 SCIB_RX。

问题:

在 SysConfig SCI 模块中将 SCIB_TX 和 SCIB_RX 分配到 GPIO54和 GPIO55时、会收到一个 资源冲突错误 工程构建失败。

 [图1:SCI 资源冲突]

 [图2:通过 PWMXBAR 配置实现 EQEP2]

观察结果:

IF I 手动配置 GPIO54和 GPIO55对于 SCIB 调用后Board_init(),项目生成和 QEP2和 SCIB 函数在运行时都能正常工作。

以下是后面的相关代码Board_init()

// SCIB GPIO manual setup
GPIO_setPinConfig(GPIO_55_SCIB_RX);
GPIO_setPadConfig(55, GPIO_PIN_TYPE_STD | GPIO_PIN_TYPE_PULLUP);
GPIO_setQualificationMode(55, GPIO_QUAL_ASYNC);

GPIO_setPinConfig(GPIO_54_SCIB_TX);
GPIO_setPadConfig(54, GPIO_PIN_TYPE_STD | GPIO_PIN_TYPE_PULLUP);
GPIO_setQualificationMode(54, GPIO_QUAL_ASYNC);

// SCIB initialization
SCI_clearInterruptStatus(SCIB_BASE, SCI_INT_RXFF | SCI_INT_TXFF | ... );
SCI_clearOverflowStatus(SCIB_BASE);
SCI_resetTxFIFO(SCIB_BASE);
SCI_resetRxFIFO(SCIB_BASE);
SCI_resetChannels(SCIB_BASE);
SCI_setConfig(SCIB_BASE, 50000000, 115200, (SCI_CONFIG_WLEN_8 | SCI_CONFIG_STOP_ONE | SCI_CONFIG_PAR_NONE));
SCI_disableLoopback(SCIB_BASE);
SCI_performSoftwareReset(SCIB_BASE);
SCI_setFIFOInterruptLevel(SCIB_BASE, SCI_FIFO_TX0, SCI_FIFO_RX0);
SCI_enableFIFO(SCIB_BASE);
SCI_enableModule(SCIB_BASE);

和 PWMXBAR 路由:

XBAR_enableEPWMMux(XBAR_TRIP4, XBAR_MUX01);
XBAR_setInputPin(INPUTXBAR_BASE, XBAR_INPUT1, 60);
XBAR_setEPWMMuxConfig(XBAR_TRIP4, XBAR_EPWM_MUX01_INPUTXBAR1);

XBAR_enableEPWMMux(XBAR_TRIP5, XBAR_MUX03);
XBAR_setInputPin(INPUTXBAR_BASE, XBAR_INPUT2, 58);
XBAR_setEPWMMuxConfig(XBAR_TRIP5, XBAR_EPWM_MUX03_INPUTXBAR2);

XBAR_enableEPWMMux(XBAR_TRIP7, XBAR_MUX05);
XBAR_setInputPin(INPUTXBAR_BASE, XBAR_INPUT3, 59);
XBAR_setEPWMMuxConfig(XBAR_TRIP7, XBAR_EPWM_MUX05_INPUTXBAR3);

问题:

  1. 这是已知的 SysConfig 限制还是错误?

  2. 使用 PWMXBAR 将信号路由到 QEPx 时、相应的 QEPx GPIO 是否仍可用于其他外设多路复用?

  3. Board_init()在这种情况下、是否在建议的权变措施之后手动覆盖多路复用?

提前感谢您的支持!

XBAR_ENABLEEPWMMUX(XBAR_TRIP4、XBAR_MUX01);
XBar setInputpin(inputxbar_base、Xbar、60);
XBAR_SETEPWMMUXCONFIG、XBAR_TRIP4(XBAR_EPWM_MUX01_INPUTXBAR1);

XBAR_ENABLEEPWMMUX(XBAR_TRIP5、XBAR_MUX03);
Xbar(inputxbar_base、xbar input2 ...代碼

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

    您好 Allen、

    尝试将 pinmux 用例更改为定制。 这将取消选择任何未需要或未使用的引脚、但仍会添加 eQEP 实例。

    此致、

    Ryan Ma

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

    感谢您的帮助~

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

    您好 Allen、

    欢迎您、我现在将关闭该主题。

    此致、

    Ryan Ma