基于单片机的直接频率数字合成器的设计方案

时间:2022-03-17来源:佚名

1.引言

随着电子技术的发展,在现代电子产品的故障检测中,往往需要频率和幅度都能自动调节的正弦信号源,并且要求该信号源产生的信号频率稳定性好,转换速度快,具有调频、调幅和调相的功能。本文结合实际需要,提出一种基于单片机和FPGA的直接频率数字合成器的设计方案,能够产生两路频率和相位均可调的正弦波信号,达到了预定的要求。

2.系统方案设计

2.1 系统的性能分析

系统主要由单片机最小系统、存储器电路、FPGA模块、键盘与显示接口电路、D/A转换电路、低通滤波电路组成,其硬件框图如图1所示。通过键盘输入频率控制字、相位控制字和幅值控制字,单片机最小系统控制FPGA模块产生用户需要的正弦波信号,再经过DA转换,最后通过低通滤波器生成平滑的正弦波信号。

系统的性能要求:频率范围20Hz~20KHZ,步进20Hz;差0o~359o,步进1o;两路输出正弦波信号,峰峰值分别在0.3V~5V变化;数字显示频率、相位差。

2.2 系统实现的原理

2.2.1 DDS的基本原理

直接数字频率合成器(DDFS)的基本原理:

DDS是利用采样定理,根据相位间隔对正弦信号进行取样、量化、编码,然后储存在EPROM中构成一个正弦查询表,通过查表法产生波形。

它是由参考时钟、相位累加器、正弦查询表和D/A转换器组成,如图2所示。

相位累加器由N位加法器与N位累加寄存器级联构成,其原理框图如图3所示。每来一个时钟脉冲Fc,N位加法器将频率控制数据K与累加寄存器输出的累加相位数据相加,把相加后的结果Y送至累加寄存器的输入端。累加寄存器一方面将在上一时钟周期作用后所产生的新的相位数据反馈到加法器的输入端,以使加法器在下一时钟的作用下继续与频率控制数据K相加;另一方面以相加后的结果形成正弦查询表的地址,取出表中与该相位对应的单元中的幅度量化正弦函数值,作为取样地址值送入幅度/相位转换电路。这样就可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出,完成相位到幅值转换。波形存储器的输出送到D/A转换器,D/A转换器将数字量形式的波形幅值转换成所要求合成频率的模拟量形式信号。

相位累加器的最大计数长度与正弦查询表中所存储的相位分隔点数相同,在取样频率(由参考时钟频率决定)不变的情况下,由于相位累加器的相位增量不同,将导致一周期内的取样点数不同,输出信号的频率也相应变化。

如果设定累加器的初始相位,则可以对输出信号进行相位控制。由采样原理可知,如果使用两个相同的频率合成器,并使其参考时钟相同,同时设定相同的频率控制字、不同的初始相位,那么在原理上就可以实现输出两路具有一定相位差的同频信号。

2.2.2 FPGA实现的直接数字频率合成器

基于DDS的基本原理,利用Altera公司的FPGA芯片FLEX10系列器件设法将波形采样点的值依次通过数模转换器(MDAC)转换成模拟量输出,可达到预期的目的,具有较高的性价比。其基本环节由计数器(Counter)、只读存储器(EPROM)、数模转换器(MDAC)和滤波器等组成。

具体方案如下:累加器由加法器和D触发器级联组成,在时钟脉冲fc的控制下,对输入频率控制字K进行累加,累加满量时产生溢出。相位累加器的输出对应于该合成周期信号的相位,并且这个相位是周期性的,在0~2π 范围内起变化。相位累加器位数为N,最大输出为2N-1,对应于2π的相位,累加一次就输出一个相应的相位码,通过查表得到正弦信号的幅度,然后经D/A转换及低通滤波器滤除不需要的取样分量,以便输出频谱纯净的正弦波信号。整个DDS电路的电路结构如图4所示。

3.系统硬件电路设计

在功能上,单片机与FPGA有很强的互补性。

单片机具有性价比高、功能灵活、易于人机对话、良好的数据处理能力等特点;FPGA则具有高速、高可靠性以及开发便捷、规范等优点。用这两类器件相结合的电路结构在许多高性能仪器仪表和电子产品中仍将被广泛应用。

单片机的功能主要是传送频率控制字K1和相位控制字K2给FPGA处理;生成波形表存储于EEPROM中;控制键盘的写入和LED的显示;控制DAC0832进行幅值转换。在每次加电前都要通过单片机初始化,将写好的程序加载在信号产生系统上,然后把从键盘上输入的数据送到中央处理芯片上,信号通过低通滤波器输出的同时,LED数码管显示信号的频率和相位差。

FPGA与单片机的总线接口如图5所示。

4.系统的实现

4.1 系统的计算与仿真

用MAX plusⅡ设计DDS系统数字部分最简单的方法是采用原理图输入。相位累加器调用lmp_add_sub加减法器模块,相位累加器设计的好坏将直接影响到整个系统的速度,采用流水线技术能大幅度地提升速度。波形存储器(ROM)通过调用lpm_rom元件实现,其LPM_FILE的值。mif是一个存放波形幅值的文件。波形存储器设计主要考虑的问题是其容量的大小,利用波形幅值的奇、偶对称特性,可以节省3/4的资源,这是非常可观的。为了进一步优化速度的设计,可以选择菜单Assignal GlobalProject Logic Synthesis的选项Optimize10(速度),并设定Global Project LogicSynthesis Style为FAST,经寄存器性能分析最高频率达到100MHZ以上。DDFS中的分频、累加器及正弦波的仿真如图6、7、8所示。

4.2 单片机的编程实现

由于使用了8051单片机及FPGA构成的DDS系统,外围电路变得异常简单,而FPGA的使用使单片机的程序大大简化。DDS系统及其与单片机的接口部分用VHDL语言写。在设计过程中波形频率随CPU的频率而变化,单片机的实时时钟经过PLL倍频电路产生系统时钟频率fc,fc再经过分频得到CPU时钟频率(CPUCLK)可通过对P_SystemClock(写)(7013H)单元编程来控制。在设计过程中,波形编辑的第一步就是进行CPU频率选择,选择最高频和最低频作为粗调,在用键盘和中断进行微调,以便达到所需的频率、相位及其幅值。单片机编程的总体流程图如图9所示。

5.结束语

本文结合实际需要,提出一种基于单片机和FPGA的直接频率数字合成器设计方案。方案以FPGA为核心模块,以单片机为控制模块,采用直接数字频率合成技术设计了双通道相位关系可调的信号发生器,输出信号频率范围为0~20KHz,频率分辨率高于20Hz,相位调节步进1o.两个通道不仅可以输出相同频率的信号,还可以输出不同相位、不同幅值的正弦信号。经系统仿真表明,本方案可达到预定要求,应用方便灵活。(作者:任玲芝,李岩岩,刘丽)


    相关阅读

    城市亮化工程如何设计才能具有层次感?

    城市亮化工程 的主要目地是为夜间带来一体化照明,考虑基础的视觉识别规定,自然环境照明的光层级与光线总数的多少相关,假如空间中的自然环境照明比工作照明低许多 ,在工作...
    2022-10-11
    城市亮化工程如何设计才能具有层次感?

    城市道路照明工程主要有哪些?

    在城市建设中,道路照明 是必不可少的基础设施,也是城市夜景的重要组成部分。在某种程度上,它还反映了城市的经济实力,社会进步和现代化的标志。它为夜间在城市中的车辆和行...
    2022-07-12
    城市道路照明工程主要有哪些?

    安全出口指示标志灯为什么是绿色而不是红色?

    对于安全出口指示标志灯相信大家都不陌生,我们在日常生活中在任何公众场所的紧急疏散的安全出口都可以看到这个安全出口指示标志灯,大家有没有想过安全出口的指示标志为什么...
    2022-05-21
    安全出口指示标志灯为什么是绿色而不是红色?

    路灯照明合理的布置方式

    路灯的布置方式主要有单侧布置、双侧交错布置、双侧对称布置、中心对称布置、横向悬索布置五种形式,随着城市道路的不断拓宽,平交路口转弯半径越来越大,根据《城市道路亮化...
    2022-07-15

    泛光照明工程是什么?应用范围有哪些?

    很多人提及 泛光照明工程 会有一些生疏,不理解泛光照明包含哪些,也不知道 泛光照明工程 跟普通照明工程有哪些不一样。 实际上泛光照明工程便是归属于城市景观照明工程或环境...
    2022-10-17
    泛光照明工程是什么?应用范围有哪些?

    消防应急灯的寿命有多长?一般可以使用多长时间?

    对于消防应急灯的使用寿命相信很多人都想了解这个问题,因为消防应急灯安装了就不需要时时刻刻盯着,这需要定时检查就可以了,但是很多人都不知道消防应急灯的寿命有多长,不...
    2022-05-21
    消防应急灯的寿命有多长?一般可以使用多长时间?

    快投派智能无线投屏器,让无线互联更加简单便捷

    没有WiFi的情况下可以进行无线投屏吗? 长期使用投屏功能的人,或多或少都知道自己的手机可以通过【无线投屏】【屏幕镜像】功能,直接连接到智能电视或无线投屏器,下意识地认...
    2022-05-11
    快投派智能无线投屏器,让无线互联更加简单便捷

    广场照明的设计技巧

    广场照明设计 主要包括休闲广场、集会活动广场、商业广场的照明设计。 1)休闲广场。主要是为人们提供休息、社交和举行小型文化娱乐活动的地方,由于人们活动方式不同,有些区...
    2022-07-15

    网站栏目