周期可调多波形发生器.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
周期可调多波形发生器

EDA技术实用教程实验报告 实验名称:周期可调的多波形发生器 系 别:X X X 专 业:电子信息工程 姓 名:X X X 学 号:XXXXXXX 2010.12.2 周期可调的多波形发生器 1、实验目的 熟悉MAX+plusⅡ的VHDL文本设计流程的全过程,学会用可编程逻辑器件设计制作一个波形发生器,该波形发生器能产生正弦波、方波、三角波等波形。 2、实验要求 (1)具有产生正弦波、方波、三角波3种周期性波形的功能。 (2)用开关输入编辑生成上述3中波形的线性组合波形。 (3)输出波形的频率范围100—1KHz,频率可调。 3、分析: 产生正弦波,是通过预先计算出正弦波表,然后查表输出实现的(此处一个周期正弦波取64点)。 产生方波,是通过交替送出全0和全1,给以适当的延时实现的。 产生三角波,是通过由全0不断加同一个数,到全1之后再不断减同一个数来实现的。 4、所用器件:EP1K30QC208-3和EPC2LC20以及D/A转换芯片。 5、流程图 6、各模块功能 模块CHUZHI提供初值,供下一个模块FANA分频时用,通过不同的初值,是由输入a决定的。 library ieee; use ieee.std_logic_1164.all; entity chuzhi is port(a:in std_logic_vector(3 downto 0); q:out integer range 0 to 312); end chuzhi; architecture chu_arc of chuzhi is begin process(a) begin case a is when 0001 =q=313; when 0010 =q=156; when 0011 =q=104; when 0100 =q=78; when 0101 =q=63; when 0110 =q=52; when 0111 =q=45; when 1000 =q=39; when 1001 =q=35; when 1010 =q=31; when others =null; end case; end process; end chu_arc; 模块FANA的功能是将前一模块CHUZHI送来的初值对时钟进行分频,得到不同的工作频率,从而调节波形频率。 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity fana is port(a:in integer range 0 to 312; clk:in std_logic; q:out std_logic); end fana; architecture fan_arc of fana is begin process(clk) variable b,d:std_logic; variable c:integer range 0 to 312; begin if clkevent and clk=1then if b=0then c:=a-1; b:=1; else if c=1 then b:=0; d:=not d; else c:=c-1; end if; end if; end if; q=d; end process; end fan_arc; 模块SQUARE的功能是产生方波。 library ieee; use ieee.std_logic_1164.all; entity square is port(clk,clr:in std_logic; q:out integer range 0 to 255); end square; architecture sq_arc of square is signal a:bit; begin process(clk,clr) variable cnt:integer; begin if clr=0then a=0; elsif clkevent and clk=1then if cnt31 then cnt:=cnt+1; else cnt:=0; a=not a; end if; end if; end process; process(clk,a) begin if clkevent and clk=1then if a=1then q=255; else q=0; end if; end if; end process; end sq_arc; 方波的功能仿真: 模块DELTA的功能是产生三角波。 library ieee; us

文档评论(0)

phltaotao + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档