1、中北大学2012届毕业设计说明书摘 要随着科技的发展,对信号发生器的各方面要求越来越高。传统的信号发生器由于波形精度低,频率稳定性差等特点,已经不能满足许多实际应用的需要。而且市场上出售的低频信号发生器价格昂贵,为了适应实际的需要,设计一种低频信号发生器。本文介绍了一种基于EDA(电子设计自动化)技术的低频信号发生器,它采用CPLD(复杂可编程逻辑器件)与单片机结合的方法,可以产生递增锯齿波、递减锯齿波、三角波、阶梯波、方波、正弦波共6种波形。它运用DDS(直接数字频率合成技术)技术的基本工作原理,通过QUARTUS II 9.0软件和VHDL语言编程,由CPLD控制数据输出,经数模转化器转换
2、成相应的模拟信号。整个信号发生器以单片机(STC89C52RC)为控制中心,主要由电源模块、按键电路模块、液晶显示模块、调幅模块、波形生成模块、滤波模块等组成。另外为了更好的完成本次毕设,本次设计CPLD选用ALTERA公司的EPM240CT100C5。关键词:低频信号发生器;EDA;复杂可编程逻辑器件;DDS;VHDLAbstractWith the development of technology, signal generator have become increasingly demanding in all aspects. Traditional signal generato
3、rs can not meet the needs of many practical applications because of low precision waveform, frequency stability characteristics of poor and high price in the market. According to the really demands, we design a low-frequency signal generator.In this paper, we introduce a low-frequency signal generat
4、or based on EDA (Electronic Design Automation) technology. It uses the method of combining CPLD (Complex Programmable Logic Devices) and SCM which can generate incremental ramp wave, decreasing saw tooth wave, triangle wave, ladder wave, square wave, sine wave. It uses the basic working principle of
5、 DDS(Direct Digital Frequency Synthesis) technology, through the Quartus II 9.0 software and the VHDL programming language, and the CPLD control data output by the digital-analog converter which converts the corresponding analog signal .The SCM (STC89C52RC) is the control center of the signal genera
6、tor which is composed of power supply module, the key circuit module, LCD module, the AM module, the waveform generating module, filter module and other components. In addition to better completion of this complete set, this design uses Altera Corporation EPM240CT100C5.Key words:a low-frequency sign
7、al generator;EDA;CPLD;DDS;VHDL目录摘 要1ABSTRACT31 绪论61.1 研究课题的目的及意义61.2 国内外现状71.3 本设计的目标72 信号发生器设计方案92.1 传统的信号发生器设计方案92.2 基于微处理器和数字/模拟转换器的设计方案92.3 直接数字频率合成技术102.4 DDS方案选择113 CPLD及开发语言简介153.1 CPLD简介153.2 开发语言和开发环境的选择163.2.1 VHDL语言简介164 多功能信号发生器硬件电路设计194.1 整体电路设计分析194.2 单片机最小系统设计194.2.1 单片机选型194.2.2 STC8
8、9C52RC单片机简介204.2.3 单片机最小系统214.3 按键电路设计224.4 显示电路设计234.5 幅度控制电路设计234.5.1 DAC0832简介234.5.2 幅度控制电路分析264.6 波形生成电路设计274.7 低通滤波模块设计284.7.1 低通滤波器选择284.7.2 低通滤波器仿真设计314.8 CPLD最小系统设计324.9 电源模块设计345 低频信号发生器软件设计385.1 单片机软件设计385.2 CPLD软件设计395.2.1 CPLD内部构成405.2.2 三角波模块的程序流程图及分析425.2.3 矩形波模块的程序流程图435.3 Quartus II
9、简介和仿真455.3.1 Quartus II简介455.3.2 CPLD软件仿真和实际波形图46结束语50致谢52参考文献54附录A CPLD程序551 绪论1.1 研究课题的目的及意义信号发生器用于产生被测电路所需特定参数的电测试信号。在测试、研究或调整电子电路及设备时,为测定电路的一些电参量,如测量频率响应、噪声系数、为电压表定度等,都要求提供符合所定技术条件的电信号,以模拟在实际工作中使用的待测设备的激励信号。在电路测试中,我们可以通过测量、对比输入和输出信号,来判断信号处理电路的功能和特性是否达到设计要求。例如,用信号发生器产生一个频率为1KHZ的正弦波信号,输入到一个被测的信号处理
10、电路(功能为正弦波输入、方波输出),在被测电路输出端可以用示波器检验是否有符合设计要求的方波输出。信号发生器即可以构成独立的信号源,也可以是高性能网络分析仪、频谱仪及其他部分自动测试设备的组成部分,因为它能够提高质量的精密信号源及扫频源,可使用相应系统的检测过程大大简化降低检测费用并极大地提高检测精度。在科学研究、工程教育及生产实践中,如工业过程控制、教学实验、机械振动试验、动态分析、材料试验、生物医学等领域,常常需要用到低频信号发生器。而在我们日常生活中,以及一些科学研究中,锯齿波和正弦波、矩形波信号是常用的基本测试信号。譬如在示波器、电视机等仪器中,为了使电子按照一定规律运动,以利用荧光屏
11、显示图像,常用到锯齿波产生器作为时基电路。信号发生器作为一种通用的电子仪器,在生产、科研、测控、通讯等领域都得到了广泛的应用。 但市面上能看到的仪器在频率精度、带宽、波形种类及程控方面都已不能满足许多方面实际应用的需求。加之各类功能的半导体集成芯片的快速生产,都使我们研制一种低功耗、宽频带,能产生多种波形并具有低频的信号发生器成为可能。那么,对于我们来说,信号发生器的设计是让我们掌握并巩固所学的知识,提高自己动手能力的一个重要的途径。通过对它的设计,我们可以掌握信号发生器的精髓从而使能力得到很大的提高,这样就有利于我们今后自身的发展。1.2 国内外现状由于微电子技术的发展,使得CPLD(COM
12、PLEX PROGRAMMABLE LOGIC DEVICES)的性能指标如规模、功能、时间等性能越来越好,CPLD在数字系统设计中占据越来越重要的位置。国内外现在设计的信号发生器,早已放弃了使用传统纯硬件设计的方案,取而代之的是直接数字频率合成技术(DIRECT DIGITAL FREQUENCY SYNTHESIS,简称DDS或DDFS),它以CPLD/FPGA(FIELDPROGRAMMABLE GATE ARRAY)为核心,选用高速数模转换器件,以QUARTUS II 为开发环境的EDA(ELECTRONIC DESIGN AUTOMATION)技术,使得信号发生器的各项指标、稳定性、
13、功能多样性得到了极大的提高。目前大部分信号发生器的设计是以微控制器为核心进行的,它与纯硬件设计的信号发生器相比,具有高速、高精度、高可靠性、操作方便、价格便宜、智能化等特点。同时使用单片机和CPLD设计的多功能信号发生器,具有体积小、重量轻、功耗低、功能灵活的特点使得系统稳定性大幅度提高。1.3 本设计的目标(1)掌握一种新的设计语言硬件语言VHDL(VERY-HIGH-SPEED INTEGRATED CIRCUIT HARDWARE DESCRIPTION LANGUAGE),并会灵活运用。(2)了解EDA技术,了解其开发流程。(3)制作高精度多功能电源。(4)实现信号发生器的最基本功能:
14、产生递增锯齿波、递减锯齿波、三角波、阶梯波、方波、正弦波。2 信号发生器设计方案2.1 传统的信号发生器设计方案在现代电子系统中,经常需要产生稳定的重复信号,例如,模拟电路中的正弦波信号或者数字电路中的方波信号。传统的信号发生器通常是首先产生所需频率的正弦波信号,然后再利用比较器产生方波信号。按照正弦波信号发生器中频率选择电路组成形式,它们可以划分为:LC正弦波信号发生器、RC正弦波信号发生器以及晶体正弦信号发生器。对于LC正弦信号发生器和RC正弦信号发生器,适当地设计频率选择电路中的电感、电容或者电阻的数值,信号发生器就可以产生所要求的工作频率的信号。如果频率选择电路中电感、电容、或者电阻使
15、用可调电感、可调电容或者电位器来代替,通过调整这些可调器件,正弦信号产生器的工作频率可以方便的调整。这两种电路结构简单、价格便宜,它们获得广泛的应用,但是这两种电路稳定度不高,通常为10量级。晶体正弦波信号发生器具有较高的的频率稳定度,通常可以达到10量级,但是它的工作频率取决定于晶体的谐振频率。在需要改变晶体正弦信号产生器工作频率时,电路中用于频率选择的晶体必须被更换。如果既要求信号产生器的工作频率稳定,又要求能够通过调整电路参数的方法来调整工作频率,传统的方法为采用基于锁相环(PHASE LOCKED LOOP,PLL)技术和非线性器件频率变换技术的频率合成器,但是这种频率合成器的电路结构
16、非常复杂。2.2 基于微处理器和数字/模拟转换器的设计方案使用微处理器控制数字/模拟转换器也可以产生所需要的信号波形。这种方法不仅可以产生正弦波信号,而且可以产生任意信号波形。把希望的波形信号通过采样和量化可以产生波形数据,这些数据被放置在存储器之中。工作时,利用微处理器把这些波形数据送到数字/模拟转换器就能够获得所需要的波形。由于这时产生的正弦信号是由微处理器的程序控制来实现,微处理器的工作又由它的时钟控制,因此电路产生电路信号将具有与时钟信号同样的稳定度,即可以达到与晶体信号产生器相同频率的稳定度。如果希望调整输出信号的频率,这时可以通过在程序中添加具有延时功能的指令或者子程序来实现。使用
17、微处理器控制数字/模拟转换器产生需要的信号波形解决了输出信号频率稳定度和频率可调整性问题,同时还能产生任意信号波形,并且电路结构也不复杂。这种方法的缺点是输出信号的频率较低,输出信号频率的调整精度也较低。例如,使用MCS51系列单片机,单片机时钟电路的频率为12MHZ,数字/模拟转换器使用DAC0832产生正弦波信号,采用查表法的方法输出一个正弦函数值将需要14个机器周期,即14S。如果正弦波的数字波形表用64个点来描述一个完整的正弦波,因此所产生的正弦信号的最小周期为896S,即最高频率为1116HZ。系统产生的正弦信号频率的调整可以通过在程序中添加具有延时功能的指令或者子程序来实现。在产生
18、一个正弦函数值得过程中增加一句空操作指令NOP可以实现1S的最小延迟时,这时系统产生一个正弦函数值则需要15S。产生一个完整正弦波则需要960个机器周期,即960S,对应的信号频率为1041HZ。添加1S延时前后的工作频率变化绝对值为=1116-1041=75 (Hz) (2-1)工作频率变化的相对值为/ =75/1116=6.7% (2-2)综上所述,采用单片机控制数字/模拟转换器的电路结构可以提高工作频率的稳定度,并且可以对工作频率进行调整,但是输出信号的最高频率的数值以及频率调整的精度不能令人满意。2.3 直接数字频率合成技术直接数字频率合成技术DDS是一种应用数字技术来实现产生信号波形
19、的方法,是60年代出现的第三代频率合成技术。DDS技术建立在NYGUIST时域采样定理的基础上,它首先对需要产生的信号波形进行采样和量化,然后存入存储器作为待产生信号波形的数据表。在输出信号波形时,从数据表中依次读出数据,产生数字化信号,这个信号再通过数字/模拟转换成所需的模拟信号波形。其实现过程如框图2-1,采样量化存储恢复模拟信号输入输出 图2-1 DDS实现基本过程当改变信号波形数据的数据表中的数据,就可以产生不同的波形。根据NYQUIST 采样定理知,要使信号恢复,必须满足采样频率大于被采样信号最高频率的2 倍,否则将产生混迭,经D/A 不能恢复原信号。相对于其他信号波形产生技术,DD
20、S技术具有输出信号采样频率固定、全数字化、易于控制、可编程、输出相位连续和信号频率转换时间短等特点。2.4 DDS方案选择方案一:可以使用DDS信号产生器芯片使用AD9850是ADI公司生产的一种DDS信号产生芯片,它的功能方框图如图2-2,它把DDS技术和高速数字/模拟转换器结合在一起,形成一个全数字化、可编程的信号产生器。在一个精确的参考时钟源的控制下,它可以产生一个频谱较纯、频率/相位可编程的模拟正弦信号。这个正弦信号可以直接用作信号源,它可以通过AD9850芯片内部的比较器转换成方波信号输出。图2-2 AD9850的功能方框图AD9850的频率控制字为32位;相位控制字5位;时钟最高频
21、率为125MHZ,此时最高输出频率为62.5MHZ。图2-3 AD9850管脚排列图AD9850的工作电压为3.3V5.0V。它的封转采用SSOP的28引脚形式,不能使用万用板组成电路,必需专门制作印制电路板。它的管脚排列如图2-3所示,使用DDS信号产生器芯片的最大优点是输出信号频率高,缺点是用户不能修改输出信号波形。方案二:利用微处理器实现DDS信号产生器在参考时钟的作用下,微处理器先进行相位累加,再从数据表中读出相位累加器输出相位值对应的幅度数据,再通过数字/模拟转换器将该数据转换成所需的模拟信号波形输出。以正弦波为例,正弦信号波形数据表包含正弦信号一个周期的幅度。输出信号的频率分辨率为
22、=/ (2-3)这里是完成相位累加的频率,N是相位累加器的位数。完成累加器的位数越多,输出信号的频率分辨率越好,也就是输出信号的频率可以被调整的越准确。如果使用的微处理器数据位数低于相位累加器的位数,这时可以通过多次运算来完成相位累加。例如,使用8位数据位数的MCS51单片机实现32位累加器,这时可以通过4次加法运算完成相位累加,每次完成8位数据的加法运算,高字节的加法运算还应考虑低字节的进位。如果希望产生的输出信号为正弦波信号,由NYQUIST定律可知这时输出信号的最高频率为=/2 (2-4)式(2-4)中,是完成相位累加的频率。利用微处理器完成加法运算需要读取数据、进行运算、再把运算结果送
23、到目标地址。由于微处理器工作的顺序性,因此这时的相位累加频率将比微处理器的时钟频率低得多。这种情况在微处理器数据位数低于相位累加器的位数时更加严重,因此这时需要多次运算才能完成相位累加。综上所述,从原理来说,利用微处理器能够实现DDS技术的电路结构,并能产生所需要的任意波形,但是输出信号的最高频率受到很大的限制。使用具有高数据位数和高时钟频率的微处理器在一定程度上可以克服这个缺点,但这将导致成本提高。方案三:利用可编程逻辑器件实现DDS信号产生器DDS技术的实现依赖于高速、高性能的数字器件。可编程器件以其速度高、规模大、可编程、以及有强大EDA软件支持等特性,十分适合实现DDS技术。微处理器程
24、序执行顺序性限制了它的工作速度,专用芯片不能修改波形,而利用可编程逻辑器件则可以根据需要方便地实现各种比较复杂的调频、调相和调幅功能,具有良好的实用性。由于可编程逻辑器件独特的结构,有很多并发执行的语句,语句的执行不像普通软件那样每条指令占用一定的时间,它只是遵循硬件电路自身的延迟时间。可编程逻辑器件的工作能力使它在需要高速工作的场合非常适用。综上所述,选用方案三基于可编程逻辑器件来实现DDS信号产生器。3 CPLD及开发语言简介3.1 CPLD简介CPLD即复杂可编程逻辑器件,是从PAL(PROGRAMMABLE ARRAY LOGIC)和GAL(GENERIC ARRAY LOGIC)器件
25、发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。主要的PLD生产厂家:ALTERA:可编程逻辑器件最大的供应商之一。主要产品有:MAX3000/7000、FLEX10K、APEX20K、ACEX1K、STRATIX、CYCLONE等。开发软件有MAX+PLUS II和QUARTUS II。XILINX:FPGA(FIELD PROGRAMMABLE GATE A
26、RRAY)发明者,可编程逻辑器件最大的供应商之一。产品种类较全,主要有:XC 9500/4000、COOLRUNNER、SPARTAN、VIRTEX等。开发软件为FOUNDITION和ISE。LATTICE:ISP(IN-SYSTEM PROGRAMMING)技术发明者。该技术指电路板上的空白器件可以编程写入最终用户代码,而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。比起前两家公司,其在开发工具上略逊一筹,中小规模PLD比较有特色。主要产品有:ISPLSI 2000/5000/8000、MACH4/5、ISPMACH4000等。ACTEL:全球四大知名FPGA生产厂
27、商之一。成立于1985年美国纽约,之前的20年里,一直效力于美国军工和航空领域,并禁止对外出售。国内一些特殊领域的企业都是采用其它途径购买军工级型号。目前ACTEL开始逐渐转向民用和商用,除了反熔丝系列外,还推出可重复擦除的PROASIC3系列(针对汽车、工业控制、军事航空行业)。该公司致力通过运用业界最低功耗的FPGA系列,以及独有的混合信号FPGA,在芯片及系统级上进行功耗管理,为系统设计人员提高竞争优势。这就好比单片机中的PIC系列,虽然资源不多,但是稳定性可靠,广泛应用于工业领域。在亚太地区用ALTERA人多,在欧洲用XILINX的人多,在美国则是平分秋色。全球PLD/FPGA产品的6
28、0%以上是ALTERA和XILINX提供的。可以说,ALTERA和XILINX共同决定了PLD技术的发展方向。当然还有许多其他类型的器件,如:LATTICE、VANTIS、ACTEL、QUICKLOGIC、LUCENT等。3.2 开发语言和开发环境的选择硬件描述语言(HARDWARE DESCRIPTION LANGUAGE,HDL)是描述硬件电路的功能。常用的硬件描述语言有VHDL、VERILOG HDL和ABEL。本次毕业设计针对CPLD的开发有两种语言可以选择,我们选择了VHDL,下面是对VHDL语言的简介。至于开发环境,开发ALTERA的CPLD的开发环境有MAX+PLUXII和QUA
29、RTUS II。刚开始学习时由于MAX+PLUX II的安装程序比较小,界面简洁,入门容易,所以使用了MAX+PLUX II,可是等到后来接触了QUARTUS II,由于后者的功能更加强大,界面更加人性化,而且现在绝大多数人使用的是QUARTUS II,为了便于以后FPGA的学习,因为FPGA也是使用相同的环境,所以选择QUARTUS II。3.2.1 VHDL语言简介VHDL英文全名VHSIC(超高速集成电路硬件描述语言)。它诞生于1982年美国国防部提出的超高速集成电路计划,其目的是在各个承担国防部订货的集成电路厂商之间建立一个统一的设计数据和文档交换格式。1987年被IEEE(INSTI
30、TUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS,美国电气和电子工程师协会)和美国国防部确认为标准硬件描述语言。自从IEEE公布了VHDL的标准版(IEEE 1076)以后,各EDA(ELECTRONIC DESIGN AUTOMATION,电子设计自动化)公司相继推出VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后,VHDL在电子设计领域得到了广泛的认可,并逐步取代了原有的非标准硬件描述语言。1995年,我国国家技术监督局制定规范推荐VHDL作为我国电子设计自动化硬件语言的国家规范。现在,VHDL和VERILOG作为IEEE的工业标准硬件
31、描述语言,得到了众多EDA公司的支持,在电子工程领域,已成为事实上的通用语言标准。VHDL语言描述能力非常强,它比其它HDL语言有更高层次的描述。甚至有时在描述过程中只有算法的描述,而无硬件的形迹。因此,VHDL语言在CPLD/FPGA的应用方面较为广泛,一个复杂的问题,VHDL语言可以用比较少的篇幅描述清楚。同时VHDL语言指令代码多,数据类型丰富,既有用于仿真系统的指令,又有可用于综合的语句。因此VHDL语言使用起来非常灵活,可以说在几种硬件描述语言中,VHDL语言是描述能力最强的一种语言。但同时由于其较强的灵活性,繁多的指令码和较强的数据类型,因此VHDL语言反而成为学习使用的难点。VH
32、DL语言还有很多特点,具体可以参考相关的VHDL书籍或上网,非常容易找到。4 多功能信号发生器硬件电路设计4.1 整体电路设计分析此次毕业设计硬件电路主要包括三个部分,分别是单片机电路、CPLD电路、电源电路。其中单片机电路又包括单片机最小系统、按键电路、显示电路、幅度控制电路、波形生成电路、低通滤波电路。单片机电路负责给CPLD输入相应的信号和进行相应信息的显示,比如波形幅度信息和波形名称显示等。CPLD电路主要负责产生波形的数字量,经过数模转换器转化成相应的模拟信号。电源电路给整个波形发生器提供电源。下面4.2到4.7属于单片机电路部分,4.8介绍CPLD电路,4.9为电源电路部分。4.2
33、 单片机最小系统设计4.2.1 单片机选型由于单片机主要负责给CPLD不同的信号(包括CPLD中六选一数据选择器信号、频率和占空比调节信号)、控制信号幅度、显示相应数据,波形数据由CPLD 产生,单片机工作在相对低速情况下,所以选用一般的51系列单片机即可。考虑国产台湾宏晶公司生产单片机中STC51系列单片机有以下特点:(1)加密性强(2)超强抗干扰:高抗静电。轻松过2KV/4KV快速脉冲干扰。宽电压,不怕电源抖动。宽温度范围,-4085。(3)三大降低单片机时钟对外部电磁辐射的措施禁止ALE输出。如选6时钟/机器周期,外部时钟频率可降一半。单片机时钟振荡器增益可设为1/2GAIN。(4)超低
34、功耗掉电模式:典型功耗 0.1A。正常工作模式:典型功耗 4MA7MA。掉电模式可由外部中断唤醒。(5)在系统可编程,无需编程器,无需仿真器。基于以上因素,选用STC89C52RC单片机作为单片机控制电路的主控芯片。4.2.2 STC89C52RC单片机简介(1)增强型6时钟/机器周期、12时钟/机器周期任意设置。(2)工作电压:5.53.4V。(3)工作频率:040MHZ,相当于普通8051单片机;实际使用范围为080MHZ。(4)8KB片内FLASH程序存储器,擦写次数10万次以上。(5)片上集成512B RAM数据存储器。(6)通用I/O口(32个),复位后为: P1、P2、 P3、P4
35、是弱上拉/准双向口(与普通MCS-51 I/O口功能一样);P0口是开漏输出口,作为总线扩展时用,不用加上拉电阻;P0口作为I/O口用时,需加上拉电阻。(7)ISP在系统可编程,无需专用编程器/仿真器,可通过串口(P30/ P31)直接下载用户程序,8KB程序3S即可完成一片。(8)芯片内置EEPROM功能。(9)硬件看门狗(WDT)。(10)共3个16位定时器/计数器,兼容普通MCS-51单片机的定时器,其中定时器T0还可以当成2个8位定时器使用。 (11)外部中断4路,下降沿中断或低电平触发中断,掉电模式可由外部中断唤醒。(12)全双工异步串行口(UART),兼容普通8051单片机的串口。
36、(13)工作温度范围:070。4.2.3 单片机最小系统单片机最小系统负责键盘的输入扫描,对不同键值进行处理,并给CPLD不同的数据信号,同时使用LCD进行相应的显示。而且它还担任着调幅的功能。最小系统见图4-1。串口通信电路接口分别接单片机P30、P31口进行串口通信。在这里主要用于STC单片机下载程序,因为STC单片机出厂时都自带ISP系统引导码,所以使用起来比AT系列的单片机方便,不必使用并口下载,而且现在大部分电脑没有并口。工作电源指示电路,方便调试使用。图4-1 单片机最小系统此次选用单片机第9引脚为复位引脚,不同的单片机复位电平也不相同,比如普通的AT89C51是高电平复位,AVR
37、单片机一般是低电平复位,CPLD可以自己设定复位电平,针对不同的复位电平,复位电路也不同。STC单片机是高电平复位,所以选用上图的复位电路,电路中的复位电路具有上电复位的功能,应用原理是电容的充放电原理,具体原理,请查阅相关单片机书籍,比较容易查找,此处不赘述。值得注意的是P0口需要添加上拉电阻,电路使用11.0592MHZ的晶振,在某些串口通信中,如51和GPS模块进行串口通信,时必须使用这样的晶振,12MHZ的晶振调成某些波特率会有误差,所以使用串口通信时最好使用11.0592MHZ的晶振。4.3 按键电路设计本次毕业设计使用到得按键比较多,但是单片机IO口有限,为了节约单片机IO口,使用
38、了专门的按键电路,如图4-2所示,图 4-2 键盘电路普通的矩阵电路5个IO口可以扫描到6个按键,但是此键盘电路共可以扫描到IO个按键,扫描时先令L1为低电平,分别去检测L2、L3、L4、L5,如果检测到L2是低电平,即可知道是K1按下,如果检测到L3是低电平,即可知道K2键按下,L2、L3、L4、L5分别对应K1、K2、K3、K4键。如果没有检测到低电平,就另L2为低电平,检测L3、L4、L5(因为前边K1、K2、K3、K4已经检测过了,所以不再扫描),对应按键为K5、K6、K7。如果没有检测到按键,就令L3为低电平,去检测L4、L5,对应K8、K9。如果没有检测到按键,就另L4为低电平,去
39、检测L5,对应于K10。如此循环往复,如果有那个按键被按下,返回相应的键值并将端口初始化即可。具体程序设计参见附录B单片机按键扫描程序。R10到R15为上拉电阻,这样的接法在实际中可以更好地抗干扰。键盘中有10个按键,K1到K6分别代表递增锯齿波、递减锯齿波、三角波、阶梯波、方波、正弦波,按下相应的按键,多功能信号发生器就会产生不同的波形。K7和K8分别表示调幅,K7表示整数调幅,从0到10,步进值1V;K8表示小数调幅,从0到9,步进值0.1V。K9和K10暂留,方便以后升级使用。4.4 显示电路设计本次设计因为要显示的内容较多,需要相应的显示电路,液晶电路比数码管有更好的显示效果,克服了数
40、码管亮度与速度的矛盾,而且使用简单,控制方便,焊接容易等特点,所以使用LCD1602作为显示电路。相应的电路如下图4-3所示。图 4-3 液晶显示电路图中的3引脚为了调节对比度的,根据以往经验,此引脚电压一般将近0V,所以直接接上一个510的电阻,就可以达到效果而不用使用滑动变阻器进行调节,这样的接法更方便,稳定。4.5 幅度控制电路设计4.5.1 DAC0832简介DAC0832是微处理器完全兼容的,具有8位分辨率的D/A转换集成芯片,以其价廉、接口简单、转换控制容易等优点,在单片机应用系统中得到了广泛的应用。(1) DAC0832的引脚其逻辑结构及管脚号如图4-4所示:图4-4 DAC08
41、32引脚图它由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。为20脚双列直插式封装结构。各引脚信号说明如下:DI7DI0转换数据输入。/CS片选信号(输入),低电平有效。ILE数据锁存允许信号(输入),高电平有效。/WR1第1写信号(输入),低电平有效。该信号与ILE信号共同控制输入寄存器是数据直通方式还是数据锁存方式:当ILE=1和/WR1=0时,为输入寄存器直通方式;当ILE=1和/WR1=1时,为输入寄存器锁存方式。/XFER数据传送控制信号(输入),低电平有效。/WR2第2写信号(输入),低电平有效。该信号与/XFER信号合在一起控制DAC寄存器是数据直通方式
42、还是数据锁存方式:/WR2=0和/XFER=0时,为DAC寄存器直通方式;/WR2=1和/XFER=0时,为DAC寄存器锁存方式。IOUT1电流输出“1”;当数据为全1时,输出电流最大;为全0时输出电流最小。IOUT2电流输出“2”;DAC转换器的特性之一是:IOUT1IOUT2=常数。RFB反馈电阻端。即运算放大器的反馈电阻端,电阻已固化在芯片中。因为DAC0832是电流输出型D/A转换器,为得到电压的转换输出,使用时需在两个电流输出端接运算放大器,RFB即为运算放大器的反馈电阻,运算放大器的接法如图4-5所示:电平输出Iout1Iout2Rfb图4-5 运放器VREF基准电压,是外加高精度
43、电压源。该电压可正可负,范围为10V+10V。DGND数字地。AGND模拟地。(2)DAC0832内部结构“8位输入寄存器”用于存放CPU送来的数字量,使输入的数字量得到缓冲和锁存,由/LE1控制。“8位DAC寄存器”用于存放待转换的数字量,由/LE2控制。“8位D/A转换电路”由T型电阻网络和电子开关组成,电子开关受“8位DAC寄存器”输出控制。其内部结构如图4-6所示:图4-6 DAC0832内部结构4.5.2 幅度控制电路分析因为波形发生器的各种信号都需要调节幅度,因此专门设计此幅度控制电路,由于在最后波形生成用的是DAC0832,所以只要控制波形生成模块中的DAC0832的参考电压就可
44、以调整幅度。由于幅度调节需要很精确的调节,所以此参考电压的改变使用另一块DAC0832和精密运放OP07,具体电路见下图4-7。通过单片机给DI0到DI7不同的数字量就可以输出不同的电压。需要注意的是,DAC0832是电流输出型DAC,它们的输出需要电流电压转换。这个转换就是通过运算放大器及外围电路来实现。=- (4-1)其中为输出电压,即图中的OP07运放6管脚输出的OUT1。数字出入1为单片机给DI0到DI7的输入数字量,N为D/A转换器的位数(DAC0832为8位转换器)。为DAC的参考电压,如电路图中DAC0832的8管脚,这里接上+10V电压。当DI0到DI7为“00000000”时
45、,输出电压为0V,当DI0到DI7为“11111111”时,输出最大电压-9.96V。图4-7 调幅电路4.6 波形生成电路设计波形生成电路是最重要的电路模块,见图4-8,同样使用DAC0832来产生波形,此处DAC0832的参考电压为调幅输出电压,所以最后的幅度,设为=-=10 (4-2)其中数字输入2为CPLD给DAC0832的数字量,需要注意的是单片机IO为5V电压,而CPLD使用的是3.3V电压,两者IO口直接相连,长时间会损害CPLD的寿命,所以在单片机和CPLD的连接加上510的限流电阻,可以实现CPLD和单片机的数据传输。其中SEL2、SEL1、SEL0是单片机给CPLD中六选一
46、数据选择器的3个信号。图4-8 CPLD接口电路4.7 低通滤波模块设计采样信号在一定条件下可以恢复到原始信号。只要用一截止频率等于原始信号的频谱中最高频率的低通滤波器,滤除高频分量,经滤波后得到的信号包含了原始信号频谱的全部内容,故在低通滤波器输出端可以得到恢复后的原始信号。DDS有一个明显的缺点,输出频率越接近NYQUIST 带宽的高端,采样点数越少,其输出的杂散干扰就越大。输出波形具有大量的谐波分量和系统时钟干扰。为了得到所需频段内的信号,需要在DDS输出端加一滤波器来实现,而低通滤波器能较好的滤除杂波,平滑信号,所以低通滤波器的设计就尤为重要,滤波特性的优劣对输出信号的性能起重要的影响
47、。4.7.1 低通滤波器选择一般用一个可实现的衰减特性来逼近理想特性,且使衰减的变化处在所规定的容限之内,根据不同的逼近原则、不同的衰减特性,选择不同响应的滤波器。低通滤波器的频率响应主要有三种:巴特沃斯滤波器(最平坦响应滤波器) 、契比雪夫滤波器、椭圆函数滤波器。 巴特沃斯滤波器的响应最为平坦,它的通带内没有波纹,在靠近零频处,有最平坦通带,趋向阻带时衰减单调增大,缺点是从通带到阻带的过渡带最宽,对于带外干扰信号的衰减作用最弱,过渡带不够陡峭。契比雪夫滤波器在通带内衰减在零值和一个上限值之间做等起伏变化,阻带内衰减单调增大,带内有起伏,但过渡带比较陡峭。椭圆函数滤波器不仅通带内有起伏,阻带内也有起伏,而且过渡带陡峭。比较起来,椭圆函数滤波器性能更好。 几种典型低通滤波器的频率响应分别如图4-9所示。