本帖最后由 heart蓝色CD 于 2022-4-19 18:01 编辑
一、爆靓照 二、实验简介 PWM 全称是 Pulse WidthModulation,是脉冲宽度调制缩写。它是通过对脉冲宽度进行调制,等效输出所需要的波形。在 PWM 波形属性中频率和占空比是两个非常重要的参数。而本实验的主要目的就是通过Verilog语言,在FPGA实现不同频率和占空比的PWM信号。 PWM 信号的频率是和周期对应的,占空比是指在一个周期内,高电平的持续时间占整个信号周期的百分比。通过调节信号周期,可以实现信号频率的控制;通过调节周期内高电平的持续时间,可以实现占空比的控制。 本实验就是通过控制 PWM 信号的周期和占空比,实现不同频率和占空比的方波信号输出。具体实现方法是:以系统时钟周期为单位,对其进行计数,控制输出信号高电平持续的系统时钟周期个数和低电平持续的系统时钟周期个数,从而实现占空比和周期的控制。 以下图为例,红框中为 PWM 信号的一个周期。其中 H 表示的高电平持续 4 个 CLK 时钟周期,L 表示的低电平也持续 4 个 CLK 时钟周期。因此这是一个占空比 50%,周期是 CLK周期的 8 倍。 而下图则是一个占空比 70%,周期是 CLK 时钟周期 10 倍的 PWM 信号。 通过上面两个图示的理解,那么实现 PWM 信号的输出,可以采用对系统时钟周期进行计数的方式实现。iCore3L 的系统时钟是 25MHz,以系统时钟周期上升沿作为触发条件,进行累加计数。如果要得到一个频率为 500KHz 的信号,那么其周期是系统时钟周期的 25000000Hz/500 000Hz =50(倍) 即计数器从 0 计到 49 所用的时间,是 500KHz 信号的一个周期。如果使500KHz 信号在计数器从 0 计数到 29 的时候是高电平,30 计数到 49 的时候是低电平,那么,就可以得到 1 个占空比为 60%的 500KHz PWM信号。 三、资料包下载(实验源码+详细文档说明) 1、源代码 2、实验指导书 3、原理图
|