关注公众号

关注公众号

手机扫码查看

手机查看

喜欢作者

打赏方式

微信支付微信支付
支付宝支付支付宝支付
×

束流收集器的束流位置读出收集系统

2020.5.12

概述

束流位置信息是控制束流轨道的必要参数,它对环的闭轨校正等物理过程具有重要作用。中科院高能所为研究强流束的束流损失问题,在“973计划”支持下建立了973-RFQ束流测量线整个束流测量线共有6个BPM。为了控制束流轨道,实时监测束流位置状态,需要对此6个BPM制作一套束流位置读出系统,将束流位置信息实时显示。制作完成的系统将移植到中国散裂中子源(CSNS)的束流位置测量系统中。

公司的对数比处理模块,输出束流水平、垂直方向的位置信号X、Y各6路,和信号的对数和(SUM)共3路,因此制作的束流位置读出系统需要读出此15路信号。X、Y和SUM信号都是脉宽为50~1200μs,重复频率为1~125Hz,幅值动态范围为±2V的脉冲信号。

BPM信号收集系统

1.系统布局

该系统用来采集X、Y、SUM信号到软件数据库中。CSNS工程的控制系统是基于EPICS(ExperimentalPhysicsandIndustrialControlSys-tem,实验物理和工业控制系统)的,所以973-RFQ的BPM信号采集系统也采用EPICS作为软件平台,便于移植。EPICS是用来开发基于网络的分布式控制系统的一组软件工具,它的基本组成部分为OPI(操作员接口)层———采用UNIX、Linux等操作系统的工作站,运行各种EPICS工具;IOC(输入输出控制器)层———一般采用VME/VXI系统,包括机箱、处理器和各种I/O插件;网络通讯模块层(通道访问CA)———为IOCs和OPIs提供基于TCP/IP协议的CA访问通信,它提供CAClient和任意数目的CAServ-er之间的透明通信。

OPI采用了BEPCII工程的bepc21工作站,在Solaris操作系统下已安装EPICS3.13.8开发环境,已有MEDM/EDM/StripTool(显示界面绘制工具)、ChannelArchiver(历史数据存档工具)等丰富的OPI工具。IOC层选用了VME系统,由VME64x机箱,Motorola公司的MVME5100机箱控制器,Hytec公司的A/D卡、载板、信号转接板组成。实验中采用PC机来远程访问EPICS服务器和终端调试IOC。

2.硬件性能

选定各硬件产品的性能指标如下:MVME5100———主频450MHz;内存512MB;运行VxWorks5.4操作系统。A/D卡———型号为Hytec公司的ADC8411U;采样频率1Hz~100kHz可选,实验中选定100kHz;通道数16;分辨率16位;量程±5V;采样时间2μs,转换时间8μs;IP(In-dustrialPackage)结构,需配合VME总线的载板使用。载板———型号为Hytec公司的VCB8002;VME64x标准;支持IP接口,可以同时搭载4块IP板;需配合信号后转接板使用。信号后转接板———型号为Hytec公司的VTB8307;VME64x标准;有4个SCSI50路接口。信号连接线———DB15转SCSI,一端是6个DB15口,一端是1个SCSI口。0.3IOC数据库开发IOC层是EPICS控制系统中最重要的部分,其结构如图2所示。其中,IOC数据库是IOC层的核心,它的基本单位是记录(Record),每个数据通道对应一个记录,这样一个个的记录就构成了模块化的IOC动态数据库。在EPICS环境下,一个I/O设备的IOC实例开发包括两部分内容:主机上IOC数据库开发及交叉编译和IOC数据库下载到目标机运行。而IOC数据库开发又包括Record(用户应用程序)、RecordSupport、DeviceSupport以及DeviceDriver的开发。

本系统的A/D卡和载板的RecordSup-port、DeviceSupport以及DeviceDriver都由生产厂家提供。实验中结合实际采集需求,在应用环境下对它们进行了删减、编译、调试,发现了A/D卡用户手册中2个缺少的内容和A/D卡驱动程序中2个bug,进行了修正及完善。整个IOC数据库开发过程包括以下内容:

(1)运行A/D卡和载板驱动于应用环境下通过建立应用目录,修改Makefiles文件内容,使用gmake命令编译,并下载应用到目标机,使A/D卡和载板的驱动程序能在实际应用环境下运行。调试中发现问题如下:AD卡对MVME5100来说有一个内存偏移量,在设置载板的下载参数时应将此参数设置上,否则MVME5100将读不到A/D卡。A/D卡手册上没有写明此内容,给的驱动程序中也没有定义此参数。后经过跟厂商交流解决此问题,MVME5100读到A/D卡。

(2)选定A/D卡工作模式并编写应用程序选定的A/D卡有2种工作模式:寄存器模式,触发模式。根据BPM位置信息是脉冲信号特点,选定触发工作模式,其工作过程为:当A/D卡被触发时,信号被A/D卡采集,经过ADC变换被储存到A/D卡的FIFO内存中(每个通道有自己独立的一个FIFO内存,一次最多可存储256个位的样本);当FIFO已满时,就会产生一个中断;之后FIFO保持不变直到它的值被完全读取,才能进行下一次的触发。根据A/D卡驱动内容编写A/D卡数据读出的应用程序,用15个waveform记录实现对15个BPM位置信号的读出,其记录扫描方式选为中断扫描。将应用程序下载到目标机运行,发现问题如下:只能读取A/D卡1个通道采集到的数据,不能实现多通道读取。通过跟厂商交流找出原因是由于A/D卡的固件程序中存在bug,返回厂商进行修改。修改后发现问题:读不到A/D卡所有通道的数据;VME超级终端一直显示FIFO已满。通过阅读A/D卡驱动程序找出原因是由于驱动程序中存在bug,没有在中断函数中使能waveform记录开始读取数据的标志变量。通过修改驱动程序将此问题解决。

(3)制定A/D卡触发方案由于采集的信号为窄脉冲信号,实验中选定同步触发方案进行A/D卡采集,这样每次都能将脉宽段信号采集到数组前端,便于舍去后面的无效点。

输入同步触发信号给A/D卡后,发现问题如下:实验中的A/D卡采用的是双重使能触发,先通过软件启动硬件,然后通过硬件输入外触发信号启动采样。厂商给的A/D卡用户手册中没有写明此内容,导致没有进行软件使能,输入外触发信号后,A/D卡不工作。通过阅读驱动代码,并与厂商进行交流后,编写了ARM使能程序,并在EPICS终端输入ARM使能命令,解决此问题。

3.测试结果

实验中用信号源模拟出一个脉宽为500μs、周期为40ms的窄脉冲信号进行测试,并模拟出它的同步信号触发A/D卡进行采样。测试得到的数据如图3所示。该信号采集系统实现了对窄脉冲信号的100kHz同步触发采样(500μs脉宽内50个采样点)。对脉宽内数据求方差值,得到读出系统分辨率远远好于BPM全系统分辨的要求,符合设计要求。

信号处理

实验中对A/D卡采集到的束流位置信号进行了数值平均滤波,滤除噪声影响,具体算法:将脉宽段内数据去掉一个最大和一个最小值,对剩余数据求平均。信号采集系统采集到的X、Y信号是电平信号,单位为V;而束流位置x、y是距离,单位为mm;要将X、Y通过一个转换系数转换成x、y。对于973-RFQ的束流而言,束流在真空管道中的一定范围内,此系数是一个常数。实验中采用100mV=1mm进行转换。这两部分内容通过添加在A/D卡的驱动程序中来实现。

束流位置显示

该束流位置读出系统采用了EPICS客户端软件EDM(扩展显示管理器)来制作用户界面。共制作了2种不同的显示界面来展示束流位置信息,一种是沿时间轴将每个束团的位置信号绘制成波形动态显示;另一种是在XY平面绘制束团的动态位置。用该束流位置读出系统对973-RFQ调试阶段的频率为1Hz、脉宽为50μs的束流位置信号进行测量。由现场动态运行结果看出,973-RFQ中束流位置基本状态,波动很小。 [3] 


推荐
热点排行
一周推荐
关闭