数字时刻转化电路TDC(Time-to-Digital Converter)是精细时刻丈量中的中心模块,在粒子物理、激光测距、遥感成像等方面有十分广泛的使用。
时刻数字转化电路起源于20世纪60年代的核技能与航空航天范畴,文献[1]初次提出数字时刻丈量的概念。时刻距离丈量的办法可以大致分为模仿丈量与数字丈量两大类。模仿丈量办法,包含时刻起伏转化TAC(Time-to-Amplitude Converter)法[2]与模仿时刻放大法,都是经过电容充放电的特性把时刻量转化为可以丈量的电压量或许电荷量,然后抵达丈量时刻的意图。但是在大都模仿丈量办法中还需求进行模数(AD)转化来进行数据的后续处理。此种办法一般由印制电路板上的不同分立元件与芯片构成,因此功耗面积较大,依靠环境温度且易受电磁搅扰,电路调试也相对比较困难[3]。跟着大规划集成电路技能的老练,单个芯片集成的晶体管数量成倍增长,核算才能与处理才能也大大进步。文献[5]初次选用CMOS工艺规划出了一种根据环形推迟线的全数字时刻数字转化器,此外还有如推迟确定环[4]DLL(Delay Lock Loop)办法、高速计数器[7]办法、时刻推迟线[8-13]办法等,都是使用器材自身的推迟来抵达时刻丈量的意图。
近年来,因为FPGA技能的迅猛发展,在低成本低规划周期方面,FPGA现已可以部分替代ASIC。它所特有的可重用性不只增加了体系的灵活性、适应性,也大大减小了体系的规划,极具开发和研讨的潜力。因此,针对FPGA进行优化的TDC规划方案成为研讨人员重视的焦点。文献[4]针对FPGA中推迟的共同性问题,提出了选用相似环形延时门规划的粗计数与细计数两部分电路来完结时刻数字转化,抵达了3.3 ns的时钟分辨率。文献[6]经过对文献[5]的办法进行改善,在CPLD上完结了时钟分辨率达3.5 ns的TDC。本文针对处理FPGA推迟特性不确定的问题,提出了一种选用时钟状况译码的办法进行时刻数字转化的阵列电路CDTDC(Clock Decoder based TDC),阵列规划为16×16。在Altera公司的Cyclone II EP2C15上进行仿真测验,作业频率50 MHz,时钟分辨率可达1.73 ns。
1 CDTDC阵列的作业原理
1.1 CDTDC计数模块
因为FPGA的硬件结构约束,计数器在较高频率下的作业不稳定,在状况转化进程中易发生毛刺、跳码,影响正确的体系输出,时刻分辨率很难进步[14]。为了防止此类情况发生,参加结构简略、占用资源少的细计数功用模块来进步时刻分辨率。本规划中选用二进制计数器与时钟状况译码别离完结粗计数与细计数,然后对时刻距离进行丈量。
CDTDC阵列中单元电路的原理框图如图1所示,每个单元电路具有独立的时刻距离丈量功用。为了减小电路规划,粗计数模块选用10 bit线性反应移位寄存器(LFSR)完结。LFSR对计数时钟进行计数,后续再对LFSR进行状况译码即可得到所计的时钟数。计数时钟来自片上锁相环(PLL)对外部时钟的倍频。当起始信号抵达时,接入体系时钟开端计数;当中止信号抵达时,计数/读出时钟使能信号变为逻辑低,封闭衔接LFSR时钟输入端的与门,抵达中止计数的功用。计数时钟的作业频率为150 MHz,因此粗计数模块可以抵达的时刻丈量规划为6.8 μs。
细计数模块由上升沿触发的锁存器1、锁存器2、计数时钟与移相时钟组成。为了进步时钟分辨率,将计数时钟移相90°,经过锁存器锁存两个时钟在中止信号抵达时的逻辑电平作为状况码,然后进步时刻分辨率。详细进程是:当中止信号抵达时,衔接锁存器时钟输入端的与门发生电平跳变,在上升沿把计数时钟与移相时钟的逻辑电平锁存进锁存器中,时序图如图2所示。锁存器1坚持了中止信号抵达时计数时钟的时钟状况,然后可将时钟分辨率进步至时钟周期的1/2;锁存器2坚持了移相时钟在中止信号抵达时的状况,然后将时钟分辨率进步至时钟周期的1/4。故在计数时钟为150 MHz的情况下,时刻分辨率的理论值为1.667 ns。
1.2 CDTDC读出模块
当对记载的时刻进行数据读出时,需求输入读出时钟。时钟切换模块在体系进入读出状况时对移位寄存器的输入时钟进行切换,完结数据的正确读出。为了节省逻辑资源,选用组合逻辑电路对时钟信号进行切换操控。
如图1所示,当体系作业在读出形式时,计数/读出形式切换信号变为逻辑低,封闭输入计数时钟的与门,一起翻开输入读出时钟的或门,在计数/读出使能信号答应的条件下,输入读出时钟至LFSR的时钟端口。多功用移位寄存器的时钟切换同理。
在计数/读出形式切换信号答应的条件下,经过切换多路复用器断开LFSR的反应输入端,将多功用移位寄存器的输出输入LFSR中。多功用移位寄存器会主动在并入串出与串入串出形式下进行切换,首先将时钟状况,即锁存器的输出移入,然后输入前一个单元电路的输出,如此每行相邻的单元电路串联直至数据输出端。图3为阵列电路结构图,关于16×16的阵列,每行一个数据读出链。每个单元电路的读出数据为12 bit,故每行信号的数据量为192 bit。假如数据读出时钟为10 MHz,则读出时刻为1/10 MHz×192=19.2 μs。假如阵列规划增大,则可进步读出时钟频率。
1.3 CDTDC操控模块
鉴于体系需求主动在计数与读出两种形式下进行切换,并需复位相应寄存器,本规划选用状况机来操控CDTDC的形式切换。操控模块状况机示意图如图4所示。
体系上电复位后,处于复位(10)状况。在此状况下,进行移位寄存器的清零,一起复位一切操控信号至初始状况。复位状况继续4个时钟周期,状况跳转到计数状况。在计数(00)状况下,计数/读出形式切换信号制止,体系作业在计数形式。接入计数时钟,LFSR开端计数。一起,为使体系具有可装备性,在计数状况中参加一个10 bit计数器来装备体系可以记载的最大时刻距离。若屏蔽此计数器,则此状况继续时刻为体系可以抵达的最大时刻丈量规划,即6.8 μs。实践使用中可根据用户实践需求对计数器进行装备来约束计数状况的继续时刻。计数状况完毕后跳转到读出(01)状况,计数/读出形式切换信号答应,发动数据读出模块,完结记载时刻的读出。如前所述,单行数据链需求的读出时刻约为20 μs。尔后体系回到复位状况预备下次计数。
2 仿真测验与硬件完结
2.1 仿真成果剖析
本规划选用Altera公司的Quartus II与Mentor Graphics公司的Modelsim作为首要的规划东西。Cyclone系列FPGA具有片上锁相环(PLL)模块,可以对输入时钟进行精确的倍频、分频、相位偏移、可编程占空比等操作。体系外部时钟输入频率为50 MHz,经过装备片上PLL,可获得3倍频的计数时钟与移相时钟,5分频的读出时钟。
图5为单元电路计数状况仿真成果。rst为体系复位信号,start为计数起始信号,stop为计数中止信号,cnt_clk为计数时钟,shifted_clk为移相时钟,state为状况机状况码,shift_reg为多功用移位寄存器并行输入端口,q为线性反应移位寄存器输出。在计数状况下,当stop发生正脉冲时,LFSR中止计数,多功用移位寄存器并行输入锁存器1与锁存器2输出的时钟逻辑电平,记载时钟状况。图6为单元电路数据读出状况仿真时序图,rd_out为读出引脚,在读出时钟效果下,数据从移位寄存器中顺次移出。
2.2 硬件测验
时刻数字转化阵列在Cyclone II EP2C15芯片完结,体系外部时钟50 MHz。由函数发生器供给频率为F的脉冲信号,信号上升沿作为体系的起始信号,下降沿作为体系的中止信号,测得在不同频率下的时钟分辨率。测验数据标明时刻分辨率的算术平均值为1.73 ns。
经过仿真与硬件测验标明,本规划可以精确进行时刻数字转化,各项功用均抵达预期要求。以低密度低成本的Altera Cyclone II EP2C15作为方针芯片的归纳陈述显现,单元电路占用FPGA逻辑资源约为0.375%,具有极低的资源占用率。本规划时刻分辨率最高可达1.73 ns,而且完结原理简略,具有可行性。