电子信息工程毕业设计 文献综述 开题报告】一种基于单片机和fpga的任意频率信号发生器的设计

上传人:r****d 文档编号:122557527 上传时间:2022-07-20 格式:DOC 页数:52 大小:75KB
返回 下载 相关 举报
电子信息工程毕业设计 文献综述 开题报告】一种基于单片机和fpga的任意频率信号发生器的设计_第1页
第1页 / 共52页
电子信息工程毕业设计 文献综述 开题报告】一种基于单片机和fpga的任意频率信号发生器的设计_第2页
第2页 / 共52页
电子信息工程毕业设计 文献综述 开题报告】一种基于单片机和fpga的任意频率信号发生器的设计_第3页
第3页 / 共52页
点击查看更多>>
资源描述
【电子信息工程毕业设计+文献综述+开题报告】一种基于单片机和FPGA的任意频率信号发生器的设计 (20_ _届)本科毕业设计一种基于单片机和FPGA的任意频率信号发生器的设计摘 要 信号发生器是一种常用的信号源,广泛应用于军事、航空、交通制造业等领域。目前使用的信号发生器大多是函数信号发生器,且特殊波形发生器的价格比较昂贵。 本文提出了一种基于数字频率合成(DDS)技术的任意波形发生器。本系统的设计电路包括按键输入模块、显示模块、单片机模块、FPGA模块、D/A转换模块、滤波模块。系统以单片机STC89C52为核心,完成以下功能:通过键盘输入波形参数(包括频率控制字和幅度控制字),经过单片机的处理和转化将数据传递给FPGA模块,FPGA模块完成波形数据的储存和输出,D/A模块接到波形数据后将其转化为模拟量,最后经过低通滤波器滤除杂波分量在显示器上显示波形。通过显示器我们能直观地看到波形、幅度和频率。这种方法能够充分利用FPGA的内部硬件资源,大大提高了产生波形的精度和频率范围。这种技术比传统意义上的波形发生器更先进,由于其频率可任意改变,并且融入了单片机和FPGA技术,所以它的应用范围更广,在通信、测量、雷达、控制、教学等领域发挥更大的作用。关键词: FPGA,DDS,任意波形发生器,DAC0832A Design of Arbitrary Frequency GeneratorBased on MCU and FPGAAbstract Signal generator is a common source. It is widely used in military, aviation, traffic manufacturing, etc. Current use of signal generator is mostly function signal generator, andhe prices of special waveform generators are expensive. This paper puts forward a arbitrary waveform generator which is based on digital frequency synthesis DDS technology .The design circuit of this system includes key input module, display module and single-chip microcomputer module, FPGA module, D/A conversion module, filter modules.The core of this system is STC89C52 MCU.This system completes the following functions : input waveform parameter through the keyboard ( including frequency control characters and amplitude control word). The data will be passesd to the FPGA module after the processing and transformation of SCM.The FPGA module completes waveform data storage and output . D/A module can be transformed into analogue after receiving waveforms.After a low-pass filter to eliminate clutter component in monitors displayed waveform.Through the display we can intuitivey see waveform, amplitude and frequency. This kind of technology is more advanced than traditional waveform generator, because its frequency can be arbitrary change, and it is blended in SCM and FPGA technology.So it has a wider range of application ,and it can play a bigger role in measurement, radar, control, teaching .Keywords: Arbitrary waveform generator ,FPGA,DDS,DAC0832目录摘 要IVAbstractV1 绪论VI1.1课题的来源11.2课题的意义11.3信号发生器国内外发展现状11.4课题研究的主要内容32系统总体方案与比较论证42.1方案提出及方案比较42.2总体方案设计43硬件系统与结构63.1引言63.2 硬件系统结构73.3硬件模块说明83.3.1 单片机部分83.3.2 DDS的FPGA实现83.3.3 D/A转换模块11滤波模块123.4系统参数设置133.5波形存储144软件系统原理与结构15 4.1FPGA软件流程15 4.2软件模块说明164.2.1顶层模块164.2.2相位累加器模块164.2.3加法器模块184.2.4波形ROM模块194.2.5 波形选择模块214.2.6 DAC0832模块225结论与分析24参考文献31致谢33 1绪论 信号源在各行各业的测试应用中,扮演着非常重要的角色。因信号源的类型不同,则其在功能和特性上都有或大或小的差异,因而不同类型的信号源分别适用于不同的应用。而任意波形发生器则是目前最常见的信号源类型之一。随着国内外专家学者对信号发生器不断深入研究,信号发生器的功能逐步完善,而目前DDS技术在信号发生器上的应用已经逐渐成为当今的测试测量行业的主流做法。频率合成技术可以通过直接式频率合成器,间接式频率合成器,直接数字频率合成器(DDS)实现。其中,DDS技术是现有的频率合成技术中应用最多的方法。信号发生器能够产生大量标准信号和用户自定义信号,并保证它的高精度和高稳定性,可重复性和易操作性。如今越来越多的人热衷于将DDS应用在信号发生器的设计中。在电子技术发展的现在,一些像军事、航空、交通制造业等实验成本高,风险性大的领域,信号发生器在测试和实验中起着非常重要的角色,人们不断改进现有的信号发生器,使之功能完善化、经济化、实用化,为现代科技的发展提供更多便利。基于单片机和FPGA的任意频率信号发生器设计是对传统的信号发生器设计的继承和发扬,从而使得信号发生器的功能更加完善。通过这种信号发生器的设计,不仅可以实现任意波形,还能使得频率的分辨率提高,减小信号发生器的误差。自20世纪20年代至今,信号发生器实现了从无到有,结构从复杂到简单,功耗上有大到小,发展速度由慢到快的飞跃。如今,各国相关科研人员依旧积极致力于完善信号发生器结构和功能的科研工作中,并将这一技术应用到许多领域。信号发生器在20世纪20年代出现。在信号发生器发展的几十年过程中,信号发生器大致经历了早期信号发生器、标准信号发生器、全晶体管信号发生器、以软件为主的信号发生器、采用数字电路的信号发生器、函数信号发生器这几个阶段。早期信号发生器结构复杂,电路比较简单,但是由于功耗大,因此发展速度较慢。在60年代之前,尽管一些科研人员积极改善信号发生器的结构和功能,但是信号发生器都是以较慢的速度发展,而且输出的波形不稳定。但是从60年代,信号发生器进入了迅速发展阶段。二十世纪60年代至80年代,信号发生器完成了由采用模拟电子技术到采用数字电路的转变。采用模拟电子技术的信号发生器,它的电路结构复杂并且能产生正弦波、方波、锯齿波和三角波等简单的波形。这种信号发生器的输出波形的幅度稳定性差,而造成这个现象的原因是模拟电路的漂移较大。而且模拟器件构成的电路还存在尺寸大、价格昂贵、功耗大、生产较为复杂的波形则电路结构非常复杂。继采用模拟电路的信号发生器之后,以软件为主的信号发生器得到发展。科研人员利用微处理器、模数转换器和数模转换器,使得信号发生器功能扩大。而这个时期的信号发生器也克服了之前信号发生器只能产生简单波形的缺点,人们可以通过它获得比较复杂的波形。这种用软件控制波形的一个最大的缺点就是输出波形的频率低,这主要是由CPU的工作速度决定的。科研人员意识到只有通过改进硬件电路才能根本克服这一个缺点,而通过改进软件程序减少它的执行周期时间或者是提高CPU的时钟周期来提高频率的方法都是有限的。数字化技术在电子测量仪器中的应用在很大程度上得益于现代电子、计算机和信号处理等技术的发展,数字信号发生器也随着发展。数字信号发生器的出现,使得原来的模拟信号处理逐渐被数字信号处理所代替,而仪器的信号处理能力得到进一步提升,进而提高了信号测量的变换速度、精度和准确度,克服了模拟信号处理的许多缺点。随着数字技术的逐渐成熟,绝大部分的信号发生器用数字电路代替机械驱动。在信号发生器完成由采用模拟电子技术到采用数字电路的转变的同时,DDS产品也成为科研人员研发的焦点。科研人员将DDS技术应用到信号发生器的设计上。专用DDS芯片在DDS技术快速发展中扮演了一个重要角色,它极大地推动了DDS技术的发展。但是专用DDS芯片存在价格昂贵和无法实现用户所需的各种波形输出的缺点,因此它的使用有局限性。20世纪90年代末出现了集中高性能、高性价比的函数信号发生器。国际上一些公司如HP公司、Lecroy公司、Analogic公司都推出了新型的波形发生器。这些波形发生器能产生多种波形,但是依然存在价格昂贵,功能有待完善的缺点。近年来, DDS的最高工作频率以及噪声性能已接近并基本达到锁相频率合成器相当的水平。DDS技术作为先进的信号产生技术广泛应用于通讯、工程控制、雷达、测量分析仪器、软件无线电等领域,为科研和生活带来了便利。AD和Qualcomm等几家公司在近10多年来相继推出了一些DDS专用集成电路,而且这些集成电路性能优良。DDS的优势在于,系统能够在微处理器的控制下,快速调节输出信号的信息(频率、相位和幅度),而且输出的信息准确。除此之外,DDS具有分辨率高、频率切换速度快等特点,它易于智能控制的优点也适合于当今的智能化社会。集成电路工艺的不断发展使得DDS产品的功能愈来愈强大。如今的DDS芯片可以集合人们所需的全部功能,而且还具有一些实际的调制功能,例如相移键控 PSK 和正交幅度调制 QAM 等。 日本横河、Agilent、Tektronix等国外的几家仪器公司引导着DDS技术的潮流。国内的不少公司经过不断努力,也能生产出类似的产品。如南京盛普仪器科技的SPF120DDS信号发生器。目前我国相关科研人员也在致力于研制信号发生器的工作,且获得一些不错的成果。但是信号发生器在我国还没有形成真正的产业。许多不容乐观的问题依然制约着中国的信号发生器产业的发展。首先中国的波形发生器产业起步比国外同类产业晚,技术比发达国家落后,所以产业大多是集中在劳动密集型产品的生产上,这就造成了产业结构的不合理性。其次,而在生产过程当中,由于一些企业的环保意识不强,因此造成了严重的环境污染。由于技术上的不发达,在波形发生器的生产过程中往往消耗太多能源,这也在一定程度上影响产品的价格,而且不符合当今节能的理念。再次,很多企业都选择引进外来技术,而企业自身的技术创新能力还很薄弱,这造成了信号发生器结构和功能上的创新进度缓慢。目前国内的成熟产品核心部分多为专用芯片。因此,研发出高性价比的信号发生器,打破国外技术垄断和封锁,具有广泛的应用前景,对发展我国的电子产业有非常重大的意义。加紧研制这类产品显得非常紧迫。设计一个在单片机和FPGA的控制下,将储存在FPGA的ROM中的数据按照一定规律取出,并经过D/A转换器输出模拟波形的任意频率信号发生器。这种方法能够充分利用FPGA的内部硬件资源,大大提高了产生波形的精度和频率范围。这种技术比传统意义上的波形发生器更先进,由于其频率可任意改变,并且融入了单片机和并且融入了单片机和FPGA技术,所以它的应用范围更广,在通信、测量、雷达、控制、教学等领域发挥更大的作用。2系统总体方案与比较论证 课题要求是设计一个任意频率信号发生器,可产生任意波形,且波形的频率和精度比传统的信号发生器更高,针对这一要求,可采用单片机控制合成波形的方法或者是用晶体管、运放IC等通用器件制作函数信号发生器,还可以采用DDS技术来实现,具体方案如下:方案一:采用单片机控制合成各种波形由单片机编程实现波形的选择、生成及频率控制字的输入。该方案所用的硬件电路简单,实验中所用的器件少,容易实现各种波形,但是精度不容易满足,在高频区难以实现要求的功能。方案二:用晶体管、运放IC等通用器件制作函数信号发生器在该方案中,一般用专门的信号发生器IC产生各种波形信号。但是早期的函数信号发生器IC功能少,精度低,无法产生高频信号,尤其是对调试水平有较高要求,频率和占空比的调节相互影响,因此不能做到单独调节二者。方案三:采用DDS技术,按照相位累加原理,将所需生成的波形写入ROM中,合成任意波形采用此方案可得到稳定的波形,且精度较高,产生的波形频率范围大,容易获得高频信号。 通过比较以上三种方案,方案三能完全达到设计的要求,且方案较灵活,因此采用方案三。基于单片机和FPGA的任意频率信号发生器能产生在一定频率范围内的任意波形,并有频率分辨率效果,可以应用在产生音频类信号。通过锁相环来提高D/A时钟就可以产生更高频率的信号。在FPGA的读写操作下,可以增加一个D/A转换器,用来专门控制模拟信号的幅度;如果需要将它们的信号采样点数据存储在存储器中,当需要输出该信号时,直接取出采样数据送人D/A转换器即可。这些采样点数据可以在FPGA程序中,利用时钟的跳变沿,依次存储在ROM中1718, 也可以事先经过Matlab计算后,放到存储器中。其中时钟的频率可根据需要由FPGA分频模块进行分频。133硬件系统与结构3.1 引言频率合成技术是利用频率合成的方法,使某一个或者多个基准频率,通过一定的变换与处理之后,形成一系列等间隔的离散频率。它主要应用在短波通信和移动通信以及其他各种电子应用领域,如现代电子测量仪、电子对抗等等。“A Digital Frequency Synthesizer”一文中首次提出的。它是继直接式频率合成器,间接式频率合成器之后,出现的第三代频率合成技术。DDS技术凭借着工作频率范围宽、频率分辨力极高、频率转换时间极短、任意波形输出能力以及数字调制性能好,成为目前应用最为广泛的一种频率合成技术。DDS电路一般包括基准时钟、相位增量寄存器、相位累加器、波形存储器、D/A转换器和低通滤波器等模块。DDS的原理如下: fc 图3.1 DDS基本结构框图DDS的工作过程是:在时钟信号的作用下,频率控制字通过相位累加器线性累加。当相位累加器累加满偏时,就会产生一次输出。相位累加器输出的相位码送至波形存储器进行相位幅度转换。从波形存储器输出的幅值经过D/A转换获得模拟阶梯波电压,再经过低通滤波器 LPF 平滑后得到所需正弦波形。在这个工作工程中,相位累加器溢出频率就是DDS输出的信号频率。频率控制字不同则相位累加器相位增量不通,波形存储器输出的波形频率不同。整个系统在同一的时钟下工作保证了系统最终合成精确的信号。频率预置与调节电路 该电路的作用是实现频率控制量的输入。不变量K被称为相位增量,也称为频率控制字。(2)相位累加器DDS系统的核心是相位累加器。相位累加器由N位加法器和N位寄存器构成。相位累加器对频率控制字进行线性累加直至满偏时,产生一次输出,完成一个周期动作。波形存储器ROM的N位地址把0360的正弦角度离散成具有2的N次方个样值的序列,而ROM的D位数据位则将这些样值的幅值转化为D位二进制数据。从而完成波形的相位幅值转换。D/A转换器D/A转换器把通过波形存储器合成的正弦波数字量转化成模拟量,获得阶梯波电压。低通滤波器(LPF)低通滤波器的作用是滤除由D/A转化器生成的阶梯型正弦波中的高频成分,获得光滑的正弦波。DDS相关量及计算方法DDS系统输出的正弦波频率为fout M?fc/2N 其中N是相位累加器的字长,M是频率控制字,M的范围是0M2N1。3.2 硬件系统结构系统主要由单片机控制电路和FPGA控制电路两部分组成,具体的组成模块有按键输入模块、显示模块、单片机模块、FPGA模块、D/A转换模块、滤波模块。系统以单片机STC89C52为核心,完成以下功能:通过键盘输入波形参数,经过单片机的处理和转化将数据传递给FPGA模块,FPGA模块完成波形数据的储存和输出,D/A模块接到波形数据后将其转化为模拟量,最后经过低通滤波器滤除杂波分量在显示器上显示。通过显示器我们能直观地看到波形、幅度和频率。系统的具体工作过程为:系统的频率控制字、相位控制字、波形控制字均通过键盘向单片机输入。经过单片机的处理和转化,将数据传递给FPGA。由28位加法器和28位寄存器构成的相位累加器在时钟信号的控制下以一定步长作累加,该步长即为频率控制字。由相位累加器输出的二进制代码与波形控制字相加后获得ROM的地址,系统对ROM寻址。ROM输出的波形幅度经过D/A转换成阶梯波,再经过低通滤波后获得信号波形。本系统设计的D/A转换器的地址位是十位的,数据位是8位的,所以系统采用相位截断技术,只使用相位累加器的前10位数据作为二进制地址代码,进入ROM寻址。硬件系统框图见图3.3。 波形数据 系统的硬件模块包括单片机部分和FPGA部分以及D/A部分和低通滤波部分。以下是关于硬件模块各个部分的结构及功能说明。键盘是最简单的单片机输入系统,人们可以通过键盘输入数据或是命令,单片机接收到输入信息后便会执行相应功能,来满足人们的需要。而在本设计系统中,人们主要通过键盘向系统输入波形种类、占空比、频率、频率控制字、幅度控制字等。显示模块的主要功能是显示当前波形、幅度、频率等。人们可以通过显示模块可以直观地看到实验结果,通过比对预期结果,就能知道系统的精确性。3.3.2 DDS的FPGA实现 本系统采用的是Xilinx公司的XCS系列的spart2 pq208,其内部使用VHDL语言编写各子模块源程序。 系统外部时钟源选择32MHZ,相位累加器采用28bit,因采用相位截断,只用相位累加器前10位,即N 10。设系统的频率控制字为M,时钟信号的频率为fc,由DDS方程:fout M?fc/2N可知,当M 1时,系统输出最低频率,也就是系统的频率分辨率。由此可得频率分辨率的计算公式f fc/2N,经过计算可知系统的频率分辨率为0.119HZ。通过改变频率控制字M就可以改变输出频率信号。根据奈奎斯特定理,系统最大输出频率应不大于时钟频率的一半,所以频率控制字F2N-1 227。如图3.4所示,DDS系统包括相位累加器、波形存储器(ROM)等几个部分构成。内部所有模块均都是用VHDL语言编写或调用Xilinx中的已有的lpm库文件。频率控制字 输出图3.4 DDS系统框图下面就FPGA部分的各组成模块具体分析: 频率控制字M 相位量化序列 fc 系统用28位加法器和28位寄存器构成相位累加器。系统接收到时钟脉冲后,28位加法器对频率控制字M和28位寄存器输出的累加相位数据相加,相加后结果进入寄存器的输入端。寄存器会把加法器在上一时钟作用产生的数据反馈给加法器的输入端。当系统接到下一时钟时,被反馈的相位数据与M继续相加。上述过程就是相位累加过程。累加器满偏时就会产生一次溢出。累加器的溢出频率即为DDS输出的信号频率。由于系统中ROM的地址是10位的,即ROM表的样点数位1024个,所以采用相位累加器截断的方法,仅使用相位累加器的前10位数据。因相位截断引起的杂波分量可以通过提高时钟信号来减小。相位累加器的结构图如图3.6所示。系统的波形存储器模块是由四个ROM表构成的,每个ROM表分别存储正弦波、二倍正弦波、方波、锯齿波的数据采样点。ROM表的地址位是10位,数据位是8位。相位累加器经相位截断技术之后前10位有效,10位的寻址ROM相当于把0至360的波形信号离散成1024个样值的序列。波形ROM 表有8位数据位,1024个样值的幅值以8位二进制数储存在ROM中。而通过改变地址,所输出的值就会变化。在同样的时钟周期下,通过单片机改变频率控制字,地址间隔发生变化,会使生成波形频率发生变化。地址值每溢出一次,便完成了一个周期的输出。当改变波形存储器中波形数据时,也就改变了输出波形。四个ROM模块如图3.7、图3.8、图3.9、图3.10所示: 这个部分主要是通过按键向系统输入a,b构成二位二进制的一个数据,通过改变a,b的值就可以改变二进制值,就可以选择不同波形输出。a&b等于00,01,10,11分别对应方波、双倍正弦波、三角波、正弦波的输出。其原理图如图3.11所示。3.3.3 D/A转换输出模块D/A的转换输出模块的作用是将系统产生的数字由数字量送到DAC0832转换成模拟量。其中data_out是八位数据输出,CS和WR1控制DAC0832的片选信号和使能信号。系统对D/A转换模块的分辨率有一定要求。D/A转换模块的分辨率越高,合成波的台阶数越多,输出波形越精确。本次设计采用的是DAC0832。由于DAC0832是电流输出的,而我们希望通过D/A转换模块获得的是波电压,因此在DAC0832后面接两个运放电路。通过该电路可实现电压双极性输出。DAC0832的内部结构图如图3.13所示 :图3.13 DAC0832结构图图3.14 D/A转换模块电路图 系统中DAC0832的WR2 、XFER 接GND,ILE接VCC,AGND和DGND供地,CS、WR1 接FPGA IO口。由DAC0832和运放电路构成的D/A转换模块的电路图如图3.14所示。VOUT2 - 2VOUT1 +VREF -2 -D/256 VREF +VREF D-128 /128VREF通过对D/A转换模块输出的阶梯波进行频谱分析可知,阶梯波除了主频分量以外,还存在着非谐波分量。这些非谐波分量分布在nfC两边的正负f0处。为了突出主频f0,需在D/A转换模块的输出端接入低通滤波模块。低通滤波模块的截止频率为fC/2。滤波模块是用来消除干扰杂讯的模块。我们可以采用简单RC低通滤波器滤除谐波分量,也可以通过有源低通滤波器来达到低通滤波的效果。鉴于有源低通滤波器的性能稳定,兼有放大和缓冲的作用,系统采用此有源滤波器来滤除生成的高频信号,抑制干扰和噪声,获得我们所需的波形。在一阶有源低通滤波器中,当f 0时,电容器视为开路,通带内增益为A 1+R2/R1,它的传递函数为A S V0 S /VI S A/ 1+S/W0 ,其中W0 1/RC如图3.15所示: R1 R2 R + V0 VI - - 图3.15 一阶有源低通滤波器目前二阶低通滤波器有两种选择,一种是切比雪夫低通滤波器,一种是巴特沃思低通滤波器。切比雪夫低通滤波器的阶数决定了通带内波动次数而它的幅度响应在通带内是在两个值之间波动。巴特沃思低通滤波器的幅度函数单调下降,被称为最大平坦幅度滤波器。在靠近截止频率的部分,理想的切比雪夫寄存器比巴特沃思滤波器更接近矩形的频率响应。有源低通滤波器如图3.16所示: R1 Rf VI R R V0 C1 C C2 C图3.16 二阶有源低通滤波器系统的相位累加器是28位,但是实际用了10位,ROM的数据位是8位的,时钟信号的频率为32MHZ。N 10,D 8,fC 32MHZ,设频率控制字为M,由以上相关量可通过计算获得系统的频率步进值、系统输出的最大频率和最小频率、频率控制字M的范围、相位步进、相位控制字的范围,具体的计算方法如下:频率步进值 fomin fC/2N 0.119HZ ,此时M 1最大频率fo fC/2 16MHZ,此时每周期采样2点,这样难以保证系统输出精度。为保证系统输出精度,规定每周期至少采样8点,此时M 2N/8 225,由此可得fo MfC/2N 4MHZ。 相位步进2/1024综上所述,每个波形存储器存储1024个8位采样点;频率控制字1M225,系统的最小输出频率为0.119HZ,最大输出频率为4MHZ;相位控制1P1024,步进为2/1024。3.5 波形存储波形数据存储的方式分为连续存储和间隔存储。 连续存储是指将在一个存储空间内将一种波形全部存完,之后再存入另外一种波形数据。例如“三角波(1.n |正弦波(1.n 连续存储的地址码产生方式: 。 间隔存储是指将一种波形的一个数据存完之后再存入另外一种波形的一个波形数据。例如“三角波(1)|正弦波(1),三角波(2)|正弦波(2).,三角波(n |正弦波(n 。连续存储的地址码产生方式: 。间隔存储适合于实现波形的循环输出,上例中的间隔存储是第奇数位存储三角波,第偶数位存储正弦波。而本系统不需要波形循环输出,因此采用连续存储的方法就可以了。4软件系统原理与结构系统软件设计采用硬件描述语言VHDL。程序设计、调试、仿真工作都是在ISE开发平台下进行的。程序实现了频率控制字、相位控制字、波形选择、时钟信号的输入,完成了系统初始化、波形编辑等功能。采用显示屏显示波形、幅度、频率。4.1 FPGA软件流程 FPGA的软件流程具体说明:由两个串行接口分别输入系统的频率控制字和相位控制字,由两个I/O口控制选择波形的a、b的输入,a和b构成的二位二进制数a&b决定波形类型的选择。因为整个系统在时钟信号的作用下进行,因此还应输入时钟信号。FPGA的顶层模块由28位相位累加器、四个波形ROM、波形选择器、D/A转换模块构成。相位累加器在时钟信号的控制下以一定步长作累加,该步长即为频率控制字。由相位累加器输出的二进制代码与波形控制字相加后获得ROM的地址,系统对ROM寻址。四个波形ROM分别存储了方波、双倍正弦波、三角波、正弦波的数据采样点。经过寻址之后获得的波形幅度。波形选择器在a&b的控制下控制波形的选择,当a&b分别取“00”、“01”、“10”、“11”时,四个输出端口分别输出方波、双倍正弦波、三角波、正弦波。输出的波形幅度再通过D/A转换模块将波形幅度从数字量转换成模拟量。4.2 软件模块说明 图4.2.1 FPGA实现DDS结构图 在DDS的软件实现中,系统结构中包含了28位相位累加器、28位加法器、4-1多路波形选择器、加法器、DAC0832以及余弦波、正弦波、方波、锯齿波的波形ROM。 顶层模块主要设置了频率控制字、时钟信号、相位控制字、波形选择M、N的输入以及DAC0832的cs、wr1的输出,以及FPGA实现DDS模块的8位数据的输出。顶层模块将同时说明了相位累加器、4个波形ROM、波形选择器、DAC0832的各端口的输入输出信号和数据,以及数据的位数。4.2.2 相位累加器模块 相位累加器是系统的顶层模块中非常重要的一部分。系统接收到时钟脉冲后,28位加法器对频率控制字M和28位寄存器输出的累加相位数据相加,相加后结果进入寄存器的输入端。寄存器会把加法器在上一时钟作用产生的数据反馈给加法器的输入端。当系统接到下一时钟时,被反馈的相位数据与M继续相加。上述过程就是相位累加过程。而在本系统的软件实现过程中,可以设计一个整体的相位累加器来实现相位累加功能。相位累加器的VHDL设计如下:architecture Beh of ACC28 isbeginprocess clock,reset begin if clock 1 and clockevent then 时钟处于上升沿 if reset 1 then 复位信号有效 accumulate_out others 0 ;输出为0else accumulate_out accumulate_out + accumulate_in;本次输出 上一次输出+步进值 end if; end if;end process; 具体工作过程:系统设计的是28位相位累加器。它的输入端设置了复位端以及时钟信号的输入和频率控制字的输入。该相位累加器同步复位的。当系统接收的时钟信号处于上升沿且复位信号有效时,系统开始复位,此时输出端为0;如果系统没有复位,则输出端输出的是频率控制字与上一时钟相位累加器的输出值之和。图4.2.1所示的是在上述原理上设计出的相位累加器端口图。 在系统进行仿真时,首先建立一个相位累加器的测试文件。由于在仿真的过程中需要对相位累加器的输入端添加激励源,它才能进行仿真工作,输出仿真波形,而测试文件起到了这个功能。如果改变频率控制字,则改变波形输出的步进值。如图4.2.2所示的仿真波形是当频率控制字为2的仿真结果图。在前两个时钟周期,累加器的复位信号有效,且频率控制字的输入为0,累加器的输出结果为0。从第三个时钟周期开始,复位信号无效,同时设置频率控制字为2,当时钟信号处于上升沿阶段时,累加器的输出端在上一次累加器输出值的基础上加上步进值2输出。如果改变频率控制字,则累加器输出端的步进值改变。 图4.2.3 相位累加器仿真图 在本系统中,加法器实现了相位控制的功能。在它的输入端设置了复位端以及两个数据输入端口。当加法器复位时,它的输出清零;没有复位,则是输出由输入端输入的两个数据之和。相位累加器的VHDL设计如下:architecture Behavioral of ADD28 isbeginprocess input1, input2,reset begin if reset 1 then 如果复位信号有效 add_output others 0 ; 输出0 else 其它(如果复位信号无效) add_output input1 + input2;则输出由输入端输入的两数据之和 end if;end process;end Behavioral; 具体工作过程:系统设计的是28位加法器。它的输入端设置了复位端以及相位累加器的输出值和相位控制字的输入。当系统开始复位时,此时输出端为0;如果系统没有复位,则输出端输出的是相位控制字与相位累加器的输出值之和。图4.2.4所示的是在上述原理上设计出的加法器的端口图。 图4.2.4 加法器 波形ROM存储了正弦波、二倍正弦波、方波、锯齿波的数据采样点。ROM表的地址位是10位,数据位是8位。相位累加器经相位截断技术之后前10位有效,10位的寻址ROM相当于把0至360的波形信号离散成1024个样值的序列。波形ROM 表有8位数据位,1024个样值的幅值以8位二进制数储存在ROM中。而通过改变地址,所输出的值就会变化。在同样的时钟周期下,通过改变频率控制字,地址间隔发生变化,会使生成波形频率发生变化。地址值每溢出一次,便完成了一个周期的输出。当改变波形存储器中波形数据时,也就改变了输出波形。波形的ROM实际上是储存了波形数据采样点的只读存储器。在本系统的波形存储器的实现过程中,我们首先使用ISE提供的IP Core中的单口存储器(Signal Port Block Memory 。在单口存储器中有ROM和RAM可供选择,本系统使用的是ROM。由于系统存储的波形数据的地址位是8位二进制数,并且需要将波形信号离散成1024个点存在ROM中,每个波形ROM存储1024个数据采样点。因此波形ROM的宽度和深度分别为8和1024。接着需要点击Load Fire加载波形数据。图4.2.4所示的是波形ROM仿真过程宽度和深度的设置: 图2.2.5 波形ROM的仿真设置波形数据生成的具体过程:波形数据是通过Matlab产生COE文件,对ROM先进行初始化。将02的空间分割成1024段,每个段存储相应的波形幅度值。在生成正余弦波形时,因为存储的波形幅度值都是正数,而正余弦的波形幅度变化范围是-1+1,因此需将函数整体加1以使得波形抬高到坐标轴以上。通过Matlab生成的正余弦波形数值形成COE文件,加载到ROM中。具体的Matlab代码如下:x linspace 0,6.28,1024 ; 在0和2pi间取1024个点y1 cos x +1;y2 sin x +1;y1 y1 * 32768; 在将波形抬高到坐标轴上后,再将上面算得的数值放大量化成16位y2 y2 * 32768;fid fopen c:/cos_coe.txt,wt ; 生成TXT文件fprintf fid, memory_initialization_radix 10;n, y1 ;生成索引fprintf fid, memory_initialization_vector n, y1 ;fprintf fid,%16.0f,n,y1 ;量化数据格式fclose fid plot y1 ;hold on;fid fopen c:/sin_coe.txt,wt ;fprintf fid, memory_initialization_radix 10;n, y2 ;fprintf fid, memory_initialization_vector n, y2 ;fprintf fid,%16.0f,n,y2 ;fclose fid plot y2 ; 系统设计的波形ROM的有8位数据位,它的输入端设置了地址的输入、时钟信号的输入。当系统接收到的时钟信号处于上升沿时,如果输入端口接收到地址数据,输出端输出相应波形幅度数据。图4.2.3所示的是在上述原理上设计出的波形ROM端口图。在系统进行仿真时,首先建立一个波形ROM的测试文件。测试文件在仿真工作中对波形ROM的输入端添加激励源。如果改变波形地址数据,则改变波形的幅度值。如图4.42.4所示的是波形ROM的仿真图。图示第一行显示的是地址数据,第二行显示的是时钟信号,第三行显示的是波形ROM的输出数据。通过图我们可以看到,如果改变地址数据,则它相应的输出相应波形数据。图4.2.5 波形ROM的仿真图4.2.5 波形选择器的设计波形选择器部分总共有6个输入值和1个输出值。从波形ROM输出的波形幅度值会通过相应的端口输入到波形选择器当中。而由两个I/O口控制的的a,b则是组成二位二进制数a&b。当a&b分别取“00”、“01”、“10”、“11”时,不同的波形幅度值会对波形选择器的输出口进行赋值,实现波形选择的功能。当a&b的取值出现异常情况时,系统输出Z。波形选择器的VHDL设计如下:architecture Behavioral of mux4_1 issignal sel:std_logic_vector 1 downto 0 ;beginsel a&b;将a,b的组成的二进制代码process sel,din_1,din_2,din_3 begincase sel iswhen 00 dout din_1; 00时输出波1的波形数据when 01 dout din_2; 01时输出波2的波形数据when 10 dout din_3; 10时输出波3的波形数据when 11 dout din_4; 11时输出波4的波形数据when others dout others Z ;end case;end process;end Behavioral;4.2.6 DAC0832的设计D/A的转换输出模块的作用是将系统产生的数字由数字量送到DAC0832转换成模拟量。其中data_out是八位数据输出,CS和WR1控制DAC0832的片选信号和使能信号。系统对D/A转换模块的分辨率有一定要求。D/A转换模块的分辨率越高,合成波的台阶数越多,输出波形越精确。DAC0832是构成系统D/A转换模块的非常重要的部分。对它的端口分别输入的是时钟信号和波形选择器输出的波形幅度值。而它的输出部分则是包括cs和wr1以及波形的模拟量。DAC0832的VHDL的设计如下:architecture Behavioral of dac0832 isbeginprocess clk begin if clkevent and clk 1 then当时钟信号处于上升沿data_out data_in;输出波形的模拟量end if;end process; cs 0; wr1 0;end Behavioral;在系统进行仿真时,首先建立一个DAC0832的测试文件。测试文件在仿真工作中对DAC0832的输入端添加激励源。如果改变波形幅度数据,则改变波的形状。5 结论与分析本次设计了一个基于单片机和FPGA的任意频率信号发生器,设计原理是在DDS原理的基础上,对其中的一些模块结构进行改进,在一定程度上完善了信号发生器的功能。整个系统主要由单片机部分、FPGA部分、D/A转换输出模块、低通滤波模块构成。单片机完成了完成了数据(频率控制字、幅度控制字、波形控制字)的处理和转化,FPGA部分完成了波形数据的存储和输出,D/A转换部分完成了波形数据由数字量到模拟量的转换,低通滤波器完成了滤除非谐波分量(杂波信号),最后获得任意波形。 系统模块由28位相位累加器、28位加法器、波形存储器、波形选择器、DAC转换输出模块构成。相位累加器的输入端口设置了复位端以及时钟信号的输入和频率控制字的输入。该相位累加器同步复位的。相位累加器在时钟信号的控制下以一定步长作累加,该步长即为频率控制字。相位累加器的输出数据、系统复位信号、相位控制字通过加法器的输入端输入。当加法器没有复位时,它的输出端输出相位控制字与相位累加器的输出值之和(该值就是ROM的地址数据),完成了系统相位控制功能。从加法器中输出的地址数据进入到波形ROM进行寻址,寻址完成之后输出相应的波形数据。四个波形ROM的输出的波形数据都会通过波形选择器相应的输入端口输入。且系统的波形选择器还有两个输入端口,通过I/O接口向这两个端口输入的值组成二位二进制代码a&b。当此代码分别取“00”、“01”、“10”、“11”时,不同的波形幅度值会对波形选择器的输出口进行赋值,实现波形选择的功能。输出的波形幅度再通过D/A转换模块将系统产生的数字由数字量送到DAC0832转换成模拟量。其中data_out是八位数据输出,CS和WR1控制DAC0832的片选信号和使能信号。 系统实现了可调频率和波形选择输出,系统融合了单片机及FPGA技术,最终可实现任意频率信号的产生,所产生的波形种类齐全、频率分辨率高、带宽宽,同时实现了信号的调相功能。设计中通过相位累加器截断,减小了波形ROM的体积;在四个波形ROM表中分别储存了双倍正弦波、正弦波、三角波、方波,方便系统寻址来实现生成任意波形的功能。我们采用通过软件算法的合理优化,弥补了硬件上的不足,在一定程度上提高了精确度。 系统的不足是系统还有一些设计细节有待改进。如本设计将正弦波、方波、锯齿波分别储存在不同的波形ROM中,可以将这四个波形ROM集合在一个波形ROM中,方便操作且可以减小ROM的体积;可以在电路中添加锁相环PLL,使得时钟频率加倍,从而使输出频率有更高的分辨率。此外,DAC非理想特性造成的杂散以及由存储器有限字长引起的幅度量化误差造成的杂散等问题还需要进一步研究。 系统测试时参数设置为每个波形存储器存储1024个8位采样点;频率控制1M225,系统的最小输出频率为0.119HZ,最大输出频率为4MHZ;相位控制1P1024,步进为2/1024。下面是系统波形及实物测试结果: 图5.3 正弦波仿真波形 图5.8 正弦波HZ 参考文献1 李光清:基于Logistic映射的随机信号发生器设计. 甘肃联合大学学报 自然科学版 , 2006, 03 2 薛凯,赵元良:程序控制多波形信号发生器及其在物理实验中的应用J. 东北师大学报 自然科学版 , 1995, 03 3 刘建华, 李纪云:单片机在现代社会中的应用. 河南科技 , 1998, 10 4 陈钧, 陈坚, 曾德芬:单片机低频信号发生器. 华东地质学院学报 , 1999, 04 5 王振中:现代单片机技术的进展. 今日科技 , 2004, 09 6 耿素军:单片机在加热炉测温中的智能应用. 太原师范学院学报 自然科学版 , 2004, 03 7 罗庚荣:单片机原理及应用课程教学改革探索. 西南师范大学学报 自然科学版 , 1997, 03 8 孙荣创, 张蕾, 王萍:浅谈单片机常见攻击技术及应对策略. 中国科技信息 , 2006, 16 9 湛洪然:一种相位信号发生器的设计方法. 安庆师范学院学报 自然科学版 , 2006, 01 10 张道华, 刘兴云:应用DSP技术设计信号发生器的研究. 湖北师范学院学报 自然科学版 , 2003, 01 11张鹏飞:单片机技术应用的发展状况研究,浙江工商职业技术学院学报 200512王红,彭亮,于宗光:FPGA现状与发展趋势 电子与封装 200713殷海波,许果,王广军:基于单片机和FPGA的任意频率发生器设计 自动化技术与应用 201014黄智伟:大学生电子设计竞赛电路设计 北京航空航天大学出版社 200615李国厚:自动化专业英语 2006.(1)16Atmel.AVR RISC Microcontroller Data Book.17王彦、方艾、张清明:基于FPGA的数字波形发生器J,机械与电子 2004(6):16-1618刘源,于亚萍等:基于FPGA的数字波形发生器J 自动化技术与应用 2009,28(12):75-7519林建英,于涛,王晓迪,基于DDS波形发生器的实验教学与实施J 实验科学与技术 2006,4(1):75-7820刘文莉,林建英用单片机与FPGA实现的DDS波形发生器J 研究与开发 2007,26(12):27-28文献综述一种基于单片机和FPGA的任意频率信号发生器设计一、前言(说明设计或论文的目的、意义,介绍有关感念)信号发生器是各种测试和实验过程中非常重要的工具,在通信、测量、雷达、控制、教学等领域应用十分广泛。不论是在生产、科研还是教学研究上,信号发生器都是电子工程师信号仿真实验的最佳工具。信号发生器的设计方法多,并且随着科技的进步,其设计技术也越来越进步。方便及精度高的信号发生器在电子技术发展的今天被需要。在一些领域,如军事、航空、交通制造业,在设计完成之后,在现实环境还需要作进一步实验,有些实验的成本很高或者风险性很大,人们不可能长期作实验来判断所设计的产品的可行性和稳定性。我们可以利用一些波形发生器来做这样一些费用高、风险大的实验,通过数字示波器等仪器把波形实时记录下来,通过计算机接口接到信号源,直接下载到设计电路,作更进一步实验验证。随着我国经济和科技的发展,对相应的测试仪器和测试手段也提出了更高的要求,信号发生器已经成为测试仪器中至关重要的一类。我国目前信号发生器的种类和性能与国外同类产品存在较大的差距,加紧开发信号发生器有重大意义。二、主题(阐明有关主题的背景、现状和发展方向,以及对这些问题的评述)自20世纪20年代至今,信号发生器实现了从无到有,结构从复杂到简单,功耗上有大到小,发展速度由慢到快的飞跃。如今,各国相关科研人员依旧积极致力于完善信号发生器结构和功能的科研工作中,并将这一技术应用到许多领域。信号发生器在20世纪20年代出现。在信号发生器发展的几十年过程中,信号发生器大致经历了早期信号发生器、标准信号发生器、全晶体
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!