术(Direcl DigDol Synthesize, DDS),基于现场可编程门阵列+ Field用agammabW Gate Aray, FPGA )设计了能同时输出4路
信号的高精度信号发生器#同时依靠串口通信的方式,通过PC端的控制界面实时调节系统输出信号的频率、相位和死 区时间#关键词:DDS&FPGA&信号发生器中图分类号:TP311.1
文献标识码:A DOI: 10. 19358/j. issn. 2096-5133. 2020. 01.017引用格式:付宝仁,王超,高鸿儒•基于FPGA的高精度信号发生器[J] •信息技术与网络安全,2020,39 (1) $87-91.High-precision signal generator based on FPGAFu Baoren , Wang Chao , Gao Hongru( NatonalC9mputeeSystem EngoneeeongReseaech Inst otute 9oCh ona,Be oiong 100083,Ch ona)Abstract: In many contemporaa electronic information systems, the peCormance parameters of a signal source often ploy a decisive ale
on thIounctoon oothIsystm.In thospapIe,usongDoeIctDogotalSynthIsoeI( DDS) ,a h ogh-p eIc os oon sognalgInIeatoecapabl oosomulta-
nIouslyoutpu tongoouewavIsosdIsognId basId on Fold-Peogeammabl Gat A eay ( FPGA) .AtthIsamItomI, eIlyongon thIsIeoal
communocatoon modI, thIoeIquIncy, phasIand dIad tomIoothIsystm outputsognalaeIadiustd on eIaltomItheough thIconteolonte- oacIoothIPC.Key woais: direct digital synthesize ;/eld-programmabW gate array; signal generator0引言输出信号,具有良好扩展性。1 基础知识1. 1 PWM 波电子信息产业的高速发展,对信号发生器的稳 定性和易用性提出了越来越高的要求’当前市面 上的信号发生器由于进行了硬件的固化和封装,降
低了系统的扩展性,不利于二次开发和升级 wPWM控制技术是通过微处理器的数字输出控
本文运用直接数字频率合成技术(Dirac- Digital
Synthesizv, DDS)和脉冲宽度调制技术(PuWo Width Modulation,PWM),选用 STORM ID_E22C 系列 FP-
制模拟电路的一种非常有效的技术,在测量、通信 和功率控制等许多领域得到了广泛运用[。简单来说,PWM波即为占空比可变的方波,通
过调整占空比来控制系统的输出功率,常用于电机
的调速、LED灯的亮度调整等。1.2 DDS原理DDS主要由标准参考频率源、相位累加器、波
GA,实现4路高精度信号发生器。其通过串口通信
的方式连接PC,通过PC端的控制界面对输出信号
进行实时、可视化的调节,支持调节各路信号的频 率、相位和死区时间,具有良好的易用性。输出信
形存储器、DAC、低通平滑滤波器等构成[7-8其中,
号的控制参数保存在FPGA的寄存器中,只有当参
数需要改变时,PC端才与FPGA通信,因此即使串
通常用高稳定度的晶体振荡器作为参考频率源,其
输出信号作为时钟信号,保证DDS中各部件能够同
口通信中断,也不影响输出信号的稳定性。最后, 输出信号的参数范围和精度只与FPGA硬件的时钟
步工作。DDS的实质是对相位进行可控等间隔的 采样[9-10] o图1是一个DDS系统的基本原理框图,工作过87频率和累加器的位数相关,该设计支持扩展更多路
《信息技术与网络安全》2020年第39卷第1期工业自动化技术 • *dustriol Automation Technology程如下:首先将频率控制字K发送至N位全加器, 九k为 钟,每当全 接 一个时钟脉冲,N 全
出。这就意味着一次波形周期的结束,这个周期即 为DDS产生波形的
周期:12]。会
值,这个相位值的模2N 得到N
储存的相应波形的字 ,从出波形的 值:11 ]o再
体要求的设定,将N 的 码截掉低X位,图1 DDS原理框图Y位(显然YhN-X#就是地址对波形查询表的
址,经过D/A转换,最后输出M位的波形幅度 值,形成了数字化的波形值。2 FPGA模块设计信号发生
过串口接收控制指令,FPGA端主块和信号生成模块组成。1定的时钟脉 下,相位会在累加器中满 就会产生一次溢要由串口
线性 , 输级! Register Transfer Level ,RTL)视图如图 2 所示。模块中各端口的信号说明如表1所示表1 端口信号说明号 elk:来到时,产生一个 号,同号Lpcsow拉高, 产生模块的采样信号clk_Lpo(高电平有效)会 串口采集一个帧的数
说明据(8个数 )。当数据接收完成,发出信号ra_ ft, 出采
输入,时钟信号,50 MHz输入,复位信号,低电平有效入, RS-232 接 数
的数据rx_datao一个32 的数据rst_nw232_raw232_taA[ 31 :0 ]由于PC端发送的是32位控制字,而串口一次 只能发送8位数,
号输出,RS-232发送数据信号输出,32位控制字过流监测信号寄存器A[ 31 :0 ]oteot2.1串口通信模块串口通信模块 完成波特率控制和控制指令的封装。它由3部分构成,分 定义为:数 发送
块、数据接收模块和 2.1.1数据 块块。数据接收模块即RTL视图中my_uart_rx模块, 其内部逻辑如图3所示,在接
号w232_ra的下
图3数据接收模块示意图88《信息技术与网络安全》2020年第39卷第1期Industriol Autemation Technology • 工业自动化技术2.1.2数据发送模块数据发送模块即RTL视图中ma_uarl_tx模块, 其内部逻辑如图4所示,当FPGA
a_datx已号a_Dt转经 一个完整数据帧时,发 为低电平, stat被拉低,
计数 号bps_块给出的定 号elk号过rs232_tx发_bps的 下产生一个帧的信号(1个起始位+ 8个
数 和1个止位),
PC端。32 中的数 , 整 出 号。 中8 为 字 ,低24 是 字数值。控制字=。字的类型包括:频率控制字 > 死区控制字「相位
字J和开
过PWM波技术和DDS技术,信号生成模块
的具体 如图6 。22221 率 块由于FPGA输出4路PWM波信号,因此需要设
图4数据发送模块示意图置2个N位累加器cnt1和cnt2,并且设定每个累加 器的初始值都为°。FPGA的晶振频率为50 MHz,
2.1.3 波特率控制模块钟信号的周期为20 ns,每个钟信号的上升沿 来到时,累加器的值加 >,当累加器值满(即为2?)块由两部分组成,分别为接收控制
模块和发 块,即RTL 中speed _ re和, 清零,完成一个周期后 ,这 ;speed_tx模块。它们 ,但功 ,即产生固。定波特率的定时指 号,其内部逻辑如图5
的值会形成一个 形。 的周期!二2° ;,2\",通过频率控制字 > 控制锯齿波的周期,
2.2信号生成模块信号生成模块即RTL视图中my_uart_rA模块,从而控制输出的PWM波的频率。图6 PWM波生成算法《信息技术与网络安全》2020年第39卷第1期89工业自动化技术 • Industriol Automation Technology2.2.2相位控制模块以第一个 -2的起始计数时间为基准,。当
调节cnt2的起始时间,即改变另一对输出PWM波
的产生时间,实现 值为KxJ时,
-2的cnt2开始计数。通过调整移相控制字J,即可对输出PWM波信号pwmA1
pwmA3 的
2.2.3 死区时间控制模块。死区时间是PWM输出时,为了防止上下桥臂
不会因为开 度问题发生 导 个保护时段,通常也指PWM响应时间。的一的值为了确保输出波形有 间,
与2?U1 出波形
间 字!的值 。输图8 PC端控制界面间 原 如图7 o图9控制界面内部模块图图7死区时间调节原理图计 块:
图7是以cnt1为例说明的,当cnt1 < 2?_1 , pw-
入参数 对应的业 块计mA1输出高电平,pwmA2输出低电平;当2 ?U1 < cnt1 < 2?\"1 + ! x >, pwmA 1 输出低电平,pwmA2 输
算出对应的 字数值。转 块:将计 块输出的十进制控制字转 换为 数据帧。出低电平;当 2 ?U1 + ! x > < cnt1 <2 ? - ! x >, pw-
, 对应的 字 ,组成32位mA1输出低电平,pwmA2输出高电平;当2 ? -!x> < cnt1 < 2 ? , pwmA1输出低电平,pwmA2输出低电
块:设置比特率,将数据帧切割,组装成
协议报文通过串口传输。平。由此, 3
过改变死区时间 字!来改变4 分析本文使用的是Altera公司发行的基于Cyclone
输出PWM波的死区时间°设计为了操
便,避免复杂计算,使用LabVHWI芯片的FPGA开发板,配有50 MHz的晶振,28位 的累加器。从而由DDS的原理可知:(1)输出PWM波信号的频率/为:软件开发了一个 功能齐全的 界面如图8转换° 界 和数据帧组装等 性。系统内部复杂的计算、
了封装,显著提高了产品的易(2)输出PWM波信号的频率分辨率△/为:界面的内部模块设计如图9所示,因为频
率、 和死区时间的转 各模块的主要功能如下:不同, 分为独,/=
(3 )输出PWM波信号的相位差p为:( 2)的业务模块。校 块:校 对应业务下输入参数的合法性°90p = J x 360。x 2- = j o 360。x 冬 (3)《信息技术与网络安全》2020年第39卷第1期Indusyiol Automation Technology • 工业自动化技术(4) 输出PWM波信号的相位差分辨率%p为:= 360 °
/dk
/ 3 ]田艳,田莎莎.基于FPGA的全自动洗衣机控制器设计
与实现/ J].软件导刊,2012(9) $48-51.= 360 ° x 马
2(4)/ 4 ]黄俊.基于FPGA的高频高精度数字移相信号发生器/ D],
杭州:浙江师范大学,2013./5 ]周首杰.基于单片机的PWM单相交流电机变频调速设
(5) 输出PWM波信号的死区时间t为:计/ J].物联网技术,2019(10) $55-57.上述式中J;-为时钟频率(50 MHz), N为累加 器位数,其余K、H和T分别代表频率、相位和死区
/6]李鑫.摩擦点选系统的自动控制研究/ D].北京:中国矿
业大学,2014.时间的控制字,都是24位二进制数°频率控制字K的范围是0~224 - 1,根据式(1)可
/7 ]李露.基于CAN总线的多功能床控制器的研发/ D].石
家庄:河北工业大学,2013./ 8 ]王丹丹.数字射频存储系统中高速DAC电路的设计与
得出该信号发生器的调频范围是0~3.125 MHz °由 式(2)至式(4)依次得出系统的调频精度小于1 Hz,
实现/ D].燕山:燕山大学,2016./ 9 ]王江华.基于VXI总线动态测试仪的研制/D].北京:北
京航空航天大学,2014.相位差分辨率为0.17。,死区时间分辨率为20 ny 5结论
本文基于DDS技术和PWM控制技术,实现了 一种4路信号发生器,其具有调频、调相和调整死区
/10]冯越江,张秋实,吕东云.基于DDS微波频率源的技术
特征分析/ J].中国新通信,2019(19) $62-63./11 ]李炽阳,雷倩倩,杨延飞.全通用AES加密算法的FP-
时间功能。输出信号的相关参数存储在FPGA的寄 存器中,只有当参数需要更改时,PC端控制界面才
GA实现/ J].计算机工程与应用,2019./12]杨卫.基于算法FPGA实现的直接数字频率合成器研
究与设计/ D].苏州:苏州大学,2009.(收稿日期 $2019-11-26)会与信号发生器通信。从而解决了现有信号发生
器在通信中断时,无法保证输出信号稳定性的问
题;同时增强了现有信号发生器的易用性。该信号
作者简介:付宝仁(1995 -),男,硕士研究生,主要研究方向:信息
发生器体积小、操作和控制灵活,具有良好的扩展
性,易于进行二次开发和升级。参考文献[1 ]张秋艳,王超,陈严君.具有射频监测能力的雷达接收前
安全。王超(1982 -),通信作者,男,博士,高级工程师,主要
研究方向:信息安全。E-mait:wangchao@ ncse. com. cn。端技术[J].信息技术与网络安全,2018,37 ( 8) $58-61./2]朱彩莲.基于FPGA量程自动切换高精度数字频率计的
高鸿儒(1992 -),男,硕士研究生,主要研究方向:计算
机科学与技术。设计 / J].电子世界,2019(20) $16-17.《信息技术与网络安全》2020年第39卷第1期91
因篇幅问题不能全部显示,请点此查看更多更全内容