基于fpga的简易电子琴的设计-精品内容摘要:

系统进行验证以及错误的检验。 同时也可以进行检查设计者的设计的程序是否满足设计的要求来进行的仿真。 Quartus II 简介 Quartus II 专门为开发的软件 FPGA 提供的集成环境。 Quartus II 的 设计工具支持 的一般有 软件 VHDL、 软件 HDL 和图形的设计, 这 些软件中在 其内部有 VHDL、 HDL 逻辑编辑器 对其设计的对象进行编译。 Quartus II 可以利用第三方综合工具进行逻辑综合,也可以利用第三方进行仿真。 此外 Quartus II 与 MTLAB 和 DSP Builder 结合,也可以进行基于 FPGA 的 DSP 系统开发。 使用 Quartus II 内嵌的 SOP 集成环境,可以开发 NisoII 嵌入式软核处理器。 9 Quartus II 包括模块化的编译器。 编译器包括的功能模块有分析 /综合器( Analysisamp。 Synthesis)、适配器( Fitter)、时序分析器 (Timing Analyzer)、设计辅助模块 (Design Assistant)等。 可以通过选择 Start Compliation 来来运行所有的编译器模块,也可以通过 StartA 单独的运行每个独立的模块。 换可以通过选择 Compliler Tool,在此窗口中运行相应的功能模块。 Quartus II 编译器支持的硬件语言有 VHDL、 Verilog、 SystemVerilog 及 AHDL等硬件 语言。 它还允许来自第三方的 EDIF、 VQM 文件的输入,并提供很多EDA 软件的接口。 Quartus II 软件支持具有分层次得设计工作,它可以 在一个新的编辑特定的环境对不同的输入以及输入的设计方式进行模块或者模型之间的调用。 这样设计者就可以解决一系列的问题,比如混合的设计的输入,模块的混合输入等问题。 当设计者在完成设计模块的输入之后,QuartusII 软件的编译器会将给出编译后设计输入的错误,它会以报告的形式呈现。 因此 QuartusII 的软件拥有很好对于程序设计错误定位工作。 Quartus II 软件的特点 ( 1)基于模块的设计方法,提高 软件 工作效率。 ( 2)更快集成 IP。 ( 3)在设计周期的早期就对 I/O引脚进行分配和确认。 (4) 存储器编译器。 ( 5)支持 CPLD、 FPGA 和基于 HardCopy 的 ASIC。 (6) 它可以一种新的指令和引脚的功能进行自动的设计。 Quartus II 软件的工具 ( 1)设计输入工具。 Quartus II的设计输入工具包括模块编辑器、文本编辑器和 EDA设计输入工具,利用这些工具可以建立设计所需的所有的设计文件,软件源文件和其他的相关文件。 ( 2)综合工具 综合是将 HDL语音、原理图等设计输入翻译成与、或、非门, RAM,触发器等 10 基本逻辑单元组成的逻辑连接,并根据目标与设计要求优化所生 成的逻辑连接。 ( 3)布局布线工具 Quartus II软件中的 Fitter工具可以完成布局布线功能,主要包括分析布局布线结果、优化 布局布线、增量布局布线和通过反表保留分配等功能。 ( 4)时序分析工具 时序分析的功能是将设计者或者用户对程序设计分析各种时序的功能,同时可以帮助布局布线,引导设计者的设计,来满足设计者对于设计的要求的满足。 ( 5)仿真工具 设计者使用的 Quartus II提供了 Simulator工具对 设计者所 设计 得编程程序进行的 一系列 的 功能仿真和时序仿真。 功能仿真主要验证 设计者设计的程序是否符合设计要求;时序仿真包含延时信息,它能很好的地反映芯片的设计工作状 况。 图 Quartus II软件的典型设计流程 时序分析 综合 布局布线 仿真验证 设计输入 编程和配置 功耗分析 调 试 更改管理 时序逼近 11 音乐知识介绍 音频的概念 音频就是人们 正常情况下所能 能够听到的所有的声音都可以称之为音频。 正常人耳的音频范围一般约为 16Hz~16kHz。 比如像人 的 说话声、 各种乐器(钢琴、吉他、竖笛) 、 唱歌声、以及 咳嗽声 等发出的声音 把它制作成 CD,这时候所有的声音没有改变 就像原原本本从事物中发出来的一样 ,因为 CD 就是音频文件的一种。 如果有计算机再加上相应的音频卡 —— 就是我们经常说的声卡, 声音的声学特性 像是 音的高低 是 可以用计算机硬盘文件的方式 把它们 储存下来 的;反过来,我们也可以把储存 在 计算机 中 文件的音频文件用一定的音频程序播放,还原以前录下的声音。 音频的格式 CD格式:天籁 一般情况下 在 很多的 播放软件的 “ 打开文件类型 ” 中,都可以看到 了*.cda格式。 标准 CD格式 的频率 是 ,速 度是 88K/秒, 16位量化位数 ,它的声音基本上是 属于 原声的。 在音质以及音色等基本哈桑保持了原有的原声。 MP3:流行 MP3指的是 文件 MPEG中的 最为标准的 音频部分,也就是 大多数中所指的MPEG音频层。 MPEG音频文件的压缩是一种有损 失 压缩 即压缩之后就会改变原有的音质和音色 , 而音质 和 CD格式比起来就会降低。 由于其文件尺寸小,音质好。 MIDI:作曲家最爱 MIDI的含义就是 允许数字 之间的 合成器和其他 外围 设备 之间的 交换数据。 MID文件格式由 MIDI继承而来。 MID文件 它并不是已经录制好的音频,而是记录发声着声音的信息,然后存储 并不是一段录 制好的声音,而是记录声音的信息,然后在告诉声卡 有声卡实现音乐的一组指令。 WMA:最具实力 WMA (Windows Media Audio) 格式是来自于微软的 设计 ,后台 设计的 12 工作比较厉害 ,音质 以及所发出的音色都 要强于 MP3格式,更远胜于 RA格式。 WMA这种格式在录制时可以对音质进行调节。 同一格式,音质好的可与 CD媲美。 VQF:无人问津 雅马哈公司另一种格式是 *.vqf,它的核心是减少数据流量但保持音质的方法来达到更高的压缩比,可以说技术上也是很先进的,但是由于宣传不力,这种格式难有用武之地。 音频的处理 音频的数字化处理 : ( 1) 根据音频信号的频谱范围选定一定的采样频率。 根据最基本的香农采样定理,采样频率需至少是信号最高频率的 2倍以上。 ( 2) 有了采样频率, AD 转换器就按照该时间间隔对输入的音频信号进行采样、保持、量化编码。 这样模拟的音频信号就变成了纯数字量。 音频处理的步骤: 音频 低通滤波 AD采样 数据处理(差错控制等) 存储或者传输 节拍 及音符 所谓音乐的节拍就 是指强拍和弱拍 之间 的组合,常见的 节拍有 2/4, 3/4,4/4, 6/8 拍, 但是对于节拍来说,都是 固定的不变的。 也就是数每一个节拍它的长度以及位数都是事先固定好的,一般情况是允许改变的,如果改变节拍之间的长度,那么对于一首歌曲的乐谱来说,它的音质就会发生变化,即就是发音不准。 在音乐的写作过程中,节拍已经被分成均等的单位,而每一个小的单位通常被称为一个小的节拍,拍子之间的时间就是每一个音乐乐谱的时间值。 一首歌曲可以分成若干个节拍的组合,这样对于一首完整的歌曲它的乐谱以及时间值就会不同,然而导致的就会歌曲的音质与音色就不会不同。 所以对应的频率也会有所变化。 乐曲的 12 平均率规定:每 2个八度音之间的频率要相差 1倍,比如简谱中的中音 2 与高音 2。 在 2个八度音之间, 又可分为 12个半音。 另外,音符 A(简谱中的低音 5)的频率为 392Hz,音符 E到 F之间、 B到 C之间为半音,其余为全 13 音。 由此可以计算出简谱中从低音 l 至高音 1 之间每个音符的频率。 简谱音名与频率对应关系如表 11 所示: 表 11 简谱中的音名与频率的关系 音名 频率 /Hz 音名 频率 /Hz 音名 频率 /Hz 低音 1 中音 1 高音 1 低音 2 中音 2 高音 2 低音 3 中音 3 高音 3 低音 4 中音 4 高音 4 低音 5 中音 5 高音 5 低音 6 440 中音 6 880 高音 6 1760 低音 7 中音 7 高音 7 由于 每一首歌曲的 音阶频率 大多数情况 多为非整数, 但是对于分频的系数又不能出现小数,所以对于分频的系数如果出现了小数点的情况下,我们就会根据小数的大小进行四舍五入。 音符的持续时间 须根据乐曲的速度及每个音符的节拍数来确定。 因此,要控制音符的音长,就必须知道乐曲的速度和每个音符所对应的节拍数。 如果将全音符的持续时间设为 1s的话,那么一拍所应该持续的时间为 秒,则只需要提供一个 4HZ 的时钟频率即可产生四分音符的时长。 至于音长的控制,在自动演奏模块,每个乐曲的音符是按地址存放的,播放乐曲时按 4HZ 的时钟频率依次读取简谱,每个音符持续时间为 秒。 如果乐谱中某个音符为三拍音长,那又该如何控制呢。 其实只要在 3个连续地址存放该音符,这时就会发三个 秒的音长,即持续了三拍的时间, 通过这样一个简单的操作就可以控制音长了。 14 第二章 系统的设计 设计的基本要求 设计一电子琴,可以实现通过按键控制即当下不同的按键会发出不同的声音,同时通过按键能演奏一首歌曲。 基于 FPGA的设计,在内部存储一首歌曲,并且当功能键有效时,就会自动播放这首歌曲。 设计的总体方案 根据系统的 设计要求所实现的两大功能:手动输入 按键 与自动演奏,可 将本系统 分成 控制输入电路 模块, FPGA 电路 模块和扬声电路 模块三部分。 系统框图如图 所示。 音频发生模块由分频器组成,产生 十二 个频率(还可扩展) ,对应 十二 个音符,这些频率经 放大后驱动扬声器 ,即可发出 声音。 键盘选择手动弹奏模式时,按下音符键后就选择相应的 的频率输出, 产生悦耳的 效果;选择自动演奏模式时, 设计者事先在存储器里 编写好的音符 按照顺序一个一个的被读出 ,就会对应相应的分频的频率 ,实现自动 的演奏模式。 图 采用 FPGA设计的电子琴原理方框图 控制输入电路主要是为 使用者所 设计的 ,主要的作用是用户的输入控制 ,即是实现电子琴的功能的选择,它是有功能选择键进行控制的,当功能键低电平有效时,它选择的是有用户有按键输入,进行演奏;当功 能键高电平时,它选择的是 选择自动演奏模式时,存储器里事先编写好的音符信息被依次取出,去选通各个频率输出,实现自动奏乐。 FPGA采用现场可编程逻辑器件( FPGA)制作, 设计者利用软件 EDA技术进行对程序进行设计,然后弄到 FPGA进行实现的 . 同时 FPGA是本 系统的 设计方案的核心内容 ,它 主要是 是实现电子琴功能 的主要控制模块 .由工程师或者设计者事先把程序弄到 FPGA中,通过控制输入,产生不同的分频系数对应相应的频率,来 驱动扬声器 ,发出不同的 音乐 . 控制输入电路 FPGA 扬声电路 15 扬声电路是 一种电声转换部件,它将声音电信号转换成声音。 当 线圈通电 时 ,其线圈就会产生磁场 ,在与磁铁的磁场相互作用下 ,线圈就会振动 ,振动就会发出声音 .简单来说是通电导体在磁场内的受力作用 . 程序设计的流程图 程序设计的流程图如图 所示 . 根据系统实现的的两大功能:手动弹奏与自动演奏,由于每一个音频都会对应一个固定的频率值,因此首先是有用户根据设计的需要进行频率的选择,按本系统的设计要求我们会选择十二个按键控制十二个不同的音符,所以对于设计者 图 程序设计流程图 就会计算每一个频率的分频系数。 然后将 所计算的分频系数进行预置,由于设计者已经将本身的频率预置, 当用户选择不同的音符时,电子琴就会对应查到相应的分频系数,同时将 这些频率经放大。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。