文档详情

实验三PWM信号发生器.doc

发布:2017-03-22约2.16千字共4页下载文档
文本预览下载声明
实验三:PWM信号发生器 1.实验目的 (1)学习Quartus II 8.0 软件的基本使用方法。 (2)学习GW48-CK EDA实验开发系统的基本使用方法。 (3)学习VHDL程序中数据对象,数据类型,顺序语句和并行语句的综合使用。 2.实验内容 设计并调试好一个脉宽数控调制信号发生器,此信号发生器是由两个完全相同的可自加载加法计数器LCNT8组成的,它的信号的高低电平脉宽可分别由两组8位预置数进行控制。 实验条件 开发软件:Quartus II 8.0。 实验设备:GW48-CK EDA实验开发系统。 拟用芯片:EPM7128S-PL84。 实验要求 画出系统原理框图,说明系统中各主要组成部分的功能。 编写各个VHDL源程序。 根据系统功能,选好测试用例,画出测试输入信号波形或编好测试文件。 根据选用的EDA实验开发装置编好用于硬件验证的管脚锁定表格或文件。 记录系统仿真、逻辑综合及硬件验证结果。 记录实验过程中出现的问题及解决办法。 5.实验过程 (1)PWM即脉冲宽度调制,就是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。PWM从处理器到被控制系统信号都是数字式的,无需进行数/模转换。让信号保持为数字形式可将噪声影响降到最小,因此广泛应用在测量、通信和功率控制与变换的许多领域中。 下图是一种PWM信号发生器的逻辑图,此信号发生器是由两个完全相同的可自加载加法计数器LCNT8组成的,它的输出信号的高、低电平脉宽可分别由两组8位预置数进行控制。 如果将初始值可预置的加法计数器的溢出信号作为本计数器的初始预置值加载信号LD,则可构成计数器初始值自加载方式的加法计数器,从而构成数控分频器。图中D触发器的一个重要功能就是均匀输出信号的占空比, 提高驱动能力,这对驱动,诸如扬声器或电动机十分重要。 VHDL源程序 ①8位可自加载加法计数器的源程序LCNT8.VHD --LCNT8.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY LCNT8 IS PORT(CLK,LD:IN STD_LOGIC; D:IN INTEGER RANGE 0 TO 255; CAO:OUT STD_LOGIC); END ENTITY LCNT8; ARCHITECTURE ART OF LCNT8 IS SIGNAL COUNT:INTEGER RANGE 0 TO 255; BEGIN PROCESS(CLK)IS BEGIN IF CLKEVENT AND CLK=1THEN IF LD=1THEN COUNT=D; ELSE COUNT=COUNT+1; END IF; END IF; END PROCESS; PROCESS(COUNT)IS BEGIN IF COUNT=255 THEN CAO=1; ELSE CAO=0; END IF; END PROCESS; END ARCHITECTURE ART; ②PWM信号发生器的源程序PWM.VHD --PWM.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY PWM IS PORT(CLK:IN STD_LOGIC; A,B:IN STD_LOGIC_VECTOR(7 DOWNTO 0); PWM:OUT STD_LOGIC); END ENTITY PWM; ARCHITECTURE ART OF PWM IS COMPONENT LCNT8 IS PORT(CLK,LD:IN STD_LOGIC; D:IN STD_LOGIC_VECTOR(7 DOWNTO 0); CAO:OUT STD_LOGIC); END COMPONENT LCNT8; SIGNAL CAO1,CAO2:STD_LOGIC; SIGNAL LD1,LD2:STD_LOGIC; SIGNAL SPWM:STD_LOGIC; BEGIN U1:LCNT8 PORT MAP(CLK=CLK,LD=LD1,D=A,CAO=CAO1); U2:LCNT8 PORT MAP(CLK=CLK,LD=LD2,D=B,CAO=CAO2); PROCESS(CAO1,CAO2)IS BEGIN IF CAO1=1THEN SPWM=0; ELSIF CAO2EVENT AND CAO2=1THEN SPWM=1; END IF; END PROCESS; LD1=NOT SPWM;LD2=SPWM;PWM=SPWM; END ARCHITECTURE ART; 仿
显示全部
相似文档