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.

[参考译文] TM4C1294KCPDT:GPTM PWM 匹配计数通过 CCP 事件载入中断问题

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/677315/tm4c1294kcpdt-gptm-pwm-match-count-load-via-ccp-event-interrupt-issue

器件型号:TM4C1294KCPDT
主题中讨论的其他器件:REF2033LM94022

如果在没有警告的情况下突然出现  通过 CCP0事件中断加载的较低值匹配计数、 则会阻塞通过 GPTM 计数架构检索递减计数匹配值寄存器。

当这种情况发生时、它会突然将 PWM 占空比从50%变为100%、并且无法再进行匹配计数负载。 以   不同的方式双清零中断处理程序源或设置 CCP0中断事件边沿模式对停止干扰 GPTM 匹 配值寄存器没有影响。

值得注意的     是、这个问题似乎出现在相对 ADC1温度传感器勘误表#09中、这种情况下 NHS 编码的任何级别都无法停止。  MCU 温度的较低2位值 变为非常高的32位 随机数、然后返回到较低的十进制值。 因此、如果(>)用于检测 故障温度值 、但(=)在发生 ADC #09时 WA 似乎停止了误跳闸、则可能会错误地发生 MCU 温度警报。

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

    不确定您要传达的内容、但如果周期小于占空比、则您观察到的内容将是预期的。

    您可能想重申您的问题吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我只是注意到了海报的名称。 此问题是否可能与另一个线程中的分数整数问题有关?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 BP101:

    我不清楚您的问题。 在计数器递减计数时、您是否正在尝试更改中间的匹配寄存器? GPTMTxILR 和 GPTMTxPR 寄存器中有哪些内容、GPTMTxMATCHR 中原始匹配寄存器中有哪些内容、后来又将哪些内容更改为? 是否可以在计数器已经传递匹配寄存器后尝试将其更改为更大的值。 例如、周期设置为100、匹配设置为50。 当计数器正在递减计数且当前计数器值为60时、您尝试更改为70。 由于计数器已超过70、因此您将在 PWM 上看到100%占空比。 这是一种可能性。 在数据表中有一个图表显示了当匹配寄存器大于间隔加载寄存器时、PWM 将无限期保持100%占空比。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Charles、

    看起来 GPTM 倒计数为60且匹配加载70时、应在下一个0计数或超时时时时加载任何新值、无论该值是为设置的。

    它似乎禁用 CCP0事件边沿中断并且通过 HWREG()将 CCP0处理程序匹配计数移动到另一个 GPTM 处理程序中是一个解决办法。 CCP0 NVIC 中断用于以40us 的间隔加载其自己的匹配值时、可能存在时序问题。 CCPO 中断的匹配负载在匹配计数达到100%占空比之前工作了10分钟。

    还可以看到 ADC1 SS1 (NHS 0x4444)在 GPTM 匹配加载值中产生随机10*C 跳转。 传感器 LM94022的两个序列发生器步骤可快速更改与风扇相对速度匹配的 PWM 占空比。 ADC0/1通过 REF2033引脚2 AGND 使用 VREFA+、而 MCU 引脚10 GNDA 通过0r 连接到同一 AGND。 在 MCU 引脚附近还有0.1uF/0.01uF 并联的 VREFA+。

    将 REF2033引脚2 AGND 与 MCU 引脚10 GNDA 源的引脚2 AGND 匹配似乎是合乎逻辑的。 PCB 可通过在 EK Launch Pad 上找不到的0r 插入来轻松地将 GNDA 引脚10切换至数字接地。 还不确定、但 GNDA 源可能会对 ADC 采样保持电容器产生一定影响。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 BP101:
    事件中断是否可能以某种方式与 PWM 同步? 假设您的事件中断始终与计数器值10同步。 如果您尝试将匹配值更改为大于10的任何值、则不起作用、因为计数器已传递这些较高的值。 如果您要更改匹配值、我建议您根据 PWM 边沿(即上升或下降或两者)中断进行更改。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [报价用户="Charles Tsaa"]如果您想更改匹配值,我建议您根据 PWM 边沿(即上升或下降或两者)中断进行更改。

    这就是 GPTM PWM CCP0事件边沿中断 被测试的方式 (POS/NEG/两者) 、然而不管 INT 优先级的设置如何、所有边沿类型在不同的时间锁定匹配寄存器。 根据设计、匹配值应与 GPTM 的加载方式同步。

    将 CCP0中断处理 程序代码移至另一个 GPTM SS1 INT 处理程序是 WA 或修复 了 GPTM 匹配计数加载 时序问题。  然而 、GPTM 匹配计数相对于 SS1样本仍在跳跃、可能在特定的 AHB 流量级别。

    随机 ADC0采样 计数跳转会导致 快速匹配计数保持不变 、但仅当 PWM 模块驱动 PWM 输出控制块时。 更改   ADC1 SS1的 INT 优先级、 NHS 保持时间或 GPTM INT 优先级 不会阻止该跳转发生。   SS1 中断阵列值是静态的、不应 丢弃采样保持、但似乎这种情况 仅发生 在 ADC1 SS1采样和 MCU 温度 SS3上。 所有内容都是 两 个 LM94022读数的 SS1样本、即使 通过静态 热源测试、直到 PWM0外设 优先处理 AHB 和 NVIC。  然后 、LM94022采样 值随机跳过10*C 或更高、因此风扇听起来像是旋转  电机周期引擎变室的油门。  

    将打开有关该问题的另一个帖子。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当-和“如果”您(最终)对您(长期报告)行为不当的粉丝进行了驯服-我(个人)... 通知 Smithsonian ...
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    也不知道为什么 AHB 似乎只在 PWM 发生器驱动 PWM 输出控制块时备份? 再次查看上次对匹配计数进行编辑的帖子加载 INT 处理程序源 SS1、而另一个 GPTM 在10ms 间隔内加载 SS1触发处理器。 风扇电动机会发出随机突发的声音、例如在暴雨中发出的风声、从而产生真正的吱吱声。 LM94022 SS1样本似乎都检测到了 Ghosts、但仅在 PWM 原输出时。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你先生-开一个(非常)硬的交易。   记者将与史密森尼的“鬼翼”联系——正如您所指...

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

    您是在这里谈论 AHB 巴士还是 AHB 运河?
x 出现错误。请重试或与管理员联系。