pwm信号发生器【pwm信号发生器详细版.实验报告详细版】
时间:2020-08-18 04:26:30 来源:天一资源网 本文已影响 人
最新教学课件
EDA实验报告
学院:电气学院
班级:电科1班
学号:12401720126
姓名:刘明煌
实验三 PWM信号发生器的设计
实验目的进一步熟悉掌握Quartus Ⅱ。
进一步熟悉和掌握GW48-CK或其他EDA实验开发系统的应用。
学习和掌握VHDL进程语句和元件例化语句的使用。
实验内容
设计并调试好PWM信号发生器电路PWM.VHD,并用GW48-CK或其他EDA实验开发系统进行硬件验证。
实验条件
开发软件:Quartus Ⅱ。
实验设备:GW48-CK EDA实验开发系统。
拟用芯片:EP2C8Q208C8N。
实验设计
系统原理框图
为了简化设计并便于显示,本信号发生器电路PWM的设计分为两个层次,其底层电路可,再由包括两个完全相同的加载加法计数器LCNT8而成。
PWM电路图
VHDL程序
PWM信号发生器的底层和顶层电路均采用VHDL文本输入,有关VHDL程序如下。
加载加法计数器LCNT8的VHDL源程序:
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
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信号发生器的VHDL源程序:
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='1'THEN SPWM<='0';
ELSIF CAO2'EVENT AND CAO2='1'THEN SPWM<='1';
END IF;
END PROCESS;
LD1<=NOT SPWM;LD2<=SPWM;PWM<=SPWM;
END ARCHITECTURE ART;
3)工程编译后:
4)仿真波形设置
本程序包括两个程序,因此先进行底层的加载加法计数器LCNT8的仿真,在进行顶层PWM的仿真,下图为PWM的输入设置及可能结果估计图。
5)管脚锁定文件
根据PWM电路原理图,本设计实体的输入有A,B以及脉冲信号CLK,输出为PWM。
实验结果及总结
1)仿真图如下:
PWM
2)可能出现的问题
在上面的程序运行中,会出现仿真有瑕疵,不稳定。应将LCNT8的VHDL源程序修改为:
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 CLK'EVENT AND CLK='1'THEN
IF LD='1'THEN COUNT<=D;
ELSE COUNT<=COUNT+1;
END IF;
END IF;
END PROCESS;
PROCESS(COUNT,CLK) IS
BEGIN
IF CLK'EVENT AND CLK='1'THEN
IF COUNT=255 THEN CAO<='1';
ELSE CAO<='0';
END IF;
END IF;
END PROCESS;
END ARCHITECTURE ART;
这样就会使仿真完美。
相关关键词: 红魔手机和黑鲨手机哪个好?红魔手机和黑鲨手机详细对比 高考试题详细分析|2018全国卷1数学理科逐题解析 医学研究生课题开题报告详细介绍(干货)-核心内容 手绘水彩素材~超详细教程,喜欢抱走 比特币公钥详细说明