DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 121|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-17 14:54:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
摘要:针对兰州重离子加速器冷却储存环(HIRFL-CSR)踢轨磁铁(Kicker)电源的需要,设计了一种基于可编程逻辑器件(CPLD)的高速可程控数字延迟线系统。文中分析介绍了数字延迟线系统结构、工作原理及CPLD芯片的设计并给出了仿真波形。该方案满足了Kicker电源对脉冲进行适当延迟的要求,解决了Kicker电源系统脉冲同步的问题。
关键词:CPLD;可程控;延迟线;Kicker

1. 引言
Kicker电源是“九五”国家重大科学工程之一兰州重离子加速器冷却储存环(HIRFL-CSR)的注入引出系统中一个重要组成部分[1] ,电源系统共包括六个分电源,它们需从共同的信号源接收信号,由于要求它们接收到的信号为同步信号而又因为地理位置致使其接收的信号是不可能完全同步的,为使其接收到同步信号需要在各分电源前端各配置一高速脉冲数字延迟线,对输入信号进行调节使经过数字延迟线后所有信号达到同步的效果。数字延迟线要求其延迟时间可调,时间范围为:5ns"300ns。延迟线是用于将电信号延迟一段时间的元件或器件,其广泛使用在雷达、电子计算机、彩色电视系统、通信系统,以及测量仪器中。
随着EDA技术的广泛应用,CPLD已成为现代数字系统设计的主要手段, CPLD的时钟延迟可达到ns级,结合其并行工作方式,在超高速、实时测控方面有非常广阔的应用前景;并且CPLD具有高集成度、高可靠性,几乎可将整个设计系统下载于同一芯片中,实现所谓片上系统,从而大大缩小其体积。CPLD目前正朝着更高速、更高集成度、更强功能和更灵活的方向发展[2]。采用CPLD来实现数字延迟线系统,不但大大节省电路开发费用,而且能提高设计效率,同时还能有效实现电路的数字化与微型化。
2 数字延迟线工作原理
数字延迟线是将逻辑信号延迟一段时间的元件或器件。通常数字延迟线的设计思路是通过两个参数完全相同的延迟模块分别对脉冲的上升沿和下降沿进行延迟来达到脉冲信号整体延迟一段时间的效果。而由于实际上不可能存在参数完全相同的延迟模块使得脉冲前后沿的延迟时间不可能完全相同,所以这种设计的数字延迟线的延迟精度不可能很高。如果仅用一个延迟模块就能同时完成脉冲前后沿的延迟,这样就即节省了电路制作成本又提高了延迟线的延迟精度。本文正是基于这一思想并使用CPLD芯片来实现数字延迟线的设计的。
本数字延迟线整体思想是:延迟模块在触发信号上升沿到来时开始工作,逻辑控制电路控制其输出为输入脉冲同相信号或输入脉冲反相信号,逻辑控制电路输出用于触发延迟模块,在延迟线输入脉冲上升沿到来时,逻辑控制电路输出为与输入脉冲同相信号,进而触发延迟模块,在延迟线输入脉冲下降沿到来时,逻辑控制电路输出为与输入脉冲反相信号,该信号刚好为上升沿,进而触发延迟模块进行延迟。同时该数字延迟线设计采用了反馈网络结构,结构更紧凑,更稳定。具体工作原理如下:






???
图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”时,输出为延迟线输入信号,否则,输出为编程延迟信号。







图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] 高大庆, 武荣等.兰州重离子加速器冷却储存环脉冲开关电源[J].电力电子技术,2003.2
[2] 黄正谨,徐坚等. CPLD系统设计技术入门与应用[M]. 北京:电子工业出版社,2002.
[3] 纪宗南编译.高性能可编程数字延迟线电路[J]. 译自ElectrOnic Engineering. 1990,5.
[4] John Guy, Maxim Integrated Products, Sunnyvale, CA? 占空比范围很宽的延迟线[J].电子设计技术, 2003,01.
[5] 侯伯亨,顾新. VHDL硬件描述语言与数字逻辑电路设计. 修订版[M].西安:西安电子科技大学出版社,1997
[6] 朱海君,衡昌胜,敬岚.双向数据转换器的VHDL程序设计[J].微计算机信息,2005 No.1 P.150-151
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2026-2-3 03:20 , 耗时 0.088268 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表