AN 501: 使用 Altera MAX 系列实现脉冲宽度调制

ID 683088
日期 9/22/2014
Public

1.2. 使用 MAX II 器件进行 PWM

对具体实现的详细说明基于的是 MAX II 器件。 也可以在 MAX V 和 MAX 10 器件中实现此应用。

向上和向下输入信号用于使输出信号的占空比不断变化。 第一个模块用于借助 MAX II 器件中可供使用的内置用户闪存振荡器生成两个具有不同频率的时钟。 来自 DUTY_CYCLE 模块的 4 位输出信号采用正增量或负增量,具体取决于所置位的是向上信号还是向下信号。 第二个 4 位输出信号 COUNT(参考计数器)以在第一个模块中生成的更高时钟频率连续递增。 此信号与第二个模块中相同频率的 DUTY_CYCLE 进行比较。 比较结果是单个位,会被分配给最终输出信号 PWM。

图 1. 使用 MAX II 器件执行脉冲宽度调制

提供给 PWM 的输入由向上信号和向下信号组成,这些信号用于使输出信号的占空比不断变化。 这款器件使用两个基本模块来实现 PWM 的运行。 所有输入信号和输出信号都是单个位。

4 位可变信号 DUTY_CYCLE 允许输出信号的占空比出现 16 种不同变化。 在此设计实现中,向上输入的优先级高于向下输入。 如果这两种输入同时处于高电平,则输出信号的占空比会有所增加。

可以使用 EPM240 或任何其他 MAX II 器件来实现本设计实例,并通过在 MDN-B2 演示电路板上控制单色(红色)LED 的亮度和改变双色(红色/绿色)LED 的色差来观察结果。 请使用本设计实例的源代码来实现这种设计,并将相应的控制和输出线路分配给 MAX II 器件中连接到 LED 的 GPIO 线路。 红色 LED 由 PWM 输出驱动,从而导致它们的亮度不断变化。 双色 LED 由以下两个互为补充的信号驱动: PWMPWM_INV。 操作频率会导致人眼视觉留存现象。 这就会导致一小部分颜色涉及到双色 LED 的两种颜色,而它们各自的亮度则随着 PWM 信号而变化。 可以操作演示电路版上的两个按钮开关来逐渐形成这一小部分颜色。 这还会说明单色 LED 不断变化的亮度所导致的输出信号占空比变化。

图 2. MDN-B2 演示电路板上的 PWM 演示布置图
表 1.  EPM240G 引脚分配 编译前,在 Quartus II 软件的 Device and Pin Options 对话框中将未使用的引脚分配为 As input tri-stated
信号 引脚
pwm 引脚 87
pwm1 引脚 71
pwm3 引脚 73
up 引脚 82
pwn_inv 引脚 88
pwm2 引脚 72
pwm4 引脚 74
dn 引脚 81