×
嵌入式 > 嵌入式开发 > 详情

基于AVR和FPGA数字式移相信号发生器的设计

发布时间:2020-07-09 发布时间:
|

1 引 言
移相信号发生器属于信号源的一个重要组成部分,但传统的模拟移相有许多不足,如移相输出波形易受输入波形的影响,移相角度与负载的大小和性质有关,移相精度不高,分辨率较低等。

而且,传统的模拟移相不能实现任意波形的移相,这主要是因为传统的模拟移相由移相电路的幅相特性所决定,对于方波、三角波、锯齿波等非正弦信号各次谐波的相移、幅值衰减不一致,从而导致输出波形发生畸变。目前利用DDS技术产生信号源的方法得到了广泛的应用,但是专用DDS芯片由于采用特定的集成工艺,内部数字信号抖动很小,不可以输出高质量的模拟信号。随着现代电子技术的发展,特别是随单片机和可编程技术的发展而兴起的数字移相技术却很好地解决了这一问题。在众多的单片机之中,AVR 单片机是目前最新单片机系列之一,其突出的特点在于速度高、片内硬件资源丰富等。以FPGA为核心的PLD产品,是近几年集成电路中发展最快的产品。采用FPGA芯片,可并行处理多项任务,其高速性能好(执行速度达到纳秒级),纯硬件系统的可靠性高。利用FPCA实现DDS能很好地解决专用DDS芯片的诸多缺点,他可以根据需要方便地实现各种比较复杂的调频、调相和调幅功能,具有良好的实用性。

本文结合AVR系列单片机ATmega16和采用FPGACyclone器件实现DDS的一种数字式移相信号发生器设计新方案。该方案具有灵活可变的特点,更重要的是可以和其他功能模块组合扩展为任意信号发生器。

2 系统总体方案设计及实现

图1是系统总体方案设计示意图,他包括键盘按键控制部分,单片机系统部分,FPGA部分,以及幅度控制和D/A转换电路。单片机采用ATmega16,他根据矩阵式键盘输入给FPGA送出频率控制字与相位控制字,用于设定输出正弦波的频率与相位。高速D/A转换器用于正弦波的DA转换,利用单片机的幅度控制字来控制他的参考电压可以达到数字调幅的目的。FPGA构成DDS的核心部分,用于接收送来的频率字与相位字,同时给DA转换器输出正弦波数据。采用字符型液晶1602A显示屏实时显示输出的频率与相位。

2.1 单片机与FPGA间的通信

ATmega16的同步串行接口允许在芯片和外设之间,或几个AVR单片机之间,以与标准SPI接口协议兼容的方式进行高速的同步数据传输。本系统中,ATmega16只负责发送数据,不需要接收数据,故设置为主机工作模式。图2为单片机与FPGA通过SPI通信的框图。

2.2 数控移相信号发生器设计

DDS的主要思想是从相位的概念出发合成所需的波形,他的基本原理框图如图3所示。他采用了相位累加振荡方法的直接数字合成系统,把正弦波在相位上的精度定为N位,得分辨率为1/2N。用时钟频率fclk一次读取数字相位圆周上各点作为地址,对出相应ROM中的正弦波的幅度值,然后经DAC重构正弦波。相位累计器的作用是读取数字相位圆周上各点时可以每隔M个点读一个数值,从而得到输出正弦波频率fsin为:

基于DDS的数字移相信号发生器是整个系统的设计核心部分,其电路模型图如图4所示。这部分完全是由VHDL语言设计,并在FPGA Cyclone器件上实现的。电路要求能输出2路正弦信号,由2路10位D/A实现波形输出。信号频率能通过输入的8位频率控制字同步控制;其中一路作为参考信号,另一路是可移相的信号,可通过输入的8位相位控制字控制。其中“FWORD”是8位频率控制字,控制输出波形信号的频移量;“PWORD”是8位相移控制字,控制输出波形的相移量;ADDER32B及AD-DER10B分别为32位和10位加法器;SIN_ROM是存放波形数据的ROM,10位数据线,10位地址线(数据和地址线最大可以到32位),其中正弦波数据文件是后缀为mif的文件,可由C程序直接生成。REG32B和REG10B分别是32位和10位寄存器;POUT和FOUT为8位输出,可以分别与两个高速D/A连接,输出参考信号和可移相波形信号。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
电子EDA技术的基础知识