APP下载

基于时钟相位补偿的同步触发信号产生技术

2020-06-06峰,王航,眭

计算机测量与控制 2020年5期
关键词:计数器延时基准

陈 峰,王 航,眭 明

(中国电子科技集团公司 第三十四研究所,广西 桂林 541004)

0 引言

在高速摄影系统、高速数据采集、医疗设备、能源、大型激光驱动装置等需要精密时序控制的系统中,同步触发信号的性能优劣直接影响这些系统的运行效率和运行精度[1-2]。这些系统通常要求同步触发信号具备延时抖动低、调节分辨率高、调节范围广等特点。目前通常使用计数器法实现触发脉冲信号的产生,但是其性能受限于计数器频率、外部参考时钟和基准触发信号对齐等因素,即使采用100 MHz的高端计数器,其分辨率最高只能达到10 ns,而且输出的触发脉冲信号与输入基准信号之间会存在一个δt(0<δt<10 ns)的随机时间抖动[2]。目前国内在同步触发信号方面的研究,张荣等人利用NIOSⅡ软核处理器实现了5通道纳秒级时序控制同步机,单通道时序控制精度为20 ns,延时调节范围是20 ns到100 s[1];党钊等人采用ISA总线设计的纳秒级同步机,通过多路可编程延时器件的方式得到时间抖动约2 ns的同步触发信号[3];张锋等人利用数字延时加模拟延时结合时间抖动补偿的方式设计的触发脉冲信号,最终输出四路延时调节范围为0~1 s,脉冲信号间时间抖动小于等于500 ps的触发脉冲信号[4]。为了解决一般同步触发信号延时调节分辨率低及时间抖动大的问题,本文提出一种基于时钟相位补偿的同步触发信号产生技术,利用时间数字转换技术对系统时钟相位进行补偿,以减小同步触发脉冲信号与基准信号间的时间抖动;通过32位计数器结合可编程数字延时方案增加同步触发信号延时调节范围的同时提高了延时调节分辨率。设计产生20通道的同步触发信号输出,同步触发信号延时调节分辨率为250 ps,本地时钟下同步触发信号间抖动小于250 ps,外部时钟及外部触发条件下同步触发信号间抖动小于500 ps。该同步触发信号可根据实际使用情况进行级联扩展,以满足大型系统对同步触发信号数量需求。

1 系统结构及原理

基于时钟相位补偿的同步触发信号产生系统结构原理如图1所示,主要包括主控制器、系统时钟产生和同步触发信号产生三部分。同步触发信号产生系统采用FPGA作为主控制器,实现数字信号算法处理以及通信接口控制等功能。系统时钟可基于外部输入的参考时钟或本地时钟产生,优先使用外部参考时钟,系统时钟可以在外部参考时钟和本地时钟下实现无缝切换。系统基本工作原理为:输入的外部参考时钟或本地晶振时钟首先经过锁相环路产生一路100 MHz的基准时钟,基准时钟经过超高精度延时器后输入到FPGA作为系统时钟。外部的基准触发信号直接输入到FPGA,FPGA将系统时钟分频后送至时间数字转换器(TDC),启动TDC并跟据测量结果适时调整超高精度延时器的延时量,实现系统时钟相位的自动闭环反馈补偿,消除因每次锁定外部参考时钟所用时间不同而造成的系统时钟与外部触发信号间的相位差的随机性。同步触发信号产生由FPGA根据外部触发信号和系统时钟产生基准触发信号,并将基准触发信号进行复制,得到20路相对独立的同步信号,经过可编程数字延时器后作为同步触发信号输出。

图1 系统结构原理图

2 电路设计

2.1 主控制器选型

主控制器采用Xilinx高性能、低成本、低功耗的Spartan-6系列FPGA,芯片通用IO引脚工作电压为DC3.3 V,内核工作电压为DC1.2 V,其内部集成了占用资源少、运行速度快、可配置性强的MicroBlaze软核处理器,该软核处理器采用哈佛总线结构和RISC(reduced insrtction system computer)架构的独立32位数据和指令总线,具有访问以及执行片上存储器和片外存储器上的程序与数据速度快的特点,而且Xilinx公司针对它的FPGA器件进行了专门的优化,能够提供十分丰富的逻辑资源和出色的数据处理能力。MicroBlaze处理器可以在高达150 MHz时钟下工作,并提供最高125D-MIPS的性能,同时其内部嵌入了xilkernel操作系统,系统通信控制接口以及数字信号算法处理等功能应用都可以在xilkernel操作系统的基础上编程实现。

2.2 时钟相位补偿电路

时钟相位补偿电路原理图如图2所示,主要包括基准时钟产生、时间数字转换器(TDC)和超高精度可编程延时器三个部分。同步触发信号的时间抖动,主要来源于系统时钟信号抖动。因此,要提高同步触发信号的时间抖动性能,必须保证系统时钟频率稳定性。作为同步触发信号产生系统的“心脏”,输入的外部参考时钟或设计的本地时钟需要有很好的频率稳定度,再结合时钟相位补偿技术,产生高质量的系统时钟。该时钟信号输入到时钟抖动衰减锁相环后将频率倍频到100 MHz,进一步提升基准时钟频率的稳定性,最后经过超高精度可编程延时器后作为系统时钟。

图2 时钟相位补偿电路原理图

TDC为系统实现高精度的时间间隔测量,其主要作用是测量系统时钟与基准触发信号之间的相位差,FPGA根据TDC测量结果对系统时钟的相位进行一定量的补偿。TDC时间测量使用延迟线内插技术,测量分辨率小于100 ps,最大可测量时间间隔可达数毫秒。其工作原理是通过测量输入信号经过逻辑门电路的绝对传输延迟时间实现时间信号的数字化转换。由于TDC对内部的门电路布线要求十分苛刻,可以确保信号流经每个门电路时所用的时间完全一致。TDC转换单元只需要对信号通过门电路的数量进行记录,即可获取输入信号数字化后的时间量。FPGA通过SPI总线实现对TDC的通信控制和参数配置。TDC的INTN中断信号引脚直接与FPGA管脚相连接,FPGA接收到中断引脚的电平跳变后开始读取相应的寄存器以获取时间测量结果。超高精度可编程延时器使用数字控制输入信号的延时,FPGA同样通过SPI总线控制其延时量的调节,其延时调节分辨率可达10 ps,最大延时调节范围可达10 ns,理论上系统时钟相位补偿分辨率为0.36°。

时钟相位补偿的具体实现过程为:FPGA的系统时钟频率为100 MHz,而TDC的校准参考时钟频率建议范围为2~8 MHz,折衷选取TDC的参考时钟频率为4 MHz。因此需要将系统时钟经过分频后产生一路4 MHz的时钟信号作为TDC的校准时钟,启动TDC测量后,FPGA根据外部基准触发信号产生一路start信号,经过一定的延时后,再产生一路stop信号。TDC根据start和stop信号分别开始和停止时间测量,然后由环形振荡器的位置和粗值计数器的计数值计算得出触发信号和停止信号之间的时间间隔Δt。时间数字转换时序图如图3所示。由于系统时钟为100 MHz,一个时钟周期为10 ns,因此Δt=10×n+φt,n为时钟周期数。由此可计算得出基准触发信号与系统时钟信号之间的相位差:φt=Δt%10,其中%表示求余运算。所得结果,用来调节超高精度可编程延时器的延时量,保证系统时钟信号与外部基准触发信号的相位差小于目标值,消除因每次锁定外部参考时钟所用时间不同而造成的系统时钟与外部基准触发信号间的相位差的随机性,确保每次上电后,输出的同步触发脉冲信号跟输入的基准触发信号间的延时量与最后一次输出的值相同。

图3 时间数字转换时序图

2.3 可编程数字延时电路

可编程数字延时电路原理如图4所示,主要由FPGA内部计数器和可编程数字延时器件组成。在延时量调节时,延时量粗调部分由计数器实现,延时量精细调节部分由可编程延时器实现。FPGA内部计数器时钟频率为100 MHz,因而其调节步长为10 ns,采用32位的计数器,理论上最大可调延时量可达42秒。数字延时器采用8位可编程延时器,可以选择最多256个不同的延迟周期,每个周期延迟时间为250 ps,最大可调节延迟时间为64 ns。FPGA通过四线SPI接口对延时器件进行在线编程,使同步触发信号经过不同的延时周期,实现250 ps到64 ns的延时调节。通过计数器与可编程延时器件的组合设计,在增加同步触发信号延时调节范围的同时大幅度提高了延时调节分辨。

图4 可编程数字延时电路原理图

3 软件设计

FPGA逻辑控制程序使用Xilinx ISE Xilinx ISE Design Suite编译平台,使用C语言进行编程,主要实现时钟相位补偿算法处理、同步触发信号参数设置等功能,其软件设计流程图如图5所示。系统上电初始化后首先从内部FLASH读取最后一次设置的工作参数,包括通道号及通道号对应的延时值、脉冲宽度和重复频率等参数,加载对应的工作参数并执行,启动TDC进入测量状态。为了保证测量的精度,采用平均值滤波法对采样数据进行软件滤波。具体处理方法是对TDC的测量数据进行100次测量后求其平均值,将其与目标值进行比较,当平均值不满足设定条件时,系统以平均值与目标值的差值为控制量,调节超高精度可编程延时器的延时量,直至满足目标条件为止。

同步触发信号延时量调节由两个部分组成,延时粗调和延时精调。首先需要分别计算延时粗调量t1和延时精调量t2的数值,具体计算公式如下:

t1=D/10

(1)

t2=(D%10)/0.25

(2)

其中:t1通过FPGA计数器完成调节,t2通过数字延时器完成调节。

图5 软件设计流程图

时钟相位补偿和延时量调节具体程序设计流程为:

系统先对SPI总线进行初始化,然后配置TDC的状态寄存器,即将TDC的工作模式配置为测量模式1,信号触发方式配置为上升沿触发,设置时钟分频器数值为1,开启start和stop使能,并开始向TDC发送start脉冲驱动信号,开始进入测量状态。TDC在接收到stop脉冲驱动信号后结束测量过程,经算术逻辑模块进行自动校准后将测量结果写入到输出寄存器中,FPGA在接收到测量结束中断信号后从TDC结果寄存器中读取测量结果。获取的数据,经过算法处理后与超高精度延时器的延时量相关联,实现输入时钟相位自动闭环反馈控制。

FPGA通过异步串行通信方式接收到同步信号参数设置数据后,先从该参数对应的FLASH地址读取上一次保存的数据并进行比较,如果该数据与存储的数据不一致,则开始擦除该数据对应的存储区域,重新写入接收到的数据并自动保存,然后调用参数设置函数完成设置,实现一次参数更新过程。

4 实验结果与分析

利用LeCeoy示波器(SDA5000A)对输出的同步触发信号性能指标进行测试,具体测试配置图如图6所示。

图6 同步触发信号时间抖动测试配置图

首先在同步触发信号1中任意选取两路(在实验中选取OUT1-1和OUT1-2,并将其输出的重频设置为1 Hz,脉宽设置为30 ns)输出信号接至示波器,测量在本地时钟条件下,输出的同步触发信号间的时间抖动。连续测量3小时,输出同步触发信号间的时间抖动测量结果如图7所示。然后再将外部参考时钟分别接至同步触发信号产生1和同步触发信号产生2,并将同步触发信号产生1中的OUT1-1经过功分器后分别接至同步触发信号产生2的触发输入端和示波器,将同步触发信号产生2的输出OUT2-1接至示波器,测量在外部参考时钟和外部基准触发条件下,输出的同步触发信号与基准触发信号间的时间抖动。同样连续测量3小时,输出的同步触发信号与基准触发信号之间的抖动测量结果如图8所示。

图7 本地时钟下输出触发信号间的时间抖动

图8 外部时钟和基准触发条件下触发信号时间抖动

为了验证同步触发信号在本地时钟和外部参考时钟下延时、脉宽和重频等技术指标的可重复性,先将系统切换到本地时钟下,并将同步触发信号的延时设置为50 ns,脉宽设置为100 ns,重频设置为1 000 Hz。多次重复开、关机后,测量该触发信号的延时、脉宽及重频数据。然后将系统时钟切换到外部参考时钟,将输出的触发信号与输入基准触发信号的延时设置为1 ns,输出脉冲宽度设置5 μs,触发信号的重频设置为1 000 Hz,同样经多次重复开、关机,重复测量该触发信号与基准触发信号间的延时以及脉宽和重频数据。测试结果见表1。

表1 同步触发信号延时、脉宽、重频重复性测试结果

由以上实验结果可知,在本地时钟下工作时输出触发信号时间抖动峰峰值小于250 ps,在外部参考时钟和外部基准触发条件下工作,输出的脉冲信号与触发信号之间的抖动峰峰值被控制在500 ps以内,经多次重复试验,输出的同步触发信号具有良好的可重复性。

输出的同步触发信号的时间抖动主要来源于时钟抖动,由于采用了时钟相位补偿技术,从根本上解决了输出的触发脉冲信号与输入基准信号之间存在的随机时间抖动问题。要进一步减小时间抖动,提升输出同步触发信号性能,参考时钟可以选用频率稳定性更好的时钟。例如本地时钟可采用具有更高稳定性的恒温晶振(OCXO)产生,OCXO可以利用晶振内部的恒温槽来确保晶体振荡器中的石英晶体谐振器的温度始终保持恒定,能最大限度地减少由周围环境温度引起的频率变化,保证输出时钟的质量。在对同步触发信号时间抖动和延时调节分辨率指标要求都十分严格的应用场合,外部参考时钟可以选用时钟质量更高的原子钟,比如铷钟,铯钟等;同时可以选用延时精度更高的数字延时器件,进一步提高输出触发信号的调节分辨率。

5 结束语

本文提出的同步触发信号产生技术,利用TDC测量基准触发信号与系统时钟信号间的相位差,通过超高精度可编程延时器件自动补偿输入的系统时钟相位,有效减少了输出的同步触发信号与基准触发信号间的时间抖动。通过计数器结合可编程数字延时方案,在保证同步触发信号延时调节范围广的同时提高了延时调节的分辨率。设计的20通道同步触发脉冲信号,各通道触发信号可以单独输出,也可以是任意通道的组合,还可以将同步触发信号进行级联形成同步系统。输出的同步触发信号具备时间抖动低,延时调节分辨率高的特点,可广泛应用于高速摄影系统、高速数据采集、医疗设备、能源及大型激光驱动装置等需要精密时序控制的系统中[5-12]。

猜你喜欢

计数器延时基准
课后延时服务
采用虚拟计数器的电子式膜式燃气表
一种基于卷积神经网络的地磁基准图构建方法
课后延时中如何优化不同年级学生活动效果
浅谈机械制造加工中的基准
应如何确定行政处罚裁量基准
基于Multisim10.1的任意进制计数器的设计与实现
SR620型与53230A型计数器的性能测试
一种“死时间”少和自动校准容易的Wave Union TDC
算盘是个“小气鬼”