首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于数字移相的高精度脉宽测量系统及其FPGA实现
来源:本站整理  作者:佚名  2009-08-06 18:37:19



  2 系统实现

  系统实现的最关键部分是保证送入各计数器的时钟相对延迟精度,即要保证计数时钟之间的相位差.由于通常原始时钟频率已经相对较高(通常接近100MHz),周期在10~20ns之间,因此对时钟的延迟时间只有几ns,使用普通的延迟线芯片无法达到精度要求;同时为了避免电路板内芯片间传送延迟的影响,保证测试系统的精度、稳定性和柔性.本文采用现场可编程门阵列(FPGA)来实现所提出的测量方法.系统结构如图3所示.晶振产生原始输入时钟,通过移相计数模块后得到脉宽的测量值,测量结果送入FIFO缓存中,以加快数据处理速度,最后通过PCI总线完成与计算机的数据传输.逻辑控制用来协调各模块间的时序,保证系统的正常运行.为提高测试系统的灵活性和方便性,系统建立了内部寄存器,通过软件修改寄存器的值可以控制测试系统的启动停止,选择测量高电平或低电平等.移相计数模块、FIFO缓冲以及逻辑控制均在FPGA芯片内实现,芯片使用XILINX公司的SpartanII系列.

  SpartanII系列是一款高性能、低价位的FPGA芯片,其最高运行频率为200MHz,这里选用其中的XC2S15-6(-6为速度等级).芯片提供了四个高精度片内数字延迟锁定环路(Delay-Locked Loop,即DLL),可以保证芯片内时钟信号的零传送延迟和低的时钟歪斜(Clock Skew);同时可以方便地实现对时钟信号的常用控制,如移相、倍频、分频等.在HDL程序设计中,可以使用符号CLKDLL调用片内DLL结构,其管脚图如图4所示.主要管脚说明如下:

基于数字移相的高精度脉宽测量系统及其FPGA实现

  CLKIN:时钟源输入,其频率范围为25~100MHz.

  CLKFB:反馈或参考时钟信号,只能从CLK0或CLK2X反馈输入.

  CLK?眼0|90|180|270?演:时钟输出,与输入时钟同频,但相位依次相差90°.其内部定义了属性DUTY_CYCLE_CORRECTION,可以用来调整时钟的占空比,值为FALSE时,输出时钟占空比和输入时钟一致,值为TRUE时将占空比调整为50%.

  CLK2X:时钟源倍频输出,且占空比自动调整为50%.

  CLKDV:时钟源分频输出,由属性 CLKDV_DIVIDE控制N分频,N可以为1.5、2、2.5、3、4、5、8或16.

  LOCKED:该信号为低电平时,表示延迟锁相环DLL还没有锁定信号,上述输出时钟信号未达到理想信号;当变为高电平时,表示锁相环已经完成信号锁定,输出时钟信号可用.若时钟源输入频率大于60MHz,则系统锁定时间大约需20μs.

  利用DLL功能可以非常快速方便地构建移相计数模块,实现本文前面介绍的测量方法.移相计数模块结构如图5所示.原始时钟通过CLKDLL处理后得到的相位依次相差90°的四路时钟输出为CLK0、CLK90、CLK180和CLK270,它们分别作为四个相同的16位计数器的计数时钟,待测信号连接计数器的使能端,同时控制四个计数器的启动和停止.有了各计数器的计数结果,再通过加法器得到累加的计数个数,最后计算出信号脉宽值.

  3 仿真和精度分析

  图6给出了FPGA芯片内部布线后用Modelsim进行仿真的结果.在RESET后就启动移相计数模块,开始对待测信号进行测量,完成一次测量后产生READY信号,同时输出测量结果,以供后续部分使用.仿真的结果证明测试系统达到设计目标.

基于数字移相的高精度脉宽测量系统及其FPGA实现

  下面进一步对系统做深入的误差分析.造成系统测量脉宽误差的来源主要有系统原理误差TS、时钟相移误差TP和信号延迟误差Td以及计数时钟抖晃TC,如图7所示.

基于数字移相的高精度脉宽测量系统及其FPGA实现

上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:210,523.40000 毫秒