主题中讨论的其他器件: TMS320F28069
您好!
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.
您好!
[引用 user3629698"]这些同步信号的配置位置是什么?这些同步信号是否源自七个 ePWM 模块的 EPWMSYNCO?[/quot]
[报价用户="user3629698"]是否有任何方法可以减慢斜坡发生器的速度?
不能、斜坡发生器只能在这个器件上的 SYSCLK 上运行。 如果 RAMPDECVAL= 1的速度不够慢、则斜升发生器的唯一其他选择就是降低 SYSCLK 频率本身。
不使用斜坡发生器的另一种方法是使用 CPU 或 CLA 控制比较器 DAC 值、可能与基于时间的中断同步。
谢谢 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个周期等较慢的起搏减量。