预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共57页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于FPGA的PWM控制器设计【实用文档】doc 文档可直接使用可编辑,欢迎下载 FPGA实验报告 基于FPGA的PWM控制器设计 1设计任务与要求 1。1掌握PWM技术原理;了解PWM控制方法及应用;完成基于FPGA的PWM控制器设计。 1.2通过课程设计的实践,进一步理解和掌握硬件描述语言(VHDL或Verilog)和TOP-DOWN的设计流程,提高对实际项目的分析和设计能力,体会FPGA项目的过程,熟悉实验报告的编写规范。 2设计原理分析 2.1利用FPGA语言编写程序实现对50MHZ的硬件晶振进行分频和调节占空比.对硬件晶振的上升沿就行计数,当2nHZ频率利用高低电平进行分频时,当计数到n-1是对原电平进行反向就可以实现分频。占空比是对上升沿的计数是两个不同的数值时进行反向。 2。2脉宽调制(PWM)基本原理:控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波形.也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少.按一定的规则对各脉冲的宽度进行调制,即可改变逆变电路输出电压的大小,也可改变输出频率。例如,把正弦半波波形分成N等份,就可把正弦半波看成由N个彼此相连的脉冲所组成的波形。这些脉冲宽度相等,都等于∏/n,但幅值不等,且脉冲顶部不是水平直线,而是曲线,各脉冲的幅值按正弦规律变化。如果把上述脉冲序列用同样数量的等幅而不等宽的矩形脉冲序列代替,使矩形脉冲的中点和相应正弦等分的中点重合,且使矩形脉冲和相应正弦部分面积(即冲量)相等,就得到一组脉冲序列,这就是PWM波形。可以看出,各脉冲宽度是按正弦规律变化的。根据冲量相等效果相同的原理,PWM波形和正弦半波是等效的。对于正弦的负半周,也可以用同样的方法得到PWM波形. 在PWM波形中,各脉冲的幅值是相等的,要改变等效输出正弦波的幅值时,只要按同一比例系数改变各脉冲的宽度即可,因此在交-直-交变频器中,PWM逆变电路输出的脉冲电压就是直流侧电压的幅值。 根据上述原理,在给出了正弦波频率,幅值和半个周期内的脉冲数后,PWM波形各脉冲的宽度和间隔就可以准确计算出来。按照计算结果控制电路中各开关器件的通断,就可以得到所需要的PWM波形。 2。3原理图: 3设计方案 先设计分频器,以2分频为基础在器外部做循环可以实现2n倍分频。后面进行占空比调节使用计数器和比较器。根据精度不同分频倍数以及占空比精确度都都会不同。该电路使用的是5位计数器,故设置频率时要考虑占空比调节过程中已相当分频2^5倍。即m—2^5/2就是所应设置到分频器上的数值(注:并非分频倍率)。 4设计步骤 4.1自行编写分频器代码,通过编译等步骤生成分频器. 4.2调用软件自带比较器和计数器并搭建后续电路。 4。3仿真调试。 4。4下载到试验箱进行测试. 5设计程序代码 LibraryIEEE; Useieee。std_logic_1164.all; Useieee。std_logic_arith。all; Useieee.std_logic_unsigned.all; EntityCPLDis Generic(pulse_width:integer:=1 ); Port(clock_in:instd_logic; Clock_out:outstd_logic); Endentity; Architecturepwm_architectureofCPLDis Signalcounter:std_logic_vector(4downto0):=”00000”; Signalclock_1:std_logic:=’0’; Signalcounter_1:std_logic_vector(5downto0):="000000”; Begin Process(clock_in) Begin Ifclock_in’eventandclock_in='1’then Ifpulse_width〉counter_1then Ifcounter〉="00001”then Counter<="00000”; Else Counter<=counter+’1’; Endif; Counter_1<=counter_1+’1’; Else Counter_1〈=”000000"; Clock_1〈=notclock_1; Endif; Endif; Endprocess; Clock_out〈=clock_1; Endarchitecture; 5仿真波形 6调试结果说明 由于比较器的位数有限因此所设置的占空比也是一个相对值并非特别精确。在仿真波形固定周期位置中出现了一个毛刺,老师指