实验三PWM信号发生器.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验三PWM信号发生器

实验三: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; 仿

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档