简易电子琴实训报告_第1页
简易电子琴实训报告_第2页
简易电子琴实训报告_第3页
简易电子琴实训报告_第4页
简易电子琴实训报告_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、葬PGAt字系统设计项目项目名称: 基于VHDLI勺简易电子琴姓名:院系:专业:学号:指导教师:完成时间:2012 年6月20日基于FPGA勺数字系统设计项目成绩评价表设计题目基于VHDL的简易电子琴设计要求1)设一个简易电子琴;2)利用实验箱的脉冲源产生1, 2, 3,00 0共7个或14个首阶信号;3)用指示灯显示节拍;4) *能广生颤首效果。设计过程米用现场可编程逻辑器件(FPGA制作,利用EDAJC件中的VHDL 硬件描述语言编程进行控制,然后烧制实现。采用的是现场可编程逻辑器件来实现,它的优点是所有电路集 成在一块芯片上,此方案所需的外围电路简单,这样它的体积就 减少了,同时还提高r

2、系统的稳定度。由设叱把编好VHDL程序烧制到现场可编程逻辑器件 FPG仲, 然后通过控制输入电路把乐谱输入到FPGA产生/、同的频率驱动扬声器,发出/、同的乐谱。同时也把发出的乐谱符号通过显示 器输出。项目设计 成绩评价评价项目指标满分评分工作量、工 作态度和 出勤率按期圆满的完成了规定的任务,难易程 度和工作量符合教学要求,工作努力, 遵守纪律,出勤率高,工作作风严谨, 善于与他人合作。30课程设计项目设计系统架构合理,设计过程简练 正确,分析问题思路清晰,结构严谨, 文理通顺,撰写规范,图表完备正确。40创新工作中有创新意识,对前人工作什-些 改进或有一定应用价值。15答辩能正确回答指导教

3、师所提出的问题。15综合成绩等级指导教师:月日1项目名称、内容与要求设计内容4页具体要求 4页2 系统整体架构(Architecture Description ) 4 页设计思路4页系统原理(包含:框图等阐述)与设计说明等内容-4页创新点与原创性内容5页3系统设计(含HDW原理图输入设计) 5页注:此部分包含主要逻辑单元、模块、源代码等内容HDL代码 5页系统整体电路图(或 RTL级电路图) 7页4 系统仿真(Simulation Waveform ) 7页5 FPGA现(FPGA Implementation ) 9页6 总结(Closing ) 10页参考书目(Reference ) :

4、 11页附录 (Appendix) : 12页1、 项目名称、内容与要求1.1 设计内容:设计一个简易的八音符电子琴,它可通过按键输入来控制音响。具体要求:1、设计一个简易电子琴;2、利用实验箱的脉冲源产生1, 2, 3,ooo共7个或14个音阶信号;3、用指示灯显示节拍;4、*能产生颤音效果。2、系统整体架构设计思路本课程设计目的在于灵活运用 ED儆术编程实现一个简易电子琴,它要求 在实验箱上构造一个电子琴电路,不同的音阶对应不同频率的正弦波。 按下每个 代表不同音阶的按键时,能够发出对应频率的声音系统原理采用现场可编程逻辑器件(FPGA制作,利用EDAa件中的VHDLM件描述 语言编程进行

5、控制,然后烧制实现。采用 FPG林设计的原理图如图所示。它由 控制输入电路、FPGA显示电路和扬声器电路组成。控制输入电路 f FPGA 显示电路扬声电路图采用FPG破计的电子琴原理方框图控制输入电路主要是为用户设计的,起到一个输入控制的作用。FPGA现场 可编程逻辑器件,也是本设计方案的核心内容,它是实现电子琴运作的主要控制 模块。由设计者把编好VHDL程序烧制到现场可编程逻辑器件 FPG9,然后通过控制输入电路把乐谱输入到FPGA产生不同的频率驱动扬声器,发出不同的乐谱。同时也把发出的乐谱符号通过显示器输出。创新点与原创性内容对于电子琴的设计, 很多方案均可以实现, 但是采用数字逻辑电路来

6、制作的话电路硬件所需的器材多 , 体积庞大 , 比较复杂 , 而且精度和稳定度都不是很高。 如果采用的是现场可编程逻辑器件来实现, 它的优点是所有电路集成在一块芯片上,此方案所需的外围电路简单, 这样它的体积就减少了,同时还提高了系统的稳定度。还可以用 Modelsim XE 软件进行仿真和调试等。设计人员可以充分利用VHDLM件描述语言方便的编程,提高开发效率,缩短研发周期,降低研发成本;而且易于进行功能的扩展,实现方法灵活,调试方便,修改容易。 。因此,电子琴的设计我们选择采用现场可编程逻辑器件(FPGA制作来实现。3 系统设计HDL 代码library ieee;use speakera

7、 isport( clk : in std_logic;- 时 钟 输入index:in std_logic_vector( 6 downto 0);-按键输入spks: out std_logic);- 扬声器输出end;architecture one of speakera issignal preclk,fullspks :std_logic;signal tone: std_logic_vector( 10 downto 0);beginsearch : process (index)begincase index iswhen "0000001" => t

8、one <="001"when "0000010" => tone <="000"when "0000100" => tone <=; ;when "0001000" => tone <=; ;when "0010000" => tone <=; ;when "0100000" => tone <=; ;when "1000000" => tone <=; ;

9、when others => tone <= ""end case;end process;divdeclk :process(clk)variable count4 :std_logic_vector( 3 downto 0);beginpreclk <= '0'if count4 > 11 then preclk <= '1' count4 :="0000"elsif clk'event and clk='1' then count4 := count4 + 1;e

10、nd if;end process;genspks : process(preclk,tone)variable count11 : std_logic_vector( 10 downto 0);beginif preclk'event and preclk = '1' thenif count11 =16#7ff# then count11 := tone;fullspks <= '1'else count11 := count11 + 1;fullspks <= '0'end if;end if;end process;d

11、ealyspks : process( fullspks)variable count2 : std_logic;beginif fullspks'event and fullspks = '1' then count2 := not count2;if count2 = '1' then spks <= '1'else spks <= '0'end if;end if;end process;end;系统整体电路图4 系统仿真( Simulation Waveform )功能仿真:时序仿真:5 FPGA现数控

12、分频模块的目的是对基准脉冲分频,得到 1,2,3,4,5,6,7 ,七个音符对应频率。该模块的VHDL的述中包括了三个模块,首先对12MHzI勺基准脉冲进行再次分频,得到的便是所需要的频率。实验箱:实验操作内容及步骤 :1、打开Quartus H ,创建工程首先建立一个Quartus R的工程,指定工作目录、工程名称、顶层设计 实体名称、目标器件系列、工具设置等。步骤如下: 1) 选择“开始”一 > “程序” >Altera > Quartus H 2) 选择File >New Project Wizard 界面,单击Next 按钮,进入工程名称的设定、工程目录的选择。

13、 3) 3) 在对话框中, 指定工程存放的目录、 工程名和顶层实体名, 工程名和顶层实体名要求相同,工程目录可以随意设置,但必须是英文的目录,单击Next 按钮。 4) 4) 用户指定目标器件,根据开发板所使用的期间来选择,单击Next 按钮。 5) 新建一个VHD印言。 6) 6) 把程序代码输入, 编译、 运行程序, 单击 processing >start comilation 运行程序。( . 引脚分配( 1)单击 assignments >timing analysis setting 进行引脚分配( 2)直接导入引脚分配,单击assignments >import

14、 assignments( 3)引脚分配完成3产生波形图( 1)创建波形文件,单击File >other files >vector waveform file( 2)点击空白处,点开INSERT->insert node, 再点击 >node finder >list,把元器件添加进去,得到其仿真波形图系统整体组装图:6 总结( Closing )通过两个周的学习,最后完成了我的设计任务一一基于 VHDLS言的简 易电子琴的设计。通过本次课程设计的学习,我对数据库软件EDAK术、VHDL等系列知识都有了一定的了解。使用 EDAK术开发页面的能力也有了很大提高。我

15、深深的体会到设计课的重要性和目的性所在。本次设计课不仅仅培养了我们实际操作能力, 也培养了我们灵活运用课本知识, 理论联系实际, 独立自主的进行设计的能力。 它不仅仅是一个学习新知识新方法的好机会, 同时也是对我所学知识的一次综合的检验和复习, 使我明白了自己的缺陷所在, 从而查漏 补缺。在设计中要求我们要有耐心和毅力, 还要细心, 稍有不慎一个小小的错误就会导致结果的不正确, 而对错误的检查要求我要有足够的耐心, 通过这次设计和设计中遇到的问题,也积累了一定的经验。用 VHDLM件描述语言的形式来 进行数字系统的设计方便灵活,利用EDAa件进行编译优化仿真极大地减少了电 路设计时间和可能发生

16、的错误, 降低了开发成本, 这种设计方法必将在未来的数字系统设计中发挥越来越重要的作用。VHDL的设计关键是电路逻辑设计,而一个程序的关键是总体设计。 对于硬件设计接触不多的我们清楚这一点也许不无好处。设计的工作此课程设计从构思到最后完成的这两个周内,周围的很多同学和朋友给予了我善意的帮助, 还有老师同学们对我的不厌其烦的指导, 使我对此类课程设计的设计流程以及脊髓有了很深的了解, 通过你们的帮助, 我把从计算机组成原理这门课上学到的理论第一次用到了实际设计上。在此,我深深的表示感谢。参考书目( Reference ):1张肃文,.EDA技术与VHDLS言.北京:清华大学出版社2 张亦华,延明

17、.数字电路EDAA门.北京:北京邮电大学出版社3 VHDL 程序设计 (第二版 ). 曾繁泰等 . 清华大学出版社4VHDLW数字电品&设计.卢毅,赖杰.科学出版社5EDAK术与实验陈强附录( Appendix ):library ieee;use speakera is- 扬声器输出- 时 钟 输port( clk : in std_logic;入index:in std_logic_vector( 6 downto 0);按键输入spks: out std_logic);end;architecture one of speakera issignal preclk,fullspk

18、s :std_logic;signal tone: std_logic_vector( 10 downto 0);beginsearch : process (index)begincase index iswhen "0000001" => tone <= "001"when "0000010" => tone <= "000"when "0000100" => tone <= ""when "0001000" =&g

19、t; tone <= ""when "0010000" => tone <= ""when "0100000" => tone <= ""when "1000000" => tone <= ""when others => tone <= ""end case;end process;divdeclk :process(clk)variable count4 :std_logic_vector( 3 downto 0);beginpreclk <= '0'if count4 > 11 then preclk <= '1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论