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.

[参考译文] TMS320F28379S:PTO 不能在 tms320f28379s 上运行

Guru**** 2529560 points
Other Parts Discussed in Thread: CONTROLSUITE, TMS320F28379D, TMS320F28379S, C2000WARE-MOTORCONTROL-SDK, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/992498/tms320f28379s-the-pto-don-t-work-on-tms320f28379s

器件型号:TMS320F28379S
主题中讨论的其他器件:controlSUITETMS320F28379DC2000WARE-MOTORCONTROL-SDKC2000WARE

您好、TI 专家、

我现在在电路板上工作、以驱动电机控制、它在很长一段时间内都能很好地工作。

但是、我们必须添加新函数、如 PTO 库。 在另一个线程中获得 TI 专家的建议后 、我可以参考 PTO 库。

但在测试后 、PTO 的 CLB 似乎不起作用。

我使用的是 ccs7.4.1和 controlSUITE v3.4.9

和 PTO 库列在"C:\ti\controlSUITE\libs\app_libs\position_manager\v01_02_00_00\pto\examples\PM_pto_qepdiv_test"中

我的问题:

1. tms320f28379s 是否支持 PTO? 因为示例代码基于 tms320f28379D

2.如果支持、问题的可能原因是什么? 如果可能、我可以向您展示我的代码。 我现在测试示例代码、但失败、CLB 没有输出信号。

期待您的回复。

Feng

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

    我更改了输入 GPIO 和输出 GPIO 以适合我的板、如下表所示:

    输入:gpio9、22、67、与外部 ABZ 脉冲链接、可从示波器进行测量。

    输出:gpio64、65和 gpio14 (索引)

    void pto_qepdiv_setup_gpio (void)

    EALLOW;
    //用于 ABZ 预分频
    GpioCtrlRegs.GPAMUX1.bit.GPIO9=0;
    GpioCtrlRegs.GPADIR.bit.GPIO9=0;
    GpioCtrlRegs.GPAMUX2.bit.GPIO22 = 0;
    GpioCtrlRegs.GPADIR.bit.GPIO22 = 0;
    GpioCtrlRegs.GPCMUX1.bit.GPIO67 = 0;
    GpioCtrlRegs.GPCDIR.bit.GPIO67 = 0;

    将从 GPIO10/11/13通过 InputXBar Input4/5/6抽头的//QEP 输入
    InputXbarRegs.INPUT4SELECT = 9;//10;// QEPA
    InputXbarRegs.INPUT5SELECT = 22;//11;// QEPB
    InputXbarRegs.INPUT6SELECT = 67;//13;// QEPI

    GPIO2/3 - QEPA/B 上提供//QEP 输出(通过 EPWM2A/B)
    /* GpioCtrlRegs.GPAMUX1.bit.GPIO2 = 1;//配置 GPIO2 (脉冲输出 A)
    GpioCtrlRegs.GPAMUX1.bit.GPIO3=1;//配置 GPIO3 (脉冲输出 B)
    OUTPUTXBAR3上的//QEP 输出索引-在 GPIO4上(用户可以选择任何具有 OUTPUTXBAR3的 GPIO
    GpioCtrlRegs.GPAGMUX1.bit.GPIO4 = 1;//索引输出- outxbar3
    GpioCtrlRegs.GPAMUX1.bit.GPIO4=1;*/
    GpioCtrlRegs.GPCMUX1.bit.GPIO64=0;
    GpioCtrlRegs.GPCDIR.bit.GPIO64=1;
    GpioCtrlRegs.GPCMUX1.bit.GPIO65=0;
    GpioCtrlRegs.GPCDIR.bit.GPIO65=1;
    OUTPUTXBAR3上的//QEP 输出索引-在 GPIO4上(用户可以选择任何具有 OUTPUTXBAR3的 GPIO
    //GpioCtrlRegs.GPCGMUX1.bit.GPIO66 = 1;//索引输出- outxbar3
    //GpioCtrlRegs.GPCMUX1.bit.GPIO66=1;
    GpioCtrlRegs.GPAGMUX1.bit.GPIO14 = 1;//索引输出- outxbar3
    GpioCtrlRegs.GPAMUX1.bit.GPIO14 = 2;

    EDIS;

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

    尊敬的 TI 专家:

    我将输出 gpio64、65更改为 GPIO2、GPIO3、它们与示例代码完全相同、然后启用 pwm2、结果正常、我可以测量 GPIO2和 GPIO3上的正确信号。

    我的问题是:

    能否 将 GPIO2和 GPIO3配置为其他 GPIO?  是否可以在 PTO 中禁用 PWM2?

    期待您的回复。

    Feng

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

    您好!

     该软件的最新版本位于 C2000WARE-MOTORCONTROL-SDK 中:

    系统示例:

    • C:\ti\c2000\C2000Ware_MotorControl_SDK_ \solutions\boostxl_posmgr\f2837xd

    库和文档:

    • C:\ti\c2000\C2000Ware_MotorControl_SDK_ \libraries\position_sensing\PTO

    请首先检查软件是否在提供时正常工作。  如果您需要将输出移动到另一个引脚、那么执行此操作可能需要更改 CLB 库(使用的是 OUTLUT)和互连-输入/输出 XBAR。

    您可能会发现 CLB 培训对您有所帮助: https://training.ti.com/c2000-configurable-logic-block-clb-introduction

    此致

    Lori

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

    尊敬的 Lori:

    您所描述的是什么意思、用户可以将输出 IO 分配给其他引脚、我的理解是否正确?  

    如果要执行此操作、首先我需要使用最新的 C2000WARE、对吧?

    您说过: 这样做可能需要对 CLB 库(使用的是哪个 OUTLUT)和互连进行更改。是否向通用用户打开以进行修改?

    请澄清。

    非常感谢。

    此致、

    Feng

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="276149" URL"~/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/992498/tms320f28379s-the-pto-don-t-work-on-tms320f28379s/3671425 #3671425")您所描述的意思是用户可以将输出 IO 分配给其他引脚、我的理解是对的吗?  [/报价]

    是的。 哪些引脚可用取决于它们使用的逻辑块以及它们使用的逻辑块的输出。  有关 CLB 的信息、请参阅器件技术参考手册中的输出选择。  

    [引用 userid="276149" URL"~/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/992498/tms320f28379s-the-pto-don-t-work-on-tms320f28379s/3671425 #3671425"]如果要执行此操作,首先我需要使用最新的 C2000WARE,对吗?

    包含所有源代码的 PTO 项目位于电机控制 SDK (www.ti.com/.../C2000WARE-MOTORCONTROL-SDK)中。  其中包括 您需要修改 CLB 配置的 C2000Ware 副本。

    [引用 userid="276149" URL"~/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/992498/tms320f28379s-the-pto-don-t-work-on-tms320f28379s/3671425 #3671425"]您说过: 这样做可能需要更改 CLB 库(使用的是哪个 OUTLUT)和互连。是否向普通用户打开以进行修改?

    是的、正确。  要了解如何修改 CLB 配置、请参阅我在上一篇文章中提到的培训以及 C2000Ware 中的基本示例。  (在 driverlib 目录下.. 例如 C:\ti\c2000\C2000Ware_MotorControl_SDK_3_01_00_00\c2000ware\driverlib\f2837xd\examples\cpu1\clb)

    此致

    Lori

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

    尊敬的 Lori:

    现在很清楚,我稍后会尝试。

    非常感谢您的快速支持。

    此致、

    Feng