基于fpga的直接数字合成器设计(毕业论文)(编辑修改稿)内容摘要:

入式开发软件、可编程逻辑设计于一体,是一种综合性的开发平台。 使用 Quartus II 的设计过程包括以下几步,若任一步出错或未达到设计要求则应修改设计,然后重复以后各步, Quartus II 的设计流程如图 11 所示。 图 11 Quartus II 的设计流程。 逻辑设计的输入方法有原理图形输入、文本输入、波形输入及第三方 EDA 工具生成的设计网表文件输入等。 输入方法不同,生成设计文件的名称后缀就不同。 首 先,根据设计项目要求设定编译参数和编译策略。 然后对设计项目进行网表提取、逻辑综合、器件适配,并产生报告文件,延时信息文件和器件编程文件,供分析、仿真和编程使用。 设计项目校验方法包括功能仿真、模拟仿真和定时分析。 功能仿真是在不考虑器件延时的理想情况下仿真设计项目的一种项目验证方法,称为前仿设计输入 编译项目 仿真与定时分析 编程测试 完成 修改设计 天津职业技术师范大学 20xx 届本科生毕业设计 6 真。 模拟仿真是在考虑设计项目具体适配器件的各种延时的情况下仿真设计项目的一种项目验证方法,称为后仿真。 定时分析用来分析器件引脚及内部节点之间的传输路径延时、时序逻辑的性能以及器件内部各种寄存器的建立保 持时间。 用 Quartus II 编程器通过 Altera 编程硬件或其它工业标准编程器,将经过仿真确认后的编程目标文件便如所选定的 Altera 可编程逻辑器件中,然后加入实际激励信号,测试是否达到设计要求。 天津职业技术师范大学 20xx 届本科生毕业设计 7 2 系统设计方案的研究 由于本系统由多部分构成,在此根据各部分的基本原理,对各方案进行分析和比较。 系统实现的原理 本设计采用直接数字合成技术设计正弦信号发生器。 直接数字合成器 由 FPGA、低通滤波器、 D/A 转换等部分组成,其中主要为用 FPGA 实现直接数字合成器 (DDS)的功能。 通过键盘输入频率控制字、相位控制字和幅值控制字,使其输出一定频率、相位和幅值的正弦波信号,经过低通滤波器后形成平滑的着正弦波。 该发生器具有调频迅速的优点。 由于本系统主要用 FPGA 开发板,故在此着重介绍 直接数字合成技术的原理及其 FPGA 实现。 DDS 的基本原理 直接数字合成技术 (DDS)是从相位概念出发直接合成所需波形的一种新的频率合成技术。 近年来,技术和器件水平不断发展,这使 DDS 合成技术也得到了飞速的发展,它在相对带宽、频率转换时间、相位连续性、正 交输出、高分辨力以及集成化等一系列性能指标方面已远远超过了传统的频率合成技术所能达到的水平,完成了频率合成技术的又一次飞跃,是目前运用最广泛的频率合成技术。 直接数字合成器 (DDS)的基本原理: DDS 是利用采样定理,根据相位间隔对正弦信号进行取样、量化、编码,然后储存,构成一个正弦查询表,通过查表法产生波形[10]。 它是由参考时钟、相位累加器、正弦查询表 、 D/A 转换器 和低通滤波器 组成,直接数字合成器原理框图如图 21 所示。 图 21 直接数字合成器原理框图 时钟 A 位 D 位 输出 N位 低 通 滤波器 正 弦 查询表 D/A 频率控制字 K 相 位 累加器 天津职业技术师范大学 20xx 届本科生毕业设计 8 相位累加器由 N 位加法器与 N 位累加寄存器级联构成,其原理框图如图 22 所示。 每来一个时钟脉冲 fclk, N 位加法器将频率控制数据 K 与累加寄存器输出的累加相位数据相加,把相加后的结果 Y 送至累加寄存器的输入端。 累加寄存器一方面将在上一时钟周期作用后所产生的新的相位数据反馈到加法器的输入端,以使加法器在下一时钟的作用下继续与频率控制数据 K 相加;另一方面以相加后的结果形成正弦查询表的地址 ,取 出表中与该相位对应的单元中的幅度量化正弦函数值,作为取样地址值送入幅度 /相位转换电路。 这样就可把存储在波形存储器内的波形抽样值 ( 二进制编码 ) 经查找表查出,完成相位到幅值转换。 波形存储器的输出送到 D/A 转换器,D/A 转换器将数字量形式的波形幅值转换成所要求合成频率的模拟量形式信号。 图 22 相位累加器原理框图 由此可以看出,相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位。 当相位累加器加满量时就会产生一次溢出,溢出频率就是 DDS 输出的信号频率。 相位累加器的最大计数长度与正弦查询表中所存储的相位分隔点数相同,在取样频率 ( 由参考时钟频率决定 ) 不变的情况下,由于相位累加器的相位增量不同,将导致一周期内的取样点数不同,输出信号的频率也相应变化。 如果设定累加器的初始相位,则可以对输出信号进行相位控制。 图 23 波形 ROM 示意图 当 ROM 地址线上的地址 ( 相位 ) 改变时 , 数据线上输出相应的量化值 ( 幅度量化序列 )。 因为波形 ROM 的存储容量有限,相位累加器的字长一般不等于 ROM 地址线的位数 , 因此在这个过程当中也又会引入相位截断误差。 N 位 加法器 N 位相位 寄 存 器 fclk 频率控制字 K 输出序列 N 波形 ROM 地址 波形 相位量化序列 正弦幅度量化序列 天津职业技术师范大学 20xx 届本科生毕业设计 9 D/A 转换器将波形 ROM 输出的幅度量化序列转化成对应的电平输出 , 将数字信号转换成模拟信号。 但输出波形是一个阶梯波形,必须经过抗镜像滤波,滤除输出波形中的镜像才能得到一个平滑的波形。 抗镜像滤波器是一个低通滤波器,要求在输出信号的带宽内有较平坦的幅频特性,在输出镜像频率处有足够的抑止。 根据 DDS 的基本结构,可以推出以下一些结论 : 频率控制字 K 唯一地确定一个单频模拟余弦信号 Sout=cos(2foutt)的频率 fout, fout=Kf clk/2N ( 21) 当 K=1 的时候 DDS 输出最低频率为 Δf, Δf=fclk/2N ( 22) 这就是 DDS 的频率分辨率,所以,当 N 不断增加的时候 DDS 的频率分辨率可以不断的提高。 D/A 转换器的输出波形相当于是一个连续平滑波形的采样,根据奈奎斯特采样定律,采样率必需要大于信号频率的两倍。 也就是 说 D/A 转化器的输出如果要完全恢复的话,输出波形的频率必须小于 fclk/2N。 一般来说,由于低通滤波器的设计不可能达到理想情况,即低通滤波器总是有一定的过渡带的,所以输出频率还要有一定的余量,一般来说在实际应用当中 DDS 的输出频率不能超过。 FPGA 实现的直接数字合成器 图 24 系统总体设计框图 本设计基于 DDS 的基本原理,利用 Altera 公司的 FPGA 芯片 Cyclone II 系列器件设法将波形采样点的值依次通过数模转换器 (MDAC)转换成模拟量输出 ,可达到预期 的目的,具有较高的性价比。 其基本环节由计数器 (Counter)、只读存储器 (EPROM)、数码管 显 示 低通滤波 按键输入控 制 字 FPGA 相 位 累加器 波 形 存储器 D/A 转换器 波形输出 天津职业技术师范大学 20xx 届本科生毕业设计 10 数模转换器 (MDAC)和滤波器等组成 ( 同 DDS 原理 )。 具体方案如下 : 累加器由加法器和 D 触发器级联组成。 在时钟脉冲 fclk 的控制下,对输入频率控制字 K 进行累加,累加满量时产生溢出。 相位累加器的输出对应于该合成周期信号的相位,并且这个相位是周期性的,在 0~ 2π 范围内起变化。 相位累加器位数为 N,最大输出为 2N1,对应于 2π 的相位,累加一次就输出一个相应的相位码,通过查表得到正弦信号的幅度,然后经 D/A 转换及低通滤波器滤除不 需要的取样分量,以便输出频谱纯净的正弦波信号 [11]。 整个 DDS 电路的电路结构如图 25 所示。 图 25 FPGA 实现的 DDS 原理框图 移相原理 所谓移相是指两路同频的信号,以其中的一路为参考,另一路相对于该参考作超前或滞后的移动,即称为相位的移动。 两路信号的相位不同,便存在相位差,简称相差。 若我们将一个信号周期看作是 360176。 ,则相差的范围就在 0176。 ~ 360176。 之间。 例如在图 26 中,以 A 信号为参考, B 信号相对于 A 信号作滞后移相 φ176。 ,则称 A 超前B φ176。 , 或称 B 滞后 A φ176。 相位 /幅度转换电路 系 统 控 制 电 路 输入寄存器 算术运算电路 加法器 低位累加器 ROM 算术运算电路 高位累加器 输出控制 基准时钟 频率调谐字输入 频率控制字 相位控制字 控制信号 相位累加器 进位信号 输出 天津职业技术师范大学 20xx 届本科生毕业设计 11 图 26 移相示意图 若输出信号 A 和 B 的相位差可调,须保证两路信号同步,故应满足以下条件: (1)输入到两个频率合成器芯片的参考时钟之间的相位偏移要足够小。 这个相移会导致输出信号之间产生与之成比例的相移。 因此在布线时必须精心设计,使从FPGA 输出参考时钟的引脚到两个频率合成器芯片的参考时钟输入引脚的引线距离相等,以保证系统时钟同步。 另外,参考时钟上升/下降沿的抖动应尽 可能小,并且时间应尽可能短,因为不同频率合成器芯片输入电路的触发电压不同,因此参考时钟的上升/下降沿时间太长会增加输出信号的相位误差。 (2)频率控制字送到频率合成器的数据缓冲区后,还必须通过一个更新时钟才能将数据缓冲区中的数据送到相位累加器,成为有效数据后进行输出。 频率合成器有两种更新时钟产生方式,一种由 FPGA 内部自动产生,另一种由外部提供。 要使两路输出信号同步,必须使用外部 I/O 更新时钟,同时必须使参考时钟信号 (REFCLK)与外部 I/ O 更新时钟 (UPDATE CLK)上升沿之间满足图 27 所示的时序 关系。 图 27 参考时钟与更新时钟之间的时序关系图 更新时钟的上升沿必须在参考时钟的下降沿 t1 之后与下一个下降沿 t2 之前之间(图 27 中深色区间为有效区域 )产生,这样可以使两个 频率合成器 工作在相同的系统时钟 ( 参考时钟乘以一定倍数 ) 下,且它们的系统时钟脉冲数相差不能超过 1 个脉冲。 Ф  2 tw sin(wt) A B t2 有效区 REFCLK UPDATE t1 天津职业技术师范大学 20xx 届本科生毕业设计 12 (3)在第一次传送数据之前必须先使 频率合成器 复位,以保证 其 输出 的 相位 是 可知 的。 因为 DDS 芯片 的相位输出是连续的,所示复位信号可使 两个 频率合成器 的相位累加器复位到 COS(0)状态。 新的数据送到相位累加器时,它们之间的相位关系可以得到保持,也可以通过相位控制字来调节两片 频率合成器 之间的相位 差 [12]。 系统实现方案分析与比较 在这个系统中,较为困难的部分是由 FPGA 实现频率合成器的功能。 因为要求产生频率可调 的 正弦波,且都要以数字的形式进行控制和处理,所以在设计中将分别对部分电路提出几种实现方案并进行分析和论证。 频率合成器方案 频率合成是指对一个标准信号频率经过一系列算术运算,产生具有相同精度和稳定度的大量离 散频率的技术 [13]。 频率合成有多种实现方法,其中直接数字频率合成技术与传统频率合成技术相比具有难以比拟的优点,如频率切换速度快、分辨率高、频率和相位。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。