基于CPLD的高速可程控数字延迟线系统的设计

时间:2007-09-25
1. 引言

  Kicker电源是“九五”国家重大科学工程之一兰州重离子加速器冷却储存环(HIRFL-CSR)的注入引出系统中一个重要组成部分[1] ,电源系统共包括六个分电源,它们需从共同的信号源接收信号,由于要求它们接收到的信号为同步信号而又因为地理位置致使其接收的信号是不可能完全同步的,为使其接收到同步信号需要在各分电源前端各配置一高速脉冲数字延迟线,对输入信号进行调节使经过数字延迟线后所有信号达到同步的效果。数字延迟线要求其延迟时间可调,时间范围为:5ns~300ns。延迟线是用于将电信号延迟一段时间的元件或器件,其广泛使用在雷达、电子计算机、彩色电视系统、通信系统,以及测量仪器中。

  随着EDA技术的广泛应用,CPLD已成为现代数字系统设计的主要手段, CPLD的时钟延迟可达到ns级,结合其并行工作方式,在超高速、实时测控方面有非常广阔的应用前景;并且CPLD具有高集成度、高可靠性,几乎可将整个设计系统于同一芯片中,实现所谓片上系统,从而大大缩小其体积。CPLD目前正朝着更高速、更高集成度、更强功能和更灵活的方向发展[2]。采用CPLD来实现数字延迟线系统,不 但大大节省电路开发费用,而且能提高设计效率,同时还能有效实现电路的数字化与微型化。

2 数字延迟线工作原理

  数字延迟线是将逻辑信号延迟一段时间的元件或器件。通常数字延迟线的设计思路是通过两个参数完全相同的延迟模块分别对脉冲的上升沿和下降沿进行延迟来达到脉冲信号整体延迟一段时间的效果。而由于实际上不可能存在参数完全相同的延迟模块使得脉冲前后沿的延迟时间不可能完全相同,所以这种设计的数字延迟线的延迟不可能很高。如果仅用一个延迟模块就能同时完成脉冲前后沿的延迟,这样就即节省了电路制作成本又提高了延迟线的延迟。本文正是基于这一思想并使用CPLD芯片来实现数字延迟线的设计的。

  本数字延迟线整体思想是:延迟模块在触发信号上升沿到来时开始工作,逻辑控制电路控制其输出为输入脉冲同相信号或输入脉冲反相信号,逻辑控制电路输出用于触发延迟模块,在延迟线输入脉冲上升沿到来时,逻辑控制电路输出为与输入脉冲同相信号,进而触发延迟模块,在延迟线输入脉冲下降沿到来时,逻辑控制电路输出为与输入脉冲反相信号,该信号刚好为上升沿,进而触发延迟模块进行延迟。同时该数字延迟线设计采用了反馈网络结构,结构更紧凑,更稳定。具体工作原理如下:

数字延迟线电路工作原理时序图


图1 数字延迟线电路工作原理时序图

  延迟线输入信号A,其反相信号 ,两信号通过逻辑控制模块其输出信号O1与其中一路信号同相,该信号接入可逆计数器模块置位端,当O1信号上升沿到来时触发可逆计数器开始计数,计数器计数结束后输出信号CK触发T触发器使T触发器输出态Q和 反相,输出端Q为该数字延迟线的输出端,其相对输入信号A有可逆计数器计数时间T的相对延迟,同时T触发器的输出端Q和 又作为逻辑控制模块的选择控制信号对信号A和 进行选择。初试状态下延迟线输入信号为低电平,T触发器输出端即延迟线输出端Q也为低电平,此时逻辑控制模块选择输入信号A使其输出信号O1和信号A同相,信号O1输入至计数器置位端,计数器置位端低电平有效,所以O1使可逆计数器处于置位状态,使计数器输出端状态恒处于预置位状态,计数器输出信号不发生改变,即而T触发器输出Q不发生改变,当信号A上升沿到来时,信号O1上升沿同时到来使其变为高电平,高电平触发计数器开始减计数,当计数器计数至0时,计数器输出端经或非门输出的信号CK由低电平变为高电平,该上升沿触发T触发器使其输出端Q反相,由低电平变为高电平,同时T触发器的输出端Q和 作为逻辑控制模块的选择控制信号使其输出信号O1变为与 同相,而此时 为低电平,所以O1信号使计数器处于置数状态输出为预置数,使得CK有变为低电平,T触发器不翻转,所有信号维持此状态不变。当输入信号A出现下降沿,既由高电平变为低电平时,信号 出现上升沿使得O1有低电平变为高电平,O1触发计数器减计数,减计数至0时,使得CK信号由低电平变为高电平,该上升沿触发T触发器使器输出反相,一方面使得逻辑控制模块输出信号变为与A信号同相,处于低电平使计数器处于预置数状态,使得电路状态又恢复到初始状态,当输入信号A又有脉冲到来时,数字延迟线将会重复以上动作;另一方面使得输出端Q出现下降沿,又高电平变为低电平,与输入信号A同相。整个过程来看T触发器输出Q相对输入信号A刚好有一个计数器计数时间Δt的延迟。数字延迟线电路工作原理的时序图如图1所示。由图1还可看出,同时T触发器的输出端 也是数字延迟线输入信号 的延迟信号。所以该数字延迟线即可以延迟高电平脉冲,也可以延迟低电平脉冲。

     该数字延迟线电路特点总结如下:1、电路结构相对简单,造价低廉。而一般延迟线电路都需要两个完全相同的电路分别完成对输入信号的上升沿和下降沿的等时间延迟以实现数字延迟线的功能[3],而且也不可能做到两电路参数完全相同。2、逻辑功能强,该延迟线可同时完成高、低脉冲电平的延迟。3、电路为时钟脉冲定时的延迟线,特别适用于数字通信、数字仪表及使用计算机的设备中。电路延时仅取决于时钟脉冲CP的周期,受环境温度、电源波动等因素的影响甚微,所以延迟时间非常稳定、,误差只是1个字的计数误差,时钟频率越大,延迟越高。4、电路可编程端即计数器预置数端DCBA可以由程序控制,DCBA端输入不同的BCD码得到不同的延迟时间的延迟线。延迟时间Δt=n×1/f,其中,f为时钟脉冲CP的频率,n为DCBA输入端的BCD码对应的十进制数。5、该数字延迟线的局限是它只能处理比其延迟时间长的脉冲信号,这也是现今数字延迟线的局限[4],但是该电路并不局限于只能处理占空比接近50%的脉冲信号,而是不受脉冲信号占空比的限制。

3 系统实现 
 

系统结构图


图2 系统结构图
 
     高速可程控数字延迟线系统的整体结构图如图所示。Kicker电源需要接收三路信号:主闸流管脉冲信号(MS)、从闸流管脉冲信号(DS)和高压脉冲信号(HV),故需要完成对这三路脉冲信号的可编程延迟。系统采用CPLD完成对三路信号的高速可程控延迟,CPLD外围电路包括晶体振荡器、系统复位电路及DCBA编程。延迟时间Δt由晶体振荡器输出时钟频率f和DCBA编程值共同确定,调节范围为(1 ~ 24-1)/f。DCBA编程值设置值为0000 ~ 1111,当时钟频率f=200MHz时,延迟时间调节范围为5ns ~ 75ns,时间调节为5ns。

  CPLD芯片包括三路数字延迟线模块,单模块的数字延迟线原理图如图3所示,包括MUX模块、COUNTER_CDL模块、MYCH模块、MYTFF模块和MYSEL模块。数字延迟线模块采用VHDL语言进行编程,程序码较长,限于篇幅,不再给出其VHDL源程序码[5][6],各模块功能如下:

数字延迟线原理图

  
图3 数字延迟线原理图

       MUX模块为逻辑控制模块,输出Q由控制端SEL电平高低选择输出与输入D0同相或反相。COUNTER_CDL为可逆计数器模块,根据DCBA编程设定值对信号进行延迟,MYCH模块将总线信号转换为单路信号,使输出信号仅在总线信号值为“0000”时输出信号为低电平。MYCH模块输出信号上升沿可触发MYTFF模块输出反相,MYTFF模块为T触发器,其输出即为数字延迟线信号,该信号同时作为MUX模块的控制输入端控制MUX模块的输出。当DCBA编程设定值为“0000”时,MYTFF输出信号并不是数字延迟线输入信号,即以上设计不能完成零延时,MYSEL模块为信号选择输出模块,在DCBA编程码为“0000”时,输出为延迟线输入信号,否则,输出为编程延迟信号。

EPM3032ALC44-4的I/O布局

 图4 EPM3032ALC44-4的I/O布局

4 仿真及波形

  本系统采用的CPLD芯片为ALTERA公司的EPM3032ALC44-4芯片,其运行频率为227.3MHz。采用MAX+PLUSⅡ10.0软件工具开发。设计输入完成后,进行整体的编译和逻辑仿真,然后进行转换、延时仿真生成配置文件,至CPLD器件,完成结构功能配置,实现其硬件功能。CPLD芯片EPM3032ALC44-4的各管脚布局如图4所示。其中clk时钟端口采用了芯片的全局时钟端,管脚号为43,输入信号为ms、ds和hv,输出为mso、dso和hvo。各管脚序号见图4所示。

  数字延迟线模块编译后进行仿真,所得仿真波形图如图5所示。DCBA编程十进制值为4,延迟线输出信号Sigout相对输入信号Signal刚好由4个时钟周期的延迟。Clk时钟频率设定为f=100MHz,即周期T=10ns,所以延迟时间Δt=4×10=40ns. 延迟线延迟误差只是1个字的计数误差,所以时钟脉冲频率越高,误差越小,由于采用的CPLD芯片的运行频率为227.3MHz,所以延迟误差约为4.5ns。如果采用工作频率更高的CPLD芯片,可进一步提高延迟误差的。由定时分析,输入信号到输出信号传播延迟为4.5ns,由时钟信号clk到输出信号的传播延迟时间为9.1ns.

5 结论

  本文作者创新点:摒弃了传统的采用两个参数完全相同的延迟模块来实现数字延迟线的设计方法,设计了一种由单一模块可同时对脉冲上升沿和下降沿进行延迟的数字延迟线,并采用了CPLD用以实现高速可程控数字延迟线系统的设计。另外,该数字延迟线系统可通过提高晶振频率,采用速度更高的CPLD芯片来进一步降低延迟误差。本文所述系统已完成调试工作并已开始应用于兰州重离子加速器冷却储存环(HIRFL-CSR)的Kicker电源系统中。


  

参考文献:

[1]. CPLD datasheet https://www.dzsc.com/datasheet/CPLD_1136600.html.
[2]. BCD datasheet https://www.dzsc.com/datasheet/BCD_1225719.html.


上一篇:基于FPGA的NAND FLASH控制器
下一篇:基于FPGA的VRLA蓄电池测试系统设计

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料