ZHCAF76 April   2025 TPLD1202 , TPLD1202-Q1 , TPLD2001 , TPLD2001-Q1

 

  1.   1
  2. 12
  3.   商标

应用说明

脉宽调制 (PWM) 是一种提供占空比不同的方波或矩形波信号的方法,通常用于功率转换或控制 LED 亮度等应用。一些 TI 可编程逻辑器件 (TPLD) 能够提供集成式脉宽调制发生器,可以帮助设计人员轻松生成和控制具有可变占空比的方波。本文档概述了 TPLD1202 中包含的 PWM 发生器,介绍了一些可用设置以及如何在 InterConnect Studio (ICS) 中对其进行配置。

PWM 发生器组件

在 ICS 中进行实例化时,PWM 发生器 (pwm0) 会与处于有限状态机 (FSM) 模式下的计数器模块 (cnt0) 一同显示,同时还会显示内部振荡器 (osc0),如图 1 中所示。

 ICS 中的 PWM 发生器图 1 ICS 中的 PWM 发生器

内部振荡器会自动设置为同时用作计数器和 PWM 发生器的时钟。内部振荡器具有允许更改输出频率的设置。您还可以通过更改计数器或 PWM 发生器上的时钟源设置来实现分频;也可以根据需要使用外部时钟源设置时钟源。请注意,为避免输出失真,计数器和 PWM 发生器使用相同的时钟源并以相同的频率运行。要详细了解振荡器模块的配置,请参阅利用 TPLD 中的时序元件

计数器 FSM 功能

默认情况下,计数器 FSM 的工作方式为:从每个接收到的时钟脉冲 Control Data 值中向下计数一个值,直到内部计数值为零,此时 FSM 为一个时钟周期提供一个输出脉冲,然后复位。图 2 显示了 ICS 计数器仿真示例,其中 Control Data 设为 3,如图 3 中的计数器设置所示;请注意,计数器(黄色)每三个时钟周期(蓝色)经历一次高脉冲。

 计数器模块设置图 2 计数器模块设置
 控制数据设为 3 时的计数器仿真图 3 控制数据设为 3 时的计数器仿真

图 1 中显示的 DATA 连接是向 PWM 发生器提供当前内部计数值的计数器。该值决定 PWM 发生器输出的占空比。可以通过以下公式计算 PWM 信号的占空比:占空比 (%) = (DATA / 256) × 100,最小占空比为 0% (0/256),最大占空比为 99.61% (255/256)。计数值的每次变化都会使占空比增加或减小 0.39%。

在为给定计数器选中 Enable FSM Mode 设置时(参见图 2),会如图 1 中所示,显示计数器输入信号 UPKEEP(向 PWM 提供 DATA 的计数器在 FSM 模式下处于锁定状态)。这些信号可用于控制计数器提供的内部计数值/DATA,从而能够动态地更改 PWM 发生器的占空比。逻辑高电平信号 UP 会使计数器在发出脉冲之前计数到 255,而不是向下计数到 0。无论传入的时钟脉冲如何,逻辑高电平信号 KEEP 均保持当前的内部计数值。逻辑高电平 RST 输入信号会将当前的内部计数值复位为由 Control Data 设置设定的初始值。

图 4 显示了采用各种 FSM 信号的计数器 ICS 仿真。从上到下,蓝色代表时钟、黄色代表计数器输出、绿色代表 KEEP 输入、红色代表 RST 输入、紫色代表 UP 输入。

 控制数据设为 3 时的计数器 FSM 仿真图 4 控制数据设为 3 时的计数器 FSM 仿真

PWM 发生器配置

除了 CLKDATA 连接外,PWM 发生器还具有 PUP(上电)输入,该输入必须为逻辑高电平,发生器才能提供输出信号,并且两个输出 OUT+OUT- 默认情况下彼此同相,如图 1 中所示。PWM 配置选项如图 5 中所示。

 PWM 配置选项图 5 PWM 配置选项

通过选中适当的 Output Inversion 框,可以对 OUT+OUT- 进行反转。可以针对 OUT- 选择 0、1、2 或 5 个时钟的死区;此设置可降低在 H 桥等电路上使用 PWM 时击穿电流的可能性。图 6 中显示了 PWM 发生器的仿真波形,其 DATA 设置为 128(占空比为 50%),OUT- 输出已反转并且死区为 5 个时钟。OUT- 为蓝色,OUT+ 为黄色。一个完整的输出周期需要 255 个时钟周期,并由 PWM 输入时钟源确定。

 PWM 仿真图 6 PWM 仿真

示例电路

在过压和欠压检测及控制应用示例中,图 7 中的电路配置为动态改变 PWM 发生器的占空比。PWM 默认设置为以 50% 占空比运行(cnt0 的控制数据设为 128),KEEP 设置为逻辑高电平。多通道模拟比较器 (mcacmp0) 用于检测低于800mV 和高于 1.216V 的电压。当检测到高于 1.216V 的电压时,KEEP 设置为低电平,并且允许计数器向下计数以减小占空比,直到电压下降到低于 1.216V 阈值。当检测到低于 800mV 的电压时,KEEP 设置为低电平,UP 设置为高电平,以便计数器增加占空比。此电路的仿真如图 8 中所示。PWM 输出以蓝色表示,输入电压以黄色表示。

 过压和欠压 PWM 电路图 7 过压和欠压 PWM 电路
 PWM 电路仿真图 8 PWM 电路仿真

如前面的计数器 FSM 功能部分所述,计数器模块会向下计数到 0 或向上计数到 255,然后重置计数值。因此,需要额外的电路将 cnt0 计数暂停在值 0 或 255 附近,以保持最小和最大占空比并防止计数器循环。该电路如图 9 中所示;cntOV 的控制数据配置为 125(比 cnt0 低 3),而 cntUV 的控制数据配置为 131(比 cnt0 高 3)。进入过压状态后,cnt0cntOV 将复位并开始向下计数;由于控制数据较低,cntOVcnt0 开始计数之前计数到 0,并且相应的输出脉冲由 dff0 锁存,用于设置 KEEP 高电平并保持 cnt0 的当前计数值。处于欠压状态时,cntUV 以相同的方式运行,向上而不是向下计数。

 PWM 防环路电路图 9 PWM 防环路电路

为了确保 cntOVcntUVcnt0 开始计数之前完成计数,cnt0 在转换为过压或欠压状态时还必须复位。这意味着在转换到任一状态时占空比将重置为 50%。在 cnt0 中控制复位和 FSM 信号的逻辑如图 10 中所示。

 PWM 计数器 FSM 控制电路图 10 PWM 计数器 FSM 控制电路

其他注意事项

图 8 显示 PWM 输出快速达到最大和最小占空比值。通过将计数器时钟设置为比 PWM 时钟更慢,可以实现更缓慢的占空比变化,尽管这可能会导致由于时钟抖动和偏斜而偶尔在 PWM 输出中出现短时脉冲波干扰。

也可以使用 I2C 或 SPI 接收器来控制 PWM 占空比,并将所需的控制数据写入相应计数器 FSM 的数据寄存器中。

结论

通过使用 PWM 模块,TPLD 可生成占空比不同的方波。通过结合多种不同的逻辑功能和模拟传感器,TPLD 可提供能够实现实时 PWM 生成和控制的集成设计。

详细了解 TI 的可编程逻辑器件产品系列