乐曲硬件演奏电路的EDA设计.docx

上传人:b****1 文档编号:2200988 上传时间:2023-05-02 格式:DOCX 页数:32 大小:320.41KB
下载 相关 举报
乐曲硬件演奏电路的EDA设计.docx_第1页
第1页 / 共32页
乐曲硬件演奏电路的EDA设计.docx_第2页
第2页 / 共32页
乐曲硬件演奏电路的EDA设计.docx_第3页
第3页 / 共32页
乐曲硬件演奏电路的EDA设计.docx_第4页
第4页 / 共32页
乐曲硬件演奏电路的EDA设计.docx_第5页
第5页 / 共32页
乐曲硬件演奏电路的EDA设计.docx_第6页
第6页 / 共32页
乐曲硬件演奏电路的EDA设计.docx_第7页
第7页 / 共32页
乐曲硬件演奏电路的EDA设计.docx_第8页
第8页 / 共32页
乐曲硬件演奏电路的EDA设计.docx_第9页
第9页 / 共32页
乐曲硬件演奏电路的EDA设计.docx_第10页
第10页 / 共32页
乐曲硬件演奏电路的EDA设计.docx_第11页
第11页 / 共32页
乐曲硬件演奏电路的EDA设计.docx_第12页
第12页 / 共32页
乐曲硬件演奏电路的EDA设计.docx_第13页
第13页 / 共32页
乐曲硬件演奏电路的EDA设计.docx_第14页
第14页 / 共32页
乐曲硬件演奏电路的EDA设计.docx_第15页
第15页 / 共32页
乐曲硬件演奏电路的EDA设计.docx_第16页
第16页 / 共32页
乐曲硬件演奏电路的EDA设计.docx_第17页
第17页 / 共32页
乐曲硬件演奏电路的EDA设计.docx_第18页
第18页 / 共32页
乐曲硬件演奏电路的EDA设计.docx_第19页
第19页 / 共32页
乐曲硬件演奏电路的EDA设计.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

乐曲硬件演奏电路的EDA设计.docx

《乐曲硬件演奏电路的EDA设计.docx》由会员分享,可在线阅读,更多相关《乐曲硬件演奏电路的EDA设计.docx(32页珍藏版)》请在冰点文库上搜索。

乐曲硬件演奏电路的EDA设计.docx

乐曲硬件演奏电路的EDA设计

摘要

随着科学技术的飞速发展,微电子技术、集成技术和计算机技术也有了迅速的发展,电子系统的设计方法也随之发生变革,基于EDA技术的设计方法也成为现代电子系统设计的主流。

大规模可编程逻辑器件FPGA/CPLD是当今应用最广泛的两类可编程专用集成电路(ASIC)。

由于结构和工艺的改进,可编程ASIC芯片上包含的资源越来越丰富,可实现的功能越来越强,它已成为实现电子系统集成化的重要手段。

特别是可编程逻辑器件的功能和容量的不断扩大,如FPGA(FieldProgrammableGateArray,现场可编程门阵列)使集成电路的设计进入片上系统(SystemonaChip,SOC)或可编程片上系统(SystemonaProgrammableChip,SOPC)的设计时代。

同时采用超高速集成电路硬件描述语言VHDL(VeryHighSpeedIntegratedCircuitHard—wareDescriptionLanguage),其具有多层次描述系统硬件功能的能力,既支持模块化设计,也支持层次化设计,使各种数字化电子系统的设计通过描述芯片功能实现系统功能,从而有效地缩短了产品开发周期,减少了设计芯片的数量,缩小了系统体积,降低了系统能耗,提高了系统的灵活性和可靠性。

关键词FPGA,音乐节拍发生器模块,音乐译码电路模块,数控分频模块

 

 

Abstract

Technicallyflytosoondevelopalongwithscience,micro-electronicstechnique,integrationtechniqueandcalculatortechniquealsohadaquickdevelopmentandthedesignmethodofelectronicssystemalsoimmediatelytookplaceachangeandalsobecomemodernmaincurrentofdesignoftheelectronicssystemaccordingtotheEDAtechnicaldesignmethod.Large-scaleandprogrammableFPGA/CPLDofthelogicsparepartisnowadaystoapplytwotypesofmostextensiveprogrammableappropriationintegratedcircuits(ASIC).Becauseoftheimprovementofstructureandcraft,includeontheprogrammableASICchipoftheresourcesbemoreandmoreabundant,cancarryoutofthefunctionbemoreandmorestrong,ithasbecometocarryoutelectronicssystemtheintegrationturnofimportantmeans.Functionandcapacityofespeciallyprogrammablelogicsparepartcontinuouslyextendandmakethedesignofintegratedcircuitgetintoasliceoftopsystem(theSystemonaChip,SOC)orprogrammableslicethetopsystem(aProgrammableoftheSystemonChip,SOPC)suchastheFPGA(theGateArrayoftheFieldProgrammable,thespotprogrammabledoorarray)ofdesignages.AdoptinthemeantimeextremelyhighsoontheintegratedcircuithardwaredescribelanguageVHDL(theCircuitDescriptionLanguageoftheHard-wareoftheSpeedIntegratedoftheVeryHigh),ithasthesystemhardwareofthemultilayersdescriptiontheabilityofthefunction,sincesupportthemoldpieceturnadesign,alsosupportlayer'sturnadesignandmakevariousnumeralturnthedesignofelectronicssystemtopassdescriptionchipfunctiontocarryoutsystemfunction,thusandavailablyshortennedaproductadevelopmentaperiod,reducedtodesignchipofamount,contractedasystemphysicalvolume,loweringsystemcanconsumeandraisedthevividandcredibilityofthesystem.

KeywordsFPGA,themusicrhythmoccurrencemachinemoldpiece,musictranslatesthecodeelectriccircuitmoldpieceandthenumbercontrolsthePinmoldofcentapiece

 

目录

摘要I

AbstractII

1引言1

1.1ASIC技术1

1.2可编程专用集成电路ASIC1

1.2.1概述1

1.2.2主要特点1

1.2.3发展前景2

1.3EDA技术2

1.3.1概述2

1.3.2EDA技术的发展趋势2

2乐曲演奏系统设计原理分析3

2.1乐曲演奏基本要求3

2.2乐曲演奏原理3

3系统硬件设计6

3.1FPGA的介绍6

3.1.1FPGA的基本结构6

3.1.2Altera公司的FPGA6

3.2FLEX系列的结构特点7

3.2.1概述7

3.2.2FLEX的特点7

4乐曲硬件演奏电路的层次化设计方案8

4.1音乐节拍发生器NoteTabs8

4.2音符译码电路ToneTaba模块13

4.3数控分频模块Speakera设计15

4.4乐曲硬件演奏电路的顶层设计和仿真17

总结20

致谢21

参考文献22

附录23

1引言

1.1ASIC技术

ASIC(ApplicationSpecificIntegratedCircuits)专用集成电路,与通用集成电路相比,它是面向专门用途的电路,以此区别于标准逻辑(StandardLogic)、通用寄存器、通用微处理器等电路。

ASIC是相对于通用集成电路而言的,两者并无明显界限。

ASIC的提出和发展说明集成电路进入了一个新的阶段,通用的、标准的集成电路已不能完全适应电子系统的急剧变化和更新换代。

目前,ASIC在总的IC市场中的占有率已大大提高。

与通用集成电路相比,ASIC在构成电子系统时具有以下几个方面的优越性:

(1)提高了产品的可靠性。

用了ASIC芯片进行系统合成后,外部连线减少,为调试和维修带来了极大地方便,系统可靠性明显提高。

(2)易于获得高性能。

ASIC针对专门的用途而特别设计,它是系统设计、电路设计和工艺设计的紧密结合,这是一体化的设计有利于得到前所未有的高性能系统。

(3)可增强产品的保密性和竞争力。

电子产品中的ASIC芯片对用户来说相当于一个“黑盒子”。

(4)在大批量应用时,可显著降低产品的综合成本。

用ASIC来设计和生产产品大幅度减少了印刷电路板面积及其他元器件数量,降低了装配调试费用。

(5)提高了产品的工作速度。

(6)缩小了体积,减轻了重量,降低了功耗。

1.2可编程专用集成电路ASIC

1.2.1概述

可编程ASIC包括简单可编程ASIC和复杂可编程ASIC。

现场可编程ASIC主要是指现场可编程门阵列FPGA,它是与传统PLD不同的一类可编程ASIC。

它类似于半定制门阵列的通用结构,即由逻辑功能排列成的阵列组成,并由可编程的互连资源连接这些逻辑功能块来实现所需的设计。

从某种意义上说,FPGA是一种将门阵列的通用结构与PLD的现场可编程性融于一体的新型器件,具有集成度高、通用性好、设计灵活、编程方便、产品上市快等多方面的优点。

1.2.2主要特点

1.缩短了研发周期

2.降低了设计成本

3.提高了设计灵活性

1.2.3发展前景

1.为了迎接系统级芯片时代,向密度更高、速度更快、频带更宽的百万门方向发展

2.向系统内可重构的方向发展

3.向高速可预测延时器件的方向发展

4.向混合可编程技术方向发展

5.为了方便用户设计和特殊功能应用,向嵌入通用或标准功能模块方向发展

6.为了适应全球环保潮流,向低电压低功耗的绿色元件方向发展

1.3EDA技术

1.3.1概述

EDA(ElectronicDesignAutomation)即电子设计自动化,EDA技术指的是以计算机硬件和系统软件为基本工作平台,继承和借鉴前人在电路和系统、数据库、图形学、图论和拓扑逻辑、计算数学、优化理论等多学科的最新科学技术成果而研制成的商品化通用支撑软件和应用程序包。

EDA旨在帮助电子工程师在计算机上完成电路的功能设计、逻辑设计、性能分析、时序测试直至PCB(印刷电路板)的自动设计。

EDA技术基本特征:

1.“自顶向下”的设计方法

2.硬件描述语言

3.逻辑综合优化

4.开放性和标准化

5.库(Library)的引入

1.3.2EDA技术的发展趋势

1.软件开发工具的发展趋势

(1)具有混合信号处理能力的EDA工具

(2).有效的仿真工具的发展

(3).理想的设计综合工具的开发

2.可编程器件的发展趋势

3.输入方式发展趋势

(1).输入方式简便化趋势

(2).输入方式高效化和统一化趋势

2乐曲演奏系统设计原理分析

2.1乐曲演奏基本要求

利用FPGA,设计一个乐曲硬件演奏电路。

演奏时可选择键盘输入乐曲或者已存入的乐曲,并配以一个小扬声器。

乐曲的12平均率规定:

每2个八度音(如简谱中的中音1与高音1)之间的频率相差1倍。

在2个八度音之间,又可分为12个半音,每2个半音的频率比为12/2。

另外,音符A(简谱中的低音6)的频率为440Hz,音符B到C之间、E到F之间为半音,其余为全音。

由此可以计算出简谱中从低音l至高音1之间每个音符的频率。

设计音符查找表电路模块,时钟模块,数控分频器模块,音乐节拍产生模块电路。

任意选择歌曲进行设计,并加前奏5353111。

2.2乐曲演奏原理

声音的频谱范围一般在几十到几千赫兹,利用程序来控制FPGA芯片某个引脚输出一定频率的矩形波,接上扬声器就能发出相应频率的声音。

乐曲中的每一个音符对应着一个确定的频率,因此,要想发出不同音符的音调,只要能控制输出相应音符的频率即可。

乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依次输出这些音符所对应的频率,就可以往扬声器上连续地发出各个音符的音调 。

而要准确地演奏出一首乐曲,仅仅让扬声器能够发声是不够的,还必须准确地控制乐曲的节奏,即每个音符的持续时间,也就是节拍。

设计的关键是要准确地产生乐曲中每个音符的发音频率,并根据乐曲要求按音符需要的节拍输出,这是乐曲能够演奏的两个关键因素,但是以纯硬件完成演奏电路比利用微处理器来实现乐曲演奏要复杂的多,如果不凭借EDA工具和硬件描述语言,凭借传统的数字逻辑技术,即使最简单的演奏电路也难以实现。

乐曲硬件演奏电路系统主要有数控分频器和乐曲存储模块组成。

数控分频器对FPGA的基准频率进行分频,得到与各个音阶对应的频率输出。

乐曲存储模块产生节拍控制和音阶选择信号,即在此模块中可存放一个乐曲曲谱真值表,由一个计数器来控制此真值表的输出,而由计数器的计数时钟信号作为乐曲节拍控制信号。

乐曲演奏电路的结构框图如下所示:

图2.1乐曲演奏电路结构方框图

(1)音名与频率的关系

音乐的12平均率规定:

每2个八度音(如简谱中的中音1与高音1)之间的频率相差1倍。

在2个八度音之间,又可分为12个半音,每2个半音的频率比为12/2。

另外,音符A(简谱中的低音6)的频率为440Hz,音符B到C之间、E到F之间为半音,其余为全音。

由此可以计算出简谱中从低音l至高音1之间每个音符的频率。

如表2.1所示:

表2.1简谱中的音名与频率的关系

音名

频率/Hz

音名

频率/Hz

音名

频率/Hz

低音1

261.3

中音1

532.25

高音1

1046.50

低音2

293.67

中音2

587.33

高音2

7046.50

低音3

329.63

中音3

659.25

高音3

1318.51

低音4

349.23

中音4

698.46

高音4

1396.92

低音5

391.99

中音5

783.99

高音5

1567.98

低音6

440

中音6

880

高音6

1760

低音7

493.88

中音7

987.76

高音7

1975.52

由于音阶频率多为非整数,而分频系数又不能为小数,故必须将得到的分频系数四舍五入取整。

若基准频率过低,则由于分频系数过小,四舍五入取整后的误差较大,若基准频率过高,虽然误码差变小,但分频结构将变大。

实际的设计应综合考虑两方面的因素,在尽量减小频率误差的前提下取舍合适的基准频率。

本例中选取4MHz的基准频率,若无4MHz的时钟频率,实际上,只要各个音名间的相对频率关系不变,C作1与D作1演奏出的音乐听起来都不会“走调”。

各音阶频率计相应的分频系数如表2.2所示。

为了减少输出的偶次谐波分量,最后输出到扬声器的波形应为对称方波,因此在到达扬声器之前,又一个2分频的分频器。

表2.2中的分频系数就是从4MHz频率2分频得到的2MHz频率基础上计算得出的。

表2.2各音阶频率对应的分频值

音名

分频系数

初始值

音名

分频系数

初始值

音名

分频系数

初始值

低音1

7644

547

中音1

3822

4369

高音1

1911

6280

低音2

6810

1381

中音2

3405

4786

高音2

1270

6921

低音3

6067

2124

中音3

3034

5157

高音3

1517

6674

低音4

5727

2464

中音4

2864

5327

高音4

1432

6759

低音5

5102

3089

中音5

2551

5640

高音5

1256

6935

低音6

4545

3646

中音6

2273

5918

高音6

1137

7054

低音7

4050

4141

中音7

2025

6166

高音7

1013

7178

由于最大分频系数为7644,故采用13位二进制计数器已能满足分频要求。

在表2-2中,除了给出了分频比以外,给出了对应于各个音阶频率时计数器不同的初始值,对于乐曲中的休止符,要将分频系数设为0,即初始值为8191即可,此时扬声器将不会发声。

对于不同的分频系数,加载不同的初始值即可。

用加载初始值而不是将分频输出译码反馈,可以有效地减少成本设计占用可编程逻辑器件的资源,也是同步计数器地一个常用设计技巧。

(2)控制音长的节拍发生器

该演奏电路演奏的乐曲是“梁祝”片段,其最小的节拍为1拍。

将1拍的时长定为0.25s,则只需要再提供一个4Hz的时钟频率即可产生1拍的时长,演奏的时间控制通过ROM查表的方式来完成。

对于占用时间较长的节拍(一定是拍的整数倍),如全音符为4拍(重复4),2/4音符为2拍(重复2),1/4音符为1拍(重复1)。

要求演奏时能循环进行,因此需另外设置一个时长计数器,当乐曲演奏完成时,保证能自动从头开始演奏。

该计数器控制真值表按顺序输出简谱。

 

3系统硬件设计

用EDA设计的音乐演奏电路主要用到了现场可编程门阵列(FPGA)。

3.1FPGA的介绍

现场可编程门阵列(FPGA)在结构上由逻辑功能块排列为阵列,并由可编程的内部连线连接这些功能块,来实现一定的逻辑功能。

FPGA的功能由逻辑结构的配置数据决定,在工作时,这些配置数存放在片内的SRAM或者熔丝图上。

使用SRAM的FPGA,在工作前需要从芯片外部加载配置数据,这些配置可以存放在片外的EPROM或其他存储体上,人们可以控制加载过程,在现场修改器件的逻辑功能。

FPGA可以替代其他PLD器件或者各种中小规模数字逻辑芯片在数字系统中广泛应用。

FPGA也是实现各种不同逻辑功能ASIC的有效方法。

FPGA是进行原型设计最理想的载体,原型机的最初框架和是实现通过FPGA验证,可以降低成本、缩短开发周期。

利用FPGA的可重配置功能,可以在使用过程中,在不改变设计的设备的硬件电路情况下,改变设备功能。

3.1.1FPGA的基本结构

FPGA在结构上包含3类结构可编程资源:

可编程逻辑功能模块(ConfigurableLogicBlock,CLB),可编程I/O块(I/OBlock,IOB)和可编程互连(InterconnectResource,IR)。

可编程逻辑功能模块是实现用户功能的基本单元,它们通常排列成一个阵列,散布于整个芯片;可编程I/O块完成芯片上逻辑与外部封装的接口,常阵列于芯片四周,可编程内部互联包括各种长度的线段和编程连接开关,它们将各个可编程逻辑块或I/O块连接起来,构成特定功能的电路。

不同厂家生产的FPGA在可编程逻辑功能块的规模、内部互连线的结构和采用的可编程元件上存在较大的差异。

较常用的是Xilinx和Altera公司的FPGA器件。

常见的FPGA结构主要有:

查找表结构、多路开关结构、多级与非门结构。

3.1.2Altera公司的FPGA

Altera公司的FPGA器件采用钢铝布线的先进CMOS技术,具有非常低的功耗和相当高的速度,而且采用连续式互连结构,提供快速的、连续的信号延迟。

Altera器件密度从300~4000000门,能很容易的集成现有的各种逻辑器件,高集成度的FPGA提供更高的系统性能,更高的可靠性,更高的性能价格比。

Altera公司的FPGA产品有:

FLEX6000/8000/10K、APEX20K、ACEX1K、Mercury、Excalibur和Stratix等系列。

不同型号的Altera公司的FPGA具有不同的内部结构,灵活逻辑单元矩阵、ACEX1K系列器件采用查找表结构来实现逻辑功能;先进可编程逻辑阵列(APEX)系列器件的结构特征是查找表(LUT)和嵌入式寄存器;Mercury系列器件基于查找表结构,其特征是具有时钟数据恢复和一个性能优化的核;Excalibur的结果特征是基于ARM和基于MIPS的硬核微处理器。

每种器件系列针对具体的应用都具有各自的特点。

3.2FLEX系列的结构特点

3.2.1概述

FLEX系列是Altera公司推出的主流产品,具有高密度、在线配置、高速度与连续式布线结构等特点。

它的集成度达到了10万门级,而且,它还是业界首次集成了嵌入式阵列模块EAB的芯片。

5392个寄存器;采用0.5umCMOSSRAM工艺制造;具有在系统可配置特性;在所有I/O端口中有I/O寄存器;3.3V或5.0V工作模式。

所谓EAB,实际上是一种大规模的SRAM资源,它可以方便地被设置为RAM、ROM、FIFO以及双口RAM等存储器。

EAB的出现极大地拓展了PLD芯片的应用领域。

3.2.2FLEX的特点

(1)高密度,典型门数达10000~250000,逻辑单元数为576~12160.

(2)功能更强大的I/O口引脚,每一个引脚都是独立的三态门结构,具有可编程的速率控制。

(3)嵌入式阵列块(EAB),每个EAB提供2K比特位,可用来作存储器使用或用来实现逻辑功能。

(4)逻辑单元采用查找表(LUT)结构。

(5)采用连续式的快速通道互连,可精确预测信号在器件内部的延时。

(6)实现快速加法器和计数器的专用进位链。

(7)实现高速、多输入逻辑函数的专用级联链。

FLEX10K系列器件提供六个专用输入引脚,驱动触发器的控制输入,以保证高速、低摆率控制信号的有效分配。

这些信号使用专用布线通道。

4个全局信号可由4个专用的输入引脚驱动,也可由内部逻辑驱动,后者可提供分频信号或内部异步清零信号。

 

4乐曲硬件演奏电路的层次化设计方案

根据层次化的设计思路,可把乐曲硬件演奏电路分为3个模块,音乐节拍发生器NoteTabs模块,音符译码电路ToneTaba模块,数控分频模块(Speakera)。

4.1音乐节拍发生器NoteTabs

该模块将利用FPGA的片内ROM存放乐曲简谱真值表,有一个二进制计数器为乐曲数据存储器ROM的地址发生器。

该计数器的计数频率为4HZ,即每一个数值的停留时间为0.25S,随着NoteTabs中计数器按4HZ的时钟频率做加法计数时,即随地址增加时,乐曲数据存储器ROM中的音符数据,将从ROM中的输出口输向音符译码电路ToneTabas,所以所存的乐曲就自然的演奏起来。

其VHDL源程序如下:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYNoteTabsIS

PORT(clk:

INSTD_LOGIC;

ToneIndex:

OUTINTEGERRANGE0TO15);

END;

ARCHITECTUREoneOFNoteTabsIS

SIGNALCounter:

INTEGERRANGE0TO146;

BEGIN

CNT8:

PROCESS(clk)

BEGIN

IFCounter=146THENCounter<=0;

ELSIF(clk'EVENTANDclk='1')THEN

Counter<=Counter+1;

ENDIF;

ENDPROCESS;

Search:

PROCESS(Counter)

BEGIN

CASECounterIS--译码器,查歌曲的乐谱表,查表结果为音调表的索引值

WHEN00=>ToneIndex<=5;

WHEN01=>ToneIndex<=3;

WHEN02=>ToneInde

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2