新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 一种多通道时钟分频和触发延迟电路的设计

一种多通道时钟分频和触发延迟电路的设计

作者:时间:2012-02-08来源:网络收藏

等占空比奇数分频设计所采用的方法是:假设所需要的分频系数为n(n为奇数),首先定义2个buffer类型的信号端口clk1和clk2,在上升沿敏感的情况下,当从0计数到(n-3)/2时,给clk1赋值1;当从(n-3)/2计数到n-1时,给clk1赋值0;同样的,在下降沿敏感的情况下,0到(n-3)/2时给clk2赋值1,(n-3)/2到n-1时给clk2赋值0。由于VHDL语言中process里的语句都是并行执行的,所以再将2路信号相或输出便得到分频数为n的分频信号。为了实现多路的延时,和前面所述多路分频电路一样,在顶层文件中做个例化,取各种不同的奇数来验证输出结果。下图4中clkout1~clkout8分别为2,3,4,5,6,7,8,9次分频,可以看到所输出的信号均为同步等占空比的分频信号。更多路、其他分频信号的实现可以稍加修改顶层程序即可。

本文引用地址:http://www.eepw.com.cn/article/190787.htm

f.jpg


实验采用50 MHz晶振,时钟周期为20μs。从图4中可以看出每路分频信号均为等占空比,由于偶数和奇数分开进行分频,因此是对奇数分频的输出是很精确的,例如clkout6输出的7分频信号里刚好是7个基准时钟周期。系统中在放电前需要设定分频参数时,只需要发送相应的指令改动顶层文件中的n值即可。

3 延迟设计
电路是为了使各子系统能够更好的做到时序同步,而是对子系统进行定时启动和停止各正在运行的子系统。触发延迟模块主要是将输入的原始触发信号按延时参数进行延时输出,为EAST中的数据采集和其它子系统提供精确的同步触发信号。本设计采用VHDL中移位寄存器来实现触发延迟功能。首先定义一个类属参数delay_count,在顶层设计实体中可以设置延迟参数。然后在延迟程序模块的结构体中定义一个移位寄存器trigger_r(delay_count-1 downto 0),其中delay_count代表所要延迟的位数。然后每隔一个时钟让寄存器左移一位,直至将原始触发信号放到寄存器trigger_r的最后一位,最后再把它输出,结果便是延迟了delay_count个单位时钟的触发信号了,该移位寄存器的功能语句如下所示:
g.jpg
4路延迟仿真结果如图5所示。图中每个时钟周期为20 ns,其中,delclk1是延迟10 ns×10=0.1μs的触发信号,delclk2是延迟0.3μs的触发信号,delclk3和delclk4分别是延迟0.9μs和1.2 μs的延迟信号。其他任意时间的延迟都可以这样方便的实现,延迟误差在ns级范围。

g.jpg



4 结语
本文所使用的和触发延迟实现简单,充分发挥了FPGA逻辑器件的高集成度、高速、高可靠性和并行处理能力的优势,方便每次放电时设定时钟和触发参数,非常适合EAST分布式中央定时同步系统中分布式节点的设计。在FPGA上的分频延时设计与仿真工作已经完成,接下来的工作就是要把设计文件下载到芯片中,使设计工作赋予实际。结合FPGA的高效性和嵌入式系统的以太网通信功能,便可以实现EAST分布式中央定时同步系统的时钟同步和触发延迟功能,满足EAST分布式节点对各子系统的同步触发的要求。

分频器相关文章:分频器原理
尘埃粒子计数器相关文章:尘埃粒子计数器原理

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭