资源描述
《虚拟/智能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中,
键盘扫描单元内建5*5键盘扫描电路,自动地实现键盘扫描的功能。当有按键按下时,自动地产生中断信号向单片机请求中断以进行键盘处理。
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、输出任意波形(波形轮廓由上位机产生,有徒手描线输入法、公式运算输入法、频谱谐波数字输入法等,波形时域参数可由用户在线调整和选择)。
13、智能控制。
14、虚拟控制(上位机控制)。
五、《虚拟与智能DDS任意信号发生器》技术创新点
输出任意波形的轮廓由上位机产生,其波形输入方法除通用的徒手描线输入法和常用公式运算输入法外,本样机还独创了频谱谐波数字输入法,波形时域参数仍可由用户在线调整和选择。充分体现了任意信号的“任意”特征。
1、波形种类多,除常规波形外还有AM、FM、ASK、FSK、随机信号、可编程数码流、任意波形。
2、任意波形输入方式多样,画板随意画输入、频谱输入、时域函数输入。
参 考 文 献:
[1] 左 磊.连小珉.班学钢等.双RAM直接数字合成任意波形发生器微机插卡研制[J].清华学学报(自然科学版).1999,39(2):90-93.
[2] 戴 柠,陈一饶.DDS信号源的研制[J].仪器仪表学报.1996,17(1):24-28.
[3] 宋 跃.张小平.周明辉等.基于FPGA的DDS虚拟AWG研制[J].计算机工程与科学.2004,26(8):92-95.
[4] 王士林.陆存乐.龚初光.现代数字调制技术[M].人民邮电出版社.
[5] Jenq Y C.Digtal spectra of nonuniformly sampled signals:fun damentals and high speed wave form digitizers[J].IEEE Trans IM,1998, 37(2):245-251.
[6] 王秋生,王 祁,孙圣和.直接数字合成调频信号的研究[J].仪器仪表学报.2000,4(21):428-430
[7] Petru Eles,Krzysztof Kuchcinshi,Zebo Peng.System Synthesis with VHDL[M].Kluwer Academic Publishers,1998,21-135.
[8] Timo Rahkonen., Harri Eksyma, Antti Mantyniemi. Heikki Repo. A DDS Synthesizer with Digital Time Domain Interpolator[J]. Analog Integrated Circuits and Signal Processing. 2001,27:109–116.
[9] Paul O L,Franco M.A direct-digital synthesizer with improved spectral performance[J],IEEE Transations on Communications,1991,39(30):1046-1048.
展开阅读全文