2. 复旦大学 微电子学院,上海 201203
2. School of Microelectronics, Fudan University, Shanghai 201203, China
现代自动化技术中少不了距离测量仪器,激光测距仪利用激光对目标位置进行测量从而实现精准定位[1],在军事、民用和工业各领域都有重要的应用。激光测距为主动式测距,其原理是主动发射激光,测量从激光发射到接收反射激光之间的时间间隔,从而将距离的测量转换为时间的测量[2],显然,测时的精度会直接影响最终的结果。时序发生器应用于激光测距仪,可对输入的参考时钟信号进行可编程延时,根据控制信号产生相应的时序信号,提供激光测距仪所需的高频率与高分辨率,从而提高测量精度。
时序发生器主要使用专用集成电路(ASIC)设计方法,也有少部分基于进阶精简指令集机器 (ARM)微处理器的设计方法[3],随着现场可编程门阵列(FPGA)技术的发展,出现了基于FPGA的设计方法,虽然性能远比不上ASIC设计,但具有开发周期短、可重复编程、制造成本低、可实时在线检测等优点,适用于集成电路(IC)开发与验证阶段的测试。
早前有人使用Xilinx的Virtex-4芯片作为时序发生器核心控制器[4],采用多路复用并由外部时钟芯片提供2.5 GHz的时钟,实现了400皮秒(ps)的分辨率,但具有高速时钟抖动较大、速率不能改变的缺点。相比之下,较为成熟的ASIC设计方法很容易实现100 ps[5]甚至几皮秒的分辨率[6-7]。文献[8]基于Altera的Cyclone系列FPGA,实现了100 Mbit/s的数据速率与20 ps的分辨率,文献[9]则实现了最小13 ps的分辨率。
近几年,FPGA性能逐渐提升,使用Xilinx Spartan-6芯片实现了3.2 Gbit/s的数据速率,分辨率达到了35 ps[10],文献[11]同样使用该芯片实现了200 ps的时序分辨率。最近我国学者提出了一种称为“时间折叠”的新方法,使用高性能的Xilinx Virtex-7芯片实现了5 ps的分辨率[12],经过进一步研究后又将分辨率提升至3 ps[13]。
本文基于FPGA开发激光测距仪的时序发生器模块,并进行了性能测试与分析。
1 设计方案已有的一些基于FPGA开发的时序发生器主要对FPGA内部资源进行编程,作为时标电路的延迟线,已经能实现几百皮秒甚至几十皮秒的分辨率,但容易受温度和干扰等影响,精度无法进一步提高。可见,想要利用FPGA的资源实现更高的分辨率是有一定界限的,虽然有提升时钟频率的方法,但FPGA在时钟频率方面同样会有限制。本文设计的时序发生器关键在于使用外部延迟链芯片作为延迟线。这种延迟线位于FPGA芯片外部的方法,能降低一部分温度、串扰等因素对延迟线精度的影响,同时这一类专用延时芯片能达到很高的分辨率。
时序发生器的系统硬件架构如图1所示。FPGA作为核心控制器,连接各部分外围电路。以外部的高精度晶振作为参考,在FPGA内部产生初始时钟信号;外接延迟芯片提供最小延时,由FPGA将原始信号输出至延迟芯片后再返回;通用异步收发传输器(UART)串口芯片使得FPGA能够与上位机(PC)进行通信,通过传送延迟数据可以实时地改变信号的延时。
|
图 1 系统硬件架构 Figure 1 System hardware architecture |
图2所示为时序发生器电路设计简化框图,主要由锁相环、时标、数据处理电路和组合逻辑电路组成。晶振的时钟信号输入锁相环后,经过倍频输出至时标电路;数据处理电路在接收到PC经由串口传送的延迟数据后,生成控制信号;时标电路在接收到控制信号后改变延时,最后通过组合逻辑电路输出。
|
图 2 电路设计简化框图 Figure 2 Simplified block diagram of circuit design |
锁相环电路与传统结构基本相同,主要由相位频率检测器(PFD)、电荷泵(CP)、环路滤波器(LF)和压控振荡器(VCO)构成。PFD比较输入时钟和反馈时钟的上升沿的相位和频率,生成与两个时钟之间的相位和频率成比例的信号。这个信号用于驱动CP和LF为VCO生成一个参考电压,以确定VCO是否应该以更高或更低的频率运行。在两路信号进行比较前各有一个分频器M0和M1,其作用是使输出信号的频率达到分数倍的倍频,扩大了可变频率范围。当相位、频率一致时,锁相环进入锁定状态,输出变频变相的信号。
2.2 时标电路所设计的时标主要由可编程延迟线与电平转换电路两部分组成。延迟线部分使用ON Semiconductor公司的NB6L295M延迟芯片,该芯片具有两个通道的延迟线,分辨率为11 ps。芯片内部主要电路如图3所示,一共有9阶延迟,对应9位锁存器,通过改变0或1决定是否选通来改变最终对信号产生的延迟,移位寄存器则用于存放接收的11位延迟数据,除去9位剩下的2位为模式选择与通道选择。该芯片有两个工作模式:双通道模式下,两条延迟线互相独立,为两个通道的信号分别提供延时;扩展模式下,将两条延迟线级联,以扩大可变延迟范围,但只能用于一路信号。
|
图 3 延迟线电路图 Figure 3 Delay line circuit |
信号经延迟芯片输出后需要传送至FPGA进行下一步处理,该芯片的输出信号为CML电平,需要将其转换为FPGA支持的LVDS电平。不同电平标准之间的区别在于电压所在区间范围的差异,主要由该电平的直流分量决定。电平转换电路如图4所示,采用交流耦合,用电容隔去直流分量后,经电阻网络分压提供LVDS电平所需的+1.2 V直流分量。其中,使用阻值较大的电阻以减小电阻网络对100 Ω差分阻抗线的影响。
|
图 4 电平转换电路 Figure 4 Level conversion circuit |
经串口接收的延时数据需要根据一定的时序传送至延迟芯片,控制芯片延时数据加载的一共有4路信号:使能信号/EN、时钟SCLK、串行数据SDIN和加载信号SLOAD,其时序关系如图5所示。
|
图 5 控制信号周期时序图 Figure 5 Period sequence diagram of control signals |
1)/EN置高电平,芯片进入数据读取状态,开始接收SCLK、SDIN和SLOAD;
2)在每个SCLK的上升沿保存1位数据,经过11个SCLK周期后,延时数据全部保存至芯片内的11位移位寄存器;
3)SLOAD置高电平,选定工作模式与通道,把9位延迟数据D0~D8赋值给控制通道延迟的锁存器,信号的延迟立即改变;
4)SLOAD置低电平,/EN置低电平,延迟数据加载完毕,进入等待状态,准备加载下一组延迟数据。
2.4 组合逻辑电路组合逻辑电路的作用是组合输出延时信号。传统方法使用的是多路器,使用异或逻辑门电路是另一种方法,其优点在于不需要时钟信号且电路简单,对原信号的影响较小。图6所示为信号组合输出的简化电路图,设计为单沿触发。
|
图 6 组合逻辑电路 Figure 6 Combination logic circuit |
本文设计的时序发生器通过Xilinx Spartan-7芯片实现,使用Vivado设计套件对制作的FPGA开发板进行编程并下载,分别对200,400,600 Mbit/s三种速率下的延时、抖动(Jitter)、分辨率、线性度(Linearity)等指标进行测试,并对测试结果进行分析。
3.1 延时与抖动图7所示为延时与抖动的仪器测试结果,其中,图7(a)、7(c)、7(e)分别对应200,400,600 Mbit/s的时序信号波形图。在示波器余辉模式下对信号进行若干次等间距延时。根据测试结果,在三种数据速率下都明显实现了延时的功能。
|
图 7 时序信号波形图与相位噪声频谱图 Figure 7 Timing waveform and phase noise spectrum |
抖动与相位噪声实际是对同一种现象在时域和频域的两种不同定量方式,通过对选定的区间进行积分能将相位噪声转换为抖动[14]。抖动是体现时序发生器性能的重要指标之一,它描述了信号边沿实际位置与理想位置之间的偏差。图7(b)、7(d)、7(f)分别对应使用信号分析仪测得200,400,600 Mbit/s时的相位噪声频谱图,取积分区间100 Hz至40 MHz,得到抖动结果分别为7.4,8.9,9.1 ps。经多次测量对比三种情况分析得出:不同数据速率情况下,速率越快,相位噪声与抖动越大;相同数据速率的情况下,不同时延下的抖动结果也会有差异,特别是当两个边沿相距很近时抖动会大幅增加,造成这个现象的原因是此区域为非线性区,信号还未从低电平上升至高电平便开始下降,与理论位置产生很大偏差,降低驱动电压的幅度和增大驱动电流可以改善该现象。
3.2 分辨率分辨率是时序发生器另一个重要的指标,如图8(a)、8(b)、8(c)所示,分别对应间隔1、2、10 step情况下的测试结果,其中,1 step=11 ps。综合多次测量对比分析得出:在1 step情况下两个边沿之间距离明显粗细不均匀,且会出现下一个边沿出现在上一个边沿之前的情况。结合抖动测试结果来看该情况只可能发生在1 step情况下,这种现象从2 step开始起没有再出现,相邻边沿之间的距离逐渐趋于均匀,直到10 step,相邻边沿间距均匀,差异不明显。
|
图 8 分辨率测试结果 Figure 8 Resolution test results |
线性度体现了实际曲线偏离理想曲线的程度,常用积分非线性(INL)表示,其表达式为
| $ {\rm INL}\left( i \right) = \frac{{\left( {{\tau _i} - {\tau _0}} \right) - i \cdot {\tau _{{\rm LSB}}}}}{{{\tau _{{\rm LSB}}}}}{\rm LSB} $ |
式(1)表示第i+1个点与理想曲线的偏差。
图9所示为线性度的测试结果,其中,点线、短划线和直线分别对应200,400,600 Mbit/s下的测试结果,1 step=110 ps,图9(a)为测试结果的线性拟合,图9(b)为INL测试结果的折线图。
|
图 9 线性度测试结果 Figure 9 Linearity test results |
本文提出了激光测距仪时序发生器的一种设计方案,对方案进行仿真与验证,制作了FPGA开发板并进行测试。测试结果表明,设计的时序发生器具有11 ps的可变延时分辨率与最高600 Mbit/s的数据速率,具有一定的可靠性与稳定性,实现了预期功能。但在噪声的抑制和印刷电路板布局以及电路的优化等方面仍有可改进的地方,还能进一步提高精度,是后期继续着重研究的方向。
| [1] | KORTMANN T, REIFF E C. 精确定位: 用途广泛的激光测距仪[J]. 现代制造, 2003(25): 46–47. |
| [2] | 王陆, 王艺梅. 一种单站被动式光学测距系统[J]. 长春理工大学学报 (自然科学版), 2013, 36(5): 52–54. |
| [3] | HOŠÁK R, JEŽEK M. Arbitrary digital pulse sequence generator with delay-loop timing[J]. Review of Scientific Instruments, 2018, 89(4): 045103. DOI:10.1063/1.5019685 |
| [4] | SUN Z L, LI N, WANG Y N, et al. High resolution programmable digital delay generator design and realization[C]//2010 International Conference on Intelligent System Design and Engineering Application. Changsha, China: IEEE, 2010. |
| [5] | CHRISTIANSEN J. An integrated CMOS 0.15 ns digital timing generator for TDC's and clock distribution systems[J]. IEEE Transactions on Nuclear Science, 1995, 42(4): 753–757. DOI:10.1109/23.467797 |
| [6] | OKAYASU T, SUDA M, YAMAMOTO K, et al. 1.83 ps-resolution CMOS dynamic arbitrary timing generator for >4 GHz ATE applications[C]//IEEE International Solid State Circuits Conference. San Francisco, USA: IEEE, 2006. |
| [7] | ARKIN B. Lowering the cost of test with a scalable ATE custom processor and timing IC containing 400 high-linearity timing verniers[C]//IEEE International Conference on Test. Austin, USA: IEEE, 2005. |
| [8] | CHEN Y Y, HUANG J L, KUO T, et al. Design and implementation of an FPGA-based data/timing formatter[J]. Journal of Electronic Testing, 2015, 31(5/6): 549–559. |
| [9] | CHEN Y Y, HUANG J L, KUO T. Implementation of programmable delay lines on off-the-shelf FPGAs[C]//2013 IEEE AUTOTESTCON. Schaumburg, IL: IEEE, 2013. |
| [10] | KEEZER D C, CHEN T H, GRAY C E, et al. Multi-gigahertz arbitrary timing generator and data pattern serializer/formatter[C]//2012 IEEE International Test Conference. Anaheim, USA: IEEE, 2012. |
| [11] | HUANG Y K, LI K T, HSIAO C L, et al. Design and implementation of an EG-pool based FPGA formatter with temperature compensation[C]//2017 IEEE 26th Asian Test Symposium. Taipei, China: IEEE, 2017. |
| [12] | QIN X, ZHANG W Z, WANG L, et al. A pico-second resolution arbitrary timing generator based on time folding and time interpolating[J]. Review of Scientific Instruments, 2018, 89(7): 074701. DOI:10.1063/1.5037841 |
| [13] | ZHANG W Z, QIN X, WANG L, et al. A fully-adjustable picosecond resolution arbitrary timing generator based on multi-stage time interpolation[J]. Review of Scientific Instruments, 2019, 90(11): 114702. DOI:10.1063/1.5119148 |
| [14] | 吴俊璋. 高速实时采样中时间抖动的处理方法研究[D]. 成都: 电子科技大学, 2019. |
2020, Vol. 42
Issue (4): 82-87


