函数信号发生器.doc

上传人:文库蛋蛋多 文档编号:4142925 上传时间:2023-04-07 格式:DOC 页数:35 大小:4.35MB
返回 下载 相关 举报
函数信号发生器.doc_第1页
第1页 / 共35页
函数信号发生器.doc_第2页
第2页 / 共35页
函数信号发生器.doc_第3页
第3页 / 共35页
函数信号发生器.doc_第4页
第4页 / 共35页
函数信号发生器.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《函数信号发生器.doc》由会员分享,可在线阅读,更多相关《函数信号发生器.doc(35页珍藏版)》请在三一办公上搜索。

1、函数发生器实验摘要函数发生器采用ATM89S52 单片机作为控制核心,外围采用模拟/数字转换电路(DAC0832)、稳压电路(MC1403)、运放电路(LM324)、按键和LED显示灯电路等。电路采用AT89S52单片机和一片DAC0832数模转换器组成数字式低频信号发生器。函数信号发生器,它具有价格低、性能高和在低频范围内稳定性好、操作方便、体积小、耗电少等特点。由于采用了LM324运算放大器和MC1403稳压器,使其电路更加具有较高的稳定性能,性能比高。此电路清晰,出现故障容易查找错误,操作简单、方便。通过按键控制可产生方波、锯齿波、三角波、正弦波等,同时用LED显示灯指示对应的波形。所产

2、生的波形VP-P范围为2.25 V,频率范围为92.592593Hz 217.3913Hz,波形准确并且平滑。本系统设计简单、性能优良,具有一定的实用性。本设计主要应用AT89S52作为控制核心。硬件电路简单,软件功能完善,控制系统可靠,性价比较高等特点,具有一定的使用和参考价值。关键词:单片机;低频信号;发生器;运放器;稳压器目 录一、绪论11、信号发生器现状12、单片机在低频信号发生器中的应用1二、系统设计21、系统方案的比较2(1)选题论证2(2)方案选择22、芯片选择模块3三、硬件电路的设计31、基本原理:32、资源分配:33、最小系统设计4(1)最小单片机系统4(2)达盛平台介绍84

3、、各部分电路原理14(1)DAC0832芯片原理14(2)LM324工作原理17(3)MC1403工作原理17四、软件设计181、主程序流程图192、锯齿波程序流程图193、三角波程序流程图204、正弦波程序流程图215、方波程序流程图216、延时子程序流程图22五、测试结论22六、致谢词25七、结束语25八、参考文献25九、附录261、元件清单262、电路原理图273、PCB图 .284、程序清单 . 28一、绪论1、信号发生器现状波形发生器亦称函数发生器,作为实验用信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。目前,市场上常见的波形发生器多为纯硬件的搭接而成,且波形种类有

4、限,多为锯齿、正弦、方波、三角等波形。信号发生器作为一种常见的应用电子仪器设备,传统的可以完全由硬件电路搭接而成,如采用555振荡电路发生正弦波、三角波和方波的电路便是可取的路径之一,不用依靠单片机。但是这种电路存在波形质量差,控制难,可调范围小,电路复杂和体积大等缺点。在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟机械振动等领域常常要用到低频信号源。而由硬件电路构成的低频信号其性能难以令人满意,而且由于低频信号源所需的RC很大;大电阻,大电容在制作上有困难,参数的精度亦难以保证;体积大,漏电,损耗显著更是其致命的弱点。一旦工作需求功能有增加,则电路复杂程度会大大增加。2、单片机在

5、低频信号发生器中的应用当今是科学技术及仪器设备高度智能化飞速发展的信息社会,电子技术的进步,给人们带来了根本性的转变。现代电子领域中,单片机的应用正在不断的走向深入,这必将导致传统控制与检测技术的日益革新。单片机构成的仪器具有高可靠性、高性能价格比,在智能仪表系统和办公自动化等诸多领域得以极为广泛的应用,并走入家庭,从洗衣机、微波炉到音响汽车,处处可见其应用。因此,单片机技术开发和应用水平已逐步成为一个国家工业发展水平的标志之一。一块单片机芯片就是一台计算机。由于单片机的这种特殊的结构形式,在某些应用领域中,它承担了大中型计算机和通用微型计算机无法完成的一些工作。使其具有很多显著的优点和特点,

6、因此在各个领域中都得到了迅猛的发展。单片机的特点归纳起来有以下几个方面。(1)具有优异的性能价格比单片机尽可能地把应用所需的存储器,各种功能的I/O 接口集成在一块芯片内,因而其性能很高,而价格却相对较低廉,即性能价格比很高。(2)集成度高、体积小、可靠性高单片机把各种功能部件集成在一块芯片上,因而集成度高,均为大规模或超大规模集成电路。又内部采用总线结构,减少了芯片之间的连线,这大大提高了单片机的可靠性与抗干扰能力。同时,其体积小,对于强磁场环境易于采取屏蔽措施,适合于在恶劣环境下工作。(3)控制功能强单片机体积虽小,但“五脏俱全”,它非常适用于专门的控制用途。为了满足工业控制要求,一般单片

7、机的指令系统中有极丰富的转移指令,I/O口的逻辑操作指令以及位操作指令。其逻辑控制功能及运行速度均高于同一档次的微机。(4)低电压、低功耗单片机大量用于携带式产品和家用消费类产品,低电压和低功耗尤为重要。目前,许多单片机已可在2.2V电压下运行,有的已能在1.2V或0.9V下工作,功耗降至A级,一粒钮扣电池就可长期使用。利用单片机采用程序设计方法来产生低频信号,其下限频率很低。具有线路相对简单,结构紧凑,价格低廉,频率稳定度高,抗干扰能力强,用途广泛等优点,并且能够对波形进行细微调整,改良波形,使其满足系统的要求。只要对电路稍加修改,调整程序,即可完成功能升级。这里介绍一种采用AT89S52单

8、片机和一片DAC0832数模转换器做成的数字式低频信号发生器,它的特点是价格低、性能高,在低频范围稳定性好、操作方便、体积小、耗电少等。信号发生器与其它相比还具有如下优点:较分立元件信号发生器而言,具有频率高,工作稳定,容易调试等特性;较专用DDS芯片的信号发生器而言,具有结构简单,成本低等特性。二、系统设计1、系统方案的比较(1)选题论证制作低频信号发生器可以用一片DAC0832来实现,它可以分为单极性和双极性。而本项目选择了单片双极性。之所以选单片双极性是因为其精度高,滤波好,抗干扰效果好。(2)方案选择方案一: AT89S52芯片中每一路模拟输出与DAC0832芯片相连,构成多个DAC0

9、832同步输出电路,输出波形稳定,精度高,但是第二级DAC0832输出,发生错误并且电路连接复杂。方案二: AT89S52芯片中只有一路模拟输出或几路模拟信号非同步输出,这种情况下对DAC0832 执行一次写操作,则把一个数据直接写入寄存器,DAC0832的输出模拟信号随之对应变化。输出波形稳定,精度高,滤波好,抗干扰效果好,连接简单,性价比高。因此我们设计中采用方案二。2、芯片选择模块方案一:AT89S52单片机是一种高性能8位单片微型计算机。它把构成计算机的中央处理器CPU、存储器、寄存器、I/O接口制作在一块集成电路芯片中,从而构成较为完整的计算机。方案二:C8051F005单片机是完全

10、集成的混合信号系统级芯片,具有与AT80S52兼容的微控制器的内核,与MCS-51指令集完全兼容。除了具有标准AT80S52的数字外设部件之外,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件。方案选择:方案二中C8051F005芯片系统内部结构复杂,不易控制,芯片成本高,对于本系统而言利用率低,AT89S52芯片简单易控制,成本低,性能稳定故采用方案一。三、硬件电路的设计1、基本原理:系统框图如图1所示。图1 低频信号发生器系统框图低频信号发生器系统主要由CPU、D/A转换电路、基准电压电路、电流/电压转换电路、按键和波形指示电路、电源等电路组成。其工作原理为当分别按下

11、四个按键中的任一个按键就会分别出现方波、锯齿波、三角波、正弦波,并且有四个发光二极管分别作为不同的波形指示灯。2、资源分配:软、硬件设计是设计中不可缺少的,为了满足功能和指标的要求,资源分配如下1晶振采用6MHZ;2内存分配P1口的P1.0-P1.3分别与四个按键连接,分别控制锯齿波、三角波、正弦波和方波,P1.4-P1.7与四个发光二极管相连,按键一对应发光二极管一,依次类推,发光二极管四对应按键四,实现输出一个波形对应亮一个灯。P0口与DAC0832的DI0-DI7数据输入端相连。P2口用来控制DAC0832的输入寄存器选择信号CS、输入寄存器写选通信号WR1及DAC寄存器写选通信号WR2

12、和数据传送信号XFER。3、最小系统设计(1)最小单片机系统AT89S52的引脚图如图2所示图2 AT89S52引脚图管脚说明低频信号发生器采用AT89S52单片机作为控制核心,其内部组成包括:一个8位的微处理器CPU及片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接;片内数据存储器RAM低128字节,存放读/写数据;高128字节被特殊功能寄存器占用;片内程序存储器4KB ROM;四个8位并行I/O(输入/输出)接口P3 -P0,每个口可以用作输入,也可以用作输出;两个定时/计数器,每个定时/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的

13、结果实现计算机控制;五个中断源的中断控制系统;一个全双工UART(通用异步接收发送器)的串行I/O口。VCC:供电电压。GND:接地。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行M

14、OVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

15、XTAL2:来自反向振荡器的输出。89S52 单片机外部有32个端口可供用户使用,其功能如下:表1 89S52并行I/O接口P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是

16、由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电

17、阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。AT89S52的晶

18、振及其连接方法CPU工作时都必须有一个时钟脉冲。有两种方式可以向89S52提供时钟脉冲:一是外部时钟方式,即使用外部电路向89S52提供始终脉冲,见图3-(a);二是内部时钟方式,即使用晶振由89S52内部电路产生时钟脉冲。一般常用第二种方法,其电路见图3-(b)。 图3 89S52的时钟脉冲图3中:J一般为石英晶体,其频率由系统需要和器件决定,在频率稳定度要求不高时也可以使用陶瓷滤波器。C1、C2:使用石英晶体时,C1=C2=30(10)pF使用陶瓷滤波器时,C1=C2=40(10)pFAT89S52的复位使CPU开始工作的方法就是给CPU一个复位信号,CPU收到复位信号后将内部特殊功能寄存

19、器设置为规定值,并将程序计数器设置为“0000H”。复位信号结束后,CPU从程序存储器“0000H”处开始执行程序。89S52为高电平复位,一般有3种复位方法。 上电复位。接通电源时 手动复位。设置一个复位按钮,当操作者按下按钮时产生一个复位信号。 自动复位。设计一个复位电路,当系统满足某一条件时自动产生一个复位信号。图4为最简单的上电复位和手动复位方法。89S52 图4 89S52的复位电路关于CPU的复位电路应当注意,在调试单片机程序时有两种工作方式。一是仿真器方式,主要用于调试程序。此时程序的执行由仿真器控制,复位电路不起作用,系统时钟也经常设置为仿真器产生,此时用户的晶振也不起作用。二

20、是用户方式,即脱离仿真器的实际工作方式,用户的时钟振荡电路和复位电路都必须正常工作。因此,如果系统复位电路或晶振电路有故障,就会出现仿真器方式工作正常,而用户方式不工作的现象,这是许多初学者常遇到的问题。芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89S52设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,

21、保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。(2)达盛平台介绍本系统是在达盛的平台EPLAY51CPU上设计的,单片机AT89S52与DAC0832的是通过POTR A,POTR B,POTRC连接起来,三个接口的定义如下所示:编号定义备注1+5V数字电源,无论CPU板,还是接口板,所有的数字电源都来自这里或由此变换而来。2+5V3DGND数字地,在CPU板上,只在电源附近通过0欧的电阻与电源地相连。4DGND5D0/IO0总线中的双向数据线,在CPU板上要通过16245驱动后再与CPU芯片的数据线相连,16245要通过RD及由CS0-CS7译码生成总地址控制

22、信号所控制。在设计接口板时要保证其数据线在空闲时为高阻状态,否则必须加接隔离电路。没有用到的数据线可悬空。总线接口,输入、输出皆为5V TTL电平, 芯片电平与此不符时,必须经过电平转换。6D1/IO17D2/IO28D3/IO39D4/IO410D5/IO511D6/IO612D7/IO713D814D915D1016D1117D1218D1319D1420D1521A0/IO8 总线中的地址线,CPU板输出,在CPU板上要通过16244驱动后再与接口引脚相连,接口板上不用时要悬空。22A1/IO923A2/IO1024A3/IO1125A426A527A628A729A830A931A10

23、32A1133A1234A1335A1436A1537CS0/IO12片选信号线,CPU板输出,接口板输入,低电平有效,设计CPU板时,不用的引脚要悬空。而在设计接口板时,要通过8选1开关(跳线)来选择。38CS1/IO1339CS2/IO1440CS3/IO15表2 PORT A接口定义编号定义备注41CS4在分配地址空间时,每个片选信号的最小地址范围应大于256个字节。42CS543CS644CS745/W/R/IO16CPU板输出,接口板输入,写信号低有效46/R/D/IO17CPU板输出,接口板输入,读信号低有效47/W/A/I/TCPU板输入,接口板输出,等待请求低有效48RSROU

24、TCPU板输出,接口板输入,复位高有效5V TTL电平49/R/S/T/O/U/TCPU板输出,接口板输入,复位低有效50EXINT0外部中断请求信号,5V TTL电平,CPU板输入,接口板输出,低电平有效,在CPU板上,没有用到的中断线要优先使用低编号的中断线填充,如果CPU是3V器件,必须通过244/245隔离。在接口板上,所有用到的中断信号线要用5选1的开关(跳线)选择。51EXINT152EXINT253EXINT354EXINT455T0out/C0in/CAP0 定时器输出/计数器输入/捕捉脉冲输入,5V TTL电平,在CPU板上只有一路时,第二路要用第一路填充,用户板上要通过开关

25、相连。56T1out/C1in/CAP157SPI_NSS0/BFSX0SPI片选信号SPI总线,5V TTL电平,CPU功能引脚(主),在设计CPU板时,如果有SPI总线,应优先使用这一组,没有用时要悬空。接口板只能做从。复用MCBSP信号线。58SPI_CLK0/BCLKX0SPI时钟59SPI_MISO0/BDR0主入从出60SPI_MOSI0/BDX0主出从入编号定义备注1+12V模拟电源,所有的模拟电源都由此产生。2+12V3AGND模拟地,在CPU板上的电源接口附近通过0欧电阻与电源地相连4AGND5SPI_NSS1/BFSX1SPI片选信号CPU功能引脚(主),在CPU板上,当只

26、有一路时要悬空。在接口板上,当CPU板上只有一路时也要悬空。而且在系统中只允许与一路相连。复用MCBSP信号线。6SPI_CLK1/BCLKX1SPI时钟7SPI_MISO1/BDR1主入从出8SPI_MOSI1/BDX1主出从入9IIC_SCLIIC时钟CPU功能引脚。10IIC_SDAIIC数据11UART-RxD简易串口,CPU功能引脚。当CPU只有一路时,要悬空。CPU板上要优先使用。12UART-TxD13保留暂未定义14保留15ALEALE信号16BFSR0 MCBSP信号线17BCLKR018BFSR119BCLKR120IIS_LRCK/BFSX0IIS通道选择时钟复用MCBS

27、P信号线IIS接口,CPU功能引脚。不用时要悬空。21IIS_SDI/BDR0IIS数据输入22IIS_SDO/BDX0IIS数据输出23IIS_SCLK/BCLKX0IIS时钟24IIS_CDCLKIIS编解码时钟25AGIO0A组GIO,CPU功能引脚或CPU板的扩展IO。要优先使用。在CPU板上当不足时要优先使用低编号信号线填充。在设计接口板时,当IO少于4个时,每个IO都要通过4选1开关(跳线)来选择;但多于4个时要用244或273通过总线扩展IO,以免与其它接口板冲突。26AGIO127AGIO228AGIO329AGIO430AGIO531AGIO632AGIO733BGIO0B组

28、GIO,CPU功能引脚或CPU板的扩展IO。在CPU板上当不足时要用A组相应信号线填充,顺序同A组。在接口板上,同A组。34BGIO135BGIO236BGIO337BGIO438BGIO539BGI O640BGIO7表3 PORT B接口定义编号定义备注41PWMA0CPU的PWM功能输出,在CPU板上,优先布置低编号的信号线,没有用到的信号线要用现有的信号线由低到高依次填充,在接口板上,用户端的每一路都要通过4选1开关(跳线)选择。42PWMA143PWMA244PWMA345PWMB0CPU的PWM功能输出,在CPU板上,如果信号线不足,要用A组以标号由低到高填充。在接口板上的设计同A

29、组。在设计CPU板时,如果CPU的PWM是分组的,且某一组的PWM数目大于4个时,应将A、B两组统一布置此组信号。46PWMB147PWMB248PWMB349EGIO0接口板IO,由接口板扩展产生,CPU板上不能占用,必须悬空。接口板可使用。50EGIO151EGIO252EGIO353EGIO454EGIO555EGIO656EGIO757EGIO858EGIO959AGND模拟地,用以屏蔽输入模拟信号在PCB布线时,所有的模拟输入集中独立布线,由AGND覆铜。60AINA0模拟信号,在CPU上为输入,设计时要优先布置低编号的信号线,空闲信号线要用现有的信号线由低到高依次填充。在用户板上,

30、做输出时要通过4选1开关(跳线)选择,作输入时可直接连接。61AINA162AINA263AINA364AINB0模拟信号,在CPU上为输入,空闲时要用A组信号线顺序填充,在接口板上要做输出时要通过4选1开关(跳线)选择,作输入时可直接连接。65AINB166AINB267AIN7B368AGND模拟地,用以屏蔽输入模拟信号69-12V模拟电路的负电源。70-12V编号定义备注1VREFoutCPU板参考电压输出不用时要悬空。2VREFinCPU板参考电压输入3AOUT0CPU模拟信号输出0在CPU板上只有一路时,优先使用AOUT0,AOUT1要悬空。4AOUT1CPU模拟信号输出15EAOU

31、T0接口板模拟信号输出0由接口板扩展产生,CPU板上不能占用,必须悬空。接口板可使用。6EAOUT1接口板模拟信号输出17XPON触摸屏X轴P在CPU板上,不用时要悬空。使用时要注意:此信号线直接由触摸屏输出,判断是否需要增加相关驱动电路。在接口板上。可直接与触摸屏(4线)相连。8YPON触摸屏Y轴P9XMON触摸屏X轴M10YMON触摸屏Y轴M11R00/CAP2液晶模拟电压输入0液晶模拟电压输入1液晶模拟电压输入2液晶模拟电压输出3CPU的捕捉输入,接口板输出。CPU上自带段式液晶控制器的接口,不用时要选悬空。12R01/CAP313R02/CAP414R03/CAP515COM0/VM液

32、晶位输出公共端0复用点阵屏的控制信号。16COM1/VFRAME液晶位输出公共端117COM2/VLINE液晶位输出公共端218COM3/VCLK液晶位输出公共端319SEG0/VD0/VR0液晶段输出0复用点阵屏的数据信号线。当CPU具有TFT和STN两种LCD控制器时,优先使用TFT类型的LCD接口。20SEG1/VD1/VR1液晶段输出121SEG2/VD2/VR2液晶段输出222SEG3/VD3/VR3液晶段输出323SEG4/VD4/VR4液晶段输出424SEG5/VD5/VG0液晶段输出525SEG6/VD6/VG1液晶段输出626SEG7/VD7/VG2液晶段输出727SEG8/

33、VG3液晶段输出828SEG9/VG4液晶段输出929SEG10/VG5液晶段输出1030SEG11/VB0液晶段输出1131SEG12/VB1液晶段输出1232SEG13/VB2液晶段输出1333SEG14/VB3液晶段输出1434SEG15/VB4液晶段输出1535SEG16/SDCLK液晶段输出16液晶段输出17液晶段输出18液晶段输出19复用为SD卡的接口。36SEG17/SDCMD37SEG18/SD038SEG19/SD139SEG20/SD2液晶段输出2040SEG21/SD3液晶段输出21表4 PORT C接口定义表5 JTAG接口定义编号ARM定义DSP定义CYGNAL定义1

34、VCCTMS VCC2GNDnTRSTGND3nTRSTTDIGND4GNDGNDTCK5TDIVCCTMS6GND空TDO7TMSTDOTDI8GNDGND空9TCKTCKGND10GNDGND空11TDOTCK12nRESETGND13VCCEMU014GNDEMU1注:JTAG 接口的电源(VCC)要参考CPU芯片的技术手册和JTAG电缆线的要求。4、各部分电路原理(1)DAC0832芯片原理管脚功能介绍(如图5所示)图5 DAC0832管脚图(1) DI7DI0:8位的数据输入端,DI7为最高位。(2) IOUT1:模拟电流输出端1,当DAC寄存器中数据全为1时,输出电流最大,当 DA

35、C寄存器中数据全为0时,输出电流为0。(3) IOUT2:模拟电流输出端2, IOUT2与IOUT1的和为一个常数,即IOUT1IOUT2常数。(4) RFB:反馈电阻引出端,DAC0832内部已经有反馈电阻,所以 RFB端可以直接接到外部运算放大器的输出端,这样相当于将一个反馈电阻接在运算放大器的输出端和输入端之间。(5) VREF:参考电压输入端,此端可接一个正电压,也可接一个负电压,它决定0至255的数字量转化出来的模拟量电压值的幅度,VREF范围为(+10-10)V。VREF端与D/A内部T形电阻网络相连。(6) Vcc:芯片供电电压,范围为(+5 15)V。(7) AGND:模拟量地

36、,即模拟电路接地端。(8) DGND:数字量地。 当WR2和XFER同时有效时,8位DAC寄存器端为高电平“1”,此时DAC寄存器的输出端Q跟随输入端D也就是输入寄存器Q端的电平变化;反之,当端为低电平“0”时,第一级8位输入寄存器Q端的状态则锁存到第二级8位DAC寄存器中,以便第三级8位DAC转换器进行D/A转换。一般情况下为了简化接口电路,可以把和直接接地,使第二级8位DAC寄存器的输入端到输出端直通,只有第一级8位输入寄存器置成可选通、可锁存的单缓冲输入方式。 特殊情况下可采用双缓冲输入方式,即把两个寄存器都分别接成受控方式制作低频信号发生器有许多方案:主要有单缓冲方式,双缓冲方式和直通

37、方式。单缓冲方式具有适用于只有一路模拟信号输出或几路模拟信号非同步输出的情形的优点,但是电路线路连接比较简单。而双缓冲方式适用于在需要同时输出几路模拟信号的场合,每一路模拟量输出需一片DAC0832芯片,构成多个DAC0832同步输出电路,程序简单化,但是电路线路连接比较复杂。根据以上分析,我们的课题选择了单缓冲方式使用方便,程序简单,易操作。工作原理DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及输入控制电路四部分组成。8 位输入寄存器用于存放主机送来的数字量,使输入数字量得到缓冲和锁存,由加以控制;8位DAC寄存器用于存放待转换的数字量,由加以控制;8位D/A转换

38、器输出与数字量成正比的模拟电流;由与门、非与门组成的输入控制电路来控制2个寄存器的选通或锁存状态。原理框图如图6所示。图6 DAC0832的原理框图DAC0832与反相比例放大器相连,实现电流到电压的转换,因此输出模拟信号的极性与参考电压的极性相反,数字量与模拟量的转换关系为Vout1=-Vref(数字码/256)若D/A转换器输出为双极性,如图4所示。图7 D/A转换器双极性输出电路图7中,运算放大器A2的作用是把运算放大器A1的单向输出电压转换成双向输出电压。其原理是将A2的输入端通过电阻R1与参考电压VREF相连,VREF经R1向A2提供一个偏流I1,其电流方向与I2相反,因此运算放大器

39、A2的输入电流为I1、I2之代数和。则D/A转换器的总输出电压为:VOUT2= -(R3/R2) VOUT1+(R3/R1) VREF设R1=R3=2R R2=R,则 VOUT2= -(2VOUT1+VREF)DAC0832主要是用于波形的数据的传送,是本题目电路中的主要芯片。DAC0832电路原理图(如图8所示)(2)LM324工作原理(管脚功能如图9所示) 图9 LM324管脚图LM324时四运放集成电路 ,它采用14脚双烈直插塑料封袋,外形如图1所示。他的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。每一组运算放大器可用图中所示的符号来表示,它有5个引出脚,其中“

40、+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“OUT”为输出端。两个信号输入端中,“-”为反相输入端,表示运放输出端OUT的信号与该输入端的为相反;“+”为同相输入端,表示运放输出端OUT的信号与输入端的相位相同。LM324的引脚排列见图9。由于LM324四运放电路具有电源电压范围宽,静态功耗小,可但电源使用,价格低廉等优点,因此被广泛应用在各种电路中。在此项目中用了LM324的三组运放,分别置于第一级输出,第一、二级之间,第二级输出。(3)MC1403工作原理(管脚功能如图10所示) 图10 MC1403管脚图MC1403是低压基准芯片。一般用作8到12bit的D/A芯片

41、的基准电压等一些需要基本精准的基准电压的场合。输出电压:2.5V+/-25Mv输入电压范围:4.5Vto40V输出电流:10Ma因为输出是固定的,所以电路很简单。就是Vin接电源输入,GND接地,Vout加一个0.1uf到1uf的电容就可以了。Vout一般用于8到12bit的D/A芯片的基准电压。在此项目里MC1403起到了稳压的作用,它基准了DAC0832的8脚需要的2.5V。使其DAC0832能够正常工作。四、软件设计达盛平台有DSP、ARM、单片机等,经过分析和我们所学知识,我们选用单片机平台。因为单片机技术比较成熟,开发过程可利用的资源和工具丰富,最大的优点是价格便宜,成本低。调试软件

42、采用Keil51.keiluVison是众多单片机应用开发软件中优秀软件之一,界面友好,易写易操作。在调试程序中,软件仿真功能也很强,软件调通,再通过编程器下载到AT89S52中,然后插到系统中即可独立完成所有的控制。软件设计上,根据功能分了几个模块编程。模块主要有:主程序模块、锯齿波模块、三角波模块、正弦波模块、方波模块、延时子程序模块等。显示波形模块是利用DAC0832的8位特点,把波形的数据以8位数据的形势送进CPU中,只要一按键就能显示波形。1、主程序流程图本软件设计过程中主要实现利用按键来控制不同波形的输出,当按键1按下时,函数发生器就输出锯齿波;当按键2按下时,函数发生器就输出三角

43、波;当按键3按下时,函数发生器就输出正弦波;当按键4按下时,函数发生器就输出方波。通过按键可以以任意循环方式输出不同波形。2、锯齿波程序流程图锯齿波产生首先将DAC0832口地址至为4000H,然后将00H送入寄存器A中,DAC0832输出A中的内容,当A中的内容等于F0H返回开始,当A中的内容不为0FH时,A中的内容累加,从而输出波形。3、三角波程序流程图三角波产生首先将DAC0832口地址至为4000H,通过A中数值的加一递升,当A中的内容为0时,与0FFH相比,相等时A中的内容减一递减,从而循环产生三角波。4、正弦波程序流程图正弦波波形设计通过查表指令得出。5、方波程序流程图方波产生首先将DAC0832口地址至为4000H,当A中的内容为0时,输出对应模拟量,然后延时,当A中的内容为0FFH时,同样输出对应模拟量,再延时,从而得到方波。

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号