简易电子琴设计_第1页
简易电子琴设计_第2页
简易电子琴设计_第3页
简易电子琴设计_第4页
简易电子琴设计_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

EDA课程设计报告-9-EDA课程设计报告题目:简易电子琴设计学院: 电子信息与电气工程学院专业: 电子信息工程班级:姓名:学号:目录一项目概况 -1-二项目题目 -1-三方案设计 -1-1.系统端口 -2-2.工作原理 -3-3.SPK0模块 -6-4.模块M_CODE和DCD7SG -7-5.fre_div模块主要为键盘防抖动提供频率。 -8-6.消除抖动 -8-四设计中出现的问题 -9-五心得体会 -9-一项目概况选择目的:为了进一步巩固之前学过的知识,将课本的知识结合趣味性,让自己得到更好的提高。二项目题目设计一个4*4键盘弹奏16个音的简易电子琴,音域范围从低音1到高音2,能用数码管或2004液晶显示当前音符和音调高低。三.方案设计系统框图如下输入按键信号编译成频率控制信号编译成简谱的信号用H显示音的高低通过LED现实显示数字通过一个模块对频率信号进行处理输入按键信号编译成频率控制信号编译成简谱的信号用H显示音的高低通过LED现实显示数字通过一个模块对频率信号进行处理图1是电子琴顶层设计电路,电路含3个输入口和3个输出口:1.系统端口(1)工作时钟CLK,频率:1MHz。用于在主控模块中产生与琴键对应的振荡频率,以驱动蜂鸣器发出相应的声音。如果使用CycloneIII或以上系列的FPGA,此频率可通过FPGA内的锁相环获得。对于开发板,接锁相环的外部时钟频率是20MHz。琴键输入由KEY4x4键盘得到。(2)输出端口SPK用于驱动蜂鸣器,其输出频率fB与蜂鸣器所发出的音调与图21-10所示的电子琴各音节基频有对应关系。(3)输出信号LED接数码管,用于显示对应的简谱码。H显示音高低。2.工作原理图8-21中的模块KEY4X4是阵列键盘,图8-22是此键盘的10芯接口原理图。在应用中。当按下某键后,为了辨认和读取见得信息,一种比较常用的方法是,向A口扫描输入一组分别只含一个0的4位数据,如1110,1101,1011等。若有键按下,则B口一定会输出对应的数据,这时,只要结合A,B口的数据,就能判断出键的位置。如当键S0按下,对于输入的A=1110,那么输出的B=0111。于是{B,A}=0111_1110就成了S0的代码。可以认为,模块INX2CODE是一个译码器,它将来自键盘输入的编码信号译码成数控分频器SPK0输出信号的频率控制字。译码器模块INX2CODE的真值表,如图4所示。SPK0的内部电路结构如图5所示。模块KEY4X4,INX2CODE,SPK0主要工作过程如下:当按下琴键,产生的数据经KEY4X4模块获得一个编码(例如,当按下的是第二个键,对应0010,即2),它对应模块INX2CODE中的一个值(2对应390H)。当这个值(390H)被置入模块SPK0中的11位可预置计数器后,由于计数器的进位端与预置数加载端相连,导致此计数器将不断以此值作为计数起始值,直至全为1。以下以预置数为390H为例,来计算模块SPK0输出信号的频率值。当以390H为计数起始值之后,此计数器成为一个模(7FFH-390H=46FH=1135)的计数器。即每从CLK端输入1135个脉冲,BEEP端输出一个进位脉冲。由于输入的时钟频率是1MHz(周期是1us),于是BEEP输出的信号频率是1/(11351us)=881HZ.从图1中可见SPK0的输出信号经过一个由D触发器接成T触发器后才输出给蜂鸣器。这时信号被做了二分频,于是,预置值390H对应的蜂鸣器发音的基频F约为440HZ.可在图4中找到对应的音阶.图1中的T触发器有两个功能,一个作用是作二分频器;另一个作用是作为占空比均衡电路。这是因为由SPK0模块输出信号的脉冲极宽,频率极低,无法驱动蜂鸣器.但信号通过T触发器后,脉宽就均匀了(F的占空比为50%)。显然,模块KEY4X4输出给INX2CODE的数值与驱动蜂鸣器发声的信号的频率值有直接的对应关系。3.SPK0模块图12-13所示的电路是模块SPK0的内部结构。其中的计数器CNT11B和一个LPM宏模块,这是11位二进制加法计数器。在设计其结构参数时,应该选择同步加载控制,即SLOAD,这样能较好的避免来自信号cout中可能的毛刺影响。异步加载aload极易受到随机窄脉冲的触发,在此类电路中不宜使用。图12-13中的D触发器和反相器的功能是将用于控制加载的进位信号延迟半个时钟周期,一来也是为了滤除可能的毛刺,以免对加载发生误操作,同时使加载更加可靠,因为这时,时钟上升沿正好处于加载脉冲的中点。4.模块M_CODE和DCD7SG另外两个模块是M_CODE和DCD7SG,前者的功能是将来自CODM3的键盘编码译成简谱码和对应的音调高低值H,后者的功能是一个数码管7段显示译码器,负责将简谱码译成数码管的显示信号,M_CODM和DCD7SG的程序分别如下图所示。5.fre_div模块主要为键盘防抖动提供频率。6.消除抖动ERZP主要用于消除抖动四.设计中出现的问题因为是4X4键盘所以一直会有回音这是一直未解决的问题,还有就是给键

温馨提示

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

评论

0/150

提交评论