吴正平++朱寿羽++郭家琪++查彬
摘 要 针对高精度脉冲信号的幅度、频率、占空比以及上升时间等参数测量的要求,主要是以FPGA为核心处理器,STM32作为人机交互单元,对经过信号处理模块处理过的脉冲信号进行测量、处理,参数设置以及显示。最终在50 输入阻抗的条件下,能够测量5Hz-10MHz的脉冲信号;占空比:1%-99%;幅度:0.1V-10V;脉冲上升时间:40-999ns误差绝对值分别小于0.01%、0.1%、0.1%、1%;并在此基础上制作一个标准矩形脉冲信号发生器,各参数范围可调,且精度高,可靠性好,具有很高的应用价值。
【关键词】等精度 脉冲 FPGA STM32
1 引言
在目前科技高速发展的大背景下,进而对于脉冲信号测量精度的相关要求也越来越高,对脉冲信号参数测量的仪器应用也越来越广泛。尤其是在雷达信号等在微弱信号领域以及在检测各种环境下时钟信号时对于脉冲信号检测的精度要求很高,所以说像一些先进的军用侦察机、反潜机只有少数几个国家能够做出来,就是因为这些技术的核心就是对小信号检测的分析处理技术要求十分高。
脉冲信号包含了丰富的高频和低频成分。在数据采集系统中,通常需要脉冲信号源提供的信号来检测数据采集设备的工作状况。此外,脉冲信号源产生的信号还可以作为控制信号,用于实现对采集设备的控制。因此,在实际应用中要准确的测量各种脉冲信号就显得尤为重要。本文针对的高速脉冲信号的测量要求和方法,采用FPGA为主核心处理器,STM32为人机交互协调控制器,通过外围信号调理和整形电路对被测信号进行放大和整形,便于FPGA的实时准确采样。同时为了便于系统自校准和对外信号输出需要,本文还特别设计了标准矩形脉冲信号发生器,输出信号频率、幅度、脉宽在较大范围内皆可调,同时将脉冲信号上升时间控制在20ns以内,并且使其过冲不大于1%。
2 系统设计原理及测量方案
2.1 系统设计原理
高速脉冲信号的测量主要包括对脉冲信号的频率、幅度、占空比、及其上升时间的测量。因为高速脉冲信号速度快、不易采集分析,而以现场可编程门阵列(FPGA)作为核心,FPGA核心频率可以达到几百兆赫兹,并行处理能力强,适于处理高速信号,具体系统原理图如图1所示。信号调理电路对输入脉冲信号的进行衰减或放大,一路经过高速AD转换将数字信号以并行数据的方式和FPGA通信,另一路通过高速比较器将方波送入FPGA;FPGA对方波信号进行分频,利用100MHZ的时钟计数器进行频率、占空比,电压幅度,脉冲信号上升时间的测量,将测量结果送给STM32F103VET6,STM32F103VET6微控制器控制键盘输入和LCD液晶显示屏输出结果等,同时利用单片机对FPGA进行控制。同时由于选用EP4CE6E22C8N型号FPGA为处理器,功能强大,外加DA转换和信号放大电路可以较容易实现任意函数信号输出。
2.2 参数测量实现方法
2.2.1 频率测量
FPGA的晶振频率设置为100M,则每一个信号的周期为:
STM32控制FPGA的分频系数n,不同频率范围的信号输入时自动通过调整n,从而达到最理想的测量精度和速度。从硬件电路处理过的方波信号第一个上升沿开始,计数FPGA的上升沿,直到方波信号的第n个上升沿停止,FPGA的上升沿个数为k,则通过式(1)计算得到脉冲信号的频率。
2.2.2 占空比测量、脉冲幅度Vm、上升时间tτ测量
多被测脉冲的占空比测量采用直接脉宽测量。脉宽测量通常采用脉冲计数法,即在待测信号的高电平或低电平用高频时钟脉冲进行计数,然后根据脉冲个数计算待测信号宽度。则高电平计数值为NH,低电平为NL,则占空比为:
由AD9280进行高速AD转换对采样得到后的波形进行上升沿检测,将检测信号由FPGA处理再送至STM32通过算法计算,处理得到Vm、tτ。
2.2.3 标准矩形脉冲信号发生器
由FPGA模块的DA_out经AD9742处理,经LMH6643为核心的信号调理模块将信号进行调整放大(放大倍数为四倍),再由以MC74HC4051AD为核心的模拟开关选择衰减档,最后由THS3091对信号进一步处理输出,最终可得到一个频率f0为1MHZ,脉宽 tw为100ns,幅度为5±0.1V(负载电阻为50 )上升时间tτ不大于30ns,过冲σ不大于5%的标准矩形脉冲信号。通过程序的设计使输出信号的幅度、频率、占空比可调且误差小于2%。
3 系统硬件设计
3.1 信号调理电路
信号调理电路如图2所示,采用JRC-21F/4100对输入信号DC耦合,用AD603放大(程控增益)对信号进一步处理,最后用LMV7235构成电压比较器,并可以利用滞回比较器的滞回特性消除抖动的影响。有效控制输入脉冲信号在被检测之前的可测性,为后期处理做一个良好的铺垫。有利于降低整体误差并提高系统的稳定性。
前端信号处理采用AD603可变增益放大器(Variable Gain Amplifier,VGA),其增益变化范围为:10dB~30d,带宽90M,由LMH6643将电压信号输出:Vout=(2V+)-(V-)。对于输入信号进行调整从而更好的适应本系统的检测机制,使检测结果更加准确。
3.2 高速A/D转换电路
高速AD转换电路采用AD9280ARS(32M采样率AD转换器),其中采用BAT54S组成二极管钳位保护电路,通过AD转换后将8位数字信号由DSO.D[0,7]送至FPGA,再通过FSMC总线传送到STM32,由STM32处理器对数据信号进行计算,从而得出被测信号的幅值。
3.3 单片机及其外围电路
以STM32为核心的单片机处理电路,与FPGA之间进行实时通信,用相应算法对经过FPGA分频处理的脉冲信号进行计算,最终在LCD显示屏上显示相应的幅度、频率、占空比、上升时间的测量参数。
本次设计中的LCD是由单独的一片CPLD驱动的,由FPGA发送显示内容,采用STM32单片机能够更快的分析、处理、发送数据,同时较其他单片机如51单片机拥有更多的I/O端口和更高的处理速度。以HD7279为按键检测芯片,具有较好的按键消抖功能,按键对被测信号的波形进行调节,提高检测灵敏度,对于附加功能标准矩形脉冲信号发生器中的输出信号频率、幅度等参数也可以通过按键进行调节,从而适应各种要求的信号输出,提高使用者的体验。
4 系统软件设计
开机后首先进行系统初始化并进入功能选择界面,主要有时钟、键盘初始化,扫描键盘I/O端口,获得相应按键值,LCD初始化,A/D采样初始化,各种外设芯片初始化,设置I/O端口,初始化序列及相关函数。所有初始化进程在开机时开机动画界面导入期间完成,提高使用效率和美观。采用5.4TFT LCD彩屏,用于显示相关检测参数。
因为在该设计中增加了标准矩形脉冲信号发生器,可根据不同的按键状态进入相应的工作模式所以用按键对两种模式进行切换,通过按键控制测量脉冲信号的幅度、频率、占空比以及上升时间等。单片机将来自FPGA的数据进行转换和处理,将结果显示在液晶屏上,在开机初始化时对LCD初始化,将屏幕分为波形显示区域、数据显示区域、功能调节区域。波形和波形显示区域可以实时显示被测信号的各种参数;功能调节区域主要对被测信号的测试条件进行调节,同时对矩形脉冲信号的各项输出参数进行调节,使其能够达到需求的范围。具体系统框图如图3所示。
5 结论
测量数据:
本测量仪实现了方波信号频率(误差不超过0.01%)、占空比(误差不超过0.1%)、幅度(误差不超过0.1%)、脉冲信号上升时间测量(误差不超过1.5%),且最高测试频率能达到10MHZ,很好的实现了测量6HZ~8MHZ相关数据。实际测量数据如表1所示。
标准矩形脉冲信号发生器,通过按键对输出脉冲信号的频率、脉宽、幅度进行调节,对于上身时间控制在20ns以内,整体性能相对较高。可满足一般情况下脉冲信号的输出。实际测量数据如表2所示。
本次设计充分利用FPGA和单片机的协同处理能力,使数据更加快速、有效的进行传输和处理,在未来的设计中将会进一步进行优化,更多的应用于工业4.0进程中的更多领域,有利于更好的对多种复杂信号进行处理。
参考文献
[1]徐文强,任勇峰,文丰.基于FPGA的高速脉冲信号源的设计与实现[J].微计算机信息,2007,23(02):251-252,229.
[2]胡宴如,耿苏燕.模拟电子技术基础[M].北京:高等教育出版社,2010.
[3]何希才译.运算放大器应用电路设计[M].北京:科学出版社,2007.
[4]张阳,刘军,严汉宇等.精通STM32F4[M].北京:北京航空航天大学出版社,2015.
[5]吴厚航.深入浅出玩转FPGA[M].北京:北京航空航天大学出版社,2013.
[6]谭浩强.C程序设计(第三版)[M].北京:清华大学出版社,2005.
[7]谢浪清.高速等精度频率测量的研究[J].中国科技信息,2006,15.
[8]王诚,吴继华.Altra FPGA/GPLD设计(基础篇)[M].北京:人民邮电出版社,2005.
[9]焦新泉,秦丽.信号传输过程中的反射及其抑制方法[J].测试技术学报,2004,18(z2):93-96.
作者单位
三江学院工程教育学院 江苏省南京市 210012