下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电子设计自动化课程设计电子设计自动化课程设计题目:任意频率正弦波形发生器电路院(系)信息科学与工程学院专业通信工程第华侨1大页学信息科学与工程学院通信工程系电子设计自动化课程设计届别班级学号姓名任课老师第华侨2大页学信息科学与工程学院通信工程系电子设计自动化课程设计摘要本次课程设计的主要内容为采用 VHDL硬件描述语言实现任意频率正弦波形发生器电路的编程, 在 QuartusII 软件上实现仿真, 并利用 Altera 公司的 FPGA器件及其外围电路和示波器实现其实际功能。整个系统由输入选择模块、 分频模块、 并行 D/A 转换器、 频率显示模块组成。 输入选择模块由 8 个脉冲按键组成,
2、其中 7 个为数字输入, 1 个为选择按键; 分频模块由 3 个计数器、1 个锁存器、 1 个乘法器构成;并行 D/A 转换器幅度范围为 8 位;频率显示模块由 3 个 lpm_constant 和 3 个 lpm_devide 模块组成, 外接 3 个数码管, 分别显示分频后得到的频率。波形仿真结果级硬件实现均测试成功。该波形发生器的输入采用选择输入的方式,使分频的精度得到提高(理论上分频范围为 1/1271272),输入直接采用 2 进制方式输入,较为方便。 D/A 转换器的深度增大为 1024 ,使最后示波器显示的波形更加平滑流畅。关键字: 任意分频波形发生器VHDLFPGA 示波器第
3、3 页学生签名:杨洋完成日期: 2013 年 11 月 19 日电子设计自动化课程设计目录第一章 系统设计4一、 设计要求4二、系统设计方案4三、总体方案的论证与比较5第二章 单元电路设计5一、输入选择模块5二、分频模块51、 M 计数器52、 N 计数器63、频率计算模块6三、 D/A 转化器8四、频率显示模块9第三章 软件设计9一、软件设计平台9二、程序流程方框图10三、实现的功能10四、测试仪器10第四章 系统测试10一、系统性能指标10第 4 页学生签名:杨洋完成日期: 2013 年 11 月 19 日电子设计自动化课程设计二、功能的测试方法、步骤.11三、仪器设备名称、型号.11四、
4、测试数据 .11第五章 总结与反思 .12参考文献 .13附录13第一章系统设计一、设计要求正弦波输出,幅度范围 8 位(并行 D/A 转换器 DAC0832);输出信号频率可任意设置;十进制显示输出正弦波的频率。 实现波形仿真并通过实验箱显示频率, 示波器显示频率和波形,且示波器上所示频率应与实验箱上显示一致。二、系统设计方案系统设计思路:第 5 页学生签名:杨洋完成日期: 2013 年 11 月 19 日电子设计自动化课程设计图 1.1 原理图图 1.2顶层图形文件图 1.1 为波形发生器整体系统设计原理框图, 共分为输入选择模块、 分频模块、 D/A 转换器、 频率显示模块四个部分。 其
5、中输入选择模块包括数值输入和选择按键 (所输入的数是送给 M 或 N);分频模块是利用输入的 M 和 N 对原始频率进行分频, 其包括 L.M.N 三个计数器和 D 锁存器组成, D/A 转换器的功能是将每个脉冲对应一个电压, 众多脉冲对应众多电压, 便在示波器上显示初连续的正弦波, (点数越多,波形越光滑流畅) ;显示模块利用数码显示管将最后示波器上显示的频率显示出来。三、总体方案的论证与比较第 6 页学生签名:杨洋完成日期: 2013 年 11 月 19 日电子设计自动化课程设计整个分频模块设计,均基于 F=f*N/1024/M 这一基本公式( F 为最后输出频率, f 为原始输入频率)
6、,有 2 种思路可供选择。 ( 1) M 计数器是一个每次只增加一的计数器,f 接 1024HZ 的频率, 那么输入就只有N 一个, 范围可从 0255,N 输入的数值便是数码管和示波器最终显示的数值;、( 2)M.N 都设置为任意分频计数器,f 也可接任意频率,最后频率 F 等于 f*N/1024 /M 。本设计选择后者,原因在于前者若f 接 1024HZ 外部频率时,能做到输入与输出一致,但频率范围仅为0255,与设置的0999 相差甚远,若接其他数值为外部频率时,无法做到输入与输出一致,且输出的频率是不连续的,如接入外部频率为16384HZ, 当 N=1, F=16; 当 N=2, F=
7、32,而 1632 间的频率值都是无法输出的,这样并没有做到真正的“任意频率”。综上所述,后者是更优的选择。第二章单元电路设计一、输入选择模块原理分析:该模块为由下降沿或上升沿锁存输入数值的2 选 1 选择器,由h端输入数值,当S 出现上升沿时h 的值赋给j,当 s 出现下降沿时h 的值赋给k。最终 j的值将赋给M,而 k 的值将赋给N。 H.j.k 均是 7 位的 2 进制数,数值范围为0127。输入选择模块的波形仿真图如下图所示:第 7 页学生签名:杨洋完成日期: 2013 年 11 月 19 日电子设计自动化课程设计输入选择器波形仿真结果二、分频模块分频模块整个分频模块由L.M.N 三个
8、计数器, 一个 D 锁存器, 一个除法模块, 调用一个乘法模块 lpm_mult 组成,下面就分别每一板块做详细介绍。1)、 M 计数器第 8 页学生签名:杨洋完成日期: 2013 年 11 月 19 日电子设计自动化课程设计M 计数器将计数的最大值设置为(M-1 ),当计数到 (M-1 )时 COUT向前进位,此时计数归零,从头开始。将COUT 接入下一板块的clk2,此时 clk2 的频率是clk频率的 1/M, 实现分频。下图为该计数器的波形仿真结果,取 M=4 ,COUT的频率为 clk 频率的 1/4。M 计数器波形仿真结果2)、 N 计数器第 9 页学生签名:杨洋完成日期: 201
9、3 年 11 月 19 日电子设计自动化课程设计N 计数器的计数方式不是一个脉冲到来数值加一,所加的数值为N。这相当于输入端每加一,输出端加N,即输入一个脉冲,输出N 个脉冲,输出频率为输入频率的 N 倍。下图为该计数器的波形仿真结果,取 N=4,由图可见输入端每增一,输出端增加 4,实现 4 倍频。N 计数器波形仿真结果3)、频率计算模块频率计算模块该模块中 L 为常规计数器, 它的其中一个输入端clK 与 M 计数器的输出端COUT第 10 页学生签名:杨洋完成日期: 2013 年 11 月 19 日电子设计自动化课程设计相接,故该模块输入频率为原始频率经 M 分频后的频率, 它的另一个输
10、入端 EN 直接接实验箱上 0.5HZ 脉冲,该脉冲周期为 2 秒,高低电平分别 1 秒,而 EN端只有高电平时计数器才工作,故 1 秒内计算出的脉冲数恰好等于其频率。D 为下降沿触发的锁存器, 它的一个输入端 clk 与 EN 相接,当 EN 在高电平时计完 1 秒的脉冲数, 跳为低电平时, 锁存器立即将 L 得到的值存起来以便接下来的板块对该值进行处理。若不适用锁存器,让 L 和 A 直接相连, 由于 L 中的输出端只在 EN 向低电平跳变时才增加到正确值,此时L 会将该值输出,但由于EN 跳变太快,以致L 来不及输出或A 还未对其进行处理,EN 已回到低电平,L 的输出端CQ已归零,故最
11、终的输出频率始终为零。所以D 锁存器是必不可少的。板块 A 只完成一个操作: 将经 M 分频后的频率除以1024,1024 为本设计中D/A转换器的深度。完成到此步骤,此时的输出频率经M 和 1024 分频,只需将该频率乘以 N 倍便完成全部分频。之所以不把*N 这一步放在板块A 中完成,原因在于:VHDL 中 / 、 * 等运算要求颇为严格,所乘的数和所除的数要为2 的整数次方,故N不可任意取值。 为了解决这个问题,加入一个乘法模块,将其中的一个成乘数接到N 端,如此, N 的值不会受限。以下是频率设计模块波形仿真图,由图可知,只要EN 有下降沿,输出端便能将正确频率永久地保存下来。频率计算
12、模块波形仿真结果三、D/A 转换器第 11 页学生签名:杨洋完成日期: 2013 年 11 月 19 日电子设计自动化课程设计该 lpm_rom 模块是 QuartusII 软件中自带模块,需要时可直接调用,其输入为转换器的深度, 即一个波形周期内横向点数, 故该值越大,波形越光滑流畅。输出为转换器幅度。四、频率显示模块频率输出模块由于本设计中将输出频率的范围设置为0999,只需要 3 个输出,分别为百位、十位、个位,分别在3 个数码管上显示。采用不断模10 的方式将每一位数逐个分离,上面已说明VHDL 中使用“ / ”的局限性, 故在此调用软件中原有的lpm_divide和 lpm_cons
13、tant 模块来完成模10。如输入一个三个数128 ,经第一个模10 模块后,输出端 a 得到个位8,另一个输出端得到商12,并将 12 送给下一个模10 模块 2,该模块的输出端b 得到十位2,另一输出端得到商1,并将这个 1 送给下一个模10模块,当 1 模 10,余数就为1,输出端 c 得到百位。下图为频率输出模块波形仿真结果。第 12 页学生签名:杨洋完成日期: 2013 年 11 月 19 日电子设计自动化课程设计频率输出模块波形仿真图第三章软件设计一、软件设计平台:QuartusII二、程序流程方框图:三、实现的功能第 13 页学生签名:杨洋完成日期: 2013 年 11 月 19
14、 日电子设计自动化课程设计本设计能够对接入的实验箱上的频率进行1/127127/2( M 最小只能取到2)范围的分频, M.N 均为外部输入数值,8 个按键中 7 个按键为数值输入,1 个为选择键,决定将输入的值给M 或是 N;最终分频后的频率范围为0999(最大频率范围可为099999999,如有需要,可对相应程序的数值设定做修改,在频率输出部分增加相应模10 模块即可),本设计能在示波器上成功显示出平滑流畅且不同频率的正弦波形。四、程序清单输入选择器程序;M 计数器程序;N 计数器程序;L 计数器程序;D 锁存器程序;除法模块 a 程序;第四章系统测试一、系统性能指标第 14 页学生签名:
15、杨洋完成日期: 2013 年 11 月 19 日电子设计自动化课程设计二、功能的测试方法、步骤将仿真成功且管脚分配好的程序下载到芯片中,选择模式5,将 EN 对应的管脚接 0.5HZ 的脉冲, M 模块上 clk 接任意频率的脉冲,将示波器的输入和接地端接到实验箱上相应地方,打开实验箱和示波器,输入规定范围内的N.M 值,观察示波器和数码箱上显示的频率是否相同且示波器上正弦波形是否随M.N 的输入而变化。三、仪器设备名称、型号Altera 公司 CycloneII 系列 EP2C5T144C8芯片实验箱示波器四、测试数据完整系统波形仿真图:第 15 页学生签名:杨洋完成日期: 2013 年 1
16、1 月 19 日电子设计自动化课程设计波形分析:由图中可看出,clk 接入 2048HZ 脉冲, EN 接入 0.5HZ 脉冲。先给数值输入口h 输入 2,选择输入键s 输入一个上升沿,输入的“2”赋给 M,此时再给数值输入口h 输入 16,键 s 输入一个下降沿,输入的“16”赋给 N,当 EN 出现下降沿时出现分频后的频率。可知此时的M.N 对 clk 的原始频率进行了1/128 的分频( lpm_rom 深度为 1024 ),故输出值应为16HZ,图中可看出十位b 为 1,个位c 为 6,结果正确。第五章总结与反思本设计通过M.N 两个计数器完成对输入频率分频,分频范围是1/127127
17、/2,通过波形仿真和硬件测试表明本设计达到标准。但其仍有不足之处:由于本设计使用模块较多,最后的顶层图形文件显得杂乱繁琐,如图1.2 所示。此时应对联系紧密的小模块进行封装,这样可使最后的顶层图形文件简明有序,便于分析, 以后应注意。(注:老师,在做课设时还没有讲封装,望原谅哈)第 16 页学生签名:杨洋完成日期: 2013 年 11 月 19 日电子设计自动化课程设计参考文献1、潘松、黄继业EDA 技术与 VHDL(第三版)北京:清华大学出版社,20092、 附录:输入选择器程序;第 17 页学生签名:杨洋完成日期: 2013 年 11 月 19 日电子设计自动化课程设计M 计数器程序;N
18、计数器程序;L 计数器程序;D 锁存器程序;1、 输入选择器程序library ieee;ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity xuanze isport(s: in std_logic;h :in std_logic_vector(6 downto 0);j,k : out std_logic_vector(6 downto 0);end xuanze;architecture one of xuanze isbeginprocess(s,h)beginif sevent and s=1 then j=h
19、;elsif sevent and s=0 then k=h;end if;end process;第 18 页学生签名:杨洋完成日期: 2013 年 11 月 19 日电子设计自动化课程设计end;2、M 计数器程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity m isport(clk,rst,en : in std_logic;m :in std_logic_vector(6 downto 0);COUT : out std_logic);end m;architecture
20、one of m issignalcount:std_logic_vector(6 downto 0);beginprocess(clk,rst,en,m)beginif rst =1 then count0);elsif clkevent and clk=1 thenif en = 1 thenif countm-1 then count=count+1;else count0);end if;第 19 页学生签名:杨洋完成日期: 2013 年 11 月 19 日电子设计自动化课程设计end if;end if;IF count =m-1 THEN COUT = 1;ELSECOUT = 0
21、;END IF;end process;end;3、 N 计数器程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity n isport(clk,rst,en: in std_logic;n:ininteger range 0 to 127;cq:out integer range 0 to 1023);end;architecture one of n issignalcount:integer range 0 to 1023;beginprocess(clk,rst,en,n)第 2
22、0 页学生签名:杨洋完成日期: 2013 年 11 月 19 日电子设计自动化课程设计beginif rst =1 then count=0;elsif clkevent and clk=1 thenif en = 1 thenif count1023 then count=count+n;else count=0;end if;end if;end if;cq=count;end process;end;4、L计数器程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity L ispor
23、t(clk,en: in std_logic;CQ:out integer range 0 to 60000);end L;architecture one of L is第 21 页学生签名:杨洋完成日期: 2013 年 11 月 19 日电子设计自动化课程设计signalp:integer range 0 to 60000;beginprocess(clk)beginif clkevent and clk=1 thenif en=1 then p=p+1;else p =0;end if;end if;end process;CQ=p;end;5、D 锁存器程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.al
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026-2027学年七年级英语上学期第一次月考试卷(含答案)
- 支护锚喷工安全防护竞赛考核试卷含答案
- 汽车吊司机岗前操作评估考核试卷含答案
- 餐饮连锁店厨房厨师长菜品优化与出品质量绩效衡量表
- 松脂工安全素养强化考核试卷含答案
- 预拌混凝土中控工安全实操能力考核试卷含答案
- 锅炉操作工岗位安全操作考核试卷含答案
- 变电站运行值班员创新意识知识考核试卷含答案
- 后勤主管后勤支持绩效衡量表
- 物流公司智能调度系统运营人员KPI考核表
- 主体劳务扩大清包合同9篇
- 2026年秋季高三年级青年班主任工作汇报课件:班主任工作的道与术
- 【方案】2026算电协同(智算中心)技术方案
- 2026年物业管理服务人员知识培训考试题库附答案
- 交通运输行业春季策略:中东变局下航运船舶展望海峡受限类比弹簧压缩重视释放后全板块弹性-
- 铝方通吊顶施工常见问题处理方案
- 儿童暴发性心肌炎诊治核心2026
- 2026高处安装、维护、拆除作业题库及答案
- 物业中控外包合同
- 2026年上海市闵行区高三二模英语卷(含答案及解析)
- 经营服务费合同范本
评论
0/150
提交评论