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

发布者:EnchantedWish最新更新时间:2014-02-14 来源: dzsc关键字:单片机  直接频率  数字合成器 手机看文章 扫描二维码
随时随地手机看文章

  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则具有高速、高可靠性以及开发便捷、规范等优点。用这两类器件相结合的电路结构在许多高性能仪器仪表和电子产品中仍将被广泛应用。[page]

  单片机的功能主要是传送频率控制字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.两个通道不仅可以输出相同频率的信号,还可以输出不同相位、不同幅值的正弦信号。经系统仿真表明,本方案可达到预定要求,应用方便灵活

关键字:单片机  直接频率  数字合成器 引用地址:基于单片机的直接频率数字合成器的设计方案

上一篇:单片机应用系统的可靠性设计
下一篇:如何使用单片机去驱动控制触摸屏

推荐阅读最新更新时间:2024-03-16 13:35

在VC++中用ActiveX 控件实现与单片机的串行通信
在单片机应用系统中,经常需要通过RS-232串行口与微机进行通信。目前在各种操作系统中,Microsoft的Windows较为常见,而且大多为Windows95/98等32位平台。以往在Windows平台上的串行通信多使用其提供的API函数来实现,这种方法使用起来需要许多底层设置,因而较为繁琐,并且难以理解。Microsoft推出的ActiveX技术提供了另外一种实现串行通信的方法。这种方法不仅相对较为简单,而且非常实用。尤其是Visual C++这种可视化面向对象的编程环境中,可以真正把串口看作一个对象,编程时只需简单的设置,理解起来也很容易。下面详细讨论Microsoft提供的串行通信ActiveX控件的使用方法。该控件的相应文
[单片机]
单片机驱动LED数码管,按键TM1638芯片学习心得
TM1638是带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路,内部集成有MCU 数字接口、数据锁存器、LED 高压驱动、键盘扫描等电路。主要应用于冰箱、空调 、家庭影院等产品的高段位显示屏驱动。 因为步进电机实验需要用到按键,但家有婴儿,没用松香铬铁之类的(技术早就还给老师了,也没有条件 ),只好在网上找,找到一个由TM1638做成的成品,感觉做工还不错,就买了一个,但其带的程序一时没看懂,花了些时间进行学习,觉得好精妙,就想分享一下。 绝不是给别人打广告,这程序确实我理解了很久。 附件是它完整的程序。 调用实现程序主要是显示与按键值获取。 1.显示: 为什么是0xc0|add呢? 因为芯片说明有:高位都是11, 就
[单片机]
<font color='red'>单片机</font>驱动LED数码管,按键TM1638芯片学习心得
ZiLOG进军32位ARM-9 MCU市场,瞄准安全和POS等应用
ZiLOG公司日前宣布进军32位ARM-9 MCU市场。该公司充分借助其现有的技术知识,加上专注于特定应用市场的策略,以赢取安全和销售点(POS)应用领域的增长机会。这一领域的产品开发已有时日,并已获得成功。 ZiLOG进军32位领域并不是说进入了通用ARM-7市场。相反,它是指该公司扩展了其专用产品战略。在这种情况下,该公司将继续开发更先进、处理能力更强和更具集成性的核心产品系列——这些都奠基于ZiLOG现有在某些应用领域的领导地位、专门技术以及在这些赢得客户信赖的领域所累计的知识。 根据Nilson于2005年11月公布的数字,2004年,微控制器的全球POS市场规模为880万单位,且每年以18.1%的速度增长。目标应用包
[嵌入式]
一种基于单片机的超声波传感器的研究与设计
现代工业正向着智能化、自动化的方向发展,测距技术作为工业生产的重要组成部分对稳定度和精度的要求也日益严格。传统测量手段由于受环境、工具和人为因素影响,已经不能满足现代工业测量的要求。超声波测距作为一种非接触式的测距方式,以其抗干扰能力强 、测量范围广、易于控制、测量精度高等优点,已经在工业测量领域得到广泛应用。本系统设计应用于石油泥浆液位测量,设计测量范围为50 cm~600 cm,设计测量精度为厘米级,特点在于系统采用温度补偿对测量数据进行修正,确保准确性。 1 工作原理及系统设计 1.1 超声波测距原理 超声波传感器主要由双压电晶片振子、圆锥共振板和电极等部分构成。两电极间加上一定的电压时压电晶片就会被压缩产生
[单片机]
意法新款马达驱动器内建32位MCU
意法半导体(ST)近日推出STSPIN32F0A可程序设计马达控制器,其在一个7mmÍ7mm轻巧封装内,完整整合栅极驱动器(用于驱动三个外部MOSFET半桥)、STM32F0微控制器(MCU)以及3.3V DC/ DC切换式转换器和12V LDO低压差稳压器,让设计人员可以依照不同的情况灵活地开发马达控制系统。同时亦内建了32KB闪存的48MHz微控制器,能够运作马达控制算法,例如6步无传感器向量控制或位置监测控制算法,以及用户应用软件。 该马达驱动器拥有6.7V到45V的宽工作电压,在行动机器人、云台(Gimbal)或无人机内,电源可以使用最少两个锂电池。新款马达控制器亦适用于电动工具、空气净化器和小冰箱等携带式电器、服务器散热
[半导体设计/制造]
STC89C52单片机 矩阵键盘
矩阵键盘识别方法 矩阵键盘一共有4行和4列一共16个按键组成。 确定矩阵键盘上哪一个按键被按下可以采用列扫描和行扫描。列扫描时先把接在列上面的所有IO口拉高,接在行上的所有IO置低。当其中有一列内任何一个按键按下那么整条列线都会被拉低。 当进行列扫描的时候: P30/TXD:IO口为 0 P31/RXD:IO口为 0 P32/INT0:IO口为 0 P33/INT1:IO口为 0 P34/LCDEN:IO口为 1 P35/RS:IO口为 1 P36/WE:IO口为 1 P37/RD:IO口为 1 当进行行扫描的时候 P30/TXD:IO口为 1 P31/RXD:IO口为 1 P32/INT0:IO口为 1 P33
[单片机]
STC89C52<font color='red'>单片机</font> 矩阵键盘
MSP430单片机硬件知识-5种低功耗模式
5种低功耗模式分别为LPM0~LPM4(LOW POWER MODE),CPU的活动状态称为AM(ACTVE MODE)模式。其中AM耗电最大,LPM4耗电最省,仅为0.1uA。另外工作电压对功耗的影响:电压越低功耗也越低。 系统PUC复位后,MSP430进入AM状态。在AM状态,程序可以选择进入任何一种低功耗模式,然后在适当的条件下,由外围模块的中断使CPU退出低功耗模式,返回AM模式,再由AM模式选择进入相应的低功耗模式,如此类推。 工作模式的选择由状态寄存器SR中的SCG1、SCG0、OSCOFF、CPUOFF位控制。由于在CPU的头文件中对CPU内的各寄存器和模块的各种工作模式都作了详尽的定义,所以编程时尽可能的利
[单片机]
PIC单片机实例八:四种方式24X24点阵显示
最近终于有空更新了,花了几天时间,弄出个小东西,虽然有很多种实现方式在网上流传了,但我却从没有试过,乘有时间,也弄出了四种方式的显示,各位帮忙看看,哪里还有不好的地方,希不吝指教. 一.原理及仿真图 此种为从右往左显示. 此中为从左往右显示 此种为从下往上显示 此种为从上往下显示 原理图说明: 1.本实例采用微芯PIC16F877A单片机,此单片机适合初学者 2.点阵采用24X24点,左边为行线,采用U1-U3三个74LS373地址所存芯片,复用单片机RB端口. 右边为列线,采用U4-U6三个74LS373地址所存芯片,复用单片机RD端口. 3.单片机RC端口控制六片373的选通. 4
[单片机]
PIC<font color='red'>单片机</font>实例八:四种方式24X24点阵显示
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved