温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023
虚拟
智能
DDS
任意
信号发生器
研制
虚拟/智能DDS任意信号发生器研制
设计说明书
张志坚 杜应彪 詹金星 李贵仁 钟伟群 陈旭贵
〔电子工程系〕
指导老师:宋 跃 胡升平 余炽业 黎山峰 林盛鑫
2006年2月15日
一、虚拟与智能DDS任意信号发生器设计思想
本系统采用虚拟与智能兼容方式,以单片机为控制中心和总线转换、FPGA为系统核心和数字载体,在虚拟方式时,由Delphi编程产生的可视化虚拟控制软件界面,在PC机控制下虚拟地实现任意信号发生器的功能。智能方式时采用单片机P89LV51RD2为CPU,在FPGA内建键盘扫描电路,借助C51语言编程通过触摸按键和液晶显示器JHD12232实现人机对话,智能地实现任意信号发生器的功能。信号发生器设计中采用直接数字频率合成法〔DDS〕,借用FPGA中内部可重构RAM实现两个4K×10bit的波形存贮功能,相位累加器为32位,存贮器为10位,时钟频率为100MHz(±0.5ppm)。2个信号输出通道,能输出0.01Hz~10MHz的正弦波、三角波、矩形波、锯齿波、数码流以及FM、AM、ASK、FSK自定义波,其频率、幅度、初相、占空比〔方波〕、码元速率〔数码流〕调幅指数、调频系数均步进可调。
二、虚拟与智能DDS任意信号发生器设计特点及技术指标
本仪器是一台精密的任意函数信号发生器,具有输出函数信号、调频、调幅、FSK、ASK、猝发、可编程数码流、频率扫描、幅度扫描及任意波形等信号的功能。本仪器是电子工程师、电子实验室、生产线及教学、科研的理想测试设备。
“任意波形发生器〞双通道输出,在与PC机相连时,设计出了具有自主知识产权的DELPHI仪器操作界面,用户通过界面用时域或频域输入方法产生任意波形,仪器核心具有柔性设计的特点,仪器功能可软件升级,仪器通过键盘和液晶实现智能工作方式,仪器的性价比高,可广泛应用于工程测试、科研、教学等领域。
1、波形特性
主波形:正弦波,方波,三角波,锯齿波,数码流,随机噪声
任意波形:计算机界面输入
波形幅度分辨率:10 bits
储存波形:正弦波,方波,三角波,锯齿波等4种波形
波形长度:2048点
波形幅度分辨率:10 bits
脉冲波占空系数:0 - 100%〔频率≤100kHz〕,
2、频率特性
频率范围:主波形: 100μHz - 10MHz
储存波形: 100μHz -100kHz
分辨率:100μHz
频率误差:≤±5×10-6 频率稳定度:优于±1×10-6
3、幅度特性
幅度范围〔频率≤10MHz〕:10mV - 18Vp-p〔高阻〕,1mV - 10Vp-p〔50Ω〕
幅度误差:≤±1%+0.2mV (频率1KHz正弦波)
输出阻抗:50Ω
4、调幅特性
载波信号:储存波形和任意波形〔B通道波形〕,频率范围同主波形
调制方式:内调制
调制信号:储存波形和任意波形〔A通道波形〕
调制信号频率:100μHz - 1MHz
失真度:≤2%
调制深度:1% - 100%
ASK:载波频率为任意设定,数码流、码元速率都可编程
5、调频特性
载波信号:储存波形和任意波形〔B通道波形〕,频率范围同主波形
调制方式:内调制
调制信号:储存波形和任意波形〔A通道波形〕
调制信号频率:100μHz - 1MHz
频偏:最大频偏为载波频率的50%
FSK:频率1和频率2任意设定,数码流、码元速率都可编程
6、频率扫描特性
信号波形:储存波形和任意波形
扫描范围:扫描起始点频率〔100цHz ≤ F ≤ 10MHz〕
扫描终止点频率〔100цHz ≤ F ≤ 10MHz〕
扫描步进:〔100цHz ≤ F ≤ 10MHz〕
步进时间:1ms - 20s
扫描方式:线性扫描,向上或向下或来回扫描
控制方式:自动
7、幅度扫描特性
信号波形:储存波形和任意波形
扫描范围:扫描起始点频率〔10mV ≤V ≤ 10V〕。
扫描终止点频率〔10mVz ≤V ≤ 10V〕。
扫描步进:〔10 ≤V≤ 10V〕。
步进时间:1ms - 20s
扫描方式:线性扫描,向上或向下或来回扫描
控制方式:自动
8、伪随机噪声:
随机码元移位速率可调
9、可编程数码流:
码元:32位可编程输入
波特率:1kbps—1000kbps
电平:10mV—10V
三、虚拟与智能DDS任意信号发生器系统设计
1.结构设计简介
图2 系统框图
本系统主要由FPGA、单片机、键盘、EPC2、FLASH、LCD、DA输出电路和计算机软件控制界面等组成。系统框图如以下列图2所示。
2.系统运行设计
系统上电后,首先是单片机和FPGA的自身初始化。单片机初始化主要是内部程序的初始化,如串口、中断、堆栈和一些相关的内部存放器初始化。FPGA初始化是EPC2对FPGA系统的配置。单片机和FPGA的自身初始化完毕后,单片机就对LCD、键盘、FLASH初始化并对整个系统进行自检。最后从两个通道输出1KHz的正弦波。
系统初始化完成后,如果有用户在键盘上操作时,键盘扫描系统会自动地向单片机系统发出中断请求。如果此时单片机没有更高级的中断要处理的话,就会立即响应键盘的中断请求,从FPGA中读取键值,并根据键值进行数值运算,运算完成后得出控制命令并将命令发往FPGA系统进行控制。并将相应的显示数据送往LCD中进行显示。例如从键盘得到的是波形选择命令,那么单片机就会根据波形命令,向FLASH读写模块发送波形地址并起动FLASH模块,从FLASH中读取相应的波形数据到DDS信号产生模块的RAM中。并将波形信息送往LCD中进行显示。
如果是用户在计算机界面上进行操作时,计算时机根据界面的软件操作指令,从串口发送数据帧到单片机中。单片机串口一旦接收到数据帧就会向CPU请求中断。当单片机接收到一个完整的数据帧后,就立即对数据帧进行拆包,提取出控制命令和数值数据。
然后根据命令,将数值数据发往FPGA进行控制。例如用户在界面上进行任意波形操作时,单片机将接收到波形命令和相应的任意波形数据。然后单片机就起动FLASH读写模块,并进任意波形数据送入FLASH模块,再由FLASH模块将任意波形数据写人FLASH中进行波形存储。一个完整的任意波形写人FLASH完成后,FLASH模块自动地将刚刚所写的任意波形数据反读回来送入DDS信号产生单元的RAM中。
图3 FPGA设计
3.FPGA设计
FPGA内局部:接口单元、内部状态存放器单元、时钟控制单元、频率控制单元、DDS信号产生单元、其它波形产生单元、波形选择单元、输出控制单元、FLASH读写单元、键盘扫描单元。如以下列图3所示。
接口单元是FPGA与单片机的接口、总线扩展模块,它主要完成总线扩展、地址译码功能。主要输出8位数据信号、24位地址信号、256个片选信号、读/写控制信号。
在标准的单片机16位寻址的总线接口根底上增加多一个锁存器和一个P10口进行总线扩展。单片机是利用MOVX指令读写外部端口数据的,P0口先送出外端口的低8位地址,再送出或接收数据,如果将送出的数据存储起来,并转换为相应的外部端口的地址,那么可实现“时间〞上的增加寻址地址线的目的。这样就可以在只增加一个I/O口〔P1.0〕情况下将寻址总线从16位扩展到24位,寻址能力达16M。具体操作如下:
当要输出最高8位地址时,先将P1.0置“1〞进入写最高位地址状态,然后将最高8位地址作为数据从P0口写出,锁存器就以WR为锁存信号将数据锁存起来并作为最高8位地址使用。锁存完后再将P1.0置“0〞恢复标准的总线操作状态。
假设现在要将一数据“0x12〞送往“0xAABBCC〞, 其C51程序为:
P10=1;
XBYTE[0x0000]=0xAA;
P10=0;
XBYTE[0xBBCC]=0x12;
因为扩展后的地址总线是作为最高位地址使用的,所以在使用时并不会频繁地改变,单片机一般都工作在标准的总线操作状态,并不影响总线操作速度。
在得到24位地址总线后,在高位地址都为“1〞时对低8位进行译码,译出256个片选信号供内部状态存放器使用。它们的地址为“FFFFFF00—FFFFFFFF〞
内部状态存放器单元是整个FPGA 系统的内部状态字、控制字的锁存模块,它完成系统的状态字的写操作和存放功能。
内部状态存放器与波形存储器统一编址,其片选信号为接口单元输出的256个片选信号。状态存放器在锁存器阵列,以WR为锁存信号,在片选信号选中时,将状态数据锁入相应的状态存放器。这些状态存放器锁存状态后可通过内部总线直接传输到其它模块,也可以等候其它模块的访问读取。
时钟控制单元是系统的时钟发生模块,它完成系统的时钟分频、倍频功能。输出一系列系统所需的时钟。
时钟控制单元是先对外部100M的时钟进行2倍频,然后再根据输入的分频系数对200M的标准时钟进行分频,产生出频率控制时钟、扫频步进时钟、扫幅步进时钟、波特率控制时钟、键盘扫描时钟、FLASH读写时钟等等。这里采用先对100M外部时钟倍频再分频,比直接对100M的外部时钟进行分频的好处是可以分出更好、更精确的时钟频率来。
频率控制单元是DDS信号发生器的频率控制模块,它完成调频、扫频、频率控制功能。输出DDS信号产生单元所需的频率控制字K。
DDS信号产生单元是信号发生器的核心模块。它根据DDS原理完成DDS信号的产生功能。
其它波形产生单元是产生其它非周期性波和数码流的模块。主要完成非周期信号的合成功能。
波形选择单元完成波形的选择与合成的功能。
输出控制单元主要完成峰值控制、直流控制、幅度扫描等功能。
FLASH读/写单元根据波形选择自动地从FLASH读入4K波形到内部RAM中,
键盘扫描单元内建5x5键盘扫描电路,自动地实现键盘扫描的功能。当有按键按下时,自动地产生中断信号向单片机请求中断以进行键盘处理。
4.单片机系统
单片机是本系统工作于智能方式的控制,其主要功能是根据用户输入的操作信息,输出相应的控制信号到FPGA系统,进而完成合成任意信号输出,并控制显示器的显示。同时也是系统工作于虚拟方式时,PC机与FPGA通信的中继,完成串并转换功能。
工作原理是当有按键按下时,键盘扫描系统自动地产生中断脉冲信号,使单片机从键盘扫描系统中读入键值。然后单片机根据键值进行相应的数据计算,计算完成后将相应的控制信号发送到FPGA完成任意信号合成输出,并控制显示器的显示。当虚拟界面操作时,单片机从串口接收从计算机软件界面发来的数据,根据议定的通信协议格式,区分出命令还是数据,并根据命令将数据送入FPGA系统的相应存放器单元以实现控制和数据传输。
5.DA输出电路
DA输出电路是本系统的最后一级,他完成波形信号的DA转换、放大、扩流等功能。
四、虚拟与智能DDS任意信号发生器技术特点
1、 采用直接数字合成技术〔DDS〕。
2、 主波形输出频率为100μHz ~ 10MHz。
3、 小信号输出幅度可达10mV。
4、 脉冲波占空比分辨率高达千分之一。
5、 可编程数码流、码流上下电平可控制。
6、 随机噪声输出。
7、 数字调频、调幅分辨率高、准确。
8、 频率扫描输出可任意设置起点、终点频率、步进和步进时间。
9、 幅度扫描输出可任意设置起始、终止幅度、步进和步进时间。
10、调幅调制度1% ~ 100% 可任意设置。
11、输出各种标准波形。
12、输出任意波形〔波形轮廓由上位机产生,有徒手描线