简介:本文首先对信号发生器的设计方案进行了论证,接着提出了系统的整体设计框图,重点论述了由DDFS芯片AD9833构成的信号发生模块的设计。并给出了C语言设计的信号产生程序。较好的实现了C语言在单片机上的应用。关键词信号发生器;频率DesignoftheSignalGeneratorBasedOnC-languageWanHuan,GengJian(Electronic&InformationInstituteofNanchangTechnologyCollege,Nanchang330044,China)AbstractThisarticlefirstlydemonstratedtheFormulaofthesignalgenerator,thengivetheoveralldiagramofsystem.WefocusesonthesignalmodulesofthecompositionoftheDDFSchipAD9833.AsignalgenerateprogrambasedonClanguageisgiven.ItachievedgoodresultsforClanguageusingintheMCUapplication.KeywordsSignalGenerator;Frequency一、方案论证目前,市面上使用的信号发生器主要有两种一种是是采用晶体管、运放和IC等通用器件制作,更多的则是用诸如L8038/BA205/XR2209等专门的信号发生IC来实现。该设计方法设计出来的信号发生器,确实能够输出较完整且不失真的波形,但是输出波形的精度不高,频率的上限值也只有300kHz左右,如勉强使其输出较高频率的波形的话,我们会发现输出信号的幅度有明显下降。简而言之,该类信号发生器输出的信号频率稳定度较差、精度低、抗干扰能力低、成本高、而且灵活性比较差。这样的信号发生器只能用于简单的教学实验当中,无法承担起高精度科研和设计的要求;另一种是基于FPGA芯片的信号发生器,这种信号发生器采用DDFS技术产生波形。该类信号发生器的各方面指标都不错,但是价格太高。虽然有人提出了采用FPGA并结合DDFS技术自行设计信号发生器的理论和方案。但是在具体设计过程中,由于的DDFS的实现要依赖于高速、高性能的数字器件,而作为一个数字逻辑器件的设计,竞争和冒险成为较为突出的问题,因此利用FPGA设计信号发生器时,只要稍有不当,就可能会出现毛刺,毛刺的清除以及相关的抗干扰设计,将增大电路和程序的复杂程度和可实施性。本文将结合自身的研究经验,利用专用的直接数字合成(DDS)芯片AD9833来实现高频带高精度的信号发生器的设计。设计出来的信号发生器可以实现正弦波、三角波、方波的自动切换输出。且具有输出频率高,带宽宽、响应时间快、频率分辨率高等优点。可以实现输出信号的幅度、频率以及相位的步进和预置。二、硬件系统整体设计硬件的总体设计框图如图1所示单片机幅度控制波形产生模块信号预放大稳压电源LCD显示4*4键盘功放