基于CPLD和DS1020的多道数字延迟脉冲发生器

来源:本站
导读:目前正在解读《基于CPLD和DS1020的多道数字延迟脉冲发生器》的相关信息,《基于CPLD和DS1020的多道数字延迟脉冲发生器》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《基于CPLD和DS1020的多道数字延迟脉冲发生器》的详细说明。
简介:讨论了一种可用于飞行时间质谱仪(TOF)的小型多通道时序系统,研制一种新型高精度的可编程数字延迟/脉冲发生器。采用单片机(MCU)作为微控制器,通过可编程逻辑器件(CPLD)和可编程数字延迟线(DS1020)产生所需脉冲,介绍了高速数字系统中的定时误差问题。该装置可同时输出7路脉冲,延迟分辨率最低可达0.15 ns,脉冲宽度分辨率为10 ns,可以采用外同步触发方式完成多台设备级联控制。

0 引言

在现代的科学实验、雷达、通信、测试与控制系统中,往往需要高精度的多路数字脉冲信号[1]作为测试或者时序控制信号。目前科研领域使用的数字可编程数字延迟脉冲发生器有DG535、BNC Model555以及DEL PDG-2510等进口仪器,其中应用最多的是DG535。DG535作为一种多用途脉冲发生器,精度高达5 ps,延迟范围达到0~999.999 999 999 995 s,可输出TTL、ECL、NIM和VAR 4种电平且幅度与极性可调,但是DG535仅有4路延迟输出(脉宽固定),如要同时调节脉宽,只能输出两路脉冲,适合于需要通道数目不多的实验领域,且价格高。综合考虑,本文采取单片机+可编程逻辑器件的方案,设计一套多路可编程数字延迟脉冲发生器系统。该系统可同时输出7路脉冲,通过串口与上位机连接后,可以实现输出脉冲的延迟和宽度以及频率的实时调节,且能够多台设备级联使用,必要时还可以脱机工作。

1 系统设计方案

基于CPLD和DS1020的多道数字延迟脉冲发生器

多通道数字可编程脉冲发生器典型输出信号模式如图1所示。T0是基准门控信号,其他通道CHn(n为1~6)输出由T0信号的上升沿触发。系统主要由单片机、可编程逻辑器件、可编程延迟线和脉冲驱动电路组成。

1.1 可编程逻辑器件

目前主流的可编程逻辑器件主要是复杂可编程逻辑器件(CPLD)和现场可编程门阵列(FPGA)。FPGA的内部资源多为触发器,适合大规模的时序电路;而CPLD内部寄存器资源丰富,适合组合逻辑多的应用。CPLD内部逻辑块互联是集总式的,其特点是等延时,设计完成的电路延时固定,且可预测。FPGA内部互联为分布式,延时和布局有关。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电后需从器件外部将编程数据重新写入SRAM,电路也重新布局从而导致延迟不固定,无法预测。

本系统最终采用Altera公司的MAXⅡ系列CPLD-EPM1270T144C3N[2]作为数字定时器,其包含1 270个逻辑单元(LE),典型等价宏单元数目为980,速度等级为3级,支持高达300 MHz的内部时钟频率,其I/O口摆率和驱动能力均可编程,并且可以配置为施密特触发器从而提高信号完整性,使用非常方便。时钟源选用100 MHz的外部有源晶振以减小时钟抖动从而改善时序品质。

可编程逻辑器件的编程语言采用VerilogHDL[3],它是一种基本语法与C语言非常类似的硬件描述语言。设计和仿真平台分别选择QuartusⅡ和ModelSim-Altera。前者是Altera公司开发的PLD设计软件,后者则是Mentor Graphics公司专为Altera开发的仿真工具,可以与QuartusⅡ下的工程文件无缝对接,极大提升仿真效率。

1.2 可编程延迟线

高精度的延迟调节通常采用可编程延迟线IC,本系统采用的是Maxim公司的DS1020-15[4]。可编程延迟线是一种数字模拟混合电路,它对于输入脉冲的延时作用由其内部的数字寄存器和斜坡产生器决定。DS1020延迟产生结构如图2所示。

基于CPLD和DS1020的多道数字延迟脉冲发生器

基于CPLD和DS1020的多道数字延迟脉冲发生器

DS1020是一款8位可编程延时电路,共有256级延时,步进调节为0.15 ns,它可以通过3线串行或并行模式来编程。DS1020工作时序如图3所示。图3中的输入是待延迟的脉冲信号,参考电压Vref是其8比特的输入寄存器(8-bit input register)经过DAC后的电压值。当输入端出现上升沿时,上方的斜坡发生器开始工作,输出由低至高逐渐上升的电压;当此电压值跨越参考电压Vref后,上方的比较器输出产生由低至高的翻转,使锁存器输出高电平。输入信号的下降沿到达之后,下方的斜坡产生器开始工作,待其输出电压跨越Vref后,下方的比较器输出低电平翻转,复位锁存器输出低电平。

分析DS1020延迟电路工作原理可知,如果脉冲高电平宽度小于所设的延迟时间值tD,则上升沿斜坡产生器输出电压没有足够时间充电至Vref,致使延迟失效;另外输入脉冲高电平宽度必须大于所设延迟时间。

1.3 系统硬件构成

本系统硬件主要由ATmega8A[5]、EPM1270T144C3N、DS1020、ADM3251E和键盘等模块构成,如图4所示。

基于CPLD和DS1020的多道数字延迟脉冲发生器

单片机负责系统控制,通过EPM1270对输出脉冲的脉宽和延迟进行配置,通过DS1020对输出脉冲延迟进行精细调节,通过RS232与上位机PC通信,也可脱机后改由键盘控制操作。除T0外,本系统共有6路子通道输出,延迟和脉冲宽度的最小分度均为10 ns,能够胜任大部分应用场合。为了适应对延迟精度有更高要求的场合,增加两路延迟细调环节。

2 系统软件

2.1 单片机与CPLD的通信

单片机ATmega8A内部带有两线串行接口TWI模块,支持高达400 kHz的数据传输率,只需稍加配置即可与下游器件CPLD通信。CPLD使用QuartusⅡ软件的宏模块工具MagaWizrad Plug-In Manager生成虚拟I2C接口,也可手动编写程序模拟I2C接口完成与单片机的通信[6]。本系统采用手动编程以模拟I2C接口通信,通信速率为40 kHz。控制程序主要任务是起始信号、结束信号的命令和检测、数据的接收等。I2C模块结构如图5所示。

基于CPLD和DS1020的多道数字延迟脉冲发生器

CPLD的I2C模块时钟源CLK_I2C为100 MHz,采用3个寄存器REG1、REG2和REG3来缓冲从SDA读入的电平值。当时钟线SCL为低电平时,3个寄存器全部变为高阻态,当SCL为高电平时, 数据线SDA上的电平值会依次从REG1传递至REG3。起始、结束信号甄别模块内部主要是组合逻辑电路,根据SCL、REG1和REG3的电平鉴别出起始和结束信号。采用3个寄存器以防止干扰信号,即当SCL为高电平时SDA的低电平持续3个时钟才认为起始信号到来。数据处理模块在起始信号和结束信号的控制下从数据线SDA接收数据,并从接收到的一连串数据中解析出命令和数据送至下级处理模块。

2.2 CPLD脉冲信号的产生

本系统有两种触发方式:内部触发和外部触发。外触发信号来自于外部同步设备,内触发信号则由CPLD内部提供。系统脉冲波形发生结构如图6所示。

基于CPLD和DS1020的多道数字延迟脉冲发生器

图6中,主通道模块负责选择合适的触发模式,并且产生内触发信号。REG_DELAY是27位的延迟时间寄存器,REG_WIDTH是27位的脉冲宽度时间寄存器,计数器模块内部是一个27位计数器,如此高位数的计数器占用了CPLD大部分资源,为了节省资源,采用分时复用的方法完成延迟和脉宽时间的计数。具体工作过程为:使能计数器模块后,触发信号的上升沿跳变会使Delay_en信号置位,计数器模块装入REG_LEDAY中的数据并开始计数,子通道输出低电平。计数达到延迟时间值后子通道输出翻转为高电平,Delay_en信号清零,同时Width_en信号置位,计数器模块装入REG_WIDTH中的数据并开始计数。计数达到脉冲宽度值后输出翻转为低电平,同时With_en信号清零,Delay_en置位以等待下一次触发,并发送一路脉冲完成信号至主通道模块。子通道输出的脉冲信号经过DS1020的精细延迟调节后再由驱动电路增强驱动能力后成为最终输出。

2.3 上位机控制软件

脉冲发生器通过外触发可级联工作,控制多达十余台设备同步工作,连接各设备的电缆可达数十米,例如一个基体辅助激光解吸/电离飞行时间质谱仪(TOF)系统中有激光器、脉冲电源等高压强电装置,其浪涌幅度可达上千伏,可能会损坏由RS232与脉冲发生器连接的PC,其通信接口采用全隔离RS232通信芯片ADM3251E,可用于各种复杂而恶劣的电气环境。

上位机控制台采用C语言编写的基于API的Windows程序,主通道、各个子通道和延迟细调的参数均可调整,触发方式和计算机串口号均可随时切换,每路子通道的参数可以单独装载也可一键装载,而且各个子通道配备独立开关。该控制台还可以把当前下位机的工作状态保存起来至本地或者下位机存储区,并且能够一键读取本地或者下位机保存的配置文件。“工作状态”显示区用来实时显示下位机当前状态,分别为:未连接、待机和工作中。用户可以通过“工作”和“停止”按钮来启动和关闭下位机。

3 系统测试

考虑到可能的现场强流设备干扰,所有7路数字脉冲经由驱动电路输出,增加箝位和短路保护。脉冲高度最大5 V,可有效驱动50 ?赘负载,短路电流达50 mA。本设备输出端从左至右依次为主通道T0、子通道CH1~CH6共7个输出通道。其中子通道CH5和通道CH6带有可编程的延迟细调,细调步长为0.15 ns,最大为255×0.15=38.25 ns。主通道周期T0:2~134 217 728,步长精度100 ns。子通道延迟:0~134 217 728,步长精度10 ns。子通道脉宽:1~134 217 728,步长精度10 ns。

基于CPLD和DS1020的多道数字延迟脉冲发生器

图7是由数字荧光示波器DPO5204采集到的主通道TO(图中C1所示)和子通道(图中C2所示)的波形图。图中显示系统工作频率为200 Hz,延迟设置为零,脉宽设置为10 ns,上升沿时间(Rising Time)平均值为3.42 ns。子通道CH1-6相对于主通道T0的固有延迟时间,其平均值为710 ps,抖动标准差为60 ps。

数字延迟脉冲发生器的重要参数是各子通道输出脉冲相对于TO主通道触发脉冲的延迟时间精度,系统误差主要来自:系统PCB布线、时钟误差、器件温漂、DS1020的误差等。系统中CPLD输出的脉冲电平为3.3 V LVTTL电平,通过电平转换芯片LVC3254后再由驱动器输出。DS1020的延迟时间由内部的斜坡发生器产生,对电源噪声和高速开关噪声十分敏感[4],其电源入口处须用1 ?滋F电容滤波,接地引脚与数字地平面隔开。输出波形失真主要是由阻抗不匹配引起的多次反射造成的“振铃”噪声,以及相邻信号线的串扰。CPLD的引脚间距仅10 mil,相邻传输线上的开关动作会产生明显的串扰攻击“噪声”[7]。

基于CPLD和DS1020的多道数字延迟脉冲发生器

图8是该系统用于一个典型飞行时间质谱仪(TOF)的脉冲时序图。

图8中CH1~5分别为驱动样品喷气阀、激光器、脉冲电源、偏转电极和数据采集的控制脉冲。首先CH1打开喷气阀门开始喷入样品气体,一定时间(例如200 ?滋s)后气体到达指定位置,此时CH2启动激光器电离气体并由CH3启动脉冲电源给离子加速,再经过一定时间(例如300 ?滋s)后由CH4启动偏转电极控制离子轨道,最后离子到达信号采集板CH5启动数据采集。

4 结论

脉冲发生器是现代测控领域里不可缺少的设备,本系统采用MCU+CPLD的方法设计出一款数字可编程延迟脉冲发生器,实用可靠。本系统可同步输出7个通道脉冲方波(最大5 V), 最小延时分辨为0.15 ns,重复触发周期最大可达13 s、脉冲输出延迟、脉宽调节最大可达1.3 s,并提供4种时序触发方式。

目前该系统已成功应用于中科院北京化学所、合肥国家同步辐射实验室、中科院合肥物质科学研究院等多家高校和研究单位的飞行时间质谱仪(TOF)系统,用户反映良好。

提醒:《基于CPLD和DS1020的多道数字延迟脉冲发生器》最后刷新时间 2024-03-14 01:04:46,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《基于CPLD和DS1020的多道数字延迟脉冲发生器》该内容的真实性请自行鉴别。