




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、tianjin university of technology and education毕 业 设 计专 业:应用电子技术教育班级学号: 0201-04 学生姓名: 王彦文 指导教师: 曲芳 讲师 二七年 六 月天津工程师范学院本科生毕业设计基于fpga的语音定时提醒系统the system of the pronunciation timing and reminding专业班级:应电0201班学生姓名:王彦文指导教师:曲芳 讲师系 别:电子工程系2007 年 6 月摘 要随着信息时代的来临,人们的生产、生活正以一种全新的方式展现在人们的面前。多媒体教育的出现更是具有标志性的意义,它能够
2、提供理想的教学环境,使师生交流更为便利,有助于提高学习和教学效率。语音定时提醒系统是多媒体系统中的一类重要产品,基于fpga的eda技术的发展和应用领域的扩大与深入,eda技术在电子信息、通信、自动控制及计算机应用等领域的重要性日益突出。在eda 设计中有限状态机是非常关键技术,它及其设计技术是实用数字设计中的重要组成部分,也是实现高效率高可靠逻辑控制的重要途径。用有限状态来实现时钟的计时和调节功能可以使电路简单并且提高其准确性。在日常的生活和学习中时钟显示和语音提醒是我们必不可少的一部分。因此,语音定时提醒系统具有一定的理论价值和十分重要的实际意义。本文叙述了一种应用vhdl语言对fpga芯
3、片进行控制实现计时、定时功能并结合单片机来实现系统的整体功能。本文介绍了系统的主要功能、硬件的组成和软件的设计。整个系统简单可靠、操作方便、性能价格比高,较好地满足了一般情况下的需要。关键词:fpga;vhdl;at89s52;isd2560 abstractalong with the information time coming, peoples production and the life is unfolding by one brand-new way in peoples front. the multimedia education appearance has the si
4、gn of significance, it can provide the ideal teaching environment, causes the teachers and students to exchange conveniently, is helpful to the enhancement study and the teaching efficiency. the system of the pronunciation fixed time and reminding is a multimedia system that is kind of important pro
5、duct, based on expansion and thorough of fpga eda technology development and application, and eda technology is prominent day by day on electronic information, correspondence ,automatic control and computer. it is the extremely essential technology in the limited condition of the eda design, it and
6、its design technology is the important part of practical digital design, and is the important approach to realize the high efficiency and high reliable logic controller. depend on the clock time and the adjustment function with the limited condition may make the electric circuit to be simple and enh
7、ances its accuracy. in the daily life and learning, the display of clock and the reminder of pronunciation are our essential part of life. so, the system of pronunciation fixed time and reminding has the certain principle to determine price with the extremely important practical significance. this t
8、hesis introduces one kind of using the vhdl language that processes the control of realization time and fixed time with the monolithic integrated circuit realizes the function of the system language to the fpga chip. this thesis introduces the mostly functions, the composition of the hardware and th
9、e design of the software to the system. the whole of the system is simple to realize, and reliable, it ease to operate, and the performance price are higher, has met the needs of the ordinary circumstances well.key words:fpga;vhdl;at89s52;isd2560目 录1引言12 课题任务及方案论证32.1 主要任务32.2 方案论证32.2.1 计时功能32.2.2
10、eda技术实现计时功能32.2.3 显示功能42.2.4语音功能43 原理概述53.1 原理框图及原理简述53.1.1 原理框图53.1.2 原理简述54 系统组成74.1 fpga芯片简介74.1.1 fpga芯片的发展74.1.2 ep1c6t144c8芯片结构介绍74.1.3 fpga在本课题中的开发过程84.1.4 fpga的编程方式94.2 fpga硬件电路组成94.2.1系统框图94.2.2 系统内部顶层文件连接图104.2.3 fpga印制板电路图104.3单片机at89s52简介104.3.1 芯片的引脚图114.3.2 at89s52的引脚及功能114.3.3 单片机硬件电路
11、124.3.4 单片机在该课题中的程序124.4 isd2560语音芯片124.4.1 芯片引脚功能介绍134.4.2 isd2560硬件电路组成144.5 led显示部分144.5.1 led段显示器结构与原理154.5.2 led显示器在该课题中的应用电路155 软件设计部分165.1 vhdl语言设计部分165.1.1 vhdl简介165.1.2 vhdl的发展趋势165.1.3 vhdl的特点165.2 程序设计175.2.1 程序设计步骤175.2.2 vhdl语言程序编程过程介绍185.3程序中各模块设计框图185.3.1 各功能模块的程序195.4课题设计过程中软件介绍205.4
12、.1 max+plus ii软件介绍205.4.2 max+plus ii软件在该课题中的应用20总结22参考文献23附录1 fpga芯片内部文件连接图24附录2 fpga印制板电路原理图25附录3 fpga印制板pcb图26附录4 单片机和isd2560语音芯片的硬件电路27附录5 led显示器的硬件电路28附录6 vhdl编写的各功能模块程序29附录7 单片机程序42致谢4343天津工程师范学院2007届本科生毕业设计1引言目前市面上的计时提醒产品种类繁多,从设计方式看有机械型、电子型;从外观方面看有传统型、可爱型;从显示方面看有数码管显示型,有液晶显示型等等,但大多数的提醒铃声都比较单调
13、、刺耳。由于时间是我们每个人时时都在关注,一刻也离不开的问题,所以数字闹钟是我们生活中必不可少的产品,可是数字闹钟在提醒铃声设计这方面又有些欠缺,例如:不能在提醒时间到来时提醒用户要做的是什么事情及提醒铃声过于单一等问题,本文介绍的定时语音提醒系统主要是针对改进提醒铃声设计的。具有精确度高、提醒铃声可随时更新、铃声更新方便、调试方便、实用性强等特点。该设计可将其稍作修改或完善形成产品推向市场。本文介绍的计时提醒系统主要是应用fpga和单片机相结合的技术来实现的语音录放提醒、定时功能。fpga(filed programmable gate array)可编程逻辑器件是设计最新一代数字系统的逻辑
14、器件3。数字逻辑器件通常分为三大类5:一是通用的标准数字集成电路,即由基本逻辑门和触发器构成的中小规模集成逻辑器件,如74系列、4000系列;二是由软件组态的大规模集成器件12,如微处理器、单片机等,它们本身也只作为通用芯片,其特殊功能是通过用户用汇编语言或高级语言编写程序而实现的4,执行不同的软件可以实现不同的逻辑功能;另一类就是专用集成电路 asic(application specific integrated circuit),即为某一数字系统专门设计的芯片13。从分类上看,可编程逻辑器件是asic10的一个重要分支。fpga是用户自行定义逻辑功能的逻辑器件15,它与传统定制器件的主要
15、区别是它的可编程性11,而传统逻辑器件的功能是固定的。可编程逻辑器件14是由厂家提供通用芯片,由用户自行根据实际应用,对器件进行编程定义其逻辑功能的高级逻辑器件6,8,是继74系列ttl和cmos等中小规模通用数字逻辑器件之后发展起来的新技术。它不是特指某个名称、某个型号的某种芯片,而是泛指具有某些共性和特点的一个集成电路群。它不但具有高速度、高集成度性能,而且用户可以通过vhdl(very high speed integrated circuit hardware description language)等硬件描述语言重复定义逻辑功能 (即可重复编程)1,因而它能够适应各种应用的需要,使
16、数字系统的设计非常灵活,大大缩短系统研制的周期,大大减小系统的体积和所用芯片的品种,提高系统可靠性和可维护性9。单片机自问世以来,性能不断提高和完善,其资源又能满足很多应用场合的需要,加之单片机具有集成度高、功能强、速度快、体积小、功耗低、使用方便、价格低廉等特点2,因此,在工业控制、智能仪器仪表、数据采集和处理、通信系统、高级计算器、家用电器等领域的应用日益广泛,并且正在逐步取代现有的多片微机应用系统。单片机的潜力越来越被人们所重视。特别是当前用cmos工艺制成的各种单片机,由于功耗低,使用的温度范围大,抗干扰能力强、能满足一些特殊要求的应用场合,更加扩大了单片机的应用范围,也进一步促使单片
17、机性能的发展。atmel89s52单片机以其可靠性高、体积小、价格低、功能全等优点,广泛地应用于各种智能仪器中,这些智能仪器的操作在进行仪器校核以及测量过程的控制中,达到了自动化,传统仪器面板上的开关和旋钮被键盘所代替,测试人员在测量时只需按需要的键,省掉很多烦琐的人工调节,智能仪器通常能自动选择量程,自动校准。有的还能自动调整测试点,这样不仅方便了操作,也提高了测试精度。虽然单片机的引入使控制系统大大“软化”,但与其它计算机应用问题相比,单片机控制应用中的硬件内容仍然较多,所以说单片机控制应用有软硬件相结合的特点7。为此,在单片机的应用设计中需要软、硬件统筹考虑,设计者不但要熟练掌握汇编语言
18、等编程技术,而且还要具备较扎实的单片机硬件方面的理论和实践知识。2 课题任务及方案论证2.1 主要任务该课题中计时功能是最基本功能,实现每隔一秒钟计时一次,并在显示屏上显示当前的时、分、秒时间;闹钟提醒功能是通过人为设定提醒时间,如果当前时间与所设定的提醒时间相同,则扬声器发出蜂鸣声;语音功能是通过按下语音录放键使其进行语音录入,也可以对语音进行存储和回放,同时可以将录入的语音作为时钟音乐进行语音提醒。2.2 方案论证2.2.1 计时功能方案一 采用单片机控制日历时钟芯片ds12887来实现时钟信号的产生,但由于单片机的i/o资源较少(例如51系列只有p1口完全为用户开放),在一些场合下,如使
19、用键盘及led数码管显示时,就必须外扩接口电路才能满足系统要求,在本例中若只使用单片机进行控制,需10根以上的端口与ds12887进行通信,而驱动六个数码管需要采用静态方式的四个端口,这样设计增加了设计成本。方案二 采用分立的电子元器件4060、7447、7490、7408等来实现时钟信号的产生,但分立元件焊接比较复杂,调试容易出错,而且不够稳定,跟单片机等硬件的兼容性不好。方案三 采用以eda技术为基础fpga数字发展实验系统为辅助工具完成计时,整个过程中以软件设计为核心,使用计算机进行自动编译、分析、综合、仿真,验证无误后下载到fpga芯片中使用。通过eda技术来实现时钟信号的产生,fpg
20、a在系统编程及有丰富的i/o口资源方面有极大的优势,作为一种尝试我们采用了ep1c6t144c8芯片,没有附加任何扩展芯片实现了计时功能。2.2.2 eda技术实现计时功能方案一画层次原理图,此设计方法类似用逻辑门符号画一个逻辑图,先将选用的模块图形符号和连接器符号画在编辑窗口上,然后用连线将它们连接起来,最后将选用的符号名放在相应的模块及其节点上。此方法比较直观,也可直接实现门级设计和控制,但用来设计接近万门的功能芯片,难度很大,虽然有抽象化的模型库可以使用 ,可其间关系复杂,采用连线的方法过于简单,也很难实现正确的描述。故我们没有采用此方案。方案二使用硬件描述语言,硬件描述语言(hdl)是
21、一种用于设计硬件电子系统的计算机语言,它用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式,与传统的门级描述方式相比它更适合大规模系统的设计。 vhdl是一种应用非常广泛的硬件描述语言,其语法与c语言类似,非常容易上手,使用灵活且方便。它可以用简洁明确的代码描述来进行复杂控制逻辑的设计 可借助高级语言的精巧结构来简化电路的描述具有电路仿真与验证机制,从而保证设计的正确性。方案三 使用硬件描述语言和画层次原理图相结合的方法,来实现电路的整体设计,此方案针对本课题来说,是最简捷、最高效的途径。所以该系统采用了硬件描述语言与画层次图相结合的方法。2.2.3 显示功能方案一使用液晶显示,如果
22、我们只需要显示数字可以选择字符型液晶,但是液晶在控制方面比较复杂,规格繁多、接口方面不易选择,价格比较昂贵。所以此课题没有选择该方案。方案二使用数码管显示,因为我们只需要显示数字且没有什么特殊的要求。基于数码管的价格便宜,使用方便,易于控制等特点所以采用了该方案。2.2.4语音功能方案一采用自动存储的语言芯片进行语音的提醒和录制,但在实现时不能较好的与fpga部分进行兼容,而且语音的提醒音乐也较为单一。方案二采用单片机控制isd2560语言芯片来实现语音的录放,该方案能够较好的与fpga部分兼容而且该语音芯片自带有存储空间不需要外扩存储设备。基于此特点本课题采用了该方案。3 原理概述3.1 原
23、理框图及原理简述3.1.1 原理框图该课题的原理框图如图3-1所示图3-1 原理框图3.1.2 原理简述语音定时提醒系统是指在计时的同时进行语音定时提醒功能,应用fpga芯片进行时钟设计和模式转换。fpga芯片内部的时钟设计主要是通过分频器把较高的外部时钟频率分频成每一秒计一次数的时钟脉冲,从而实现计时功能。而提醒时间设计主要是通过寄存器和控制器来对提醒时间进行设计和存储。时间的显示主要是通过显示器来显示当前时间或用户设计的提醒时间,同时还要进行当前时间是否与提醒时间相符的比较,如果相同则fpga输出提醒信号。显示模块的上电复位初值是12:30分,显示结果是由fpga芯片内部的程序定义的,显示
24、的值根据fpga所给的信号不同发生改变,可以显示正常的时间、提醒时间、还有闪烁的调整时间。单片机模块在接收到fpga输出的提醒信号后开始工作,控制语音芯片发出提醒声音。语音模块的可以单独进行录音操作,但是必须注意的是在录音时必须按下录音键的同时再按下启停按键才可以进行录音。录音时如果想让新的录音覆盖原来已经存储的录音,要首先按下复位键后再进行录音操作。录音结束后一定要再次按录音键使该键处于放音状态。4 系统组成4.1 fpga芯片简介4.1.1 fpga芯片的发展本课题中采用了alter公司的ep1c6t144c8芯片,以下对fpga芯片进行简单的介绍。早期的数字系统多采用试凑法设计,此法无固
25、定的套路可循,主要凭借设计者的经验。所设计出的电路,虽然不乏构思巧妙者,但交流和修改不方便,设计所花费时间也较长。随着fpga器件的发展,自身与开发手段上的完善,以及推广应用方面的成就,不仅为asic的做出了贡献,而且使数字系统逻辑设计的观念、模式、方法面临又一次新的冲击。以往采用通用逻辑芯片 (ttl, cmos, mos等)堆砌的模式面临新的挑战。人们今后做逻辑设计,不再是通用系列芯片的选用、搭配、堆砌,也不是对商品化的未封装芯片做内部连线与组装 (例如 ga),而是对己封装好的商品化的fpga器件进行外部编程固化 (与eprom固化的过程相类似),使之具备由若干通用逻辑电路芯片组成的逻辑
26、单元的同等功能,可以含组合门逻辑、寄存器、时序逻辑等。于是形成了购买通用fpga器件,经用户编程而实现专用化的特殊设计过程。4.1.2 ep1c6t144c8芯片结构介绍fpga基本由6个部分组成,分别为可编程输入/输出单元、基本可编程逻辑单元、嵌入式模块ram、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等。芯片结构图如图4-1所示。(1) i/o单元,它们是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配需求。为了使fpga有更灵活的应用,目前大多数fpga的i/o单元设计为可编程模式,即通过软件的灵活配置,可以适配不同的电气标准与i/o物理特性;可以调整匹配阻抗
27、特性,上下拉电阻;可以调整输出驱动电流的大小等。(2) 基本可编程逻辑单元,是可编程逻辑的主体,可以根据设计灵活地改变其内部连接与配置,完成不同的逻辑功能。(3) 嵌入式块ram,目前大多数fpga都有内嵌的ram,fpga内部嵌入可编程ram模块,大大拓宽了fpga的应用范围和使用的灵活性。(4) 丰富的布线资源,是用来连通fpga内部所有单元,连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。(5) 底层嵌入功能单元,他的概念比较笼统,这里指的是那些通用程度较高的嵌入式功能模块,如dsp、cpu等,随着fpga的发展,这些模块被越来越多地嵌入到fpga的内部,以满足不同场合的需求。(
28、6) 内嵌专用硬核,使指那些通用性相对较弱,不是所有fpga器件都包含硬核的,该课题中用的fpga是通用器件,是区分专用集成电路而言的。图4-1 ep1c6t144c8结构图4.1.3 fpga在本课题中的开发过程fpga的开发工作多是在pc机上完成的,也可在各种工作站平台上进行。系统设计者希望开发fpga的软件容易使用、人机界面友好,能够随时得到 “在线求助”。开发过程主要包括如下几个步骤。(1)设计输入。文本方式、图形方式或两者混合的设计输入方式。对于简单的fpga,可用abel, cupl和palasm等可编程逻辑设计语言描述设计;对于复杂的fpga可以用原理图输入方式,也可用dsl和v
29、hdl等硬件描述语言进行设计输入,以及采用 “自顶向下”的层次式结构设计方法,将多个输入文件合并成一个设计文件。在设计输入时,可以规定器件的引脚分配;也可以暂时不规定器件引脚分配,留在后续处理中自动定位,以提高器件适配的成功率。(2)设计编译和器件适配。这是开发过程中的重要部分。编译软件对 “设计文件”进行逻辑化简、综合和优化,并恰当地用一个或多个器件自动进行适配,产生供器件编程用的编程文件。编程文件通常采用电子器件工程联合委员会(jedec)标准格式。编译和适配自动进行,消除了人工布局和布线的麻烦,还可通过设计规则检查,标出错误的位置和潜在的不可靠电路。在编译和适配过程中,系统设计者可规定设
30、计中任何部分的定时等约束条件,进行人工干预。(3)设计校验。除了很简单的fpga设计外,至少要进行“功能仿真”。功能仿真可在编译前进行,也可在编译后进行,以检验设计功能的正确性。“定时仿真”可模拟在最不利的时间配合情况下器件内各信号之间的时间关系:“定时分析可给出影响器件工作速度的性能的关键路径。对于用多个器件实现的一个设计来说,进行多个器件的联合仿真是非常必要的。实践证明,在fpga开发过程中,解决好器件内、外各信号之间的时间关系是设计成败的关键,甚至需要反复修改设计才能获得成功。4.1.4 fpga的编程方式fpga 的编程方式分为两大类:一类是一次性编程,另一类是可多次编程。只允许对fp
31、ga器件编程一次的,编程后不能修改,其优点是集成度高、工作频率和可靠性高,可用于辐射较强的恶劣环境。可多次编程的fpga的优点是可多次修改设计,特别适合于系统样机的研制。可多次编程 fpga的编程信息存储在器件中用以控制器件内部连线关系的prom, eeprom, flash存储器或sram中。4.2 fpga硬件电路组成4.2.1系统框图fpga部分大致划分为以下几个模块:(1) 状态机,系统有多种显示模式(如显示当前时间,报时时间),如果把每种模式当成一种状态,那么用状态机来进行模式的切换是最方便的,因此可以采用状态机作为中心控制模块。(2) 计时模块,本系统中有一部分功能类似于数字钟,因
32、此计时模块是必不可少的。(3)报时时间设定模块,系统要求报时可调,由于此功能相对对立,可以单独用一个模块来实现。(4)报时长度设定模块,用以设定报时时间的长短。(5)显示控制及报时控制模块,根据当前时间(由计时模块输出)、报时时间(由报时时间设定模块输出)等信息决定当前的输出数字和报时信号灯的亮、灭情况。(6)其他,如分频模块、七段数码管译码电路、按键消抖电路等。系统基本框图如图42所示。图4-2 fpga内部系统框图4.2.2 系统内部顶层文件连接图fpga芯片内部文件连接图如附录1所示。4.2.3 fpga印制板电路图fpga印制板电路原理图如附录2所示。fpga印制板pcb图如附录3所示
33、。4.3单片机at89s52简介单片微型计算机scmc (single chip microcomputer)简称单片机。它是把组成微型计算机的各功能部件:中央处理器cpu(central processing unit)、随机存储器ram(random access memory)、只读存储器rom(read access memory)、i/o (input/output)接口电路、定时器/计数器以及串行通讯接口等部件制作在一块集成芯片中,构成一个完整的微型计算机。由于它的结构与指令功能都是按照工业控制要求设计的,故又叫单片微控制器。4.3.1 芯片的引脚图89s52采用40引脚的双列直插
34、封装(dip方式)。89s52的引脚图如图43所示。图43 89s52的引脚4.3.2 at89s52的引脚及功能(1) 主电源引脚vcc和vssvcc(40脚):接5v电压;vss(20脚):接地。(2) 外接晶体引脚xtal1和xtal2·xtal1 接外部晶体的一个引脚。在单片机内部,它是构成片内振荡器的反相放大器的输入端。当采用外部振荡器时,该引脚接收振荡器的信号,既把此信号直接接到内部时钟发生器的输入端。·xtal2 接外部晶体的另一个引脚。在单片机内部,它是上述振荡器的反相放大器的输出端。采用外部振荡器时,此引脚应悬浮不连接。晶振接法如图4-4所示。图44 89
35、s52晶振接法图选用12mhz频率的晶体,允许输入的脉冲频率为500khz。电容的大小范围为20pf40pf,本设计选用30pf电容。4.3.3 单片机硬件电路单片机在该课题中的主要作用是实现fpga和isd2560语音芯片之间的通信和连接,所以单片机的硬件电路和isd2560语音芯片混合连接在一起,见附录3所示。4.3.4 单片机在该课题中的程序单片机程序见附录74.4 isd2560语音芯片isd2560是isd系列单片语音录放集成电路的一种。这是一种永久记忆型语音录放电路,录音时间为60s,可重复录放10万次。该芯片采用多电平直接模拟量存储专利技术,每个采样值可直接存储在片内单个eepr
36、om单元中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,从而避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。该器件的采样频率为8.0khz,同一系列的产品采样频率越低录放时间越长但通频带和音质会有所降低。此外,isd2560还省去了a/d和d/a转换器。其集成度较高,内部包括前置放大器、内部时钟、定时器、采样时钟、滤波 器、自动增益控制、逻辑控制、模拟收发器、解码器和480k字节的eeprom。isd2560内部eeprom存储单元均匀分为600行,有600个地址单元,每个地址单元指向其中一行,每一个地址单元的地址分辨率为100ms。此外,isd2560还具备微控制器所
37、需的控制接口。通过操纵地址和控制线可完成不同的任务,以实现复杂的信息处理功能,如信息的组合、连接、设定固定的信息段和信息管理等。isd2560可不分段,也可按最小段长为单位来任意组合分段。4.4.1 芯片引脚功能介绍isd2560具有28脚soic和28脚pdip两种封装形式。图4-5所示为pdip封装形式。图4-5 isd2560引脚图电源(vccd):芯片内部的模拟和数字电路使用不同的电源总线,并且分别引到外封装上,模拟和数字电源端最好分别走线,并应尽可能在靠近供电端处相连,而去耦电容则应尽量靠近芯片。地线(vssa,vssd):芯片内部的模拟和数字也可使用不同的地线,这两脚最好在引脚焊盘
38、上相连。 节电控制(pd):本端拉高使芯片停止工作,进入不耗电的节电状态,芯片发生溢出,即 端输出低电平后,要将本端短暂变高复位芯片,才能使之再次工作。 片选():本端变低后(而且 pd为低),允许进行录放操作。芯片在本端的下降沿锁存地直线和 p/r端的状态。 录放模式(p/r): 本端状态在 的下降沿锁存。高电平选择放音,低电平选择录音。录音时,由地址端提供起始地址,录音持续到或pd 变高,或内存溢出;如果是前一种情况,芯片自动在录音结束处写入 eom 标志。放音时由地址端提供起始地址,放音持续到 eom 标志。如果一直为低,或芯片工作在某些操作模式,放音会忽略 eom,继续进行下去。 信息
39、结尾标志(): eom 标志在录音时由芯片自动插入到该信息的结尾。放音遇到 eom 时,本端输出低电平脉冲。芯片内部会检测电源电压以维护信息的完整性,当电压低于 3.5v 时,本端变低,芯片只能放音。 溢出标志(): 芯片处于存储空间末尾时本端输出低电平脉冲表示溢出,之后本端状态跟随 端的状态,直到 pd端变高。 话筒输入(mic)本端连至片内前置放大器。片内自动增溢控制电路(agc)将置增益控制在-15 至24db。外接话筒应通过串联电容耦合到本端。耦合电容值和本端的 10k输入阻抗决定了芯片频带的低频截止点。自动增益控制(agc):agc可动态调整前置增益以补偿话筒输入电平的宽幅变化,这样
40、在录制变化很大的音量(从耳语到喧嚣声)时就能保持最小失真。响应时间取决于该端内置的5k电阻和从该端到vssa端所接电容的时间常数。释放时间则取决于该端外接的并联对地电容和电阻设定的时间常数。选用标称值分别为470k和4.7f的电阻、电容可以得到满意的效果。模拟输出(ana out):前置放大器输出。其前置电压增益取决于agc端电平。模拟输入(ana in):该端为芯片录音信号输入。对话筒输入来说,anaout端应通过外接电容连至该端,该电容和本端的3k输入阻抗决定了芯片频带的附加低端截止频率。其它音源可通过交流耦合直接连至该端。4.4.2 isd2560硬件电路组成该课题中的isd2560芯片
41、可以单独进行录放音。其中开关sw是控制芯片录放音时使用的,当开关放开电路处于放音状态,当开关按下电路处于录音状态;按键s1是控制电路录放音的起停按键,但要单独进行录音时必须把按键按下也就是说必须一直按住按键才能进行录音,当处于放音状态时按下该键可以暂停放音,再次按下时接着原来的状态进行重放;按键s2是该电路的复位按键,要对该电路进行重新录音时必须按一下该键才能使所录入的音是从该单元的起始地址开始的,如果在放音状态时按下该键,则放音就重新开始。isd2560语音芯片连接图见附录4所示。4.5 led显示部分在单片机系统中,常用的显示器有:发光二极管显示器,简称led;液晶显示器,简称lcd;荧光
42、管显示器。而发光二极管显示又分为固定段显示和可以拼装的大型字段显示,此外还有共阳极和共阴极之分等。4.5.1 led段显示器结构与原理led显示器是由发光二极管显示字段组成的显示块,有7段和“米”字段之分。这种显示块有共阳极和共阴极两种。此外,显示块中还有一个圆点型发光二极管用于显示小数点。通过发光二极管亮、暗的不同组,可以显示多中数字、字母以及其他符号。led显示块中的发光二极管共有两种连接方法。(1) 共阳极接法发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接5v,这样,阴极端输入低电平的段的发光二极管被点亮,相应的段被显示;其余的段则不点亮。 (2) 共阴极接法发光二极管的阴极连在
43、一起构成公共阴极。使用时公共阴极接地,这样,阳极端输入高电平的段的发光二极管被点亮,相应的段被显示;而输入低电平的段则不点亮。4.5.2 led显示器在该课题中的应用电路该电路采用的是六位数码管译码电路,所示电路从左到右显示分别为时、分、秒。电路中的s1按键的功能是实现正常时间和提醒时间的调整,当按下该键时一次显示正常时间,再按一次表示提醒时间;s2按键的功能是实现时间的加一功能,也就是把选定的时或分按键按下一次就加一的功能;s3按键的功能是实现时间的减一功能,也就是把选定的时或分按键按下一次就减一的功能;s4按键的功能是实现时和分的选择,当按键按下一次就移动一次位置对时或分进行选定。为了能够
44、建立一个好的人机交互界面所以在显示电路部分加了五个发光二极管进行电路功能的指示,其中led1是表示提醒时间显示状态;led2表示正常时间显示状态;led3、led5 表示没有任何调整时钟正常显示状态;led4表示提醒时间到并且与当前时间相同开始提醒。led显示器的硬件电路图见附录5 。5 软件设计部分5.1 vhdl语言设计部分5.1.1vhdl简介vhdl是very high speed integrated circuit hardware description language的缩写,即“甚高速集成电路硬件描述语言”,最初由美国国防部和intermetris、ibm、ti公司联合开发,
45、1987年成为ieee标准,即ieee1076标准(俗称 87 版 vhdl)。此后,美国国防部要求官方的与高速集成电路设计相关的所有文档必须用vhdl描述,因此vhdl在电子设计领域得到了广泛的应用,渐渐成为工业界的标准。1993年,ieee对vhdl进行了修订,公布了新的vhdl标准,即ieee1076-1993版(俗称 93 版 vhdl);5.1.2 vhdl的发展趋势(1) 面向对象的vhdl研究vhdl的系统级描述缺乏设计概念上的抽象性,面向对象的vhdl可提高设计者在较高的设计层次上描述模型的能力,帮助设计者实现更复杂设计、更大规模的元件的重用。vhdl面向对象的发展是语言本身进
46、步的方向之一。面向对象的方法在软件开发中已被广泛地接受,它不仅仅是一种新的程序设计技术,而且是一种全新设计和构造软件的思维方法,它使计算机解决问题的方式更加类似于人类的思维方式和更强的管理能力。面向对象的语言必须包含抽象性、可封装性、模块化、层次化及信息机制。抽象性意味着一个对象的特性可以在类描述中文档化。可封装性是指代码和数据必须保存在同一单元中,封装性可有选择性的隐藏信息,使得某些信息对外界不可取。模块化定义了单元的重用。层次化使得对象的行为精炼,不必重复设立前驱中已有的内容。(2) vhdl的开发一般的,vhdl的设计均自rtl开始,模拟验证正确后综合到门级。最后移植到非vhdl模拟器上
47、进行处理。这样做是因为asic开发缺少vhdl库。而且存在的vhdl库的速度太慢,实用性差。另一方面,在用vhdl设计电路时,缺乏统一的、有效的时序处理的描述方法。以前的唯一方法是通过组装实现,但此方法编译太慢,而且vhdl库过分依赖模拟器环境。5.1.3 vhdl的特点(1) 支持“自顶向下”的设计方法设计可按层次分解,采用结构化开发手段,可实现多人、多任务的并行工作方式,使系统得设计效率大幅提高。(2) 硬件描述能力强可以同时支持“行为描述”、“数据流描述”和“结构描述”3种描述方式,并可混用。其中,强大的“行为描述”能力使设计者可以避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统
48、。这一特点使vhdl成为系统设计中最佳的硬件描述语言。(3) 系统仿真能力强vhdl最初是作为一种仿真标准问世的,因此vhdl具有丰富的仿真语句和库函数。另外,vhdl强大的“行为描述”能力也使其十分适用于系统级的仿真。(4) 工艺无关性在使用vhdl设计系统硬件时,没有嵌入与工艺相关的信息。正因为vhdl的硬件描述与具体工艺无关,因而其程序的硬件实现目标器件有广阔的选择范围,其中包括各种cpld、fpga及asic等。5.2 程序设计5.2.1 程序设计步骤程序设计就是用计算机所能接受的语言把所需解决问题的步骤逐一描述出来,也就是编制计算机的程序,在设计应用系统时,软件的编制是重要环节。软件
49、的质量直接影响整个系统功能的实现。应用程序的设计因系统而异,但程序设计总是有共同特点及其规律的。在编写程序时,采取如下几个步骤:(1) 分析问题,明确所要解决问题的要求,将软件分成若干个相对独立的部分。根据功能关系和时序关系,设计出合理的软件总体结构。(2) 定程序框图,即根据所选择的计算方法制定框图,这不仅是程序设计的一个重要组成,而且是决定成败的关键部分。(3) 合理分配系统资源,包括定时器/计数器、中断、堆栈等。分配好单元后,进一步将程序框图画成详细的操作流程。(4) 根据程序的流程图和指令系统编写出程序。注意在程序的有关位置处写上功能注释,提高程序的可读性。(5) 程序调试。通过编辑软
50、件编辑出的源程序,必须用编译程序汇编后生成目标代码。如果源程序有语法错误,需修改源文件后继续编译,直到无语法错误为止,然后利用目标代码通过仿真器进行程序调试,排除设计和编程中的错误直到成功。(6) 程序优化。使各功能程序模块化,子程序化,缩短程序的长度,加快运算速度和节省数据存储空间,减少程序执行的时间。5.2.2 vhdl语言程序编程过程介绍该框图内共分为有限状态机模块设计、计时/调时模块设计、提醒时间模块设计、提醒时间长度模块设计、显示控制模块设计和其他模块设计。(1) 有限状态机的设计是该课题中十分重要的部分,状态机克服了纯硬件数字系统顺序方式控制不灵活的缺点。状态机是纯硬件数字系统中的
51、顺序控制电路,因此状态机在其运行方式上类似于控制灵活和方便的cpu,而在运行速度和工作可靠性方面都优于cpu。(2) 计时/调时模块的设计在本课题中起着十分重要的作用,但其设计却相对简单,该模块只须根据状态机给出的几个信号进行相应的操作即可。(3) 提醒时间模块的设计思想与调时模块的其本相同(4) 显示控制及提醒控制模块根据前面几个模块输出的信息(如当前时间和提醒时间等)确定当前的显示数字以及提醒信号。5.3程序中各模块设计框图(1)时钟分频模块,根据课题的需要时钟分频模块应分别产生控制计时器和数码管扫描显示的频率。fpga 实验系统内部由晶体振荡器产生一个高稳定的20mhz信号,根据需要可借
52、助计数器对此信号进行分频,得到 1hz秒信号和1000hz扫描信号。(2)功能切换模块,功能键 key3能改变自动提醒的功能模式,由key3生成转换时钟clk_func当clk_func有效时钟上升沿到来时,在不同的输入控制下选择不同的功能模式,输出的显示内容也随之变化。当切换至设置功能时,所设置的时、分、秒将闪烁。(3)计时与设置模块,计时模块原理是基于组合逻辑电路中的加法器,用某一频率来控制计时器的最低位,当计时器的低位计数到某一值n时,下一个上升沿到来时,低位自动变为零,同时产生一个控制高位的信号。这样可再次调用此加法器,用产生的高位信号来控制高位的计数。如此反复,既便于控制,又节省了大
53、量的资源,一举两得。由于vhdl硬件描述语言不支持在两个进程中对同一信号赋值(即多重驱动 ),因此必须把数字钟功能和调时功能合在一个模块中。当处在数字钟功能时,该模块时钟应为1hz时钟cllsec:当处在调整时间功能时,由于调整时间状态指示模块的存在,此时调时时钟应为 key2信号。(4)串行扫描控制模块,七段数码管采用串行扫描显示方式。通过一个六状态的状态机控制产生七段显示器的输入和串行扫描控制信号,利用扫描控制信号的高电平驱动对应的七段显示器输出。数码管受扫描信号的驱动,只有当该数码管的扫描信号为有效时,才显示出此刻 data中的内容。以1000hz作为扫描信号,可使人眼看到的数字显示清晰
54、、不闪烁、亮度高。(5)显示模块,显示模块分别用来控制七段数码管和发光二极管的显示。数码管显示模块是一个典型的解码逻辑电路,其中各个七段显示器的共阴极接地,用短路夹予以选择,连接到fpga接地作串行扫描控制。数码管中的小数点显示则由扫描状态、调时状态和所处的功能模式来确定七段显示器小数点的输出的位置。(6)自动复位模块,自动复位模块中复位信号控制fpga内部触发器的复位,而复位信号是由计数器控制的。计数器开始随机置为任意值 m,设一固定值 n,如果m>n,复位信号置为低电平有效信号;如果 m<n,计数器开始计数,直到 m>n,复位信号ela高电平无效信号变为低电平有效信号 。
55、程序中各模块设计框图如图5-1所示。图5-1 程序中各模块设计框图5.3.1 各功能模块的程序各功能模块的程序见附录6。5.4课题设计过程中软件介绍5.4.1 max+plus ii软件介绍该课题中使用了eda设计过程中的专用软件max+plus ii,所以对该软件进行一定的介绍。max+plus ii软件是美国 altera公司开发的可编程逻辑器件有时与其配套的开发工具ax+plus ii一起使用,这是工业界中唯一与平台无关、与结构无关的全集成化编程逻辑设计环境。它的功能非常强大,它使altera通用pld系列设计者能方地进行设计输人、快速处理和器件编程。但是,功能强大的开发工具在学起来困难
56、一些,需要花费较长的时间才能掌握要领。max+plus ii提供了全面的逻辑设计能力。设计者可以选用自己熟悉的设计输入工具 (如原理图输人或高级行语言)建立设计,或将文本、图形和波形等设计方法任意组合建立起有层次的器件或多器件设计,max+plus ii把这些设计转换成最终器件结构所需的格式。于有关器件结构的详细信息己装人开发工具,设计者不需手工优化自己的设计,此设计速度非常快。设计者通过开发工具首先进行逻辑功能的设计输入,然后过一些步骤的软件自动运行和转换产生一个编程数据文件,用该编程数据编程ld芯片就可以使pld芯片具有与设计输入完全相同的逻辑功能,而且还可以用开发系统软件对所设计的结果进行 “功能仿真”以校验设计功能的正确性。5.4.2 max+plus ii软件在该课题中的应用使用max+plus ii开发工具实现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏安全技术职业学院《肿瘤放射治疗学》2023-2024学年第一学期期末试卷
- 老年人卧床的护理措施
- 新疆农业大学《多元音乐文化与世界名曲欣赏》2023-2024学年第一学期期末试卷
- 河北省张家口市涿鹿县2024-2025学年初三第一次模拟考试(化学试题文)试卷含解析
- 2025年山东省莱芜市莱城区茶业口镇腰关中学初三下学期十月月考化学试题含解析
- 广东职业技术学院《生物纳米与高分子材料》2023-2024学年第二学期期末试卷
- 浙江广厦建设职业技术大学《马克思基本原理》2023-2024学年第二学期期末试卷
- 湖南网络工程职业学院《地下工程结构》2023-2024学年第一学期期末试卷
- 北京科技经营管理学院《土力学理论与实践》2023-2024学年第二学期期末试卷
- 广东工业大学《电路板设计CAD》2023-2024学年第二学期期末试卷
- 广州2025年广东广州海珠区新港街道第一批雇员招聘5人笔试历年参考题库附带答案详解
- 受限空间安全培训
- 儿童口腔保健知识宣教
- 2025届江苏省苏锡常镇四市高三下学期教学情况调(一)(一模)英语+答案
- 专题13 热学计算题(解析版)-2025年高考物理二轮热点题型归纳与变式演练(新高考用)
- (二模)苏北七市2025届高三第二次调研测试语文试卷(含答案)
- 儿童发展问题的咨询与辅导-案例1-5-国开-参考资料
- 安全生产法律法规汇编(2025版)
- 2024年晋中职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 会见笔录(故意伤害审查起诉阶段)
- 工程造价咨询项目招标文件(范本)
评论
0/150
提交评论