
低频数字式相位测量.doc
7页低频数字式相位测量作者:韦志考 任云庆 任安摘要摘要:本系统主要由相位测量、数字式移相信号发生器和模拟移相网络三大模块组成 分别由两块单片机独立地实现控制与显示功能采用 DDS 技术生成两路正弦波信号, 并通过改变存储器中数据读取的起始地址来实现数字移相的功能,用 Ф-T 变换技术来 实现相位差的测量,使得测量分辨率精确到 0.1º,测得的频率与相位差值送入 LCD 进 行显示,加入红外键盘功能,使得系统具有智能化、人性化的特色一、一、方案比较与论证方案比较与论证1 、 相位测量部分相位测量部分方案一:传统的模拟法该方案采用倍频、计数、门控等电路此方法难以实现大频 率范围的相位测量,精度低、稳定性差 方案二:采用双通道高速 A/D 对输入的信号进行采集,然后 FFT 和基波的矢量分解的 方法计算出这两个信号的基频和相位该方案精度高,算法简单,对畸变波形有一定的处 理能力但要求在 AD 采集前作频率测量,在信号频率较高时,需要使用超高速 AD 转换器 并且需要较高的计算能力,一般需要使用 DSP 进行信号处理硬件复杂,难度较高 方案三:整形鉴相法将输入两相位不同的正弦波通过比较器进行整形,变成方波。
方案三:整形鉴相法将输入两相位不同的正弦波通过比较器进行整形,变成方波 然后将两方波进行异或比较输出,从而得到两输入信号的过零时间差和两信号的周期,通然后将两方波进行异或比较输出,从而得到两输入信号的过零时间差和两信号的周期,通 过计算获得信号的频率和相位该方案较简单,普通单片机需要通过扩展外部电路,增强过计算获得信号的频率和相位该方案较简单,普通单片机需要通过扩展外部电路,增强 计时、计数能力就能达到满足题目要求的精度计时、计数能力就能达到满足题目要求的精度2、数字式移相信号的产生部分数字式移相信号的产生部分方案一: 采用单片机的定时器产生数字信号,通过滤波或锁相等环节输出正弦信号 该方案对单片机要求低,但产生的信号频率低,频率步进大,模拟部分产生较大相移,难 以保证输出的相位精度,很难达到设计要求方案二:采用硬件直接数字频率合成(方案二:采用硬件直接数字频率合成(DDFSDDFS)技术产生数字信号直接频率合成方法)技术产生数字信号直接频率合成方法 具有频率转换时间短、近载频相位噪声性能好、精度高,产生的信号频率范围宽等优点具有频率转换时间短、近载频相位噪声性能好、精度高,产生的信号频率范围宽等优点, ,使使 用用 FPGAFPGA 实现,简化了硬件电路。
实现,简化了硬件电路3 3、模拟移相部分、模拟移相部分采用常见的模拟器件电阻,电位器,电容和运放的组合电路实现移相直接对模拟信 号进行移相,如阻容移相,变压器移相等,早期的移相通常采用这种方式采用这种方式 制造的移相器有许多不足之处,如:输出波形受输入波形的影响,移相操作不方便,移相 角度随所接负载和时间等因素的影响而产生漂移等该方案由于使用模拟器件,因此精度 不是很高,硬件系统比较复杂题目的基本要求部分既是采用此方案,我们按要求完成了 这部分电路二、二、系统设计与参数系统设计与参数1、、 相位测量设计相位测量设计 相位测量仪电路主要为过零比较电路、整成标准的方波后送到 FPGA,由 FPGA 来完 成相位测量和频率测量如图,输入信号经过LM358 一级放大后,再到 LM336 进行 过零比较,用 74LS14 施密特整形后输入 FPGA 进行处理原理图为:11223344556677889910101111121213131414LM361R61RES132481OP2ALM358R58RES1R46 RES1R44RES1R56 POT 1C45CAPR43 RES11 2JP1 HEAD ER 21 2JP5 HEAD ER 2+12V-12VVSSVSSVSS VSS+12V-12V+5V+5VINPU T11312U3F74HC14R1111 RES1+5V12U3A 74C14通过捕获处理后的两通道的方波,就可计算出频率和相位。
原理如图 2-5 所示:图 2-5 相位计算示意图计算公式为: tt根据题目要求在 20KHz 时,应保证 2 度的精度可计算出 FPGA 的计时分辨精度为:Hz6310*6 . 32360*10*20当单片机的计时分辨精度优于 3.6MHz 时,才能保证题目要求的精度我们使用 50MHz 的晶 振,足可以保证精度的要求 以上是本方案的基本原理,实际使用中采用噪声消除和零点平移修正来减少系统误差 本方案采用 32 位计时器,可以保证在被测信号周期为 1 秒时不会溢出可以满足对被测信 号的最低频率要求2 2、数字式移相信号发生器的设计、数字式移相信号发生器的设计实现的基本原理:实现的基本原理: DDFS 原理:DDFS 的基本原理框图如图 2-6 所示图 2-6 DDFS 的基本原理图DDFS 包括信号幅值计算单元、存储正弦数据表的 ROM 存储器、DAC 和输出滤波器组成 正弦波的信号幅值以数据表的形式存储在 ROM 存储器中,由信号幅值计算单元以恒定的速 度进行相位累加计算,计算出当前时刻的输出正弦信号的相位,然后用此相位在 ROM 种查 得应送往 DAC 的数值。
通常使用的相位累加器由 N 位加法器与 N 位累加寄存器级联构成每来 1 个时钟脉冲, 加法器将频率控制数据与累加寄存器输出的累积相位数据相加,把相加后的结果送至累加 寄存器的数据输入端累加寄存器将加法器在上 1 个时钟作用后所产生的新相位数据反馈 到加法器的输入端,以使加法器在下 1 个时钟的作用下继续与频率控制数据相加这样, 相位累加器在参考时钟的作用下,进行线性相位累加,当相位累加器累积满量时就会产生 1 次溢出,完成 1 个周期性的动作,这个周期就是 DDS 合成信号的 1 个频率周期,累加器 的溢出频率就是 DDS 输出的信号频率用相位累加器输出的数据作为取样地址,对正弦波 波形存储器进行相位-幅值转换,即可在给定的时间上确定输出的波形幅值数模转换及低通滤波器 :DAC 将数字量形式的波形幅值转换成所要求合成频率的模拟 量形式信号,低通滤波器用于滤除不需要的取样分量,以便输出特定频率段及平滑的正弦 波信号按照 Nyquist 准则,最高输出频率可达 0.5fc但考虑到实际低通滤波器性能的 限制,实际最高输出频率一般取为 40%fc以下是采用 Synplify Pro 7.7 综合的 RTL 结果:频率参数计算;题目要求波形频率为 10HZ~10KHZ,可按步进 10HZ 调节,为了使频率为 1HZ~100KHZ,步进 1HZ,根据Fout=Fclk*N/M△ F=Fclk/M=1 其中 Fout 为输出频率。
Fclk 为系统时钟,N 为累加器步长,M 为 2 的 m 次方,m 为累加器的位数, 因此时钟频率必须为 M,才能有 1HZ 的步进,另外要保证 100KZ 以上时,取样点数不小 于 16 个点,以减小失真,这样时钟频率必须大于 3.2M综合考虑,选取时钟频率为 16.777M 晶振, 相位累加器的位数为 22 位,频率步进为Fs=16.777M/222=1HZ DA 转换器的转换时间为 100ns,可以保证在输出为 100KHZ 时,输出 32 个点 FPGA 里集成了正弦表的表信息,直接送到 DA 转换器,FPGA 我们选用 10K10-4,在 16.777M 时钟下,时延可以忽略不计为了减少单片机管脚,采用窜行输入方式对 FPGA 进行控制,控制电路的设计全部采用 VHDL 语言来设计3.3. 模拟移相网络模拟移相网络采用常见的模拟器件电阻,电位器,电容和运放的组合电路实现移相直接对模拟信 号进行移相,如阻容移相,变压器移相等,早期的移相通常采用这种方式采用这种方式 制造的移相器有许多不足之处,如:输出波形受输入波形的影响,移相操作不方便,移相 角度随所接负载和时间等因素的影响而产生漂移等。
该方案由于使用模拟器件,因此精度 不是很高,硬件系统比较复杂 题目的基本要求部分既是采用此方案,我们按要求完成了这部分电路 以下是它的电路图:32 148U1ANE553256 748U1BNE553256 748U2BNE553232 148U2ANE5532R2 2K7R4 1KR31KR1 910R5 1KR6 1KR7 1KC2_M 0.1uFC1_M 0.1uFC1_L 1uFC2_H 0.01uFC1_H 0.01uFC2_L 1uF12348765S1 SW DIP-412348765S2 SW DIP-4GNDGNDGNDGND+12V+12V+12V+12V-12V-12V-12V-12V1 2 3 4J_OUT_A1 2 3 4J_OUT_B1 2 3 4J_INGNDGNDGND4 4 . . 系统框图系统框图5 5 . .误差分析误差分析(1)相位测量电路的误差分析在相位测量过程中,受电子元器件性能的影响,在正弦波经过零检测电路整成方波的过程之中,两路信号不可能做到时延特性完全的一致,前端放大电路以及过零检测电路会带来方波信号相对于输入信号的过零点偏移,所以得到的两个方波信号的相位差实际上是输入信号的相位差和两路过零比较电路相位差的综合相差,由于是在一定的时间内对脉冲的个数进行计数,因此将引入截断误差,尤其当两路信号的相位差较小时,截断误差的存在将在很大程度上对相位测量的精度造成影响。
2)移相网络的误差分析由于移相网络是基于阻容移相的原理,因此电阻与电容的阻值大小将决定移相的范围,由于采用的是常规的金属膜电阻,其阻值与理论计算值存在误差,因此造成实际移相范围与理论计算值存在一定的偏差3)数字式移相信号发生电路的误差分析在数字式移相信号发生电路中,由于锁相环的稳定度的影响,波形的微小振荡就会使得输出和设定值之间存在输出偏差,同时由于 D/A 转换过程中不可避免的存在量化误差,所以产生的波形幅值与频率将会与设定的预期值形成一定的误差4)由于通用板本身结构的限制,以及电路中两路信号的串扰等影响,都会使得系统存在一定的误差三、三、软件设计软件设计1. 单片机部分(1)移相部分软件流程(2)测量相位部分软件流程2. FPGA 与 MCU 通信 FPGA 与 MCU 通过 SPI 总线进行通信SPI 协议是以主从方式工作的,这种模式通常有一个主设备和一个或多个从设备,其接口包括以下四种信号:(1)串行数据输入(也称为主进从出,或 MISO);(2)串行数据输出(也称为主出从进,或 MOSI);(3)串行移位时钟(也称为 SCK);(4)从使能信号(也称为 SS)MCU 把要发送的数据一位一位的传送到 FPGA,很自然,FPGA 这边经过“串入并出移位寄存器”把数据提取出来。
当 FPGA 传送数据给 MCU 时,先经过“并入串出移位寄存器”,再把数据船给 MCU四、四、性能测试性能测试 1. 测量仪器 2. 相位测量仪 3. 数字式移相发生器 五、五、结束语结束语 本系统实现了题目基本部分以及发挥部分的要求,经过测试,相位测量仪的 测量范围为:电压(峰峰值):0.2V~30V;频率:1Hz~30kHz;显示分辨率 为 0.01 度,测量的绝对误差在 2º 以内数字式移相信号发生器在 20Hz-20kHz 范围内波形能够稳定输出,并且扩展到 1Hz~20Hz,频率步进达到 1Hz,相位差 步进 1º,幅值在 0.1V-5.5V 范围内可调,人机交互接口采用双键盘(有线键盘+ 红外遥控键盘) ;由于单片机留有空闲的 I/O 口,因此可以进一步对系统的功能 进行扩展,比如加入相位测量的自适应调节、加入波形的打印功能或者将语音 播报的功能进一步完善等,使得系统更趋于智能化、人性化的特点。
