高速数据采集系统设计
高能电子在磁场中受到径向加速,在轨道的切线方向会发出很强的电磁辐射——同步辐射。随着对同步辐射光源研究的深入,人们发现同步辐射光源有着许多其它光源无法比拟的特点:具有从远红外到X射线范围内的连续光谱,准直性好,光度高,偏振性好,时间结构优良,稳定性高。同步辐射光源是现代科学中唯一能同时用于前沿科学基础科学、应用研究和高新技术产业开发的综合性科技装置,因此被称为是继电光源、X光源和激光光源之后的第四种为人类文明带来革命性推动的新型光源。合肥国家同步辐射装置(NSRL)属于第二代光源,主要设备包括:800MeV电子储存环作为光源主体,200MeV电子直线加速器作为注入器,另外包括5个同步辐射试验站及相应的光束线。合肥国家同步辐射装置工作在多圈注入,全环填充模式。当直线加速器输出的电子束团的脉宽为1ms时,一次注入4圈左右(环中电子回旋一周的时间约0.22ms),重复多圈注入,直到达到预定的流强。在这种注入模式下,储存环的45个高频俘获区(buckets)都有束团存在,束团之间的时间间隔约为4.9ms(1/204.035MHz)。
本文引用地址://m.amcfsurvey.com/article/2871.htmBPM系统的用途就是测量一圈一圈的束流轨迹信号,它在加速器上的作用主要有以下3点:
1)用于监测注入时束流的位置,判定注入效率和衰减率;
2)在任意时刻可以研究beta振荡和轨道的瞬时变化;
3)在稳态时,带一个外部kicker,采用两个以上BPM能够作相空间测量。
当加速器里电子束团运动时,BPM感应电极将在四个电极上感应出强弱不同的电信号。将这四路信号先送到模拟信号处理部分进行对数放大和相应的加减计算,然后送给数据采集系统。数据采集系统在时钟系统送来的同步时钟的驱动下进行数据采集和存储操作。
数据采集系统的设计主要包括:A/D转换逻辑设计,数据的采集,传输与分离,以及数据采集系统的驱动与控制。本文主要介绍PCI总线结构,总线控制器S5933,流水线式ADC,以及前端的电平转换电路和ADC之后的FIFO缓冲。数据采集系统的组成如图2所示。
当加速器环内电子束团运动时BPM感应电极时将在四个电极上感应出强弱不同的电信号。将这四路信号先送到模拟信号处理部分进行对数放大和相应的加减运算,然后送给数据采集系统。数据采集系统将在时钟系统送来的同步时钟的驱动下进行数据采集和存储。
经前端的对数放大器之后,信号送入采集卡的模拟输入端,经电平转换后送入流水线型ADC进行转化,转化结果送入FIFO,在逻辑控制下将数据送入PCI总线控制器S5933,由5933进行主控方式的猝发传输到内存。ADC的转换速率以及何时开始转换由定时系统提供的同步时钟控制,由于ADC为流水线型,所以FIFO写入时钟与ADC相同,可以减少硬件设计的复杂性。采集卡的速度为20Mb/s,连续采集2秒钟,也就是说要有40Mb数据量。该采集卡主要设计难度是高速和数据量大,决定采用S5933工作在Master方式下来完成数据采集存储。
PCI总线协议是Intel公司1992年提出,为满足高速数据输入/输出要求而设计的一种低成本,高性能的局部总线协议。PCI总线采用站连接方式,总线上的设备可以以系统总线的速度在相互之间进行数据传输,或直接访问系统的RAM,所有的传输操作都以猝发方式完成。PCI总线的极限传输速率为132Mb/s(33MHz×4Byte)。
PCI总线接口分为主控设备和从设备两种工作方式。部分只能工作于从设备方式下,而有些既可以工作在从设备方式,也可以工作在主控设备方式下。主控方式下,接口设备占用总线,无需CPU干预,即可以与内存之间进行数据的猝发式交换,或者在设备之间进行数据传输,提高了数据传输速率。
PCI总线控制器S5933是AMCC生产的PCI接口芯片,支持PCI协议2.1版,可以作为PCI总线的主控设备和从设备使用。S5933支持用户板上总线宽度有8位,16位和32位,并提供三种扩展总线(ADD_ON BUS)接口:FIFO接口;Pass_Thru接口;Mailbox接口。
这些接口的工作方式可以通过S5933的配置寄存器来设置和读取,工作状态可以通过状态寄存器来读取。另外S5933还提供可以选择的启动时初始化接口,可以通过串行或字节宽度的Nv_RAM来进行初始化。其结构图如下:
S5933提供了三种物理接口:邮箱接口(Mailbox),直接接口(Pass-Thru Interface)和FIFO接口。下面主要介绍我们所用到的FIFO接口。S5933内部有16个32位FIFO寄存器,分为两组:8个32位FIFO寄存器用于从PCI总线到扩展总线传输数据,8个32位FIFO寄存器用于从扩展总线到PCI总线传送数据。输入和输出FIFO都映射于操作寄存器的同一个单元(20H),因而,读出的和写入的不是同一个数,在数据写入到FIFO之前,可以进行字节对齐/交换。FIFO寄存器既支持从方式下的单周期数据异步操作,也支持主方式下的同步或异步猝发操作(DMA传送)。在同一个应用的不同时间可分别配置为主控方式和目标方式。由PCI总线一侧启动的总线传送在完成或中止时可以向主机发中断(INTA#),由扩充总线一侧启动的总线传送在完成或中止时可以向终端设备微处理器发中断(IRQ)。
S5933支持从PCI总线一侧向扩展总线(ADD_ON)一侧的DMA传输和从扩展总线一侧向PCI总线一侧的DMA传输,这些DMA传输都是通过S5933的FIFO通道来完成的。在S5933内部,分别有一套与DMA读操作和DMA写操作有关的传输计数和地址寄存器,这些寄存器可以由PCI总线一侧的CPU来设置和读取,也可以由扩展总线一侧的控制逻辑来设置和读取。在进行DMA传输时,满足DMA传输的S5933的FIFO状态是可以设置的。共有两种状态可以使S5933去申请总线:一种是FIFO里有数据就可以取申请;另一种是FIFO中有大于四个的数据时才去申请总线。S5933一直占有总线进行DMA传输,一直到以下情况发生:
读操作时:传输计数(MRTCR)达到0;S5933的MCSR相应使能位被置为无效或AMREN变为无效;另外的总线主控设备申请总线且当前的时间片已经用完;PCI从设备退出;PCI总线一侧到扩展总线一侧的FIFO被写满。
写操作时:传输计数达到0;S5933的MCSR相应使能位被置为无效或AMREN变为无效;另外的总线主控设备申请总线且当前的时间片已经用完;PCI从设备退出;.PCI总线一侧到扩展总线一侧的FIFO被写满。
由于本系统的高传输速度的要求,S5933采用DMA方式向内存传输数据,处于设计简单和传输速度要求,与ADD_ON总线的数据传输采用S5933的FIFO接口控制逻辑采用了Lattice公司的CPLDPLSI1016。它是通用的高密度可编程芯片,信号为TTL电平,内部集成2000个PLD门,最高工作频率为120MHz。PLSI1016的编程可以通过Lattice公司开发的集成环境,如早期的Synario和后来的DesignExpert实现,用Abel语言输入进行编程,或者用原理图来进行输入。在集成环境中对源文件进行编译时,软件对其逻辑功能进行分析优化后,生成可以下载到器件中的JEDEC文件。
本数据采集系统是BPM系统中的一个重要组成部分,在前端对探测器输出信号进行初步的处理之后,在定时系统的时钟驱动下,对信号进行AD变换,传入内存,最终生成存盘文件。经过反复调试,已完成系统的要求。■
参考文献
1 曾繁泰. 冯保初编著. PCI总线与多媒体计算机,电子工业出版社
2 Amcc 5920/5933 databook, amcc公司
评论