时间:2024-07-28
赵二刚,孙桂玲
(南开大学 电子信息与光学工程学院,天津300350)
在电子信息类实验课程的教学过程中,经常会涉及到对正弦波、方波、三角波及锯齿波等各种波形进行参数测量, 这些参数主要包括波形的频率、峰峰值、有效值及失真度即总谐波失真(total harmonic distortion,THD)等。目前要完成这些参数的测量需要用到示波器及失真度测量仪等多种仪器。笔者在总结实验教学经验及结合学生反馈意见的基础上完成了“信号波形参数及频谱测量实验系统”,该系统可以测量信号的频率、峰峰值、有效值及THD 等常用的波形参数[1-2],并且可以显示被测信号连续两个周期的波形及频谱图[3-6],进而可以同时观察信号的时域及频域信息,有助于加深学生对被测信号的认识与理解,另外本文研究的技术方案可为测量信号时域、频域特征的应用场景提供有益的参考。
系统的硬件结构主要包括: 嵌入式处理器、现场可编程门阵列(FPGA)、高速模数转换模块及液晶屏等部分。首先利用FPGA 控制高速模数转换模块不间断的等时间间隔高速采样被测信号,将采样值与被测信号过零点的采样值做比较,输出高低电平,进而产生与被测信号频率、相位一致的方波。FPGA 内部运行消抖算法以消除该方波在过零点处产生的抖动。FPGA 计算得到消抖后方波信号的周期,并从消抖后的方波信号上升沿处开始,利用内部的双端口数据储存器(Dual-Port RAM)等时间间隔的存储被测信号的采样值,存储深度为被测信号的两个周期。这样就实现了对被测信号的整周期同步采样,在后续的频域计算处理中,可有效地避免频谱泄漏和栅栏效应[7]。FPGA 将消抖后方波信号的频率值及被测信号连续两个周期的采样值通过串口传送给嵌入式处理器[8-9],嵌入式处理器结合快速傅里叶变换(FFT)等算法[10],计算得到被测信号的峰峰值、有效值及THD 等参数,同时利用液晶屏显示被测信号连续两个周期的波形及频谱图。综上,该系统的结构框图如图1所示。
图1 信号波形参数及频谱测量实验系统结构框图Fig.1 Structure block diagram of experimental measurement system of signal waveform parameters and spectrum
系统的硬件结构主要包括嵌入式处理器、FPGA、高速模数转换模块及液晶屏等部分, 软件方面主要包括实现对被测信号进行整周期同步采样、嵌入式处理器和FPGA 间的串行通信,计算频率、峰峰值、有效值及THD 等波形参数及显示被测信号波形、频谱图等部分。下文从软、硬件两方面对该信号波形参数及频谱测量实验系统进行介绍。
2.1.1 核心控制单元
本文采用嵌入式处理器结合FPGA 作为核心控制单元,嵌入式处理器采用意法半导体(ST)公司的32 位Cortex-M7 内核ARM 处理器,型号为STM32F767IGT6,FPGA 采用Altera 公司的Cyclone IV 系列FPGA,型号为EP4CE10E22C8N。其中FPGA的作用是控制高速模数转换模块实现对被测信号的整周期同步采样,并将采样数据传送给嵌入式处理器。嵌入式处理器的作用是根据采样数据计算得到波形参数并利用液晶屏显示被测信号的波形及频谱图。
2.1.2 高速模数转换模块
高速模数转换模块的型号为AN926,该模块主要由高速ADC 及电压衰减电路构成,其结构框图如图2所示。
图2 高速模数转换模块结构框图Fig.2 Structure block diagram of high speed A/D conversion module
该模块支持的输入信号电压范围为±5 V, 由于该模块采用的ADC 输入电压范围为1 V~3 V,因而采用运算放大器(以下简称为运放)搭建电压衰减电路将±5 V 的输入电压衰减到1 V~3 V, 然后提供给ADC。采用的运放型号为AD8065,该运放具有输入阻抗高、工作噪声低、高压摆率、低失真、高共模抑制比等优点,可采用单电源供电,带宽为145 MHz。该模块中ADC 型号为AD9226[11-12],此芯片内置高性能采样保持放大器和基准电压源,12 位采样精度,最高采样率达65 MS/s。
2.1.3 液晶屏
液晶屏型号为TJC8048K050_011R, 该液晶屏为5 英寸智能串口液晶屏,65536 色伪真彩,分辨率为800×480 像素,内置实时时钟,并集成4 线电阻式触摸屏,可以很好地满足显示被测信号波形及频谱图的需求。
2.2.1 整周期同步采样
为了实现被测信号峰峰值、有效值及THD 等参数的测量,并显示其波形及频谱图,需从该信号的起始过零点处开始,以该信号频率的整数倍进行采样,即整周期同步采样。采用整周期同步采样可有效地避免频谱泄漏和栅栏效应。为了实现整周期同步采样首先要获得被测信号的频率及相位(起始过零点),可通过电压比较器产生与被测信号频率、相位一致的方波。采用比较器的方案会引入额外的硬件电路,并且一般需要正负电源供电,本文采用软件比较的方法获得被测信号的频率及相位,利用FPGA 控制高速模数转换模块采样被测信号,采样时间间隔为20 ns,高速模数转换模块输出的原始采样值为12 位的补码,在FPGA 中用硬件描述语言编写功能模块将±5 V 的电压值转换为0 至0xfff 的数字量, 则被测信号过零点电压值对应的数字量为0x800。将采样值与被测信号过零点的采样值做比较,按照式(1)输出高低电平,进而产生与被测信号频率、相位一致的方波。
式中:SQ0为产生的方波;VAD为采样值,1 为高电平,0 为低电平。当被测信号频率较低或峰峰值较小时,该信号在过零点处波形斜率一般较小,则SQ0容易在上升沿及下降沿位置产生抖动。需对SQ0做消抖处理否则很难实现整周期同步采样。在FPGA 中用硬件描述语言编写功能模块实现对SQ0的消抖处理,记消抖后的方波为SQ1。下文对消抖算法进行介绍。首先利用D 触发器对SQ0进行等占空比的二分频,然后利用高速时钟计数二分频后信号的高电平宽度即可得到SQ0的周期及频率, 然后利用频率为该频率M 倍的时钟对SQ0进行采样,当连续N 次采样值均为高电平时SQ1输出高电平, 连续N 次采样值均为低电平时SQ1输出低电平, 其他情况下保持SQ1先前的输出状态不变,实测结果表明N 取10,M取10000 能够实现很好的消抖效果。FPGA 从SQ1上升沿处开始,利用内部的双端口数据储存器等时间间隔的存储被测信号的采样值,存储深度为被测信号的两个周期,这样就实现了对被测信号的整周期同步采样。为了在被测信号的一个周期内尽可能多的存储采样点, 同时存储的采样点数要满足基2FFT 运算的要求,设定被测信号每个周期存储的点数与被测信号频率间的关系见式(2):
式中:fVin为被测信号的频率;NFFT为每个周期存储的采样点数。根据式(2)并结合式(3)确定被测信号连续两个周期内的采样时间点:
式中:TS为被测信号的周期;ti为第i 次采样的时间点。在计算ti时涉及到乘除法运算, 由于NFFT为2的整数次幂, 因而可以利用右移运算来替代除法,而乘法运算则采用FPGA 内嵌的硬件乘法器实现。
2.2.2 串行通信
FPGA 通过串口与嵌入式处理器进行通信,将被测信号的频率值及两个周期的采样值通过串口传送给嵌入式处理器。下文介绍串行通信的具体实现过程。首先确定二者间通信的数据帧格式见表1。
表1 串行通信数据帧格式Tab.1 Data frame format of serial communication
表1中, 帧头为0x55 0xaa 0xa5 0x5a 4 个字节,频率用4 个字节表示,单位为Hz,每个周期存储的采样点数为NFFT,用2 个字节表示,每次采样值为12 bit,用2 个字节表示,所以连续2 个周期存储的采样点数为4NFFT字节。嵌入式处理器将通用输入输出口PB10、PB11 复用为USART3 串口,并配置该串口的工作模式为115200 bps 波特率、8 位数据位、1 位停止位、偶校验。FPGA 端利用硬件描述语言编写功能模块实现串口收发的功能,令串口收、发功能模块的工作模式与嵌入式处理器的USART3 工作模式完全一致,并配置其电平为3.3 V LVTTL,嵌入式处理器与FPGA 共地且串口引脚交叉互联,这样就实现了二者间的串行通信。需要注意的是FPGA 外接有源晶振的频率为10 MHz,为了提高串行通信波特率的精度, 利用FPGA 内置的模拟锁相环产生100 MHz 的时钟,作为波特率分频器的时钟源,这样就提高了串行通信波特率的精度。
2.2.3 波形参数计算、时域波形及频谱图显示
嵌入式处理器根据串口接收到的被测信号的频率值及连续两个周期的采样值计算其峰峰值、有效值及THD,下文分别介绍上述波形参数的计算方法。首先介绍峰峰值的计算方法:遍历采样数据找到最大、最小值即可得到被测信号的峰峰值,具体算法见式(4):
式中:Vadi为第i 次采样值;Vopp为输出信号的峰峰值。接下来从有效值的定义出发结合式(5)计算被测信号的有效值。
式中:Δt 为采样的时间间隔;U 即为被测信号的有效值。最后结合FFT 算法,计算被测信号的THD。对被测信号整周期的采样值进行FFT 变换即可得到基波及各次谐波的幅值, 根据THD 的定义结合式(6)即可得到被测信号的THD:
利用直流稳压电源(型号:SS3323)、函数信号发生器(型号:TFG6080)及数字存储示波器(型号:DSO-X 2012A)搭建信号波形参数及频谱测量实验系统的测试环境。由于AN926 高速模数转换模块输入电压的限制,本文研究的信号波形参数及频谱测量实验系统被测信号的电压范围为±5 V,另外由于采用过零比较,所以被测信号应为交流信号。设置直流稳压电源输出电压为10 V,限流值为2 A 为系统供电,函数信号发生器产生峰峰值4 V,频率0.1 Hz的正弦波,FPGA 控制高速模数转换模块采样该正弦波,然后通过软件比较的方法产生同频、同相的方波,利用示波器的两个通道测量该方波波形及消抖后的波形进而验证软件比较法产生方波及消抖算法的效果,测量结果见图3。
图3 软件比较法产生方波及消抖效果示波器测量结果图Fig.3 Oscillogram of square wave generation and jitters elimination
图3中通道1 波形(上半部分)为软件比较法产生的方波波形(上升沿部分),通道2 波形(下半部分)为消抖处理后的波形(上升沿部分),可以明显看出抖动已经完全消除。
函数信号发生器产生峰峰值4 V, 频率为0.1 Hz~100 kHz 的正弦波、方波及锯齿波作为被测信号,峰峰值、有效值及THD 的测量结果见表2~表4。系统实物、被测信号时域波形及频谱图的液晶屏显示界面见图4。
图4 信号波形参数及频谱测量实验系统实物图Fig.4 Actual picture of the experimental measurement system of signal waveform parameters and spectrum
根据式(6)可推导出正弦波、方波及锯齿波THD的理论计算值分别为0%、48.343%及80.308%,根据表2~表4的测量数据,当被测信号频率在0.1 Hz~100 kHz 之间时本文设计的信号波形参数及频谱测量实验系统对正弦波、方波及锯齿波THD 的测量值与理论值的偏差在分别在1.052%、0.961%及1.044%以内,峰峰值的测量值与示波器测量值的偏差分别在39 mV、31 mV 及40 mV 以内,有效值的测量值与示波器测量值的偏差分别在4 mV、10 mV 及11 mV以内。
表2 峰峰值测量结果数据表Tab.2 Data of peak-to-peak value measurement results
表3 有效值测量结果数据表Tab.3 Data of RMS measurement results
表4 THD 测量结果数据表Tab.4 Data of THD measurement results
本文设计的信号波形参数及频谱测量实验系统,可以实现电压范围±5 V,频率0.1 Hz~100 kHz 交流信号频率、峰峰值、有效值及THD 的测量,其中THD 的测量值与理论值的偏差在1.052%以内,峰峰值及有效值与示波器测量值的偏差在1%以内,并且可以显示被测信号连续两个周期的波形及频谱图。对于直流或电压范围超过±5 V 的被测信号需经过电容隔直处理或电压衰减电路再输入到该系统进行测量。另外本文研究的软件比较法提取被测信号频率、相位特征的技术方案可为测量信号时域、频域特征的应用场景提供有益的参考。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!