FPGA的多路可控脉冲延迟系统

发布者:runaway2000最新更新时间:2008-12-19 来源: 单片机与嵌入式系统关键字:FPGA  脉冲  延迟  MCU 手机看文章 扫描二维码
随时随地手机看文章

  在科学研究、通信和一些自动控制中,经常需要精确定时的连续脉冲信号,用于产生测试信号或控制用的时序。脉冲延迟的基本方法可分为数字方法和模拟方法。数字方法采用计数器或存储器实现延迟控制,其缺点是无法满足高分辨率的要求;模拟方法采用专用的脉冲延迟器件实现延迟控制,其缺点是抗干扰效果不好,容易产生抖动和电压不稳等问题。于是我们提出构建数模结合的系统,实现连续脉冲信号的高分辨率延迟。

  1 系统功能

  本系统拟定对频率范围在1~50 kHz左右的TTL电平脉冲序列进行多路延迟处理。各路延迟时间分别由单片机动态设定,最大延迟时间为1ms,最大分辨率为O.15 nS级。

  2 方案选择

  因为所要处理的脉冲序列的脉冲间隔时间大于脉冲延迟时间,不必考虑多脉冲存储和再生的问题,所以数字方法中选用计数器法,完成延迟量高位部分控制。现存的计数器系统方案大多是基于SRAM的FPGA,其缺点是SRAM中的程序掉电后易丢失,上电后要借助于外围的单片机重新向SRAM中写程序,影响了系统的反应速度。为了解决这一问题,系统选用Actel公司的Flash FPGA,掉电后程序不易丢失,提高了系统的反应速度。另外,FPGA中的PLL模块能对外部时钟源进行分频、倍频,给计数器模块提供触发和计数脉冲。这些大大减少了芯片数目,提高了集成度,节省了系统面积和成本。然后,用VHDL语言对FPGA进行编程,实现硬件电路软件化设计,控制各路时序,完成用数字方法对脉冲信号的延迟控制,此时分辨率可以达到10 ns级。

  用模拟方法进行延迟低位部分控制时,选用了DS1020延迟线芯片。只要在电路板上搭建多组以DS1020延迟线芯片为主的电路,就可以同时输出多路脉冲序列。此时最大延迟分辨率可以达到0.15 ns级。本方案中各路计数器模块和延迟线的延迟时间均可由MCU编程来动态调整,系统结构框图如图1所示。

FPGA的多路可控脉冲延迟系统

  3 方案实现

  系统选用Actel公司的ProASIC3 A3P250芯片实现数字部分。系统时钟由外部50 MHz晶振提供,时钟引脚连接到FPGA的CCC全局时钟引脚上;频率可以通过FPGA内部的PLL实现倍频和分频,设定需要的频率。因为在多路脉冲延迟方案中电路的同步是保证控制准确的前提,所以应该首先为电路提供一个基准脉冲。通过PLL将50 MHz的频率倍频,产生一个100 MHz的低频触发脉冲,从而触发各路计数模块开始计数。同时,将100 MHz通过另一计数器模块得到1 kHz的触发脉冲,此时可以根据需要延迟的范围通过MCU编程来设定各计数器的初值,产生一个粗延迟的脉冲信号,实现以10 ns为步进的延迟,延迟分辨率为10 ns级。FPGA内部结构如图2所示。

FPGA的多路可控脉冲延迟系统

  FPGA将粗延迟脉冲信号送给多路延迟线芯片DS1020进行低位延迟。实际电路中DSl020的8个并行数据引脚(PO~P7)与MCU相连,MCU通过软件程序将延迟时间写入DSl020,并发送指令给EN端口,通知DS1020实现低位延时。通过与MCU相连的8位数据脚

  实现lO ns以内的延时,最后输出脚OUTPUT将脉冲信号送至D/A转换器,再经放大器放大后得到总延迟后的输出信号。多路延迟线结构框图如图3所示。

FPGA的多路可控脉冲延迟系统[page]

  4 系统仿真

  下面给出了核心部分的RTL图及QuartusII时序仿真波形。PLL模块的RTL图如图4所示。

FPGA的多路可控脉冲延迟系统

  计数模块2的RTL图如图5所示。该模块的输入clk应连接到频率为100 MHz的时钟信号,作为计数脉冲。en是使能信号,应连接到经过计数模块1分频后得到的1 kHz的时钟信号上。假设en信号到来,该信号为高电平时,计数器temp开始计数,到达设定的计数时间后输出高电平,否则为低电平。经过计数模块2后系统完成粗延迟,此时延迟分辨率为10 ns级。

  PLL模块实现倍频的功能。其中,输入clk0应连接频率为50 MHz的时钟信号。输出信号cO为100 MHz,分别送给计数模块1和2实现分频和计数脉冲的作用。其仿真波形如图6所示。

FPGA的多路可控脉冲延迟系统

  计数模块1和2的延迟时间均可由单片机动态写入,本方针波形写入的延迟时间为300 ns。延迟后的波形如图7所示。

FPGA的多路可控脉冲延迟系统

  结 语

  本设计不同于现有的延迟电路,它将数字方法和模拟方法相结合,对多路连续脉冲信号进行大范围高分辨率的动态延迟,将分辨率提高到了O.15 ns级。而且,本系统用Flash FPGA替代现有系统的SRAM FPGA,从而大大提高了系统集成度,降低了成本。

关键字:FPGA  脉冲  延迟  MCU 引用地址:FPGA的多路可控脉冲延迟系统

上一篇:FPGA嵌入式系统开发过程中的XBD文件设计
下一篇:Dan Leibholz担任ADI通用DSP工程总监

推荐阅读最新更新时间:2024-05-02 20:44

在Matlab中实现FPGA硬件设计
摘要:System Generator for DSP是Xilinx公司开发的基于Matlab的DSP开发工具同时也是一个基于FPGA的信号处理建模和设计工具。文章介绍了在Matlab中使用System Generator for DSP实现FPGA硬件设计的方法,同时给出了一个应用实例。 关键词:Matlab;FPGA;System Generator;DSP 近年来,在数字通信、网络、视频和图像处理领域,FPGA已经成为高性能数字信号处理系统的关键元件。FPGA的逻辑结构不仅包括查找表、寄存器、多路复用器、存储器,而且还有快速加法器、乘法器和I/O处理专用电路。FPGA具有实现高性能并行算法的能力, 是构成高性能可定
[半导体设计/制造]
抓住市场洗牌机遇,飞思卡尔为智能电表新标准量身打造MCU
智能电网作为下一代电网的发展模式,在全球范围内已获得广泛关注,世界各政府和企业对于建立智能电网来改进电能分配和节约电能的需求不断增大,纷纷积极地推进建设工作。作为全球规模领先的电力公司,中国国家电网公司(中国国网)对智能电网进行了全新的规划。 2009年,中国国家电网公司也宣布未来5年将会投资685亿元人民币,在全国范围内部署1.7亿块智能电表,其中75%为单相电表,25%为三相电表。2009年10月,国家电网公司正式发布了新的智能电表系列标准,对单相及三相智能电表的型式、技术和通用功能进行了规范和统一。 伴随中国国家电网新标准的推出,以及首批智能电表招标结果公示,多家核心处理器供应商毫不讳言将主动出击这一市场,努力提高
[工业控制]
51单片机时钟汇编程序
终于到了 感动ing...自己也可以DIY一个电子时钟了。 电路板和原件要另外找,南宁市的电子元件稀少得真难找啊,弄好后焊接,看来要找个好点的焊台,这样焊接电路时比较方便。 电路如下: ;简单的89C2051时钟程序 ;显示方式为.12:34之12小时制 ;P1口输出段数据,P3口输出位数据 ;P1.7为秒点,P3.7为PM输出 ;P3.4校时,P3.5校分 ;晶振12MHz flash equ 31h sec equ 32h ;定义秒存储位置 min equ 33h ;定义分存储位置 hour equ 34h hourk bit p3.4 ;调时按钮 mink bit
[单片机]
为何不在单片机上实现PLC的逻辑呢?
有朋友想定制一个净水机控制器,有一些独特的功能要增加,但是商品控制板没有这样的功能,问我能否做一个,我觉得单片机完全能满足这种简单的控制需要,上手开始编程序时候突然感到,用PLC逻辑编这种功能是非常简单轻松的,而如果用汇编或C编却感觉有点棘手,编程效率不高,所以想为何不在单片机上实现PLC的逻辑呢? 上网搜索尝试看能否找到合适的程序下载来稍微改改就能用的呢?方案几年前就有了,实际上是利用三菱的低档PLC编程软件编辑好梯形图,存盘后用专用的格式转换工具转换成HEX单片机烧写文件烧进去,尝试下载三菱PLC工具软件,但是在我的WIN7-64位系统上不能正常工作,好容易换了系统装好开发工具,但是初次上手这款开发工具,界面挺复杂的,懒得
[单片机]
为何不在<font color='red'>单片机</font>上实现PLC的逻辑呢?
二相四线步进电机的单片机源程序 用L298N模块驱动
在网上找了很久资料,都没有直接的源代码去驱动二相四线步进电机。本人编写了一些基本的代码,再加上L298N模块,就可以轻松驱动啦。 单片机源程序如下: #include reg52.h //电机IO #define GPIO_MOTOR P1 //sbit F1 = P1^0; //sbit F2 = P1^1; //sbit F3 = P1^2; //sbit F4 = P1^3; //按键IO sbit K1=P3^0; sbit K2=P3^1; sbit K3=P3^2; sbit K4=P3^3;
[单片机]
二相四线步进电机的<font color='red'>单片机</font>源程序 用L298N模块驱动
单片机ATMEGA16键盘及显示电路
输入及显示电路采用4个按键,和用功能切换完成对输出电压的设定及显示切换。显示部分采用共阳极数码管动态显示,如图所示。单片机ATMEGA16采用内部8 MHz晶振。 图 键盘及显示电路
[单片机]
<font color='red'>单片机</font>ATMEGA16键盘及显示电路
基于32位单片机MC68HC376的高可靠性系统设计方案
  引言   随着工业技术的不断发展,对单片机控制的要求也越来越高,需要单片机具备更高的反应速度和更强的数据处理能力,各种高性能的新型单片机得到了迅猛的发展和应用。单片机上主要是高速的数字信号,弱信号很容易受到外界的电磁干扰,同时,单片机系统也会发生掉电、死循环等问题。在工业控制场合,一旦控制发生错误,将会造成难以估计的损失。因此,如何提高控制的可靠性是长期以来的一个重要问题。本文介绍了应用32位高性能单片机MC68HC376的一种实际开发方案,同时重点讨论了提高系统可靠性的设计和实现方法。   MC68HC376是Motorola公司推出的一种新型的32位高性能单片机,具有极强的数据处理、逻辑运算和信息存储能力,且支持BDM
[单片机]
基于32位<font color='red'>单片机</font>MC68HC376的高可靠性系统设计方案
STC89C52系列单片机的特殊功能寄存器表
特殊功能寄存器地址表 单片机系统管理特殊功能寄存器 单片机中断管理特殊功能寄存器 单片机I/O口特殊功能寄存器 单片机串行口特殊功能寄存器 单片机定时器特殊功能寄存器 单片机看门狗特殊功能寄存器 单片机ISP/IAP特殊功能寄存器
[单片机]
STC89C52系列<font color='red'>单片机</font>的特殊功能寄存器表
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved