智能音乐保险盒.docx

上传人:b****8 文档编号:10864179 上传时间:2023-02-23 格式:DOCX 页数:79 大小:171.95KB
下载 相关 举报
智能音乐保险盒.docx_第1页
第1页 / 共79页
智能音乐保险盒.docx_第2页
第2页 / 共79页
智能音乐保险盒.docx_第3页
第3页 / 共79页
智能音乐保险盒.docx_第4页
第4页 / 共79页
智能音乐保险盒.docx_第5页
第5页 / 共79页
点击查看更多>>
下载资源
资源描述

智能音乐保险盒.docx

《智能音乐保险盒.docx》由会员分享,可在线阅读,更多相关《智能音乐保险盒.docx(79页珍藏版)》请在冰豆网上搜索。

智能音乐保险盒.docx

智能音乐保险盒

目录

前言

第一章绪论1

1.1EDA概述1

1.1.1EDA简介1

1.1.2EDA技术的优势-2-

1.1.3EDA的编程-2-

1.1.4EDA的发展趋势-3-

1.2基于EDA设计的选题-4-

第二章智能音乐保险盒的简单介绍-5-

2.1设计方案-5-

2.2EDA常用软件-5-

2.2.1PCB设计软件-6-

2.2.2 其它EDA软件-6-

2.3硬件描述语言-7-

2.3.1VHDL介绍-7-

2.3.2实体介绍-8-

2.3.3端口说明(PORT)-9-

2.3.4结构体-11-

2.3.5进程(PROCESS)-12-

2.3.6进程中的信号与变量赋值-13-

2.3.7库和程序包-15-

2.3.8其他语句-17-

2.3.9VHDL设计基本概念和语言现象小节-20-

2.4Max+plusⅡ介绍-21-

2.4.1概述-21-

2.4.2Max+plusⅡ功能简介-23-

2.4.3Max+plusⅡ设计过程-26-

2.4.4Max+PlusⅡ软件的使用及设计流程-28-

2.5ProtelDXP概述-31-

第三章智能音乐保险盒的设计思路-36-

3.1核心芯片选择-36-

3.2智能音乐保险盒的设计-37-

3.2.1音乐保险盒的结构和工作原理-37-

3.2.2键盘控制-38-

3.2.3音乐演奏电路-38-

3.2.4密码设置-39-

3.3设计步骤-39-

3.3.1设计输入-39-

3.3.2仿真测试及编程下载配置-40-

3.3.3硬件测试-40-

3.4音乐设计-40-

3.4.1音乐演奏电路原理-41-

3.4.2乐曲演奏电路的设计与实现-42-

3.4.3音符频率的获得-43-

第四章智能音乐保险盒的硬件设计-47-

4.1实验箱简介-47-

4.1.1概述-47-

4.1.2实验箱特点:

-48-

4.2核心芯片介绍-49-

4.2.1核心处理部分-49-

4.2.2支撑部分-50-

4.2.3全面的配置-52-

4.3音乐硬件演奏电路的设计实现-53-

4.3.1各个模块的功能简介-53-

4.3.2music模块-53-

4.3.3地址发生器模块-54-

4.3.4地址发生器的VHDL设计-54-

4.4设计注意事项-54-

第五章智能音乐保险盒的软件设计-56-

5.1软件设计思路-56-

5.2软件设计-57-

5.3分频预置数模块-58-

5.3.1分频预置数模块的VHDL设计-58-

5.3.2十六进制模块-58-

5.3.3数控分频模块-58-

5.3.4数控分频模块的VHDL设计-59-

5.4综合仿真-60-

第六章总结-62-

附录一-63-

附录二-93-

中英文资料

参考文献

致谢

前言

20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有利地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快微电子技术的进步表现在大规模集成电路加工技术,即半导体工艺技术的发展上。

现代电子设计技术的核心已日趋转向基于计算机的电子设计自动化技术,即EDA(ElectronicDesignAutomation)技术。

EDA技术在进入21世纪后,得到了更大的发展在FPGA上实现DSP(数字信号处理)应用,嵌入式处理器软件的成熟,自主知识产权等等。

国际上在电子和计算机技术方面较先进的国家,一直在积极探索新的电子电路设计方法,在设计方法、工具等方面进行了彻底的变革,并取得了巨大成功。

在电子技术设计领域,可编程逻辑器件的应用,已得到很好的普及,这些器件为数字系统的设计带来了极大的灵活性。

由于该器件可以通过软件编程而对其硬件结构和工作方式进行重构,使得硬件的设计可以如同软件设计那样方便快捷。

这一切极大地改变了传统的数字系统设计方法、设计过程和设计理念,促进了EDA技术的迅速发展。

EDA是电子设计自动化的英文缩写,是从计算机辅助设计、计算机辅助制造、计算机辅助测试和计算机辅助工程的概念发展而来的。

EDA技术就是以计算机为工具,设计者在EDA软件平台上用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线、仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

EDA技术的出现,极大地提高了电路设计的效率和可靠性,减轻了设计者的劳动强度。

随着基于PLD的EDA技术的发展和应用领域的扩大与深入,EDA技术在电子信息、通信、自动控制及计算机应用等领域的很需要性日益突出。

随着技术市场与人才市场对EDA的需求不断提高,产品的市场需求和技术市场的要求也必然会反映到教学和科研领域中来。

目前,EDA技术在我国还处于初级阶段,电子产品的设计正逐步转达向由EDA技术来实现,社会需要大量EDA技术人才。

为促进我国EDA技术的发展,培养大批优秀的EDA技术人才,许多高等院校纷纷加大对EDA技术的研究,加强EDA实验室的建设,并在研究生、本科生甚至大专生中增开了EDA技术的相关课程。

此次毕业设计就是围绕EDA来设计一个智能音乐保险盒。

可以设计出键盘控制电路与演奏音乐两大模块,在这基础上,还需设计一个SET模块来完成电子密码锁功能的设计。

一旦输入的密码跟所设置的密码一致,则输出信号有效(高电平),输出信号控制演奏音乐,此时音乐响起;若密码不正确,最多有效输入三次,并指示输入错误及输入次数,输完三次无效后密码锁死锁,必须依靠启动信号,给一低电平,重新打开密码锁功能。

 

\

第一章绪论

1.1EDA概述

1.1.1EDA简介

EDA:

电子设计自动化,在EDA工具软件平台上,对以硬件描述语言HDL为系统。

利用EDA技术进行电路设计的大部分工作是在EDA软件工作平台上进行的,EDA设计流程包括设计准备、设计输入、设计处理、和器件编程四个步骤以及相应的功能仿真、时序仿真和器件测试三个设计验证过程。

设计输入有多种方式,包括采用硬件描述语言(如AHDL、VHDL和VerilogHDL等)进行设计的文本输入方式、图形输入方式和波形输入方式,或者采用文本、图形两者混合的设计输入方式。

也可以采用“自顶向下”的层次结构设计方法,将多个输入文件合并成一个设计文件等。

设计处理是EDA设计中的核心环节。

在设计处理阶段,编译软件将对设计输入文件进行逻辑化简、综合和优化,并适当地用一片或多片器件自动地进行适配,最后产生编程用的编程文件。

设计处理主要包括设计编译和检查、逻辑优化和综合、适配和分割、布局和布线、生成编程数据文件等过程。

 正因为EDA技术丰富的内容以及与电子技术各学科领域的相关性,其发展的历程同大规模集成电路设计技术、计算机辅助工程、可编程逻辑器件,以及电子设计技术和工艺的发展是同步的。

1.1.2EDA技术的优势

1.可以大大降低设计成本,缩短设计周期。

2.库都是EDA公司与半导体生产厂商合作、共同开发。

3.极大地简化设计文档的管理。

4.极大地提高了大规模系统电子设计的自动化程度。

5.设计者拥有完全的自主权,再无受制于人。

6.良好的可移植与可测试性,为系统开发提供可靠的保证。

7.能将所有设计环节纳入统一的自顶向下的设计方案中。

8.在系统板设计结束后仍可利用计算机对硬件系统进行完整的测试。

1.1.3EDA的编程

编程是指将设计处理中产生的编程数据文件通过软件放到具体的可编程逻辑器件中去。

对CPLD器件来说是将熔丝图JED文件下载到CPLD器件中去,对FPGA来说是将位流数据BG文件配置到FPGA器件中去。

设计验证可以在EDA硬件开发平台上进行。

EDA硬件开发平台的核心部件是一处可编程逻辑器件FPGA或CPLD,再附加一些输入/输出设备,如按键、数码显示器、指示灯等,还提供时序电路需要的脉冲源,将设计电路编程下载到FPGA或CPLD中后,根据EDA硬件开发平台的操作模式要求,进行相应的输入操作,然后检查输出结果,验证设计电路。

硬件描述语言HDL是EDA技术中的重要组成部分,常用的硬件描述语言有AHDL、VHDL和VerilogHDL,而VHDL和VerilogHDL是当前最流行的并成IEEE标准的硬件描述语言。

专家认为,在新世纪中,VHDL与VerilogHDL语言将承担起几乎全部的数字系统设计任务。

1.1.4EDA的发展趋势

20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。

这一发展趋势表现在如下几方面:

(1)超大规模集成电路的集成度和工艺水平不断提高,深亚微米工艺已经走向成熟,在一个芯片上完成系统级的集成已成为可能。

(2)由于工艺线宽的不断减小,在半导体材料上的许多寄生效应,已经不能简单地被忽略。

这就对EDA工具提出了更高的要求。

同时,也使得IC生产线的投资更为巨大,可编程逻辑器件开始进入传统的ASIC市场。

(3)市场对电子产品提出了更高的要求,如必须降低电子系统的成本,减小系统的体积等,从而对系统的集成度不断提出更市制要求。

同时,设计的速度也成了一个产品能否成功的关键因素,促使EDA工具和IP应用更为广泛。

(4)高性能的EDA工具得到长足的发展,其自动化和智能化程度不断提高,为嵌入式系统设计提供了功能强大的开发环境。

(5)计算机硬件平台性能大幅度提高,为复杂的SoC设计提供了物理基础。

1.2基于EDA设计的选题

随着社会物质财富的日益增长,需要物品存放的也越来越多,安全防盗已成为全社会关注的问题。

这样就急需要设计一个便于操作、具有娱乐性的安全可靠、使用方便的保险盒。

这个保险盒会越来越受到人们的青睐。

其除了能够保存人们的物品外,还具有娱乐性,简化了系统结构,降低了成本,提高了系统的可靠和保密性。

通过基于EDA智能音乐保险盒的设计,掌握VHDL语言,熟练使用VHDL语言进行大规模电路系统的设计。

本设计设计出键盘控制电路与演奏音乐两大功能模块,在这基础上,还需设计一个SET模块来完成电子密码锁功能的设计。

该智能音乐保险盒实用性强,占用硬件资源少,体积小,反映速度快,便于操作,娱乐性强,能很快掌握EDA技术并应用到实际的工作。

第二章智能音乐保险盒的简单介绍

2.1设计方案

作为音乐保险盒,主要由三个部分组成:

数字密码输入电路、音乐控制电路和保险盒显示电路。

根据以上选定的输入设备和显示器件,并考虑到实现各项保险盒功能的具体要求,

(1)音乐保险盒输入电路包括时序产生电路、键盘扫描电路、键盘弹跳消除电路、键盘译码电路等几个小的功能电路。

(2)音乐保险盒控制电路包括按键数据的缓冲存储电路,密码的清除、变更、存储、激活电锁电路(寄存器清除信号发生电路),密码核对(数值比较电路),解锁电路(开/关门锁电路)等几个小的功能电路。

(3)七段数码管显示电路主要将待显示数据的BCD码转换成数码器的七段显示驱动编码。

2.2EDA常用软件 

EDA工具层出不穷,目前进入我国并具有广泛影响的EDA软件有:

EWB、Spice、OrCAD、PCAD、Protel、Viewlogic、Mentor、Graphics、Synopsys、LSIlogic、Cadence等等。

这些工具都有较强的功能,一般可用于几个方面,例如很多软件都可以进行电路设计与仿真,同时也可以进行PCB自动布局布线,可输出多种网表文件与第三方软件接口。

2.2.1PCB设计软件

 

PCB(Printed—Circuit Board)设计软件种类很多,如Protel、OrCAD、PowerPCB、Cadence PSD、MentorGraphices的Expedition PCB、Winboard/Windraft/IvexSPICE、PCB Studio等等。

目前在我国使用最普遍的应属Protel。

 

 Protel是PROTEL(现更名为Altium)公司在20世纪80年代末推出的CAD工具。

它较早在国内使用,普及率很高。

早期的Protel主要作为印刷板自动布线工具使用,现在普遍使用的是Protel 99 SE。

它是个完整的全方位电路设计系统,包含了电原理图绘制、模拟电路与数字电路混合信号仿真、多层印刷电路板设计,可编程逻辑器件设计等功能,并具有Client/Server体系结构,同时还兼容一些其它设计软件的文件格式。

Protel软件功能强大、界面友好、使用方便。

它最具代表性的是电路设计和PCB设计。

 

2.2.2 其它EDA软件 

(1)VHDL语言:

超高速集成电路硬件描述语言(VhsicHardwareDeseriptionLanguagt,简称VHDL),是IEEE的一项标准设计语言主。

它源于美国国防部提出的超高速集成电路(VeryHighSpeedIntegratedCircuit,简称VHSIC),是ASIC设计和PLD设计的一种主要输入工具。

(2)VeriolgHDL:

Verilog公司推出的硬件描述语言,在ASIC设计方面与VHDL平分秋色。

2.3硬件描述语言

2.3.1VHDL介绍

VHDL的英文全名是VHSIC(VeryHighSpeedIntegratedCircuit)HardwareDescriptionLanguage,于1983年由美国国防部(DOD)发起创建,由IEEE(TheinstituteofE1ectricalandE1ectronicsEngineers)进一步发展,并在1987年作为“IEEE标准1076”发布。

在EDA技术应用中,自顶向下的设计方法,就是在整个设计流程中各设计环节逐步求精的过程。

应用VHDL进行自顶向下的设计,就是使用VHDL模型在所有综合级别上对硬件设计进行说明、建模和仿真测试。

VHDL作为一个规范语言的建模语言,随着VHDL的标准化,出现了一些支持该语言的行为仿真器。

由于创建VHDL的最初目标是用于标准文档的建立和电路功能模拟,其基本想法是在高层次上描述系统和元件的行为。

但到了20世纪90年代初,人们发现,VHDL不仅可以作为系统模拟的建模工具,而且可以作为电路系统的设计工具,可以利用软件工具将VHDL源码自动地转化为文本方式表达的基本逻辑元件连接图,即网表文件。

这种方法显然对于电路自动设计是一个极大的推进。

很快,电子设计领域出现了第一个软件设计工具,即VHDL逻辑综合器,它把标准VHDL部分语句描述转化为具体电路实现的网表文件。

VHDL具有与具体硬件电路无关和与设计平台无关的特性,并且具有良好的电路行为描述和能力,在语言易读性和层次化结构化设计方面表现了强大的生命力和应用潜力。

因此,VHDL支持各种模式的设计方法:

自顶向下与自底向上或混合方法,在面对当今许多电子产品生命周期缩短,需要多次重新设计以融入最新技术、改变工艺等方面,VHDL具有良好的适应性。

用VHDL进行电子系统设计的一个很大的优点是设计者可以专心致力于其功能的实现,而不需要对不影响功能的与工艺有关的因素花费过多的时间和精力。

一个完整的VHDL程序,或者说设计实体,通常要求最低能为VHDL综合器所支持,并能作为一个独立的设计单元,即元件的形式而存在的VHDL程序。

在VHDL程序中,通常包含实体(ENTITY)、结构体(ARCHITECTURE)、配置(CONFIGURATION)、包集合(PACKAGE)和库(LIBRARY)5个部分。

其中实体和结构体这两个基本结构是必需的,他们可以构成最简单的VHDL程序。

2.3.2实体介绍

设计实体是VHDL语言设计的基本单元,简单的可以是一个与门,复杂的可以是一个微处理器或一个数字系统,其结构基本是一致的,都是由实体说明和结构体两部分组成。

实体说明是对这个设计实体与外部电路进行接口的描述,它规定了设计单元的输入输出接口信号或引脚,是设计实体对外的一个通信界面。

结构体用于描述此设计实体的逻辑结构和逻辑功能。

实体语句结构如下:

ENTITY实体名IS

[GENERIC(类属表);]

[PORT(端口表);]

ENDENTITY实体名;

注意:

实体应以语句“ENTITY实体名IS”开始,语句“ENDENTITY实体名;”结束。

在层次化系统设计中,实体说明是整个模块或整个系统的输入输出(I/O)接口;在一个器件级的设计中,实体说明是一个芯片的输入输出(I/O)。

2.3.3端口说明(PORT)

端口为设计实体和其外部环境提供动态通信的通道,是对基本设计单元与外部接口的描述,其功能相当电路图符号的外部引脚。

端口可以被赋值,也可以当做逻辑变量用在逻辑表达式中。

其一般书写格式为:

PORT(端口名:

端口模式数据类型;

端口名:

端口模式数据类型;

……);

其中端口名是设计者为实体的每一个对外通道所取的名字,通常为英文字母加数字,名字的定义有一定的惯例,如clk表示时钟,D开头的端口名表示数据,A开头的端口名表示地址。

端口模式是指这些通道上的数据流动的方式,如输入或输出等。

端口模式有以下几种类型:

1.输入(IN)

允许信号进入实体,主要用于时钟输入、控制输入(如load、reset、enable、clk)和单向的数据输入(如地址数据信号address)等。

2.输出(OUT)

输出模式只允许信号离开实体,常用于计数输出、单向数据输出、被设计实体产生的控制其他实体的信号等。

注意:

输出模式不能用于被设计实体的内部反馈,因为输出端口在实体内不能看作是可读的。

3.双向模式(INOUT)

双向模式允许信号双向传输(既可以进入实体,也可以离开实体),双向模式端口允许引入内部反馈。

4.缓冲(BUFFER)

缓冲模式允许信号输出到实体外部,但同时也可以在实体内部引用该端口的信号。

缓冲端口既能用于输出也能用于反馈。

缓冲模式用于在实体内部建立一个可读的输出端口,例如计数器输出、计数器的现态用来决定计数器的次态。

2.3.4结构体

结构体也叫构造体,结构体描述了基本设计单元(实体)的结构、行为、元件及内部连接关系,也就是说它定义了设计实体的功能,规定了设计实体的数据流程,制定了实体内部元件的连接关系。

结构体对其基本设计单元的输入和输出关系可用以下三种方式进行描述,即行为描述(基本设计单元的数学模型描述)、寄存器传输描述(数据流描述)和结构描述(逻辑元件连接描述)。

结构体是对实体功能的具体描述,因此它一定要跟在实体的后面。

结构体一般由两大部分组成:

1、对数据类型、常数、信号、子程序和元件等因素进行说明的部分;

2、描述实体的逻辑行为、以各种不同的描述风格表达的功能描述语句,包括各种顺序语句和并行语句。

结构体的语句格式为:

ARCHITECTURE结构体名OF实体名IS

[定义语句]

BEGIN

[功能描述语句]

END结构体名;

结构体信号定义语句必须放在关键词ARCHITECTURE和BEGIN之间,用于对结构体内部将要使用的信号、常数、数据类型、元件、函数和过程加以说明。

需要注意的是实体说明中定义的信号是外部信号,而结构体定义的信号为该结构体的内部信号,它只能用于这个结构体中。

结构体中的信号定义和端口说明一样,应有信号名称和数据类型定义。

因为它是内部连接用的信号,因此不需要方向说明。

结构体功能描述语句位于BEGIN和END之间,具体地描述了构造体的行为及其连接关系。

结构体的功能描述语句可以含有5种不同类型的并行语句。

每一语句结构内部可以使用并行语句,也可以是顺序语句。

2.3.5进程(PROCESS)

PROCESS结构是最能体现VHDL语言特色的语句。

与BLOCK语句一样,利用PROCESS语句结构可以描述一个功能独立的电路。

与BLOCK语句不同之处是,在系统仿真时,PROCESS结构中的语句是按顺序逐条向下执行的,而不像BLOCK语句那样并发执行。

一个结构体中可以有多个并行运行的进程结构,每一个进程内部是由一系列顺序语句来构成的。

PROCESS语句的结构:

[进程标号]PROCESS[(敏感信号表)][IS]

[进程说明语句]

BEGIN

顺序描述语句

ENDPROCESS[进程标号];

注意:

在多个进程的结构体描述中,进程标号是区分各个进程的标志。

但是进程标号并不是必需的。

单进程以PROCESS开始,以ENDPROCESS结束。

2.3.6进程中的信号与变量赋值

表2-1信号与变量赋值语句功能的比较

IF语句概述

(1)IF条件句Then

顺序语句

ENDIF;

(2)IF条件句Then

顺序语句

ELSE

顺序语句

ENDIF;

(3)IF条件句Then

IF条件句Then

...

ENDIF

ENDIF

(4)IF条件句Then

顺序语句

ELSIF条件句Then

顺序语句

...

ELSE

顺序语句

ENDIF

2.3.7库和程序包

库和程序包用来描述和保留元件、类型说明函数、子程序等,以便在其它设计中可以随时引用这些信息,提高设计效率。

1.库(LIBRARY)

库是经编译后的数据的集合,它存放包集合定义、实体定义、结构定义和配置定义。

库语句的格式为:

LIBRARY库名;

USE语句指明库中的程序包。

一旦说明了库和程序包,整个设计实体都可以进入访问或调用,但其作用范围仅限于所说明的设计实体。

USE语句的使用将使所说明的程序包对本设计实体部分或全部开放。

USE语句有以下两种常用的格式:

USE库名.程序包名.项目名;

USE库名.程序包名.ALL;

第一种语句格式的作用是向本设计实体开放指定库中的特定程序包内的所选定的项目。

第二种语句格式的作用是向本设计实体开放指定库中的特定程序包内的所有内容。

2.程序包

程序包也叫包集合,主要用来存放各个设计都能共享的数据类型、子程序说明、属性说明和元件说明等部分。

设计者使用时只要用USE子句进行说明即可。

程序包由两部分组成:

程序包首和程序包体。

程序包的一般书写格式如下:

PACKAGE程序包名IS

END[PACKAGE]程序包名;--程序包首

PACKAGEBODY程序包名IS

┇--程序包体

END[PACKAGEBODY][程序包名];

2.3.8其他语句

1、CASE语句

CASE语句属于顺序语句,因此必须放在进程语句中使用,CASE语句的一般表达式是:

CASE<表达式>IS

When<选择值或标识符>=><顺序语句>;...;<顺序语句>;

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

当前位置:首页 > PPT模板 > 国外设计风格

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1