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:来自 TMS320 GPIO 的意外值(控制器已冻结)

Guru**** 2551110 points
Other Parts Discussed in Thread: TMS320F28379D

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1344825/tms320f28379d-unexpected-value-from-tms320-gpio-controller-frozen

器件型号:TMS320F28379D
主题中讨论的其他器件: TMS320F2837

您好  

我正在将 TMS320F28379D 控制器用于电机驱动 PWM 拓扑。 但是、有时电机会在中间运行、 当我运行90%占空比时、我可以获得3.3V 的恒定 GPIO 输出、当它低于20%占空比时、我可以获得0V 的恒定 GPIO 输出。 我好奇地想知道在什么情况下会发生这种情况、并且在 TMS 冻结条件下、 TMS320将发送什么值?  

ePWM 配置设置:

EALLOW;

//禁用上拉并将 gonfigure 作为 EPWM
ATI_HUBMOTOR_PULL_UP = 1;
ATI_HUBMOTOR_MUX = 1;

EDIS;

hubmotor->TBCTL.bit.CTRMODE = TB_COUNT_UP;//递增计数
hubmotor->TBPRD = REARMOTOR_TIMER_TBPRD;//设置计时器周期
hubmotor->TBCTL.bit.PHSEN = TB_disable;//禁用相位加载
hubmotor->TBPHS.bit.TBPHS = 0x0000;//相位为0
hubmotor->TBCTR = 0x0000;//清除计数器
hubmotor->TBCTL.bit.HSPCLKDIV = TB_DIV2;//时钟与 SYSCLKOUT 的比率
hubmotor->TBCTL.bit.CLKDIV = TB_DIV1;

//
//在零时设置影子寄存器加载
//
hubmotor->CMPCTL.bit.SHDWAMODE = CC_shadow;
hubmotor->CMPCTL.bit.SHDLBMODE = CC_shadow;
hubmotor->CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;
hubmotor->CMPCTL.bit.LOADBMODE = CC_CTR_ZERO;

//
//设置比较值
//

hubmotor->cmpa.bit.cmPA = 0;//设置默认值
hubmotor->CMPB.bit.CMPB = 0;//设置默认值
//
//设置操作
//
hubmotor->AQCTLA.bit.ZRO = AQ_SET;//将 PWM1A 设置为零
hubmotor->AQCTLA.bit.CAU = AQ_CLEAR;//清除事件 A 上的 PWM1A、
//向上计数

hubmotor->AQCTLB.bit.ZRO = AQ_SET;//将 PWM1B 设置为零
hubmotor->AQCTLB.bit.CBU = AQ_CLEAR;//清除事件 B 上的 PWM1B,
//向上计数

从图中可以看出,从12秒到17秒,我们错过了 Delfino TMS320F2837 ( UART 到 USB )的通信,并观察到车辆停止。 然而,它重新启动通信并一直到30秒, 30秒后,我们再次观察到 Delfino 通信和观察到车辆移动更快(只有当电机驱动器收到恒定3.3V 时才会发生这种情况)。
在第一个事件中、我们的 PWM 值非常低、这可能是由于 GPIO 引脚稳定在零、第二个事件 GPIO 可能稳定在高电平、因为我们的 PWM 值在该情况下是最大值。

我们想知道发生这种情况的条件以及 TMS320将在什么条件下自动复位。

在任何情况下 TMS320都将挂起(冻结)?
5年来、我们一直在使用相同的硬件和固件、并且在3个月内观察到两次此事件 、即使也更换了 TMS320板。

请告诉我事故的原因。

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

    您好,Malakondardy,

    一些初始问题(抱歉这么多、但尝试收集所有要评估的信息):

    1. 该问题发生的频率如何? 它发生的时间有规律吗? 它是每次您将占空比更改为>90%或<20%时发生?
    2. 当您说"GPIO"引脚时、您指的是 PWM 信号(例如 EPWM1A 位于 GPIO0上)、那是正确的吗? 这不是任意的 GPIO 吗?
    3. 占空比是否是信号变为高电平与变为低电平之间变化的唯一参数?
    4. SCI 通信中断是否与 PWM 不正确的高电平/低电平活动相关?
    5. 发生这些问题时、您是否有 PWM 和/或 SCI 的示波器截图?
    6. 您的目标 PWM 信号是什么(它应该是什么样子的-您是否有任何跳闸区或数字比较子模块配置、或者只是上面列出的那些配置?)? 您何时/如何更改占空比?

    此致、

    艾里森

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

    TMThanks 为您的回复,

    1.问题发生的频率如何? 它发生的时间有规律吗? 它是每次您将占空比更改为>90%或<20%时发生?

    回复:目前我们正在使用与过去6年一样的 TMS320板的150个电路板、但是最近我们在更换 电路板之后的三个月(两次)内看到过这个事件。

    2.当您说"GPIO"引脚时、您指的是 PWM 信号(例如 EPWM1A 在 GPIO0上)、那是正确的吗? 这不是任意的 GPIO 吗?

    回复:对不起我的错误。 我们使用 EPWM1

    3.占空比是信号变高与变低之间变化的唯一参数吗?

    回复:是只有占空比会根据我们的基准指令及其固定频率(24kHz)而变化  

    4. SCI 通信中断是否与 PWM 不正确的高/低电平活动有关?

    回复:我们没有使用任何 SCI 通信

    5.发生这些问题时、您是否有 PWM 和/或 SCI 的示波器捕获?

    回复:我们无法捕获此波形,因为电路板在运行车辆上。

     6.您的目标 PWM 信号是什么(它应该是什么样子的-您是否有任何跳闸区或数字比较子模块配置、或者只是上面列出的配置?)? 您何时/如何更改占空比?

    回复:这只是我上面列出的,我们的占空比,我们会改变,每当我们需要改变车速.  

    在这起事件发生时、我们中断了 USB 通信。 TMS320板通过 USB 电缆连接到计算板、以监控和发送 sped 到 TMS320的参考、并执行其他活动。 但是、当发生此事件时、计算板和 TMS320板之间没有通信。  

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

    您好,Malakondardy,

    由于这一问题在过去6年中只发生了两次(虽然只是最近才发生),因此确实很难找到来文的来源。 您的 ePWM 配置看起来正确、并且 ePWM 能够使用全占空比范围(如果按照本 应用手册中所述/实现的配置、甚至可以达到0%和100%的占空比)、因此这不是问题。

    您是否能够在您的系统中重现此问题? 这是否仅在非常低/非常高的占空比范围内发生? 您是否能够 监控器件的电源轨、复位线路等发生这种情况? ePWM 行为和通信中断可能是 发生不同问题的症状、但在故障发生时、如果没有更多数据、很难分辨。

    此致、

    艾里森

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

    尊敬的 Allison Nguyen:

    您是否能够在您的系统中重现此问题?

    回复:不,我不能重新创建

    这是否仅在非常低/非常高的占空比范围内发生?

    回复:我无法准确地说、但根据数据、它发生在0和25 %占空比

    您是否能够 监控器件的电源轨、复位线路等发生这种情况?

    回复:是的, 在这种情况下,我们没有看到任何电压波动或欠电压。

    ePWM 行为和通信中断可能是 发生不同问题的症状、但在故障发生时、如果没有更多数据、很难分辨。

    回复:我们是否会举行虚拟会议,以便我的团队可以对此进行详细解释? 请告诉我什么时候发布。

     

    您是否在任何情况下都观察到了这种行为?

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

    您好, Malakondardy,

    我想说、最初很难假设没有进一步的 信息/数据或无法 重现问题。

    是的、我们绝对可以召开一次会议-我很想了解更多有关背景和问题的信息。 到目前为止,我并没有看到这一点,但我也会请已在这里工作较长时间的几位同事,看看他们是否有任何想法。 我刚刚在 E2E 上向您发送了一个朋友请求、因此如果您接受我的私人消息、我可以分享我的电子邮件并在其中与您协调。

    此致、

    艾里森