摘要 :本系统由FPGA、单片机控制模块、键盘、LCD液晶显示屏、DAC输出电路和末级放大电路构成。仅用单片FPGA就实现了直接数字频率合成技术(DDS),产生稳幅正弦波,并在数字域实现了AM、FM、ASK、PSK等四类调制信号。调制信号既可由用户输入参数由FPGA内部生成,也可以从外部输入。整个系统结构紧凑,电路简单,功能强大,可扩展性强。
Abstract: This system is composed by FPGA, MCU controller, keyboard, LCD, DAC and amplifier modules. The DDS, Direct Digital Synthesizer, which is implemented by a unique FPGA IC, can provide the stable sine signal with digital AM, FM, ASK, PSK modulation. The modulation signal can be provided NOT only by FPGA, which will receive parameters from user, but also from external input. This system features in compact module, simple circuit, powerful functions and flexible expansion.
一、 方案论证与比较
根据题目要求,基本部分需要实现正弦波信号发生,而发挥部分主要需要实现信号调制。
1.
方案一:
正弦信号输出方案
采用专用信号发生器。MAX038是美信公司的低失真单片信号发生器集成电路,内部电路完善。使用该芯片,设计简单,可以生成同一频率信号的各种波形信号,但频率精确度和稳定度都难以达到要求。
方案二:
采用直接数字合成(Direct Digital Synthesizer)方案。DDS 的原理框图如图1-1所示。。
图1-1 DDS原理框图
DDS技术频率分辨率高、转换速度快、信号纯度高、相位可控、输出信号无电流脉冲叠加、输出可平稳过渡且相位可保持连续变化。
方案论证
从题目要求来看,上述两种方案都可以满足题目合成频率范围的要求,但信号发生器产生的频率稳定度、精确度都不如DDS合成的频率;另一方面,DDS较信号发生器更容易精确控制,所以我们选择DDS方案进行频率合成。
2.
方案一:
信号调制方案
采用AD公司的DDS专用芯片AD9851合成FM和AM的载波,采用传统的模拟调制方式来实现AM和FM调制。但这种方案的缺点是需要额外的模拟调制FM和AM调制的电路,且模拟调制电路难免引入一定的干扰,而且此方案中PSK的调制也不好实现。 方案二:
采用AD9851合成FM和AM的载波,将FM调制信号离散化形成数字信号,使FM调制的频率偏移通过改变AD9851的频率字来实现。这种设计方案减少了FM调制过程中引入的干扰,也大大简化了FM调制电路的设计。但是AM调制还是需要模拟乘法器,而PSK的调制也需要额外的电路。 方案三:
采用AD公司的AD9856作为调制芯片。AD9856是内含DDS的正交调制芯片,可以实现多进制的数字幅度调制,多进制的数字相位调制和和多进制的数字幅度相位联合调制。AM,PSK和ASK调制都可以通过它实现。但是AD9856不便于调频,且控制复杂。 方案四:
采用FPGA+DAC来实现DDS。这样通过FPGA在数字域实现频率合成然后通过DAC形成信号波形。由于信号都是由FPGA在数字域进行处理,可以很方便的将FM和AM等调制在数字域实现。所有调制电路的功能都由FPGA片内的数字逻辑电路来实现,整个系统的电路设计大为简化,同时由于数字调制避免了模拟调制带来的误差和干扰,大大提高了调制的性能,而且硬件电路设计的软件化,使得电路设计的升级改进工作大为简化。但是此方案由于受到FPGA接口速度和DAC转换速度的约束,载频只能做到15M左右。
硬件电路描述 表1-1 信号调制方案比较表 方案一 方案二 方案三 AD9851 + AMAD9851 + AMAD9856 + FM 模拟调制电路+ 模拟调制电路+模拟调制电路 FM 模拟调制电PSK调制电路 路+PSK调制电路 使用模拟的硬件使用模拟的硬件使用AD9856 乘法器 乘法器 使用模拟锁相环 通过修改AD9851的频率方案四 FPGA + DAC AM FM 在数字域内由FPGA内部的逻辑电路实现 使用模拟锁相环 在数字域内由FPGA内部的逻PSK ASK 使用模拟锁相环或是专用调制芯片 模拟开关或是专用调制芯片 很难 字 使用模拟锁相环或是专用调制芯片 模拟开关或是专用调制芯片 较难 使用AD9856 使用AD9856 其他调制方式扩展的实现难度 较易 辑电路实现 在数字域内由FPGA内部的逻辑电路实现 在数字域内由FPGA内部的逻辑电路实现 很容易 方案论证 上述方案中,方案四的电路最为精简,调制性能也最好。虽然载频只能做到15M,但是已经达到了本题发挥部分的指标要求,所以选择方案四来实现信号的调制。
二、 总体设计
1.
总体设计
(1) 系统框图如图2-1
用户设置单片机小系统控制字数据DDS及调制电路模块D/A转换、输出滤波及放大电路信号输出图2-1 总体设计框图 2) 单片机小系统
单片机小系统由键盘,LCD显示屏,和凌阳单片机SPEC061A构成。负责用户的交互和整个系统的控制。 (3) DDS及调制电路模块
DDS及调制电路模块由FPGA和DAC构成。FPGA负责在数字域实现正弦波(载频)的合成、FM和AM调制信号(经过离散化的)的合成产生ASK和PSK的调制信号并完成ASK、PSK的调制和FM、AM调制,然后控制DAC输出波形。
(4) 滤波及放大电路
滤波电路是采用美信的高速运放MAX4108设计的一个有源二阶低通滤波器,用以去除DDS合成信号固有的高次谐波成分,同时有2倍放大器的功能。信号放大电路采用AD公司的高速运放AD811,使输出信号的幅度能达到发挥部分的要求(Vopp在5V~7V之间)。 (5) 电源设计
高速DAC对模拟数字地之间的串扰十分敏感。模拟数字地之间的串扰对DAC输出信号的波形影响很大。故本系统采用一个线性电源对模拟电路供电,采用一个开关电源对数字电路供电,模拟地和数字地之间通过一个磁珠相连。这种设计实现了模拟数字电路尽可能大的隔离。实践证明,数字部分和模拟部分独立供电对信号质量有很大的改善作用。
2. 理论分析与参数设计
(1) 载频参数计算
本题要求:输出频率范围是1KHz~10MHz,频率步进是100Hz,频率稳定度优于10-4,信号波形无明显失真。
要求DDS合成的信号波形无明显失真,那么一般要求一个信号周期内要插值16个点,而合成频率最高要求为10M,那么需要的FPGA和DAC接口数据传送率为:
10M × 16 = 160 MWord/S
这种数据传输率有一定风险,由于高速信号的不完整性,可能导致DAC数据错误。为解决波形失真和传输率间的矛盾,我们选择了MAX5858A,它是双路10位300Msps DAC,内部含有4x/2x/1x的插值低通滤波电路。在其最大输出速率时,如果使用其4x插值,则数据传输率为:
300MWord/S ÷ 4 = 75MWord/S
DDS输出的正弦波每秒钟有75M个插值点,并在DAC内部完成4阶插值和数字低通滤波,最后转化成实际电压输出。这样既抑制了高频段输出正弦波信号可能的失真,又降低了数据接口的传输速率,提高了系统可靠性。
系统频率调整的步进是100Hz。DDS逻辑电路的工作时钟是75M,所以: 75M ÷ 100 = 750000 (小于2的20次方)
所以,DDS的频率字只要多于20个bit,频率调整的步进就能小于100Hz。本系统采用的频率控制字为32bit,充分满足频率调整步进的要求。
本系统的工作时钟由晶振提供的时钟通过FPGA内的锁相环3倍频得到。而DAC内部插值4倍频。而晶振的频率稳定度为10-6量级,所以整体频率稳定度: 10-6×3×4=1.2×10-5,在10-5量级,满足题目要求。 (2) AM调制参数设计
本题要求:产生1KHz的正弦调制信号;调制度在10%和100%之间程控调节,步进10%。
系统采用一个10bit的控制寄存器来保存调制度。其离散间隔为1/1024,高于步进10%的要求。调制度可以由用户自行设置,也可以用按键以1%或10%步进调整。
本系统中,正弦调制信号的频率并是不固定于1KHz,而是可以由用户随意设定,由一个独立的DDS产生,其频率范围由1Hz到10MHz(注:调制信号的带宽是受到载频的限制的,载频最高只有10MHz,调制信号的频率不能太大。实际上,AM一般用于话音调制,所以其频率一般不会超过5KHz)。 (3) FM调制参数设计
本题要求:产生1KHz的正弦调制信号;调频产生最大频偏为5kHz/10kHz两级程控调节。
系统产生的正弦调制信号的频率也可以由用户随意设定(与AM调制相同)。最大频偏扩展为5kHz/10kHz/20kHz三档。 (4) ASK/PSK调制参数设计
本题要求:产生码速率为10kbps的二进制基带序列信号,载波频率为100kHz。
ASK、PSK调制和AM,FM调制共用一套本振(即合成正弦信号的DDS模块),所以通过设定频率控制字可设置载波频率为需要的100kHz。而码率为10kbps二进制基带序列信号则可以通过预置好的移位寄存器循环移位获得。
(5) 滤波电路参数计算
本题要求:输出最大频率为10MHz的正弦波。 由于最终方案采用DAC输出,而DAC的转换频率为75MHz,故需要一个截止频率在10MHz和75MHz之间的 低通滤波器。然而DAC的转换并不是理想的,输出信号的谐波干扰主要集中在二次谐波,所以我们选取截止频率为18MHz的有源二阶巴特沃兹低通滤波器,来保证达到题目要求。 (6) 放大电路参数计算
本题要求:输出的正弦信号在接50Ω负载时能有6V的峰峰值。
DAC(包括电流-电压转换)输出只有约1V的峰峰值,故在后级需要进行电压放大。我们使用了具有两倍电压增益的滤波器,在滤波的同时进行两倍的电压放大,然后再使用一片具有较大带载能力的运放做三倍电压放大,为了避免出现自激,实际中采用三倍反相放大。
3.
扩展创新设计
(1) 单片FPGA实现双路正弦信号发生器
由于本系统在实现完题中所有基本和发挥的指标要求后,FPGA还剩余了大量的资源,而且MAX5858A是双通路的DAC,所以在完成题目所有要求的基础上,我们又扩展了一路信号发生器,除了不作幅度放大之外,其余所有性能指标和前一通道(通道1)完全一样,而且同样可以进行AM,FM,ASK和PSK调制。
(2) 扩展外部调制方式
本题要求自制调试信号进行AM,FM,ASK和PSK调制。我们的第二项扩展就是在通道2的AM,FM,ASK和PSK调制全部增加外部调制方式。调制信号由外部输入。其中,ASK和PSK调制信号的输入是由用户通过键盘输入要调制的二进制基带序列;而FM和AM调制信号则由用户从外部输入,由单片机的AD进行采样,然后将采样值发给调制电路(由FPGA内部的数字电路实现)进行调制输出。
三、 软件设计
设计目的:
接收用户键盘输入的数据(信号参数的预制、选择和步进)和控制指令,控制液晶显示,向FPGA发送数据及控制指令,控制AD采样外输入信号(扩展外调制功能)。 设计思路:
根据题目要求,本软件设计了4级菜单结构及友好提示界面(键盘输入,液晶显示)。用户可通过键盘选择菜单项设置输出信号的参数(频率、调制度、频偏等),或选择输出信号(正弦波、模拟调幅波、模拟调频波等)。当用户选择输出时,程序把设置的参数送至FPGA,并对FPGA发出控制命令使其输出需要的信号。当用户选择外输入模拟调制时程序控制AD采样外输入信号,转换到合适的范围后发送至FPGA.
开始系统初始化清看门狗是否有键按下否是数据是否改变否是刷新显示数据是否含控制字否是处理控制字并送FPGA控制寄存器
3-1 软件流程图图
开始内调制外调制正弦波频率模拟调制AM载频FM载频频率频偏送控制字数字调制PSK载频ASK载频AM载频调制度AD采集FM载频频偏AD采集PSK载频ASK载频基带序列基带序列送控制字送控制字送控制字频率调制度送控制字送控制字送控制字送控制字送控制字图3-2菜单控制流程
四、 数字逻辑设计
本系统的所有数字逻辑电路都由FPGA实现。FPGA选用的是Altera公司的Cyclone系列FPGA――EP1C3T144C8。此芯片有LE约3000个,片内RAM有52Kbits。
FPGA的数字逻辑电路负责在数字域实现FM和AM调制信号(经过离散化的)的频率合成和生成ASK和PSK的调制信号(仅通道一有上述功能),正弦波(载频)的频率合成,完成ASK,PSK,FM,AM在数字域的调制(两个通道都具有上述功能),然后控制DAC形成正确的波形信号。
整个逻辑设计的框图如图4-1。
送DACASKASK送DAC固定序列单片机输入基带序列基带序列存储器逻辑0RAM调幅基带信号存储器逻辑0RAM调幅基带信号DDS调制度寄存器DPSK相位累加器DDPSK异或相位反转控制字0x80000000D异或最大频偏调整相位反转控制字0x80000000D最大频偏调整载波频率控制字PSK基带序列存储器固定序列调频基带信号DDS单片机输入基带序列单片机输入AD转换值调频基带信号存储器载波频率控制字DPSK相位累加器单片机输入AD转换值调制度寄存器图4-1 整个逻辑设计框图
PSK调制的实现:本系统中PSK调制是通过调制信号延时作异或运算然后经过DPSK调制来间接实现PSK调制,而DPSK的调制是通过将DDS相位累加器的相位步进瞬时设置为2π来实现反相。
FM调制通过给正弦波(载频)的频率字叠加一个偏移频率字来实现频率的偏移;AM调制直接在FPGA内用数字乘法器实现;ASK调制直接用开关选通载频信号或是截断载频信号,由于DAC中零电平的量化字是512,所以零电平是常数512。
五、 电路设计
根据总体方案设计,硬件电路应分为,控制模块(单片机开发板)、信号产
生模块(FPGA开发板)、DAC模块、滤波部分和放大部分。
控制模块:
控制模块主要由凌阳单片机SPEC061和与之相关的LCD显示以及键盘组成。我们使用了一块无字符点阵液晶,其型号为“TS12864A-2”。参照其数据手册,实际连接如图5-1。
IOA[8..15]DataCSACSBLCDDI RW E RSTSPCE061AIOA[1] IOA[0] IOA[2]IOA[3]IOA[4]IOA[5]图5-1 液晶与单片机的连接
信号产生模块:
整个系统的信号生成采用数字方式在FPGA中实现,因此信号产生模块(FPGA开发板)是整个系统的核心,我们采用了一块以前自行设计的EP1C3T144开发板,仅包含基本的下载、调试和IO。
DAC模块:
这部分我们采用了一块以前自行设计的与上述EP1C3T144开发板配合的模块,它采用MAX5858A作为DA转换的核心,并且在板上做了电流-电压转换,输出电压范围为约-0.5至0.5V。其电路如图5-2
图5-2 DAC电路
图5-2是参考MAX5858A数据手册中的典型应用电路设计的,其中OPA681为一片高带宽增益积运放,实际制作中我们用MAX4108代替了OPA681,效果一致。根据MAX5858A的数据手册,MAX5858A的差分电流输出的输出电流范围可由R25设定,输出最大值为: 式中RSET即为图5-2中的R25
当它取3.9KΩ时,有约10mA的最大电流输出,结合后级Rf为50Ω的电流-电压变换,输出范围为-500mV至500mV。
滤波部分:
32VREFORSET滤波部分采用的是一个两阶巴特沃兹低通滤波电路,采用一个运放完成(实为:MAX4108),同时作两倍电压放大。实际电路如图5-3
图5-3 滤波器
放大部分:
放大部分较为简单,我们使用了高速单运放AD811完成放大。其带宽增益积为140MHz,双15V供电时,有±12V的输出摆幅,最大输出电流为100mA,满足题目要求。为防止自激实际中采用反相3倍电压放大,不影响指标。
六、 调试
调试过程主要围绕FPGA + DAC为核心的DDS信号输出和调制模块进行。利用EDA软件Quarturs II提供的嵌入式内置逻辑分析仪,通过JTAG口实时观察FPGA内部信号,以便及时发现、定位和修复FPGA当中存在的逻辑错误。DDS与单片机接口采用了自定义的类SPI接口形式,在调试过程当中,首先通过凌阳单片机开发软件对单片机程序进行软仿真,结合示波器确定单片机发出的命令控制字的有效性,接着通过EDA软件Quarturs II提供的嵌入式内置逻辑分析仪确认DDS内部接口逻辑的正确性。
七、 指标测试
测试仪器:FLUKE 15B数字万用表、Tektronix TDS1002数字示波器、
QF4134型调制度测量仪、EE1641B型函数信号发生器
1.基本要求测试
(1)正弦波频率范围测试
将输出端接50负载,对输出电压进行测试,测试数据如表7-1所示:
表7-1
设置频率(Hz) 实测频率(Hz) Vpp(V) 设置频率(Hz) 实测频率(Hz) 10 1k 9.99 1.000k 6.40 6.20 1M 13M 1.00M 13.00M Vpp(V) 6.00 5.96 (2)频率步进设置测试 在题目要求的范围内选取2个测试点(1kHz和1MHz)进行测试。测试结果
如表7-2。
表7-2
初始频率(Hz) 1k 1M 步进值 10Hz 100Hz 100Hz 步进级数 +5 -1 +10 实测频率(Hz) 1.05k 900.0 1.001M 2.发挥部分测试 (1)幅度调制信号调制度ma测试
采用调制度测量仪对系统输出信号进行测试,测试结果见表7-3。
表7-3
调制信号频率(Hz) 500{滤波器(300Hz-3kHz)} 1k{滤波器(300Hz-3kHz)} 5k{滤波器(3kHz-15kHz)} 载波频率(Hz) 2M 5M 10M 设置调制度ma(%) 25 70 50 实测调制度ma(%) 24.6 71.3 51.8 (2)调制度ma步进测试
通过键盘输入改变ma,观察得本系统提供的预置调制度、1%或10%调制度步进均可正常工作。
(3)频率调制信号频偏测试
由于本题中调频的载波范围较广,故对于载频在1.3MHz以上的调制信号采用调制度测量仪测试,其他的从数字示波器中观察信号并计算出频偏。频偏测试结果如表7-4。
表7-4
调制信号频率(kHz) 载波频率(Hz) 100k 2M 10M 100k 10k 10M 设置最大频偏(kHz) 实测最大频偏(kHz) 5 5.46 5 4.5 10 9.6 20 19.8 10 9.7 10 9.71 5 4.6 10 9.5 20 19.5 1k (4)PSK、ASK调制测试 从示波器上同时观察基带序列信号和调制后信号,测试结果两者完全一致,表略。
3.扩展部分测试
第二路测试方法与第一路一样,在此不再赘述,仅将各测试结果的表格陈列如下:
(1)外输入幅度调制信号调制度ma测试结果见表7-5。
表7-5
调制信号频率(Hz) 100 载波频率(Hz) 设置调制度ma(%) 实测调制度ma(%) 2M 50 48.9 5M 10M 20 80 19.3 78.7 (2)调制度ma步进测试效果基本与第一路一样。 (3)外输入频率调制信号频偏测试结果如表7-6。
表7-6
调制信号频率(Hz) 载波频率(Hz) 2M 100 10M 设置最大频偏(kHz) 5 10 20 5 10 20 实测最大频偏(kHz) 4.8 8.9 18.9 4.7 9.1 18.9 (4)PSK、ASK调制测试,从示波器上同时观察基带序列信号和调制后信号,两者完全一致,表略。
八、 结论
经测试,由单片机、FPGA结合DAC构成的正弦信号发生器达到了题目提出的所有要求,并在大部分指标上有所超越。由于采用了较为灵活的设计方案,本系统具有结构紧凑,电路简单,功能强大,可扩展性强的特点,并且调试相对容易,进度可控制性强。
因篇幅问题不能全部显示,请点此查看更多更全内容