基于FPGA的高速可变周期脉冲产生器的计划
发布日期:2011-05-14
请求变化脉冲周期和输出脉冲个数的脉冲输出电路模块在很多产业范畴都有运用。采取数字器件计划周期和输出个数可调理的脉冲产生模块是方便可行的。
1 引 言
为了使之具有高速、机动的好处,本文采取Atelra公司的可编程芯片
FPGA计划了一款周期和输出个数可变的脉冲产生器。颠末板级调试得到精良的运行结果。
2 总体计划思路
脉冲的周期由高电平连续时间与低电平连续时间共同构成,为了变化周期,采取两个计数器来分别控制高电平连续时间和低电平连续时间。计数器采取可并行加载初始值的N位减法计数器。设置:当请求的高电平常间以初始值加载到第一个减法器中后,减法器开始减计数,计数到零时主动克制,同时启动第二个记录低电平连续时间的计数器计时。当第二个减法计数器也减计到零时,计数器主动克制。
如许就完成一个脉冲的输出,而这个脉冲的周期控制完全可以在计数器的初始值中举行有效的设置.以到达脉冲周期可调的目标。为了控制脉冲个数的输出,在脉冲输出通道上计划一个数量控制计数器,对脉冲个数举行计数,当计到请求输出的个数时.完成输出并给出一个done信号作为该模块事变完成的标记信号。封装好的脉冲产生器计划框图如图l所示。
引脚信号阐明:
start信号:启动信号。
reset,信号:体系复位信号。
clock信号:体系时钟信号。
high信号:高电平连续时间初值。
low信号:低电平连续时间初值。
num信号:个数控制寄存器初始值。
output信号:脉冲输出信号。初始化时为低。
done信号:脉冲输出完的标记信号。
3 曲折电平计时器计划
3.1 计划要领
为了孕育产生所必要时间的高电平,可以利用一个可预置数的减法计数器来到达目标,计数器计划分为两个部分,一部分是可预置数的自控制减法计数器:另一部分是减法计数器事变完成后的检测体系,检测到计数器事变完成后输出一个时钟周期宽的脉冲作为该计数器事变完成信号,并可作为下一个计数器事变的启动信号。原理框图如图2所示。
3.2 事变原理
起首.外部的复位信号reset给出一个时钟周期宽的脉冲,复位内部各个信号及触发器。
然后,在下一个有效时钟时候,外部start信号给出一个时钟周期宽度的脉冲,用来启动计数器的事变。在计划中,当start信号有效时(计划为高有效),外部数据high加载到Q,当Q不为零时,输出信号pulse将跳变为高电平,当Q减到零的时间,pulse信号再跳变回低电平。这个脉冲信号的后沿将被背面的由两个D触发器构成的检测单位捕获,并在pulse信号的降落沿后孕育产生一个时钟周期宽的脉冲,定义为done信号,表现该信号完成输出。
低电平计时器的计划与高电平计时器完全一样。
3.3 时序仿真
在QuartusⅡ4.1开辟平台上模仿该模块两个输出信号,时序仿真如图3所示。
从图中可以看出,done信号在pulse信号输出完成后输出一个时钟周期宽度。把这个完成信号done加到下一级雷同的减法计数器的start信号上。将会启动下一级计数器的事变。要是将下一级的完成信号done加载给本级的start信号。将会重启一个脉冲的天生。云云将会主动循环以到达不停止输出肯定周期脉冲的目标。
4 数量控制计数器计划
4.1 计划要领
数量控制计数器计划与曲折电平计数器雷同.差别之处在于,减法计数器的时钟输入端接脉冲的输出信号,当请求输出脉冲的个数到达时,输出一个门控信号door,背面的两个D触发器仍旧用来捕获门控信号door的后沿。一旦输出个数到达,done信号立即输出一个时钟周期宽度的脉冲作为标记。详细计划框图如图4所示。
4.2 时序仿真
在QuartusⅡ4.1开辟平台上软仿真,把脉冲产生器中孕育产生的每个脉冲的start信号作为数量控制器的输入信号,仿真结果如图5所示。
每次输出任务完成后。由总体模块输出一个OV信号标记该批次任务结束。OV信号可再次加载到总的reset信号上,即该批次输出完成可复位进入下一批次任务的输出。图5中的door信号出现了很窄的毛刺,这是由于内部计数器的翻转差别步导致的。加同步电路可以消除,但会影响电路的事变频率。由于毛刺很窄,对整个电路事变无任意影响。以是,该模块计划中并未处理惩罚。
5 内部信号连接及事变方法
根据各个模块的成果和逻辑干系,由高电平计时器、低电平计时器和数量控制计数器可以搭建整个周期脉冲产生器.其内部电路根据图6的方法连接。
起首,在时钟信号上升沿给出一个时钟周期宽度的reset信号以复位整个电路的触发器和各个输出信号。当一个启动信号start在时钟的上升沿被检测到时,高电平开始计时,计时长度便是high数值与时钟周期之积。当计时到达时,高电平计时器克制事变,高电平计时器输出一个完成信号,该信号接在低电平计时器的start信号脚上,以启动低电平计时器,低电平计时器计时完成时,低电平计时器克制事变,并输出一个完成信号,该信号通过或门接在高电平计时器的start信号脚,再次启动高电平计时器,开始第二个脉冲高电平的输出。由于低电平计时器的完成信号也连接在数量控制计数器的start引脚上.以是,与此同时,数量控制计数器开始对其输入脉冲s_input举行数量监测。
在脉冲输出数量未到达预定个数(数量控制计数器中的初始值)时,门控信号door不停输出"高",以容许脉冲通过。一旦脉冲输出的数量到达预定个数时,门控信号door输出变为"低",封闭输出通道,并输出一个任务完成的标记信号done。done又通过或门连接在全局复位信号reset上,以是,体系完成后即可复位到原状以等待下一次启动信号到临。
周期脉冲产生器模块团体时序仿真如图7所示。
图7模仿了两路脉冲的输出,第一起输出两个脉冲,第二路输出一个脉冲,当两路脉冲都输出完成时,体系规复到初始状态。而当start信号再次给出一个启动脉冲后,将再实行一次任务。
6 结束语
从模仿结果看出,本文给出的计划完全可以到达计划请求。由于
FPGA的运行速率最高可以到达100 MHz量级,输出的脉冲调理步长和最小宽度都可以到ns量级。在此底子上,笔者计划了一个多路可调脉冲周期的时序电路,并运用在团簇粒子的核物理实行中。收到得意结果。