版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数字式移相信号发生器数字式移相信号发生器课程设计报告课程设计报告 系系 别:别: 专业班级:专业班级: 学生姓名:学生姓名: 学生学号:学生学号: 指导教师:指导教师: (课程设计时间:2011 年 1 月 4 日2011 年 1 月 22 日)前 言 eda 技术是一门涉及多学科的综合性技术,是以大规模逻辑器件为设计载体,以硬件描述语言为系统逻辑表达的主要方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具通过有关的开发软件,自动完成用软件方式设计的电子系统到硬件系统的逻辑编译、化简、分割、综合、优化、布局布线及仿真,直至对特定目标芯片的适配编译、逻辑映射、编程下载等工作,
2、最终形成集成电子系统或专业集成芯片的一门新技术。本次课程设计中我们基于 eda 技术,运用 vhdl 编制程序,完成数字式移相频率计的程序编辑,最终下载到 acex1k 系列 epf1k50lc208-3 芯片上,加以简单的外围电路,构成数字移相信号发生器。该装置能测出频率在 20hz-2000khz之间的正弦波信号频率,并给出指定相位差的两路同频信号。- 1 -目目 录录1.课程设计目的 12.题目描述及要求23.课程设计报告内容 23.1 系统框图 23.2 系统各组成部分介绍33.2.1 数字移相及信号产生模块33.2.2 数字频率计模块73.2.3 显示模块133.3 系统完整介绍15
3、3.4 引脚分配164.总结17参考文献19- 2 -1 1 课程设计目的课程设计目的(1)进一步加深对 eda 技术的基本知识的理解,提高 vhdl 编程仿真程序的运用能力。(2)培养根据课题需要查找参考书籍和文献资料,并学习运用的的能力,从而更好的培养了自学能力和独立思考问题和解决问题的能力。 (3)培养硬件设计、软件设计及系统软、硬件调试的基本思路、方法和技巧,并能熟练使用当前较流行的一些有关电路设计与分析方面的软件和硬件。 (4)培养严肃认真的工作作风和科学态度,逐步建立正确的生产观念、工程观念和全局观点。2 2 题目描述及要求题目描述及要求设计题目:数字式移相信号发生器设计要求:(1
4、)被测正弦信号频率范围:20hz2000khz; (2)正弦信号频率皆采用 bcd 码计数方式;具有正弦信号频率测量及数字显示功能; (3)能够输出给定相位差的两路同频,相位测量绝对误差2。3.3. 课程设计报告内容课程设计报告内容3.1 系统框图系统整体框图如下图 3-1 所示: 正弦信号 q1 正弦信号 q2 时钟输入信号 移相信号 同频方波. 1hz 时钟信号 图 3-1 数字式移相频率计的系统框图 数字式移相频率计的系统框图如图 3-1 所示,通过一给定频率的时钟输入信号,使数字移相模块(fpga)产生正弦信号 q1,同时产生与 q1 同频的方波信号送给数字频率计模块,测出方波频率再通
5、过显示模块译码后,逐一送 8 个led 显示。同时通过键盘输入二进制的移相信号给数字移相模块,来输出与正数字移相模块数字频率计模块 显示模块- 3 -弦信号 q1 有指定相位差的同频正弦信号 q2。3.2 系统各组成部分介绍3.2.1 数字移相及信号产生模块该模块的作用是产生两路指定相位差的同频信号,同时输出与之频率相同的正弦信号。先对正弦信号进行一周期 64 点的采样,再把采样正弦波幅值送到两个 frpg 的 rom 中。通过时钟输入信号是指针信号在“000000”到“111111”进行加 1 循环计数,从而对一个 rom 的值逐一读取。另一个 rom中指针的值,则是在这个指针信号值的基础上
6、加相位偏移量 din。这样就达到了输出两路相位差的同频信号。因为对正弦信号进行 64 点采样,则每相邻两点之间相位差为360/64=5.625,所有本移相信号发生器的最小精度为 5.625。 (1)数字移相及信号产生模块程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity yx2 is port(clk:in std_logic; din:in std_logic_vector(5 downto 0); dout,yxdout:
7、 out std_logic_vector(7 downto 0); fsout:out std_logic);end entity yx2;architecture art of yx2 is signal q1,q2: std_logic_vector(5 downto 0); signal q3,a1,a2: std_logic_vector(6 downto 0);begina2=0& din; process(clk) is beginif clkevent and clk=1then if q1111111 then q1=q1+1; else q1=000000;end if;e
8、nd if;- 4 -end process;process(q1) is begina1=0& q1;q3=a1+a2;q2=q3(5 downto 0); if q1100000 then fsout=1; else fsoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdout
9、doutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutnull;end case;end process;process(q2) is begin case q2 iswhen 000000=yxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxd
10、outyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutnull;end case;end process;- 7 -end architecture art;(2)波形仿真控制模块运行波形仿真图如图 3-
11、2 所示,移相信号 din 为 2,则图中输出俩正弦波 dout 与 yxdout 的相位差正好是 2,而输出方波信号 fsout 正好在dout 为 0 时发生翻转,从而使 fsout 与 dout 同频。图 3-2 数字移相及信号产生模块运行波形仿真图3.2.2 数字频率计模块 8 位数字频率计的原理框图如下图 3-3 所示: 输入方波信号 tsten 待显示频率信号 1hz 信号 clr_cnt load图 3-3 8 位数字频率计的原理框图 该数字频率计通过 1hz 标准信号,使控制模块控制计数器在 1s 内对输入方波进行计数,从而测出其频率,送到锁存模块锁存。(1)系统个组成部分控制
12、模块控制模块是产生测量所需的各种控制,如图 3-4 所示,clk 为 1hz 的标准时钟信号;tsten 为使能信号,当 clk 上升沿时,发生翻转,若为高电平,计数器开始计数;load 为锁存信号,其值是 tsten 的反向信号,真好当 tsten 变为 0,一次计数完成时,它就变为高电平,把计数器的值锁存;clr_cnt 为置位信号,当 clkt、sten 都为低电平时,对计数器进行置位清零,好 1 进行下一轮计数。通过图 2-4 可看出,在时钟信号的两个周期内,完成一个计数周期(2s) ,一次计数的时间为 1s。在一个计数周期内,对待测信号的上升沿进行计数,正好是待测信号的频率。控制模块
13、计数模块锁存模块- 8 -clk tstenloadclr_cnt 图 3-4 控制信号时序关系控制模块程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity testctl is port(clk: in std_logic; tsten: out std_logic; clr_cnt: out std_logic; load :out std_logic);end entity testctl;architecture art of testctl issignal div2clk
14、:std_logic;begin process(clk) isbegin if clkevent and clk=1 then div2clk= not div2clk; end if; end process;process(clk,div2clk) is- 9 -beginif clk=0 and div2clk=0 then clr_cnt=1; else clr_cnt=0; end if;end process;load= not div2clk;tsten= div2clk;end architecture art; 波形仿真图如下图 3-5 所示: 3-5 控制模块运行波形仿真
15、图 控制模块通过仿真显示的波形图正好与图 2-4 的控制信号时序关系图吻合,符合要求。计数模块计数器模块是由 8 个带有异步清零端,进位信号输出的 10 进制计数模块级连而成,计数器以待测信号 fsin 作为时钟,在清零信号 clr 到来时,异步清零;clk 为高电平时开始计数。该计数器计数范围为 0 到 99999999。计数模块程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt10 is port(clk:in std_logic; clr: in std_logic;
16、 ena: in std_logic; cq: out std_logic_vector(3 downto 0); carry_out: out std_logic);end entity cnt10;architecture art of cnt10 is- 10 -signal cqi: std_logic_vector(3 downto 0);beginprocess(clk,clr,ena) isbeginif clr=1 then cqi=0000;elsif clkevent and clk=1then if ena=1 then if cqi1001 then cqi=cqi+0
17、001;carry_out=0; else cqi=0000; carry_out=1; end if; end if;end if;end process; cq=cqi;end architecture art;波形仿真如下图 3-6 所示:图 3-6 十进制计数运行波形仿真图单个十进制计数器仿真波形如图 5-6 所示,当使能信号为高电平是开始计数,计数到 9,在下一个时钟上升沿来临时,计数值变为 0,同时进位信号carry_out 产生一个上升沿,使高位计数器计数一次。锁存模块设置锁存器的作用在于,使显示的数据稳定,不会由于周期性的清零信号而不断闪烁。若已有 32 位 bcd 码存在于此
18、模块的输入口,在信号 load 的上升沿后即被锁存到寄存器 reg32b 的内部,并由 reg32b 的输出端输出,然后由实验板上的 7 段译码器译成能在数码管上显示输出的相对应的数值。锁存模块程序:library ieee;- 11 -use ieee.std_logic_1164.all;entity reg32b isport(load: in std_logic; din: in std_logic_vector(31 downto 0);dout: out std_logic_vector(31 downto 0 );end entity reg32b;architecture ar
19、t of reg32b isbegin process(load,din) isbegin if load event and load=1 then doutclk,tsten=se,clr_cnt=sc,load=sl);u1:cnt10 port map(clk=fsin,clr=sc,ena=se,cq=sd(3 downto 0),carry_out=s1);u2:cnt10 port map(clk=s1,clr=sc,ena=se,cq=sd(7 downto 4),carry_out=s2);u3:cnt10 port map(s2,sc,se,sd(11 downto 8),
20、s3);u4:cnt10 port map(s3,sc,se,sd(15 downto 12),s4);u5:cnt10 port map(s4,sc,se,sd(19 downto 16),s5);u6:cnt10 port map(s5,sc,se,sd(23 downto 20),s6);u7:cnt10 port map(s6,sc,se,sd(27 downto 24),s7);u8:cnt10 port map(s7,sc,se,sd(31 downto 28),s8);u9:reg32b port map(load=sl,din=sd(31 downto 0),dout=dout
21、 );end architecture art;- 13 - 波形仿真 数字频率计仿真波形如图 3-8 所示:图 3-8 数字频率计波形仿真图 待测信号 fsin 周期为 20ms,即 50hz,通过仿真波形可看出,数字频率计测出其频率也 50hz。 数字频率计原理图 数字频率计的原理图如图 3-9 所示,她是数字频率计顶层程序的另一种表示。图 3-9 数字频率计原理图3.2.3 显示模块本文采用 8 个共阴极数码管来显示待测频率的数值,其显示范围从 0 99999999。(1)显示模块程序library ieee;use ieee.std_logic_1164.all;use ieee.st
22、d_logic_unsigned.all;- 14 -entity display isport(in32:in std_logic_vector(31 downto 0);lout7:out std_logic_vector(6 downto 0);sel:out std_logic_vector(2 downto 0);clk:in std_logic);end display;architecture art of display issignal q:std_logic_vector(2 downto 0);signal lout4:std_logic_vector(3 downto
23、0);beginprocess (clk)beginif (clkevent and clk=1)thenif (q=111) then q=000;else q=q+1; end if;end if;sellout4lout4lout4lout4lout4lout4lout4lout4lout4lout7lout7lout7lout7lout7lout7lout7lout7lout7lout7lout7lout7=0000000;end case;end process;end architecture art; (2)波形仿真 显示模块仿真波形如图 3-10 所示: 图 3-10 显示模块
24、运行波形仿真图 输入频率为 8 位 bcd 码,lout7 为晶体管段选信号。信号 sel 则选择将lout7送入哪一个晶体管,从而实现将输入的 8 为 bcd 频率信号逐一送入对于的晶体管显示。3.3 系统完整介绍(1)系统原理图 系统的原图见图 3-11,这里通过原理图的方式将各个模块连接起来,让其组成数字式移相信号发生器的总程序。 (2)仿真波形系统总的仿真波形见图 3-12,给时钟信号 input 的周期为 2ms,由此产生两路同频正弦信号 q1,、q2,其频率为 500/648hz,在 sel 进行逐次加 1 选择- 16 -晶体管时,lout7 依次输出 7f、3f、3f、3f、3
25、f、3f、3f、3f,晶体管将显示00000008。又由于键盘输入相位差为“04”则 q1、q2 的相位差为45.62522.5。图 3-11 数字式移相频率计原理图图 3-12 数字式移相频率计运行波形仿真图3.4 引脚分配引脚分配如表 3-1 所示,input 接任意频率,来决定产生正弦波的频率;clk1 接 1hz 方波时钟信号;clk 接 7812hz 输入频率,作为显示模块的时钟输入;jp5.0分别接 k5 到 k0 六个拨码开关;lout76.0接到 8 个 led 的七段显示;sel2.0接 138 译码器,通过译码对 8 个 led 进行片选输出;q17.0和- 17 -q27
26、.0接两个 d/a 转换的输入端,使这两路正弦信号由数字量转变为模拟量,从而能在示波器上显示两路正弦信号。表 3-1 系统引脚分配信号名称信号名称fpga i/o 名称名称信号名称信号名称fpga i/o 名称名称inputpin_118lout76pin_17jp0pin_111q10pin_38jp1pin_112q11pin_39jp2pin_113q12pin_40jp3pin_114q13pin_41jp4pin_115q14pin_44jp5pin_116q15pin_45clkpin_119q16pin_46clk1pin_125q17pin_47sel0pin_101q20pi
27、n_26sel1pin_102q21pin_27sel2pin_107q22pin_28lout70pin_114q23pin_29lout71pin_8q24pin_30lout72pin_9q25pin_31lout73pin_10q26pin_36lout74pin_12q27pin_37lout75pin_134.4. 总结总结经过这次数字式移相频率计的课程设计,首先让我对 max+plus ii 这一软件的使用从熟悉到能熟练使用,对运用 eda 技术解决一些实际问题有了更进一步的了解。同时在掌握 vhdl语言的基础上,培养了我对资料的查阅、理解的能力,独立思考问题、解决问题的能力也得到了很大
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 病历书写要求
- 水风光一体化多场景运行模式适配改造方案
- 注塑线设备故障应急预案制定
- 机加工工序首件检验管控规范
- 铸造段紧急需求排程控制方案
- 医技科室药品管理制度实施细则
- 医疗设备预防性维修制度
- 比熊犬美容修毛指引
- 套餐卡销售接待规范
- 仓库甲醇泄漏应急处置流程
- DBJT15-188-2020 城市综合管廊工程技术规程
- 凯恩斯主义课件
- APQP第三版及CP第一版介绍
- 2025年人教版七年级数学下册期中复习题(基础版)(范围:相交线与平行线、实数、平面直角坐标系)解析版
- 武侯祠历史讲解
- 眼健康知识科普讲座
- 癌痛患者的健康宣教
- 2025年广东省高考政治试卷真题(含答案解析)
- 一例猫泛白细胞减少症的诊断与治疗
- 2025年高考数学全国一卷试题真题及答案详解(精校打印)
- 2024年河北省高考政治试卷(真题+答案)
评论
0/150
提交评论