波形发生器研究毕业论文.doc_第1页
波形发生器研究毕业论文.doc_第2页
波形发生器研究毕业论文.doc_第3页
波形发生器研究毕业论文.doc_第4页
波形发生器研究毕业论文.doc_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

哈尔滨工程大学本科生毕业论文波形发生器研究毕业论文目录第1章绪论11.1本课题研究的背景和意义11.2国内外波形发生器的研究现状21.3本课题的主要研究内容和论文安排41.3.1主要研究内容41.3.2本论文的主要安排4第2章系统整体方案设计及工作原理62.1系统总体方案的选择62.1.1信号发生电路方案论证62.1.2总体系统设计62.2系统的主要性能指标72.3基于AVR单片机的嵌入式系统72.3.1嵌入式系统概述72.3.2AVR单片机概述92.4DAC数模转换112.4.1数模转换器的主要性能指标112.4.2数模转换器的转换方式132.4.3数模转换器的转换原理142.4.4数模转换器的分类152.5本章小结15第3章系统硬件方案设计163.1资源分配163.2主控电路的设计163.2.1ATmega64单片机概述163.2.2ATmega64最小系统设计193.3数模转换电路的设计203.3.1TLC7628数模转换器介绍203.3.2单片机与D/A的连接223.4运算放大电路及低通滤波电路的设计243.4.1TL084运算放大器243.4.2运算放大器与低通滤波电路的连接253.5按键电路的设计253.5.1按键的分类253.5.2矩阵键盘的工作原理和扫描确认方式263.5.3采用列扫描法对矩阵键盘进行判别的思路273.5.4单片机与按键电路的连接283.6本章小结29第4章系统软件方案设计304.1本课题软件开发系统304.1.1编程语言的选择304.1.2软件开发环境WinAVR314.1.3程序下载软件334.2系统软件设计344.2.1主程序设计344.2.2键盘扫描子程序设计354.2.3方波产生子程序设计354.2.4正弦波产生子程序设计374.2.5锯齿波产生子程序设计384.2.6三角波产生子程序设计384.3本章小结38第5章调试与测试结果405.1测量仪器及测试说明405.2试验结果405.2.1方波输出图形405.2.2正弦波输出图形415.2.3锯齿波输出图形425.2.4三角波输出图形445.3试验结果分析465.4本章小结47结论48参考文献49致谢51第1章绪论1.1本课题研究的背景和意义单片机是一种集成的电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器、计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。在调试硬件时,常常需要加入一些信号,以观察电路工作是否正常。波形发生器是一种数据信号发生器,用于产生标准信号,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。随着科学技术的发展,对它的要求也越来越高。在工业生产和科研中利用信号发生器输出的信号,可以对元器件的性能和参数进行测量,还可以对电工电子产品进行指数验证、参数调整及性能鉴定。绝大部分常用的信号发生器都是由模拟电路构成的,当这种模拟信号发生器用于低频信号输出时,往往需要很大的RC值,这样不但参数准确度难以保证,而且体积和功耗都很大。而对于由数字电路构成的低频信号发生器,虽然其低频性能好,但体积较大、价格较贵,因此,高精度、宽调幅、低价格将成为数字信号发生器的发展趋势。基于单片机的简易波形发生器是一种常用的信号源,它广泛的应用在电子技术试验、自动控制系统和其他科研领域。目前,简易波形发生器的构成方法有很多,例如采用DDS型的任意波形发生器、采用专用的信号发生芯片MAX038的任意波形发生器以及传统的AWG。本设计通过分析比较后决定采用传统方法来实现本波形发生器,借助高性能单片机运算速度高、集成度强的优势设计出的这种信号发生器,比起以前的数字式信号发生器,具有硬件简单、理解及实现起来较容易、设计思路较为清晰、且容易对频率和幅值进行控制等优点1。1.2国内外波形发生器的研究现状波形发生器是能够产生大量的标准信号和用户定义信号,并能够保证高精度、高稳定性、可重复性和易操作性的电子仪器。函数波形发生器具有相位变换连续、频率稳定等优点,不仅可以模拟各种复杂信号,还可对频率、幅值、相移、波形进行动态、及时的控制,并能够与其它仪器进行通讯,组成自动测试系统,因此被广泛用于自动控制系统、震动激励、通讯和仪器仪表领域2。在70年代前,信号发生器主要有两类:正弦波信号发生器和脉冲波信号发生器。而函数发生器介于两类之间,能够提供正弦波、余弦波、方波、三角波、上弦波等几种常用标准波形,产生其它波形时,需要采用较复杂的电路和机电结合的方法。这个时期的波形发生器多采用模拟电子技术,而模拟器件构成的电路存在着尺寸大、价格贵、功耗大等缺点,并且因为要产生较为复杂的信号波形,电路结构会非常复杂。同时,主要存在两个突出问题,一是通过电位器的调节来实现输出频率的调节,因此很难将频率调到某一固定值;二是脉冲的占空比不可调节。在70年代后,微处理器的出现,可以利用处理器、A/D和D/A,从硬件和软件两个方面使波形发生器的功能扩大,产生更加复杂的波形。这时期的波形发生器多以软件为主,实质是采用微处理器对DAC的程序控制,就可以得到各种简单的波形。 90年代末,出现几种真正高性能、高价格的函数发生器。如HP公司推出的型号为HP770S的信号模拟装置系统,它由HP8770A任意波形数字化和HP1776A波形发生软件组成。HP8770A实际上也只能产生8种波形,而且价格昂贵。不久以后,Analogic公司推出了型号为Data-2020的多波形合成器,之后还有Lecroy公司生产的型号为9100的任意波形发生器等。 到了二十一世纪,随着集成电路技术的高速发展,出现了多种工作频率可过GHz的DDS芯片,同时也推动了函数波形发生器的发展。2003年,Agilent的产品33220A能够产生17种波形,最高频率可达到20M,2005年的产品N6030A能够产生高达500MHz的频率,采样的频率可达1.25GHz。由上面的产品可以看出,函数波形发生器发展很快。近几年来,国际上波形发生器技术发展主要体现在以下几个方面:(1)过去的波形发生器由于频率很低,应用的范围比较狭小,随着输出波形频率的提高,波形发生器也正应用于越来越广的领域。波形发生器软件的开发正使波形数据的输入变得更加方便和容易。波形发生器通常允许用一系列的点、直线和固定的函数段把波形数据存入存储器。同时可以利用一种强有力的数学方程输入方式产生波形,复杂的波形可以由几个比较简单的公式复合成v=f(t)形式的波形方程,从而通过这样的数学表达式产生。这样就促进了函数波形发生器向任意波形发生器的发展,各种计算机语言的飞速发展也对任意波形发生器软件技术起到了推动作用。目前可以利用可视化编程语言(如Visual Basic,Visual C等等)编写任意波形发生器的软面板,这样就允许从计算机显示屏上输入任意波形,来实现波形的输入。 (2)与VXI资源结合。目前,波形发生器由独立的台式仪器和适用于个人计算机的插卡以及新近开发的VXI模块构成。由于VXI总线的逐渐成熟和对测量仪器要求的不断提高,在很多领域需要使用VXI系统测量产生复杂的波形,VXI的系统资源提供了明显的优越性,但由于开发VXI模块的周期长,而且需要专门的VXI机箱的配套使用,使得波形发生器VXI模块仅限于航空、军事及国防等大型领域。在民用方面,VXI模块远远不如台式仪器方便。 (3)随着信息技术蓬勃发展,台式仪器在走了一段下坡路之后,又重新繁荣起来。不过现在新的台式仪器的形态,和几年前的己有很大的不同。这些新一代台式仪器具有多种特性,可以执行多种功能。而且外形尺寸与价格都比过去的类似产品减少了一半3。1.3本课题的主要研究内容和论文安排1.3.1主要研究内容本课题的内容是以AVR单片机为核心设计波形发生器,使其能够产生正弦波、方波、三角波以及锯齿波,而且波形的频率和幅值可调。主要工作分为以下几个方面:(1)理论基础分析了解波形发生器的相关理论,包括几种常用波形,如正弦波、方波等的产生原理,以及波形发生器的主要实现方案及原理。(2)硬件系统设计主要包括以下几个模块:键盘、单片机系统、DAC芯片和放大滤波电路设计。 (3)软件系统设计主要有:系统总体流程设计、单片机控制程序设计、键盘扫描程序设计、DAC控制程序设计。(4)系统调试向单片机下载程序并调试,最终在示波器上完成波形变换及频率、幅值调节的功能。1.3.2本论文的主要安排第一章介绍本课题研究的背景、意义和研究现状,并对本课题研究的主要内容进行详细阐述和分析。第二章对系统的总体方案进行比较详细的介绍,并提出具体的性能指标。同时也对于AVR单片机及DAC数模转换器进行大致的介绍。第三章主要是介绍系统的硬件方案设计。首先介绍系统的资源分配情况。之后分块介绍系统硬件部分各芯片的工作原理及具体的电路设计。第四章主要是介绍系统的软件方案设计。首先介绍整个系统软件设计所用到的软件开发系统。然后分不同子程序介绍程序的设计过程。第五章展示本系统的调试与测试结果。列出最终试验所得的现象并对其进行分析。第2章系统整体方案设计及工作原理2.1系统总体方案的选择2.1.1信号发生电路方案论证方案一:通过单片机控制D/A,输出四种波形。此方案输出的波形不够稳定,抗干扰能力弱,不易调节。但此方案电路简单、成本低4。方案二:使用传统的锁相频率合成方法。通过芯片IC145152,压控振荡器搭接的锁相环电路输出稳定性极好的正弦波,再利用过零比较器转换成方波,积分电路转换成三角波。此方案电路复杂,干扰因素多,不易实现。方案三:利用MAX038芯片组成的电路输出波形。MAX038是精密高频波形产生电路,能够产生准确的三角波、方波和正弦波三种周期性波形。但此方案成本高,程序复杂度高。以上三种方案综合考虑,选择方案一。2.1.2总体系统设计数字信号可以通过数模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。ATmega64单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要将ATmega64再配置键盘、数模转换及波形输出、放大电路等部分,即可构成所需的波形发生器,此信号发生器构成系统框图如下图2.1所示。ATmega64是整个波形发生器的核心部分,通过程序的编写和执行,产生各种各样的信号,并从键盘接收数据,进行各种波形的转换和信号频率幅度的调节。当数字信号到达转换电路,就被转换成模拟信号,再经过放大滤波电路得到所需要的输出波形。图2.1系统框图2.2系统的主要性能指标主要功能是实现利用单片机ATmega64和八位D/A转换芯片TLC7628共同实现正弦波、方波、三角波、锯齿波这四种常见波形的发生,并通过按键选择相应的波形产生,或使现有波形的频率、幅值发生变化。2.3基于AVR单片机的嵌入式系统2.3.1嵌入式系统概述根据IEEE(电气和电子工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”。从这个定义中,我们可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统5。一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。执行装置可以很简单,如手机上的一个微小型的电机,当手机处于震动接收状态时打开;也可以很复杂,如SONY智能机器狗,上面集成了多个微小型控制电机和多种传感器,从而可以执行各种复杂的动作和感受各种状态信息6。这些年来掀起了嵌入式系统应用热潮的原因主要有几个方面:一是芯片技术的发展,这使得单个芯片具有更强的处理能力,而且使集成多种接口已经成为可能,众多芯片生产厂商已经将注意力集中在这方面。另一方面的原因就是应用的需要,由于对产品可靠性、成本、更新换代要求的提高,使得嵌入式系统逐渐从纯硬件实现和使用通用计算机实现的应用中脱颖而出,成为近年来令人关注的焦点7。从上面的定义,我们可以看出嵌入式系统的几个重要特征:(1)系统内核小。由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。比如Enea公司的OSE分布式系统,内核只有5K,而Windows的内核简直没有可比性。(2)专用性强。嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的“升级”完全是两个概念。(3)系统精简。嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。(4)高实时性的系统软件(OS)是嵌入式软件的基本要求。而且软件要求固态存储,以提高速度;软件代码要求高质量和高可靠性8。(5)嵌入式软件开发要想走向标准化,就必须使用多任务的操作系统。嵌入式系统的应用程序可以没有操作系统直接在芯片上运行;但是为了合理地调度多任务,利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS(Real-Time Operating System)开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量9。(6)嵌入式系统开发需要开发工具和环境。由于其本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。2.3.2AVR单片机概述单片机又称单片微控制器,它是把一个计算机系统集成到一个芯片上,概括的讲就是一块芯片就成了一台计算机。单片机技术是计算机技术的一个分支,是简易机器人的核心元件。1997年,由ATMEL公司挪威设计中心的A先生与V先生利用ATMEL公司的Flash新技术,共同研发出RISC精简指令集的高速8位单片机,简称AVR。与出现较早也较为成熟的51系列单片机相比,AVR系列单片机片内资源更为丰富,接口也更为强大,同时由于其价格低等优势,在很多场合可以替代51系列单片机10。单片机现已广泛地应用于军事、工业、家用电器、智能玩具、便携式智能仪表和机器人制作等领域,使各产品功能、精度和质量大幅度提升,且应用了单片机技术的产品具有电路简单,故障率低,可靠性高,成本低廉等众多优点。单片机种类很多,在简易机器人制作和创新等领域中,之所以选用AVR单片机,是因为它有以下优点:1、简便易学,费用低廉首先,对于非专业人员来说,选择AVR单片机的最主要原因,是进入AVR单片机开发领域的门槛非常低,只要会操作电脑就可以学习AVR单片机的开发。单片机初学者只需一条ISP下载线,把编辑、调试通过的软件程序直接在线写入AVR单片机,即可以开发AVR单片机系列中各种封装的器件。AVR单片机因此在业界号称“一线打天下”。其次,AVR单片机便于升级。AVR程序写入是直接在电路板上进行程序修改、烧录等操作,这样便于产品升级。再次,AVR单片机费用低廉。学习AVR单片机可使用ISP在线下载编程方式(即把PC机上编译好的程序写到单片机的程序存储器中),不需购买仿真器、编程器、擦抹器和芯片适配器等,即可进行所有AVR单片机的开发应用,这可节省很多开发费用。程序存储器擦写可达10000次以上,不会产生报废品。2、高速、低耗、保密首先,AVR单片机是高速嵌入式单片机:(1)AVR单片机具有预取指令功能,即在执行一条指令时,预先把下一条指令取进来,使得指令可以在一个时钟周期内执行。(2)多累加器型,数据处理速度快。AVR单片机具有32个通用工作寄存器,相当于有32条立交桥,可以快速通行。(3)中断响应速度快。AVR单片机有多个固定中断向量入口地址,可快速响应中断。其次,AVR单片机耗能低。对于典型功耗情况,WDT关闭时为100nA,更适用于电池供电的应用设备。有的器件最低1.8V即可工作。再次,AVR单片机保密性能好。它具有不可破解的位加密锁Lock Bit技术,保密位单元深藏于芯片内部,无法用电子显微镜看到。3、I/O口功能强,具有A/D转换等电路(1)AVR单片机的I/O口是真正的I/O口,能正确反映I/O口输入/输出的真实情况。工业级产品,具有大电流(灌电流)1040mA,可直接驱动可控硅SCR或继电器,节省了外围驱动器件。(2)AVR单片机内带模拟比较器,I/O口可用作A/D转换,可组成廉价的A/D转换器。ATmega48/8/16等器件具有8路10位A/D。(3)部分AVR单片机可组成零外设元件单片机系统,使该类单片机无外加元器件即可工作,简单方便,成本又低。(4)AVR单片机可重设启动复位,以提高单片机工作的可靠性。有看门狗定时器实行安全保护,可防止程序走乱(飞),提高了产品的抗干扰能力。4、有功能强大的定时器/计数器及通讯接口定时/计数器T/C有8位和16位,可用作比较器。计数器外部中断和PWM(也可用作D/A)用于控制输出,某些型号的AVR单片机有34个PWM,是作电机无级调速的理想器件。AVR单片机有串行异步通讯UART接口,不占用定时器和SPI同步传输功能,因其具有高速特性,故可以工作在一般标准整数频率下,而波特率可达576K。5、片内EEPROMEEPROM数据存储器。它是作为一个独立的数据空间而存在的,可以按字节读写。EEPROM的寿命至少为100000次擦除周期。EEPROM的访问由地址寄存器、数据寄存器和控制寄存器决定。11通过SPI和JTAG及并行电缆下载进行EEPROM数据的操作。2.4DAC数模转换数模转换器,又称D/A转换器,简称DAC,它是把数字量转变成模拟量的器件。D/A转换器基本上由4个部分组成,即权电阻网络、运算放大器、基准电源和模拟开关12。模数转换器中一般都要用到数模转换器,数模转换器即A/D转换器,简称ADC,它是把连续的模拟信号转变为离散的数字信号的器件。2.4.1数模转换器的主要性能指标D/A转换器的主要特性指标包括以下几方面:(1)分辨率分辨率指最小输出电压(对应的输入数字量只有最低有效位为“1”)与最大输出电压(对应的输入数字量所有有效位全为“1”)之比。如N位D/A转换器,其分辨率为1/(2N-1)。在实际使用中,表示分辨率大小的方法也用输入数字量的位数来表示。(2)线性度用非线性误差的大小表示D/A转换的线性度。并且把理想的输入输出特性的偏差与满刻度输出之比的百分数定义为非线性误差。(3)转换精度D/A转换器的转换精度与D/A转换器的集成芯片的结构和接口电路配置有关。如果不考虑其他D/A转换误差时,D/A的转换精度就是分辨率的大小,因此要获得高精度的D/A转换结果,首先要保证选择有足够分辨率的D/A转换器。同时D/A转换精度还与外接电路的配置有关,当外部电路器件或电源误差较大时,会造成较大的D/A转换误差,当这些误差超过一定程度时,D/A转换就产生错误。在D/A转换过程中,影响转换精度的主要因素有失调误差、增益误差、非线性误差和微分非线性误差。(4)温度系数在满刻度输出的条件下,温度每升高1,输出变化的百分数定义为温度系数。(5)电源抑制比对于高质量的D/A转换器,要求开关电路及运算放大器所用的电源电压发生变化时,对输出电压影响极小。通常把满量程电压变化的百分数与电源电压变化的百分数之比称为电源抑制比。(6)工作温度范围一般情况下,影响D/A转换精度的主要环境和工作条件因素是温度和电源电压变化。由于工作温度会对运算放大器加权电阻网络等产生影响,所以只有在一定的工作范围内才能保证额定精度指标。较好的D/A转换器的工作温度范围在-4085之间,较差的D/A转换器的工作温度范围在070之间。多数器件的静、动态指标均是在25的工作温度下测得的,工作温度对各项精度指标的影响用温度系数来描述,如失调温度系数、增益温度系数、微分线性误差温度系数等。(7)失调误差(或称零点误差)失调误差定义为数字输入全为0码时,其模拟输出值与理想输出值之间的偏差值。对于单极性D/A转换,模拟输出的理想值为零伏点。对于双极性D/A转换,理想值为负域满量程。偏差值的大小一般用LSB的份数或用偏差值相对满量程的百分数来表示。(8)增益误差(或称标度误差)D/A转换器的输入与输出传递特性曲线的斜率称为D/A转换增益或标度系数,实际转换的增益与理想增益之间的偏差称为增益误差。增益误差在消除失调误差后用满码。输入时其输出值与理想输出值(满量程)之间的偏差表示,一般也用LSB的份数或用偏差值相对满量程的百分数来表示。(9)非线性误差D/A转换器的非线性误差定义为实际转换特性曲线与理想特性曲线之间的最大偏差,并以该偏差相对于满量程的百分数度量。在转换器电路设计中,一般要求非线性误差不大于1/2LSB。2.4.2数模转换器的转换方式数模转换有两种转换方式:并行数模转换和串行数模转换。(1)并行数模转换数码操作开关和电阻网络是基本部件。通过一个模拟量参考电压和一个电阻梯形网络产生以参考量为基准的分数值的权电流或权电压;而用由数码输入量控制的一组开关决定哪一些电流或电压相加起来形成输出量。所谓“权”,就是二进制数的每一位所代表的值。例如:三位二进制数“111”,右边第1位的“权”是20/23=1/8;第2位是21/23=1/4;第3位是22/23=1/2。位数多的依次类推。三位数模转换器的基本电路中,参考电压产生二进制权电流,电流通过开关。当该位的值是“0”时,与地接通;当该位的值是“1”时,与输出相加母线接通。几路电流之和经过反馈电阻产生输出电压,电压极性与参考量相反。输入端的数字量每变化“1”,仅引起输出相对量变化1/23=1/8,此值称为数模转换器的分辨率。位数越多分辨率就越高,转换的精度也越高。工业自动控制系统采用的数模转换器大多是10位、12位,转换精度达0.50.1。(2)串行数模转换串行数模转换是将数字量转换成脉冲序列的数目,一个脉冲相当于数字量的一个单位,然后将每个脉冲变为单位模拟量,并将所有的单位模拟量相加,就得到与数字量成正比的模拟量输出,从而实现数字量与模拟量的转换。2.4.3数模转换器的转换原理数字量是用代码按数位组合起来表示的,对于有权码,每位代码都有一定的位权。为了将数字量转换成模拟量,必须将每1位的代码按其位权的大小转换成相应的模拟量,然后将这些模拟量相加,即可得到与数字量成正比的总模拟量,从而实现了数字模拟转换。这就是组成D/A转换器的基本指导思想。两个相邻数码转换出的电压值是不连续的,两者的电压差由最低码位代表的位权值决定。它是信息所能分辨的最小量,也就是我们所说的1LSB(Least Significant Bit)。对应于最大输入数字量的最大电压输出值(绝对值),用FSR(Full Scale Range)表示。D/A转换器由数码寄存器、模拟电子开关电路、解码网络、求和电路及基准电压几部分组成。数字量以串行或并行方式输入、存储于数码寄存器中,数码寄存器输出的各位数码,分别控制对应位的模拟电子开关,使数码为“”的位在位权网络上产生与其权值成正比的电流值,再由求和电路将各种权值相加,即得到数字量对应的模拟量。2.4.4数模转换器的分类(1)按解码网络结构不同:T型电阻网络D/A转换器;倒T型电阻网络D/A转换器;权电流D/A转换器;权电阻网络D/A转换器。(2)按模拟电子开关电路的不同:CMOS开关型D/A转换器(速度要求不高);双极型开关D/A转换器 电流开关型(速度要求较高);ECL电流开关型(转换速度更高)。2.5本章小结本章主要介绍了本课题系统的整体方案以及主要模块的工作原理。前两节介绍了系统方案的选择,确定了课题的实现方法,为本课题的实现确定了大体思路;后两节介绍了本系统中较为重要的控制模块以及数模转换模块的基本工作原理,为后面软硬件部分的设计奠定了基础。第3章系统硬件方案设计3.1资源分配(1)主控芯片采用ATMEL公司的ATmega64;(2)采用8MHz的晶振为ATmega64提供时钟信号;(3)提供+12V、-12V和+5V电压;(4)对于ATmega64内存分配 PF2-PF7与矩阵键盘相连,以接收按键信号。PA口与DAC的数据输入端相连。PC0与DAC的通道选择引脚相连。PC1与DAC的选通引脚相连。PG0与DAC的写信号端口相连。(5)采用8位双通道D/A转换器TLC7628;(6)运算放大器采用TL084。3.2主控电路的设计3.2.1ATmega64单片机概述ATmega64是基于增强AVR RISC结构的低功耗的8位CMOS微型控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega64的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。ATmega64 AVR内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与算数逻辑单元(ALU)相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC微控制器最高高至10倍的数据吞吐率。ATmega64有如下特点:64K字节的系统内可编程Flash(具有同时读写的能力,即RWW),2K字节EEPROM,4K字节SRAM,53个通用I/O口线,32个通用工作寄存器,实时计数器(RTC),四个具有比较模式与PWM的灵活的定时器/计数器(T/C)。两个USART,面向字节的两线串行接口,8路10位具有可选差分输入级可编程增益的ADC,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,与IEEE 1149.1标准兼容的、可用于访问片上调试系统及编程的JTAG接口,以及六个可以通过软件进行选择的省电模式。工作于空闲模式时CPU停止工作,而SRAM、T/C、SPI端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;ADC噪声抑制模式时终止CPU和除了异步定时器与ADC以外所有I/O模块的工作,以降低ADC转换时的开关噪声;Standby模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby模式下则允许振荡器和异步定时器继续工作13。本芯片的生产采用了Atmel高密度非易失性存储器技术。片内ISP Flash允许程序存储器通过ISP串行接口,或者通用编程器进行编程,也可以通过运行于AVR内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用Flash存储区(Application Flash Memory)。在更新应用Flash存储区时引导Flash区(Boot Flash Memory)的程序继续运行,实现了RWW操作。通过将8位RISC CPU与系统内可编程的Flash集成在一个芯片内,ATmega64成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。ATmega64具有一整套的编程与系统开发工具,包括:C语言编译器、宏汇编、程序调试器/软件仿真器、仿真器及评估板。ATmega64主要特性有以下几点:1、高性能、低功耗的8位AVR微处理器2、先进的RISC结构:(1)130条指令,大多数指令执行时间为单个时钟周期;(2)32个8位通用工作寄存器;(3)全静态工作;(4)工作于16MHz时性能高达16MIPS;(5)只需两个时钟周期的硬件乘法器。3、非易失性程序和数据存储器:(1)64K字节的系统内可编程Flash,擦写寿命10000次;(2)具有独立锁定位的可选Boot代码区,通过片上Boot程序实现系统内编程,真正实现同时读写操作;(3)2K字节的EEPROM,擦写寿命100000次;(4)4K字节片内SRAM;(5)64K字节可选外部存储空间;(6)可以对锁定位进行编程以实现用户程序的加密;(7)通过SPI接口进行系统内编程。4、JTAG接口(与IEEE 1149.1标准兼容):(1)符合JTAG标准的边界扫描功能;(2)支持扩展的片内调试功能;(3)可通过JTAG接口实现对Flash、EEPROM、熔丝位和锁定位的编程。5、外设特点:(1)两个具有独立预分频器和比较器功能的8位定时器/计数器;(2)两个具有预分频器、比较功能和捕捉功能的扩展16位定时器/计数器;(3)具有独立振荡器的实时计数器RTC;(4)两路8位PWM通道;(5)6路编程分辨率从1到16位可变的PWM通道;(6)8路10位ADC;(7)面向字节的两线接口;(8)可编程的串行USART;(9)可工作于主机/从机模式的SPI串行接口;(10)具有独立片内振荡器的可编程看门狗定时器;(11)片内模拟比较器。6、特殊的处理器特点:(1)上电复位以及可编程的掉电检测;(2)片内经过标定的RC振荡器;(3)片内/片外中断源;(4)6种睡眠模式:空闲模式、ADC噪声抑制模式、省电模式、掉电模式、Standby模式以及扩展的Standby模式;(5)软件选择时钟频率;(6)熔丝位选择的ATmega103兼容模式;(7)全局上拉禁止。7、I/O和封装:(1)53个可编程的I/O口;(2)64引脚TQFP封装与64引脚MLF封装。8、工作电压:(1)ATmega64L:2.7-5.5V;(2)ATmega64:4.5-5.5V。9、速度等级:(1)ATmega64L:0-8MHz;(2)ATmega64:0-16MHz。3.2.2ATmega64最小系统设计单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。最小系统一般应该包括:单片机、晶振电路、复位电路14。(1)晶振电路晶振是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分,其中较低频率的是串联谐振,较高频率的是并联谐振。本设计所用的单片机外围晶振电路是通过单片机的23(XTAL2)、24(XTLA1)引脚接入的,其中XTAL1、XTAL2分别用作片内振荡器的反向放大器的输入和输出引脚。(2)复位电路复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经过一定的延时才撤销复位信号,以防电源开关或电源插头分合过程中引起的抖动而影响复位。本设计所用的复位是由外部的复位电路来实现的。此处采用了上电复位电路。AVR单片机是低电平复位,也就是说当AVR单片机的复位引脚有一个持续50ns的低电平的时候,AVR单片机就会复位。如图3.1所示,单片机的复位引脚平时被连接到电源正极的电阻,从而嵌位在高电平,当单片机上电时,由于电容两端的电压不可以突变,所以复位引脚会在很短的一段时间内保持低电平,使得单片机复位。单片机的复位操作使单片机进入初始化状态。单片机最小系统电路图如下图3.1所示。3.3数模转换电路的设计由于单片机产生的是数字信号,要想得到所需要的波形,就要把数字信号转换成模拟信号,所以本设计选用TLC7628数模转换器。3.3.1TLC7628数模转换器介绍TLC7628是具有双输出通道、并行接口的8位D/A转换器,两路通道具有各自独立的片内数据锁存器。数据通过一个8位输入端口传送到任意一个DAC数据锁存器。控制输入端/DACB决定装入哪一个DAC。该器件的装载周期和随机存取贮存器的写周期类似,并能方便地与大多数通用微处图3.1单片机最小系统电路图理器总线及输出端口接口。1、TLC7628引脚配置TLC7628引脚配置如图3.2所示。DB0DB7:8位数据输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错);:片选信号输入线(选通数据锁存器),低电平有效;图3.2TLC7628引脚配置:数据锁存器写选通输入线,负脉冲有效;/DACB:A/B通道选择信号输入线,当输入信号为低电平时,A路选通;当输入信号为高电平时,B路选通;AGND:模拟信号地;DGND:数字信号地;VDD:电源输入端,VDD的范围为+10.8V+15.75V;OUTA/B:A/B通道信号输出线;REFA/B:A/B通道基准电压输入引脚;RFBA/B:A/B通道反馈信号输入引脚。2、TLC7628内部功能模块图TLC7628内部功能模块如下图3.3所示。3.3.2单片机与D/A的连接单片机与数模转换器的电路连接如图3.4(a)、(b)所示。ATmega64单片机的PA0-PA7引脚分别连接TLC7628的DB0-DB7引脚,以向数模转换器传输数字信号。同时,单片机向TLC7628的、及/DACB发送低电平,用以选通数模转换器的A通道。图3.3内部功能模块图图3.4(a)单片机与数模转换器的电路连接图3.4(b)单片机与数模转换器的电路连接3.4运算放大电路及低通滤波电路的设计3.4.1TL084运算放大器TL084由+12V、-12V双电源供电,并有四路独立的输入输出通道。其引脚图如图3.5所示。图3.5TL084引脚分布3.4.2运算放大器与低通滤波电路的连接TL084的6管脚连接TLC7628的2管脚,引入数模转换器所输出的模拟信号。TL084的7管脚接一个低通滤波电路,低通滤波器的截止频率为15.924kHz,最终可由TL084的2管脚测量到所需的输出信号。运算放大与低通滤波部分电路的连接见下图3.6所示。图3.6运算放大与低通滤波电路的连接3.5按键电路的设计3.5.1按键的分类在单片机系统中有独立式按键和矩阵式按键两类按键。独立式按键的每个按键占用1位I/O口线,其状态是独立的,相互之间没有影响,只要单独测试连接按键的I/O口线电平的高低就能判断按键的状态。独立式按键电路简单、配置灵活,软件结构也相对简单。此种接口方式适用于系统需要按键数目较少的场合。在按键数量较多的情况下,如系统需要8个以上按键的键盘时,采用独立式接口方式就会占用太多的I/O口,这对于I/O口资源不太丰富的单片机系统来说显得相当浪费。当按键数目相对较多的时候,为了减少I/O口资源的占用,应该采取矩阵式按键才能够既满足多按键识别的需要,又减少I/O口的占用15。3.5.2矩阵键盘的工作原理和扫描确认方式当键盘中按键数量较多时,为了减少对I/O口的占用,通常将按键排列成矩阵形式,也称为行列键盘,这是一种常见的连接方式。矩阵式键盘接口见图3.7所示,它由行线和列线组成,按键位于行、列的交叉点上。当键被按下时,其交点的行线和列线接通,相应的行线或列线上的电平发生变化,单片机通过检测行或列线上的电平变化可以确定哪个按键被按下。图3.7为一个4*4的行列结构,可以构成16个键的键盘。很明显,在按键数量多的场合,矩阵键盘与独立式按键键盘相比可以节省很多的I/O口线。矩阵键盘不仅在连接上比独立式按键复杂,它的按键识别方法也比独立式按键复杂。在矩阵键盘的软件接口程序中,常使用的按键识别方法有列扫描法和线反转法。这两种方法的基本思路是采用循环查循的方法,反复查询按键的状态,因此会大量占用MCU的时间,所以较好的方式是采用中断的方法来设计,尽量减少键盘查询过程对MCU的时间占用。在本课题中系统较为简单,所以仍然采用查询方法。图3.74*4键盘扫描电路3.5.3采用列扫描法对矩阵键盘进行判别的思路下面以图3.8为例,介绍采用列扫描法对矩阵键盘进行判别的思路。图3.8中,PF5、PF6、PF7为3根行线,设置这3根行线为上拉状态(AVR单片机I/O口有内部上拉电阻,可以设置内部上拉电阻使能,从而不用连接3个外部上拉电阻),PF2、PF3、PF4为3根列线。将列线所接的I/O口作为输出端,行线所接的I/O口作为输入端。这样,当没有按键按下时,所有的输入端都是高电平。设置列线输出低电平,一旦有键按下,则输入线会被拉低,这样通过读取输入线的状态就可以得知是否有按键按下。列扫描法按键识别的过程如下。1、判断键盘中是否有按键按下。将全部列线PF2PF4置低电平输出,然后读PF5PF7三根输入行线的状态。只要有低电平出现,则说明有键按下(实际编程时,还要考虑按键的消抖)。如读到的都是高电平,则表示无键按下。图3.8单片机与键盘的电路连接2、判断闭合键所在位置。在确认有键按下后,即可进入确定具体哪个键按下的过程。其思路是:依次将3根列线分别置为低电平,即在某根列线置为低电平时,其余列线为高电平,在确定某根列线置为低电平后,再逐行检查各行线的电平状态,若某行为低电平,则该行线与置为低电平的列线交叉处的按键就是闭合的按键。矩阵按键的识别仅仅是确认和定位了行和列的交叉点上的按键,接下来还要考虑键盘的编码,即对各个按键进行编号。在软件中常通过计算的方法或查表的方法对按键进行具体的定义和编号16。在单片机嵌入式系统中,键盘扫描只是单片机的工作内容之一。单片机除了要检测键盘和处理键盘操作之外,还要进行其他事物的处理,因此,单片机如何响应键盘的输入需要在实际系统程序设计时认真考虑。通常,完成键盘扫描和处理的程序是系统程序中的一个专用子程序,单片机调用该键盘扫描子程序对键盘进行扫描和处理的方式有三种:程序控制扫描、定时扫描和中断扫描。程序控制扫描方式。在主控程序中的适当位置调用键盘扫描程序,对键盘进行读取和处理。定时扫描方式。在该方式中,要使用MCU的一个定时器,使其产生一个10ms的定时中断,MCU响应定时中断,执行键盘扫描,当在连续两次中断中都读到相同的按键按下(间隔10ms作为消抖处理),MCU才执行相应的键盘处理程序。中断方式。使用中断方式时,键盘的硬件电路要做一定的改动,增加一个按键产生中断信号的输入线,当键盘有按键按下时,键盘硬件电路产生一个外部的中断信号,MCU响应外部中断,进行键盘处理。本课题采用程序控制扫描的方式对键盘进行处理。3.5.4单片机与按键电路的连接本设计中,单片机与键盘的电路连接如图3.8所示。单片机的PF2-PF7引脚与键盘相连,组成3*3的矩阵键盘。其中,PF5PF7分别连接键盘的1、2、3行的行线,设置为输入方向,并设置为上拉电阻使能,把这三个引脚的电位拉高。PF4PF2分别连接键盘的1、2、3列的列线,设置为输出方向。程序运行时,采用列扫描法对矩阵键盘进行判别。3.6本章小结本章首先介绍了本系统的资源配置,再分模块介绍了主控电路、数模转换电路、运算放大电路、低通滤波电路以及按键电路各部分的基本原理及设计思路,完成了本课题硬件部分的设计。完成本课题的硬件部分设计之后,就可以开始进行软件部分的设计。第4章系统软件方案设计4.1本课题软件开发系统4.1.1编程语言的选择 AVR单片机系列的常用编程语言有两种,一种是汇编语言,一种是C语言。汇编语言,是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。汇编语言直接同计算机的底层软件甚至硬件进行交互,它具有如下一些优点:(1)能够直接访问与硬件相关的存储器或I/O端口;(2)能够不受编译器的限制,对生成的二进制代码进行完全的控制;(3)能够对关键代码进行更准确的控制,避免因线程共同访问或者硬件设备共享引起的死锁;(4)能够根据特定的应用对代码做最佳的优化,提高运行速度;(5)能够最大限度地发挥硬件的功能。同时还应该认识到,汇编语言是一种层次非常低的语言,它仅仅高于直接手工编写二进制的机器指令码,因此不可避免地存在一些缺点:(1)编写的代码非常难懂,不好维护;(2)很容易产生bug,难于调试;(3)只能针对特定的体系结构和处理器进行优化;(4)开发效率很低,时间长且单调。C语言,是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。它具有如下优点:(1)简洁紧凑、灵活方便;(2)运算符丰富;(3)数据结构丰富;(4)C语言是结构式语言;(5)语法限

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论