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.

[参考译文] TMS320F28034:tms320f28034:COMPDAC 斜坡发生器的起始信号(PWMSYNC1、PWMSYNC2、PWMSYNC3、PWMSYNC4)在哪里设置?

Guru**** 2539580 points
Other Parts Discussed in Thread: TMS320F28034, TMS320F28069

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/828317/tms320f28034-tms320f28034-where-is-the-start-signal-pwmsync1-pwmsync2-pwmsync3-pwmsync4-of-compdac-ramp-generator-set

器件型号:TMS320F28034
主题中讨论的其他器件: TMS320F28069

您好!

我?了 tms320f28034芯片的 COMP 斜坡生成功能。在本指南中、斜坡发生器功能的触发信号为 PWMSYNC1、PWMSYNC2、PWMSYNC3、PWMSYNC4。这些同步信号是从7个 ePWM 模块的 EPWMSYNCO 发出的
另一个问题是、寄存器 RAMPSTS 为16位、最大值为65535。 在启动斜坡发生器后、每个时钟周期都会减去寄存器 RAMPDECVALA 中的值、然后 RAMPSTS 寄存器中的数十个位将用于 DAC 转换。 我的时钟频率为60MHz、斜坡发生器中的值很快将降为0。 是否有任何方法来减慢斜坡发生器的速度?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user3629698"]这些同步信号的配置位置是什么?这些同步信号是否源自七个 ePWM 模块的 EPWMSYNCO?[/quot]

    TRM 中提供了这些信息

    [报价用户="user3629698"]是否有任何方法可以减慢斜坡发生器的速度?

    不能、斜坡发生器只能在这个器件上的 SYSCLK 上运行。  如果 RAMPDECVAL= 1的速度不够慢、则斜升发生器的唯一其他选择就是降低 SYSCLK 频率本身。  

    不使用斜坡发生器的另一种方法是使用 CPU 或 CLA 控制比较器 DAC 值、可能与基于时间的中断同步。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    但是、在 ePWM 模块的 tms320f2803x 指南中、寄存器 HRPCTL 和 斜坡发生器方框图定义如下:
    在 tms320f28034中、寄存器 HRPCTL 没有这些 PWMSYNCSEL 位。在 tms320f28069中、寄存器 HRPCTL 具有这些 PWMSYNCSEL 位。因此、我想知道、在 tms320f28034中、如何查找为斜坡发生器生成 PWMSYNC 函数的寄存器?
    "另一种不使用斜坡发生器的方法是使用 CPU 或 CLA 控制比较器 DAC 值、可能与基于时间的中断同步"、这是否意味着在程序的主中断(EPWM1INT)中、不使用斜坡发生器功能、 DAC 的 DACVAL[9:0]被分配用于模拟斜坡发生器功能。 但是、我需要的是、DAC 中的斜坡在每个 ePWM 周期内都会减小。 最后、我需要 DAC 中的值与主电路的峰值电流进行比较、以实现峰值电流控制。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    user3629698、

    看起来 TRM 中存在错误。  将对其进行更新、以便在下一个版本中包含 PWMSYNCSEL 定义:

    正如您所推测的、使用斜坡发生器是生成 PCMC 减量斜坡的最有效方法。

    我对您之前发布的内容的理解是、您需要创建一个减量斜坡、该斜坡要慢于在正常 SYSCLK 速度下通过斜坡发生器状态机可以实现的速度。  如果是这种情况、则可以选择 CPU (或 CLA)方法。

    Tommy

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

    谢谢 Tommy。

    如您在内部提供的图所示。PWMSYNC 信号只能由 TBCTR = PRD 和 TBCTR = 0生成。 我可以生成 TBCTR = CMPA 或 TBCTR = CMPB 吗?

    "如果是这种情况、CPU (或 CLA)方法是一个选项",如何理解这句话?如何使用 CPU (或 CLA)实现?您能向我解释一下吗?DAC 值是否使用 CPU (或 CLA)实时更新? 仍然由 CPU (或 CLA)实时生成斜坡?

    根据我的理解、我需要在每个 PWM 周期中更新和生成一个斜坡。 PWM 周期为55KHz。 如果斜坡由 CPU 或 CLA 实时更新、则中断时基多次为55KHz。 我的程序中。 中间已经有一个 EPWMIINT 中断。 为了保证其优先级并有效执行、我通常不会打开另一个中断。

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

    [引用 user3629698]*与您在内部提供的图类似。PWMSYNC 信号只能由 TBCTR = PRD 和 TBCTR = 0生成。 我是否可以生成 TBCTR = CMPA 或 TBCTR = CMPB?[/QUERP]

    对于 Type-0比较器模块、唯一的选择是 PRD 和0。  实现 CMPx 类型触发器的间接方法是使用具有相对相移的备用 ePWM 来生成 PWMSYNC 信号。

    具有 CMPSS 模块的较新器件确实支持使用 CMPx 生成 PWMSYNC 的其他选项。  您可以参阅此 外设指南 、了解 C2000器件上可用的模块的一般理想情况。  与 F2803x 目前最相似的器件是 F28004x。

    [引用 user ="user3629698"]如果是这种情况,CPU (或 CLA)方法是一种选项",如何理解这句话?如何使用 CPU (或 CLA)实现?您能否向我解释?DAC 值是否使用 CPU (或 CLA)实时更新? 仍然由 CPU (或 CLA)实时生成斜坡?

    根据我的理解、我需要在每个 PWM 周期中更新和生成一个斜坡。 PWM 周期为55KHz。 如果斜坡由 CPU 或 CLA 实时更新、则中断时基多次为55KHz。 我的程序中。 中间已经有一个 EPWMIINT 中断。 为了保证其优先级并有效执行、我通常不会打开另一个中断。

    正确、使用 CPU 或 CLA 将需要更频繁的中断或专用的后台循环。  这就是为什么我将此方法限定为仅在斜坡必须"慢于在正常 SYSCLK 速度下通过斜坡发生器状态机可以实现的速度时才推荐此方法。"

    通过忽略 RAMPSTS 寄存器的低6位、斜坡发生器已经使用了一个内置的6位预分频器。  这意味着最慢的斜升设置将使 DAC 值每64个 SYSCLK 周期递减一个 LSB、这是专用 CPU 所能实现的。  您还可以评估1 LSB /64个周期的减量是否可以近似为4 LSB /256个周期等较慢的起搏减量。