【《基于单片机的函数信号发生器设计》11000字(论文)】.docx
基于单片机的函数信号发生器设计摘要本文简要介绍了信号发生器的研究现状及发展状况,详细阐述了传统信号发生器和数字信号发生器的设计原理。从功能、成本、体积、重量上讲述了数字信号发生器的特点和优越性。在此基础上给出了系统设计的整体方案,包括硬件和软件设计方案并对这两部分做了进一步的阐述。系统硬件电路的设计主要包括系统电源电路的设计、CPU及其外围电路的设计、人机交互接口电路的设计、双口RAM电路的设计等。本系统采用双CPU结构,由ATMegal28单片机实现人机交互和TMS320F2812DSP实现波形发生这两部分构成。系统的软件设计主要包括三部分:外设模块驱动程序的设计、系统处理主程序设计、数字量波形信号的算法设计。各模块驱动程序的设计为系统硬件提供了访问函数的接口,便于系统功能的实现;系统处理主程序设计主要包括双CPU之间的通信以及数字量波形信号的产生与显示。数字量波形信号的产生是由DSP的定时中断服务程序来实现的,定时器每隔ImS产生一次中断,定时输出阶跃、等速、正弦三种数字量波形信号,用于测试数字伺服系统及其它测量电路的各项性能指标。经过软、硬件的调试,数字信号发生器所产生的三种波形信号具有精度高,波形稳定,失真小的特点;并且系统工作可靠稳定,操作简单实用,具有很好的应用前景。关键词:ATMega128单片机,TMS320F2812DSP,双口RAM,数字信号发生器,人机交互目录1绪论11.1 课题的应用背景11.2 信号发生器发展状况11.3 本课题的研究目的32数字信号发生器总体设计42.2信号发生器方案综述52. 2.1传统信号发生器的设计原理53. 2.2数字信号发生器的设计原理72. 3数字信号发生器的总体方案设计72.3.1数字信号发生器的性能指标723.2系统总体方案设1十83数字信号发生器的硬件设计103. 1系统的硬件总体设计103. 2系统各个模块的硬件设计113. 2.1控制板电源电路设计113. 2.2键盘、显ZK电路设计123. 3串口模块电路设计134数字信号发生器的软件设计144. 1系统处理主程序设计144.2系统功能实现的软件设计155Io17j181绪论1.1 课题的应用背景测量仪器从宏观上可分为两大类,即激励和检测仪器。激励仪器主要是信号发生器。信号发生器是一种常用的信号源,它是一种为电子测量和计量工作提供电信号的设备,它和示波器、电压表、计数器等仪器一样是应用最广泛的电子仪器之一。因此,几乎所有的电参量的测量都需要用到信号发生器。在许多实际应用和实验测试处理中,它不是测量仪器,而是根据使用者的要求,作为激励源,根据使用者的要求仿真出各种测试信号,提供给测量电路,以满足测量或各种实际要求。在教学和科研中,通常选择几种典型信号(如阶跃、等速、正弦信号等)作为标准信号,用于电子电路和控制系统的性能测试或参数测量。信号发生器也是控制系统的重要组成部分,是工业自动化中不可缺少的测量设备,因此在许多高科技领域都得到了非常广泛的应用,如设计与测试、汽车制造业、生物医学、传感器仿真、函数发生器等领域。因此通过借鉴国内外研究工作的先进经验,研制出高精度、可靠性、可调参数的数字量信号发生器,对于促进我国航空、航天、国防及工业自动化等领域的发展,跟随和赶超世界先进水平均有重要意义。本课题的目的是完成基于DSP的数字信号发生器系统的软、硬件设计,调试成功后使其产生三种精度高、波形稳定、失真小的波形信号,并要求数字信号发生器具有界面友好、操作方便、运行稳定、易维护的特点。1.2 信号发生器发展状况早在20世纪20年代电子设备刚出现的时候,信号发生器便随之产生。随着通信和雷达技术的发展,40年代出现了主要用于测试各种接收机的标准信号发生器,使得信号发生器从定性分析的测量仪器发展成为定量分析的测量仪器。与此同时还出现了可用来测量脉冲电路或用作脉冲调制器的脉冲信号发生器。由于早期的信号发生器机械结构比较复杂,功率比较大,电路比较简单,因此发展速度比较慢。直到1964年才出现了第一台全晶体管的信号发生器。自60年代以来信号发生器有了迅速的发展,出现了函数发生器。利用单片机技术和精密函数发生电路构成的信号发生器,可实现信号的频率偏差的自动调整,可产生高精度、高稳定性的低频波形信号。有的甚至只需要利用函数发生器芯片,外接很少的电阻、电容等元件,便可产生正弦波、方波、锯齿波和三角波等几种简单波形。由于模拟电路的漂移大,使其输出的波形的幅度稳定性差,而且模拟器件构成的电路存在着尺寸大、价格贵、功耗大等缺点,并且要产生较为复杂的信号波形,则电路结构是非常复杂的。自70年代微处理器出现以后,利用微处理器、模数转换器和数模转换器,硬件和软件使信号发生器的功能扩大,能够产生出比较复杂的波形。这时期的信号发生器多以软件为主,实质是采用微处理器对DAC(数模转换器)的程序控制,就可以得到各种简单的波形。软件控制波形的一个最大的缺点就是输出波形的频率低,这主要是由CPU的工作速度决定的,如果想提高频率可以通过改进软件程序减少其执行周期时间或提高CPU的时钟周期来实现,但这些办法是有限度的,根本的方法还是要改进硬件电路。随着计算机技术和现代微电子技术的迅猛发展,一些新型的高速处理器如16位单片机、DSP被广泛地应用到控制系统中,这些器件的突出优点是集成度高、处理速度快、片上资源丰富、可靠性好;同时一些先进的智能控制算法也被应用到实际的系统中。随着控制理论和大规模集成电路的进一步发展,数字系统中更多的功能将由软件来实现,这将是数字量信号发生器的一个发展趋势。信号发生器的应用十分广泛,种类也非常繁多。首先,信号发生器可以分通用和专用两大类,专用信号发生器主要为了某种特殊的测量目的而研制的,如电视信号发生器、脉冲编码信号发生器等。其次,信号发生器按输出波形又可分为正弦波信号发生器、脉冲信号发生器、函数发生器和任意波形发生器等。再次,按其产生频率的方法又可分为谐振法和合成法两种。一般传统的信号发生器都采用谐振法,即用具有频率选择性的回路来产生正弦振荡,获得所需频率。但也可以通过频率合成技术来获得所需频率。利用频率合成技术制成的信号发生器,通常被称为合成信号发生器。所谓频率合成技术就是指从一个高稳定和准确的参考频率源,经过技术处理,生成大量离散的频率输出。技术处理方法可以是传统的硬件实现频率的加、减、乘、除基本运算,也可以是锁相环技术,也可以是各种数字技术和计算机技术。参考频率一般由高稳定的晶体振荡器产生,所生成的一系列离散频率输出与晶体振荡器频率有严格的比例关系,并且具有同样的准确度和稳定度。在现代电子测量中,人们对于信号源频率准确度和稳定度的要求越来越高,要求能在较宽的频率范围内输出,并且要求输出的频率具有高稳定度和准确度。对于作为精密测量的信号发生器,其频率准确度一般达到IO6-IO-7O因此传统的信号发生器已经越来越不能满足现代电子测量的需要。而数字信号发生器则具有很高的频率稳定度,其频率准确度一般可达到10-9或更高的水平。它可以输出多种波形、并且可以有宽而准确的输出电平调节,有较宽的频率输出范围,较小的频率间隔。目前,国外一些生产厂家己经生产出功能丰富、频带宽、合成波形多、DAC位数高的数字信号发生器。如:美国IFR公司的射频信号发生器IFR2031输出频率范围为IOKHZ2.7GHz,IFR2032输出频率范围为IOKHZ5.4GHz,拥有频率、相位、幅度和脉冲调制等任意组合的灵活性,广泛应用于RF器件和无线能信系统的测试;美国福禄克公司生产的频率合成信号发生器F-6060B,输出频率范围为0.25Hz1050MHz;德国R.S公司的射频信号发生器STM-03输出频率范围为5KHz3GHz;Tektronix公司的VX4790A采样率为25MSs和VX4792采样率为250MSs,AFG320采样率为16MSs有调频、调幅和移频键控等功能;HeWlettPackard公司的合成信号发生器HP8672A采样率为18GSs和HP83620A采样率为20GSs,具有脉冲调制、扫描调制、幅度调制和频率调制等功能。随着通信、电子及微电子技术的快速发展,对各种高性能的测试仪器、高频段信号发生器的需求越来越多,我国数字合成信号发生器发展也较快,并广泛应用在通信、雷达、无线电导航、影视音响以及电测试仪器等领域。如香港创意公司的全数字化可编程信号发生器DSM-620V采样频率为UOMHz;北京科奇公司的数字频率合成信号发生器KH1460输出频率范围为5KHz50KHz,最小分辨率可达0.1Hz;南京新联电子设备有限公司EE141IC型合成(DDS)函数信号发生器输出频率范围为0.01Hz0MHz;重庆前锋集团的DDS函数发生器QF1631A/B输出频率范围为0.1Hz15MHz;江苏洪泽瑞特电子设备有限公司生产的数字合成信号发生器SG1656输出频率范围为lHz30MHz等等。因此,数字信号发生器被越来越广泛的应用在生产和实践过程中,其前景十分广阔。1.3 本课题的研究目的本课题的研究目的是设计出一个基于单片机的数字量信号发生器;系统调试成功后使其产生三种精度高、波形稳定、失真小的波形信号。本系统采用双CPU结构,选用单片机作为波形发生的处理芯片,通过DSP的定时中断,每隔1ms,产生1个16位的二进制数值并从DSP自身的16个并行I/O端口输出。随着时间的推移,指定的端口上就可以得到一个离散的二进制值序列,且该序列满足一定的规律,即用户所需要的阶跃、等速、正弦三种数字量信号。产生的等速信号设置了角速度、加速时间、起始位和终止位,可以适应不同需求的伺服系统;正弦波形信号的实现是根据用户输入的幅值和周期值,对正弦信号量只进行离散化处理,计算出1/4周期的正弦信号量的序列值,再根据波形的对称性,可求出其它3/4个周期的正弦离散序列值,这大大提高了算法的效率并且降低了算法实现的难度。数字量信号发生器具有良好的人机交互接口,选用单片机作为人机交互系统的主控芯片。人机交互模块主要由矩阵式小键盘和1.CD液晶显示屏构成。用户可以通过矩阵式键盘设定三种波形信号的参数,从而控制波形的形状和大小等;DSP的输出数据通过双口RAM传送给单片机,单片机读取到数据并把数据写入到1.CD的显示RAM中,实现波形输出信号的显示。通过1.CD显示屏,用户可方便地观察到数字量波形以及波形参数。经过运行及系统调试,设计的数字信号发生器所产生的三种数字量波形具有精度高、波形失真小、抗干扰能力强的特点,具有良好的应用前景。2数字信号发生器总体设计2.1 概述现代电子、计算机和信号处理等技术的发展,极大地促进了数字化技术在电子测量仪器中的应用。一些新型的高速处理器如16位单片机、DSP等被广泛地应用到控制系统中,这些器件的突出优点是集成度高、处理速度快、片上资源丰富、可靠性好;同时一些先进的智能控制算法也被应用到实际的系统中,使原有的模拟信号处理逐步被数字信号处理所代替,从而扩充了信号的处理能力,提高了信号测量的准确度、精度和变换速度,克服了模拟信号处理的诸多缺点。因此,数字信号发生器随之逐渐发展起来,并开始逐步追求高精度、可靠性、参数可调性和高性价比,并且逐渐成为时代主流。而且随着控制理论和大规模集成电路的进一步发展,数字系统中更多的功能将由软件来实现,这将是数字量信号发生器的一个发展趋势。本课题的设计方案也正是根据以上这种方法来实现的。因此,采用高精度数字芯片作为数字信号发生器的主处理芯片是十分必要的。2.2 信号发生器方案综述2.3 2.1传统信号发生器的设计原理传统信号发生器的组成通常都有如下几个部分:主振级、调制级、输出级、内调制振荡器、监视器等。其原理图如图2.1所示。图2.1传统信号发生器的原理框图主振级电路是一个自激振荡器,它是信号发生器中最基本的一部分。信号发生器的一些重要工作特性主要由主振级的工作状态来决定,例如工作频率范围、频率稳定度等。主振级产生具有一定的工作频率范围的正弦信号,此信号被送到调制级进行调制、放大。所谓调制是指在保持振荡器载波幅度不变的情况下,使其频率按照预定规律变化的过程;然后将信号送到输出级以保证有一定的输出电平变化范围。内调制振荡器供给调幅时所需的音频正弦信号。监视器用来监测输出信号的载波电平和调制系数。下面介绍一下传统的正弦波的产生原理。正弦波产生电路的目的就是使电路产生一定频率和幅度的正弦波。一般是在放大电路中引入正反馈,并创造条件,使其产生稳定可靠的振荡。因此,振荡电路是产生正弦波的关键。产生振荡的电路,即振荡器,原则上是由一个放大器和一个反馈网络连接在一起而构成的电路。由于电路的输入信号总=O,因此在放大电路的输入端外接一定频率、一定幅度的正弦信号X/,经过基本放大电路和反馈网络所构成的环路传输后,在反馈网络的输出端便得到反馈信号价,其方框图如图2.2所示。图2.2振荡器的方框图正弦波产生电路的基本结构是:引入正反馈的反馈网络和放大电路。其中:接入正反馈是产生振荡的首要条件,它又被称为相位条件;产生振荡必须满足幅度条件;要保证输出波形为单一频率的正弦波,必须具有选频特性;同时它还应具有稳幅特性。因此,正弦波产生电路一般包括:放大电路、反馈网络、选频网络和稳幅电路四个部分。按选频网络的元件类型,把正弦振荡电路分为:RC正弦波振荡电路,1.C正弦波振荡电路和石英晶体正弦波振荡电路。常见的RC正弦波振荡电路是RC串并联式正弦波振荡电路,它又被称为桥氏正弦波振荡电路。串并联网络在此作为选频和反馈网络,它的电路原理图如图2.3所示。若Rl=R2=RG=G=C,则它的起振条件为:氏2220;振荡频率为:f二,°211RC°图2.3桥式正弦波振荡电路RC正弦波振荡电路主要用于低频振荡。要想产生更高频率的正弦信号,一般采用1.C正弦波振荡电路,它的电路原理图如图2.4所示。它的振荡频率为f-10-21141.C°无论是RC振荡电路还是1.C振荡电路,它们的频率都决定于R,C或1.,C等参数。由于工艺上的限制,电阻、电容和电感等元件的稳定性往往难以达到必要的程度。这就使之难以利用这些振荡器来产生频率十分稳定的正弦信号。石英晶体振荡器是利用石英晶体的压电效应来产生振荡的一种电路。石英晶体振荡器的特点是其振荡频率特别稳定,它常用于振荡频率高度稳定的场合。2. 2.2数字信号发生器的设计原理在电子技术领域中,实验人员经常用到信号发生器。长期以来,信号发生器都是用模拟电路来实现的。这类信号源频率可以高达几百兆赫兹,在高频范围内其频率稳定性高、可调性好。然而在许多其它的领域里所需要的是低频信号源。由传统的方法构成的低频信号源,其性能不能令人满意,而且在产生低频信号的RC电路中的电阻、电容都要很大。大电阻、大电容的制造是很困难的,参数的准确度难以保证,体积大,漏电损耗显著。随着电子技术的逐步发展,数字芯片的出现很好地解决了这一难题。本文采用TI公司C2000系列TMS320F2812DSP处理芯片,利用DSP强大的运算功能和软件定时中断方式,通过DSP的GPIO端口定时输出精确、可靠的阶跃、等速和正弦波形信号。ATMega128单片机给DSP发送控制指令,可以准确地控制其输出波形的形状和大小等。2.3数字信号发生器的总体方案设计2.3.1数字信号发生器的性能指标在调试伺服系统时,通常测试系统的四项性能指标。(1)系统在各个位置的静态误差角(静差)。(2)阶跃输入时的动态响应指标(超调量、振荡次数、调节时间)。(3)等速跟踪达到稳态后系统的误差角(速度误差)。(4)正弦跟踪达到稳态后系统的误差角(正弦误差)。这些性能指标能较全面地反映系统稳态、速度、加速度等各方面的性能。作为伺服系统输入信号源的数字量信号发生器,在测试系统上述四项指标时,应能提供:阶跃波形、等速正(反)转波形和正弦波形这三种信号。数字量信号发生器选用了DSP作为处理芯片,借助于它的集成度高、处理速度快、片上资源丰富、可靠性好等特点,通过软件定时中断,产生阶跃,等速正(反)转,正弦三种波形信号,每种信号都为16位的二进制码,TT1.电平。阶跃信号参数:设定位置(mil)。可以从任意值跃到另一任意值,以mil为单位,误差小于Slmi1.其中:(360度=600Omi1)。等速正转信号参数:速度(mils),起始点(mil),终止点(mil),加速时间(三)。速度:Q=l2999.99mils,误差小于1%。当设定起始点和终止点后,波形以设定的速度在起始点和终止点之间进行往返运行;当速度较大时,可设置加速时间段,波形在加速时间段里从0加速到设定值,以便系统能很好地跟踪设定信号。等速反转信号等速反转信号参数及要求等同于等速正转信号。正弦信号参数:周期(三),幅值(mil),中心点(mil),增幅次数No周期:TR.l99.99s。单振幅:A=02999.99mil,误差0.1mil。振幅中心:Ao2999.992999.99mil,误差0.1mil°为使系统平缓地跟踪设定信号,可选择波形达到设定幅值时运行次数No2.3.2系统总体方案设计本系统的设计分为两个部分:系统的硬件设计和软件设计。硬件部分总体结构(如图2.5所示)主要由三部分构成:由ATMega128单片机实现的人机交互系统,它包括CPU模块、键盘模块、显示模块以及外设接口等;由TMS320F2812DSP实现的波形发生系统,它包括CPU模块、外扩存储模块、串口模块、CAN模块等;用于实现DSP和ATMegaI28单片机数据交换和通信的双口RAM模块。RAM232TMS320F2812DSPCANJTAG422/485I/O图2.5数字信号发生器硬件总体框图本系统软件分为驱动软件和应用软件,因此要分别对这两个软件层进行设计。软件中涉及到对器件访问的功能都被设计成驱动模块,驱动软件层提供必要的系统硬件访问函数接口,起到应用软件层与硬件层之间通信的媒介作用,从而优化了系统软件结构,方便编程的实现。本系统驱动软件模块如图2.6所示:双口RAM通信强动驱动程序CAN通信驱动1.CD驱动键盘驱动串口通信驱动图2.6系统驱动程序模块框图驱动接口层尽量屏蔽应用层软件对硬件的直接操作,这样可使应用软件层的设计完全面向系统功能,为其进一步的模块化打下了良好的基础。应用软件部分的设计严格按照自顶向下的结构化设计思想,将问题分解成若干个相对简单的小问题,每个小问题对应一个子功能模块,然后对各个子功能模块分别进行程序设计。采用这种设计方法是由系统的特点决定的,结构化的程序设计方法有利于分化问题,理清编程思路,大大降低了设计难度。本系统应用软件设计框图如图2.7所示:初始化&定-&字*««法改计一系收处W±I9序&H-使0次仃统形发生的坡件XlSU系统通信的收件诊计数字被脂侑号的产生”图2.7系统应用软件设计框图3数字信号发生器的硬件设计3.1 系统的硬件总体设计系统硬件的整体结构框图如图3.1所示,由图可见,整个系统己完成对芯片型号的选取,方便了以后对系统的调试。硬件部分主要由三部分组成:由ATMega128单片机实现的人机交互系统,包括CPU模块、键盘模块、显示模块等;由TMS320F2812DSP实现的波形发生系统,由CPU模块、外扩存储模块、串口模块、CAN模块等构成;用于实现DSP和ATMegal28单片机数据交换和通信的双口RAM模块。图3.1系统硬件整体框图3.2 系统各个模块的硬件设计3.2.1 控制板电源电路设计在现代嵌入式系统中,尤其是在需要电池供电的系统中,电源部分的设计是整个硬件系统设计过程中非常重要的一个部分。对电源的要求一般有以下几点:输出稳定、噪声低、效率高。以上三点是性能上的要求,对于电源,最为基本的要求是能够输出足够大的电流,也就是输出功率满足系统消耗的要求。对于本硬件系统,就电压而言,分两组:3.3V和1.9V,3.3V用于ATMega128单片机和DSP的CPU的I/O和外设的供电,1.9V用于DSP的CPU内核的供电。而整个系统外部提供的电压为高质量的+5V的直流稳压电源,该电源可以是电池或是AC-DC模块。经过电压转换芯片的转换,可以得到3.3V和1.9V的供电电压。由于ATMega128单片机CPU只需要3.3V电压供电,因此,在此只需要考虑DSP的CPU电压供电问题。根据Tl的官方网站上推荐的典型电源转换电路并且考虑到DSP的上电顺序问题,选择了TPS75733TPS76801Q两款电源转换芯片,TPS75733实现+5V到+3.3V的电源转换,电源转换电路如图3.2所示。!一亩GND1TPS7573I'图3.25V转3.3V电源电路在制作PCB板时,由于PCB的布局对电源的影响很大,为保证电源可靠性,需注意以下几点:(1)避免产生电源和地环路。(2)每个电源引脚附近放置IO-100nF电容,以平滑电源的波动,去掉高频干扰;并接大的电解电容l10uF去掉低频干扰。(3)PCB四周均匀分布一些4.710uF的去祸电容。(4)电源线除了要根据电流大小,尽量加大导线宽度外,采取使电源线、地线的走线与数据信息传递方向一致,能增强抗噪声的能力。3.2.2键盘、显示电路设计键盘本系统采用软件行列扫描的方式实现一个5X5的矩阵式小键盘,ATMegal28单片机的10个vo口,作为小键盘的接口(如图3.3,3.4所示),键盘接口电路采用20个针的单排针接口,其中:引脚PE4PE7,PBO作为行选择线,用于输出,且经电压转换芯片后与KEYoUT0-KEYOUT4相连;引脚PEOPE3,PDO作为列选择线,用于输入,且经电压转换芯片后与KEYINO-KEYIN4相连。图3.3键盘接口电路图KEY3KEYIKEYTABKEY-KEYfKEYNOKEY-KEYjKEYSroPKFYYES4KEY双位图3.4矩阵键盘连接图(2)1.CD显示屏本系统1.CD接口设计是以北京精电蓬远显示技术有限公司提供的液晶模块SED133O5板与MCU的接口说明为标准。接口说明如表3.1,具体硬件电路图如图3.5所示。表3.1液晶模块与MCU接口管脚符号ATMegaI28单片机接口有效电平作用1DGNDDGNDOV电源地2VCC+5V正电源3VEE负负电源4NC无联接5-121.DBO-1.DB7经电压转换芯片后连到ATMega128柒片机的PB2PB7,PG3.PG4口高/低数据线13RES1.CD低熨位信号14TOPC7高/低写命令字或该数据低:写数据参数或读状态15CEPBl低片选信号lJP1.CD2019IS111615M13U11IO9I76$4321Rlr->9Vrr/Vo17WR6RD15(TMTD13RIArDUWIl1.DBl9【心71.W6Ub31.UtfT43怔2VCCVEE1DGND卜VOKDGSDt51.)£.1IW=图3.5液晶显示模块接口电路图液晶模块由外部提供+5V电源,经内部电路电平转换后在3脚上输出一个一24V左右的负电压。负电压的作用是向18号引脚提供可调的负电压调节液晶屏的对比度,以便获得最佳显示效果。第13引脚为1.CD显示屏的复位引脚。片选信号CE,读写信号RD,WR,功能选择信号TO均连接在ATMega128单片机的I/O口上,数据线1.DB0-1.DB7通过电压转换芯片也连到ATMega128单片机的I/O口上。3.3串口模块电路设计该模块的硬件电路设计采用MAXIM公司设计的MAX3232芯片,用于完成DSP与PC机之间的电平转换与驱动。MAX3232型的RS-232收发器,简单易用,仅需外接几个电容即可完成从TT1.电平到RS-232电平的转换。MAX3232芯片工作电压是3.3V,提供多串口管脚,可用于串口扩展电路,具体的接口电路图如图3.6所示:-6v0-dxR22TXr»心)RXI)H2图3.6RS232接口电路图4数字信号发生器的软件设计本文所设计的函数信号发生器硬件部分非常简单,其功能主要是靠软件控制来实现的,在此只介绍方波信号、正弦波信号和三角波信号的产生,正弦波信号和三角波信号的产生是利用前面所提到的数字法(即通过DAC变换)来实现的,由于用到了DAC变换,因此所产生的正弦波和三角波信号的频率受到了DAC转化速率的限制,STM32F103ZET6中DAC模块的最大转化时间为1小,如果一个周期的波形用20点来描绘的话,最终所实现的函数信号发生器的频率理论上最大可以达到50KHz,为了使得输出方波的频率范围更大,在此方波信号的产生不采用这种方法。4.1 系统处理主程序设计在识别完键码并计算出键值后,键盘作键值处理便开始执行波形发生子程序。键盘执行的总体过程是:首先选择波形模式(阶跃、等速、正弦),然后输入不同的参数并保存。当选择阶跃波形模式时,输入完阶跃位参数后并返回到主程序中,等待进入波形发生子程序部分;当选择等速波形模式时,需要输入角速度、起始位、终止位、加速时间四个参数值后返回到主程序中,等待进入波形发生子程序部分;当选择正弦波形模式时,需要输入周期、幅值、中心点、增幅次数四个参数后返回到主程序中,等待进入波形发生子程序部分。具体的软件实现流程图如图4.1所示。图4.1键盘执行波形子程序发生的流程图4.2 系统功能实现的软件设计这部分的软件设计主要是为了满足双CPU之间的通信要求。首先,系统初始化完成后,128单片机查询是否有波形控制键被按下,当有控制键被按下,则128单片机计算出键值,然后执行键值处理子程序,处理完成后得到一个键值指令,并把它存储到双口RAM的地址单元中。双口RAM的存储空间为0x0020-0x006000o接着等待DSP通过双口RAM读取该指令信号。当DSP成功读取到地址单元中指令值后,128单片机继续向双口RAM地址空间写入参数数据,这些参数数据来自键盘的输入值。同时128单片机也向1.CD显示RAM中写入这些参数数据,在1.CD显示屏上显示这些参数。当DSP成功接收到这些数据时,便开始执行波形发生子程序。因此,双CPU系统通信的整个过程可概述为:根据键盘的键值处理,ATMega128单片机通过双口RAM端口向DSP发送指令和参数,主要控制数字信号发生器的波形形状和大小;并且在1.CD显示屏上显示这些参数。以下是双CPU系统通信的程序流程图,如图4.2所示。图4.2CPU系统通信的程序流程图功能实现的软件设计采用C语言编写,并且在两个开发环境下进行编译与仿真,双CPU系统硬件联调的成功是系统功能实现的关键。(2)数字量波形信号的产生与显示当接收到单片机发来的指令信号后,DSP的I/O口设置为输出方式、并且判断波形标志位,当设置完成后系统进行循环等待(不断给看门狗清零、判断波形标志位)。当波形标志位为1时,DSP开定时器中断,跳入定时中断服务程序,准备执行波形发生子程序。进入波形处理部分(如图4.2虚线框所示)后,首先是设置波形标志位为0,然后执行波形发生子程序。当程序跳出处理部分后必须要波形标志位再次为1时才能再次进入。通过定时中断处理,每隔Ims定时输出数字量波形信号。在定时输出的时候,不会插入任何的延时时间。虚线框内的内容将在第五章作详细的介绍。DSP输出的是十六位二进制数值(调用voidhextobinary)函数把输出的十六进制数值转换为二进制数值),并把数据写入到双口RAM中,等待128单片机读取。需要注意的是,DSP读取数据位为16位而单片机读取数据为8位。因此,在128单片机读取来自DSP传送来的数据时,应先读双口RAM相应地址单元的低8位数据,再读高8位数据,并放入缓冲器中,经软件处理后,128单片机把数据写入1.CD显示RAM中,实现对波形信号的显示。以下是数字量波形信号产生与显示的程序流程图,如图4.3所示。图4.3数字量波形信号的产生与显示的程序流程图5结束语数字信号发生器是一种新型的电子测量仪器,在做实验、进行产品研制和调试以及系统测试中都是必不可少的。传统的信号源输出的信号种类是非常有限的,满足不了用户的要求。本文采用DSP的定时中断方式,每隔1ms,通过单片机的GPK)端口定时输出阶跃、等速、正弦三种数字量信号,用于测试伺服系统及其它测量电路的各种静态、动态性能指标。系统以TMS320F2812DSP芯片作为运算处理芯片来产生数字量波形信号;设计出的这种新型数字信号发生器的发展前景十分广阔。本文在分析了国内外数字信号发生器的发展状况的基础上,对数字信号技术的理论、设计方法、电路实现等进行了深入的研究,归纳起来主要做了如下几方面的工作:(1)根据系统的设计要求,采用以TMS320F2812DSP为波形发生芯片以及ATMega128单片机为人机交互系统的主控芯片的双CPU结构,并配置它们的外设及接口电路,给出了基于双CPU结构的数字信号发生器的总体方案。(2)对硬件电路进行设计并加以调试,主要包括如下几个部分:双CPU控制电路、存储器(FlaSh、外扩SDRAM、双口RAM)电路、外部接口(异步串行通信接口、CAN通信接口)电路等。(3)编写相应的接口驱动程序以及系统应用程序。(4)对实现系统功能的软件程序加以调试,主要包括如下几个部分:人机交互程序、系统应用主程序以及数字量波形信号的算法实现。软件设计的主要难点和重点是数字量波形信号的算法设计和双CPU系统之间通信的软件设计这两部分。(5)对输出的波形信号进行误差分析及性能分析,看是否满足系统的设计要求。运行结果表明,本文设计的数字信号发生器产生的波形具有精度高、波形稳定、失真小和抗干扰能力强的特点;而且数字信号发生器的操作十分方便,运行比较稳定,满足用户的要求。参考文献陶益凡.基于DDS的信号发生器的研制D:硕士学位论文.南京:南京信息工程大学,2006.5屈新建,常义林.基于DDS÷P1.1.频率合成源的设计J.现代电子技术.2005,03期3奕宝宽,方蕾,冯永浩.基于DDS的信号发生器的设计与实现J.电子工程师.2005,10期:38-394王晓升,沙胜贤.基于DDS的任意波形发生器实现J.长春工程学院学报(自然科学版).2005,02:56-585薛文.DDS任意波形的设计与实现D:硕士学位论文.南京:南京理工大学,2004.66邓重.基于DDS技术的频率合成源设计仪表技术与传感器J.2005,10期:37-40聂祥,王自,高国升.应用dds芯片AD9835开发的一种高精度频率信号发生器J.电子技术应用.2001,06期:62-648李萍.基于dels技术的频率给定方法J.中国计量.2005,04期:60-619AnalogDevices.Datasheet.AD9834G10C8051F206C8051F206l6C8051F230/1/6混合信号ISPF1.ASH微控制器数据手册G.潘琢金译.沈阳:沈阳新华龙电子有限公司.200211王道宪.CP1.DFPGA可编程逻辑器件应用与开发M.北京:国防工业出版社,200412求是科技.CP1.DFPGA应用开发技术与工程实践M.北京:人民邮电出版社,200513AnalogDevices.Datasheet.AD8021EBO1.14AnalogDevices.Datasheet.T1.3016EBO1.15 AnalogDevices.Datasheet.BUF634EBO1.http:/datasheet.ednchina.eom/4/HYASIYGSYTFGDetail.aspx,2007-01-1916 (ByteBlasterMVParallelPortDownloadCable)G.Altera.l99917邹应全.全数字中频接收机电路设计D:硕士学位论文.成都:电子科技大学,2004.518徐爱军编著.单片机高级语言C51Windows环境编程与应用M.北京:电子工业出版社,200419李建忠编著.单片机原理及应用M.西安:西安电子科技大学出版社,200220陈云洽,保延翔编著.CP1.D应用技术与数字系统设计M.北京:电子工业出版社,200321童诗白.模拟电子技术基础(第2版)M.北京:高等教育出版社,200022阎石.数字电子技术基础(第四版)M.北京:高等教育出版社,199823张厥盛,郑继禹,万心平.锁相技术M.西安:西安电子科技大学出版社,200424黄正瑾.电子设计竞赛赛题解析M.南京:东南大学出版社,200325田良.综合电子设计与实践M.南京:东南大学出版社,200226潘新民,王燕芳.微型计算机控制技术M.北京:电子工业出版社,200327张培仁主编.基于C语言编程MCS-51单片机原理与应用M.北京:清华大学出版社,200328丁胡伟,季晓衡编著.单片机C程序设计及应用实例M.北京:人民邮电出版社,200429潘琢金,施国君编著.C8051Fxxx高速SOC单片机原理及应用M.北京:北京航空航天大学出版社,200230徐志军主编.大规模可编程逻辑器件及其应用M,西安:西安电子科技大学出版社,200431杨恒,卢飞成编著.FPGAVHD1.快速工程实践入门与提高M.北京:国防工业出版社,2004