广西大学生电子设计竞赛
设计报告
学校:桂林工学院南宁分院
题目:专科A双路相位可调信号发生器
姓名:唐勇铭、何展业、黄培培
时间:2009-5-22
摘要:为了进行双路信号相位的研究,提出基于EDA的双路相位差可调信号发生的系统设计。系统利用单片机和FPGA实现了双路正弦信号输出,输出频率范围为100Hz~100kHz,输出信号频率稳定度优于10-3;且输出的两正弦波信号的相位差可以调整为0°、45°、90°;在1kW负载条件下,两路输出正弦波信号的电压峰-峰值Vopp在0~5V范围内可调;输出信号波形无明显失真。它不仅可输出2路相同频率、相位差可调的正弦信号,而且可分别作为2路独立的可调频、调幅、调相的信号发生器使用。经测试验证,系统运行稳定、操作方便。
关键字:FPGA、AT89C51、数字移相、波形、D/A转换
引言
正弦信号发生器作为电子技术领域中最基本的电子仪器,广泛应用于航空航天测控、通信系统、电子对抗、电子测量、科研等各个领域中。随着电子信息技术的发展,对其性能的要求也越来越高,如要求频率稳定性高、转换速度快,具有调幅、调频、调相等功能,另外还经常需要两路正弦信号不仅具有相同的频率,同时要有确定的相位差。
本文介绍一种由AT89C51和FPGA编程实现的信号发生器,该信号发生器可产生两路相差可调、频率可调的正弦波信号,且按下单片机上的复位键,可使输出频率为0HZ,相差为0°。具有灵敏度高、调节方便快捷的特点。
2 系统方案设计
系统构成框图
传送控制数据
单
片
机
系
统
FPGA系统
选择输出数据地址
存储了一周期360个点的数据
时钟
单片机
显示频率及相差
按键
数模
转换
数模
转换
AOUT
BOUT
双路相位可调信号发生器
系统设计思想
本系统讲正弦波一周期分为360°,每度一个点,通过FPGA连续输出这360个点的二进制数据,再经过数模转换芯片,将FPGA产生的数字信号变为模拟信号,即可得到一周期的正弦波信号。可以利用单片机来控制使出信号的频率,以及两路信号的相差,同时在1602液晶屏上显示这些数据等功能而设计的这个具有双路相位可调的信号发生器。
3 基本功能设计
信号产生
为了产生高达几兆赫兹的正弦波信号,要求时钟数模转换要有上百兆的速率,故没有用单片产生正选播的二进制数据,而是用FPGA,内置两个锁相环,可将20M晶振倍频到上百兆。而数模转换芯片则用超高速的D/A5651,最高速率可达150M。
频率控制
为了可以控制输出正弦波的频率,可利用补点法或叫重复扫描法,如果倍频后的频率的时钟频率为180M,每一周期360个点,那么上限频率fH=180M/360=500K即为不补点情况下的频率。通过补点可降低频率,频率越低,要补的点就越多。控制补点是实现控制频率的关键,假如在一个进程中定义一个变量sum,在每次查表输出数前,都要看sum是否溢出(溢出取决于输出信号的上线频率,如果输出的信号上限频率为500K,sum的值大于50000,则表示溢出),溢出则补点,即重复输出上一次输出的数据,否则地址加一,输出下一数据。而变量sum=sum+x;x即为单片机送来的控制频率数据,如果x为0,则表示sum永远也不会溢出,输出的信号频率即为上限频率,如果x为50000否则表示sum永远溢出,输出的信号即为一条直线,即频率为0。
相差控制
为了控制双路信号的相差,可以通过改变查找双路信号数据的地址偏移量来实现,该数据也是由单片机传送给FPGA。
频率显示
频率显示是采用LCD1602进行显示。通过对LCD1602进行数据的读写继而显示此时输出正弦波的频率。
周期性实现
周期性是通过程序中的循环命令实现的,利用程序讲第一个正弦波产生后再进行循环就实现了正弦波的周期性输出。
硬件电路设计
硬件电路设计框图
传送数据
单片机
显示信号频率及两路信号相位差
频率、相位控制按键
FPGA
D/A
D/A
AOUT
BOUT
稳压电源
硬件电路设计框图
接口电路
单片机和EDA的接口电路
电源电路
整个电路的电源电路
5 软件设计
主程序流程图
N
Y
Y
N
Y
N
开始
液晶初始化
液晶显示
EDA置数
按键扫描
置标志位为1并且执行
按键是否动作
标志位是否为0
标志位是否为1
主程序流程图
EDA程序流程
数据
地址
PLL
地址
移相
ROM
D/A转换
输出波形
50000计数器
单片机置数
双路相位可调信号发生器;A双路相位可调信号发生器毕业设计 来自淘豆网m.daumloan.com转载请标明出处.